target/loongarch: Fix qemu-loongarch64 hang when executing 'll.d $t0, $t0, 0'
commit77642f92c0b71a105aba2a4d03bc62328eae703b
authorSong Gao <gaosong@loongson.cn>
Wed, 20 Mar 2024 01:39:55 +0000 (20 09:39 +0800)
committerSong Gao <gaosong@loongson.cn>
Wed, 20 Mar 2024 02:20:08 +0000 (20 10:20 +0800)
treed861520acf8180a02f2e294f8cd413346e0ea2dd
parent9c70db9a433886c4647bfe01bf256e426c698561
target/loongarch: Fix qemu-loongarch64 hang when executing 'll.d $t0, $t0, 0'

On gen_ll, if a->imm is zero, make_address_x return src1,
but the load to destination may clobber src1. We use a new
destination to fix this problem.

Fixes: c5af6628f4be (target/loongarch: Extract make_address_i() helper)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240320013955.1561311-1-gaosong@loongson.cn>
target/loongarch/tcg/insn_trans/trans_atomic.c.inc