]> git.proxmox.com Git - mirror_qemu.git/commit
target/loongarch: Fix qemu-loongarch64 hang when executing 'll.d $t0, $t0, 0'
authorSong Gao <gaosong@loongson.cn>
Wed, 20 Mar 2024 01:39:55 +0000 (09:39 +0800)
committerMichael Tokarev <mjt@tls.msk.ru>
Fri, 22 Mar 2024 04:49:24 +0000 (07:49 +0300)
commit5b51920fbd28aa254fcdfedacc619e4913f8e9ef
tree4be03622ea6b7020dce3f13538112f6bf13decf9
parent242370f8bdb2d4faf853c5f3da0c84e0651bf350
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>
(cherry picked from commit 77642f92c0b71a105aba2a4d03bc62328eae703b)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
target/loongarch/insn_trans/trans_atomic.c.inc