projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
05d000f
)
target/s390x: Fix LOCFHR taking the wrong half of R2
author
Ilya Leoshkevich
<iii@linux.ibm.com>
Fri, 26 May 2023 18:12:39 +0000
(20:12 +0200)
committer
Thomas Huth
<thuth@redhat.com>
Mon, 5 Jun 2023 05:27:23 +0000
(07:27 +0200)
LOCFHR should write top-to-top, but QEMU erroneously writes
bottom-to-top.
Fixes: 45aa9aa3b773 ("target/s390x: Implement load-on-condition-2 insns")
Cc: qemu-stable@nongnu.org
Reported-by: Mikhail Mitskevich <mitskevichmn@gmail.com>
Closes: https://gitlab.com/qemu-project/qemu/-/issues/1668
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <
20230526181240
.
1425579
-4-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
target/s390x/tcg/insn-data.h.inc
patch
|
blob
|
history
diff --git
a/target/s390x/tcg/insn-data.h.inc
b/target/s390x/tcg/insn-data.h.inc
index e41672684aa82d22189870cca5ccf12110e5efd4..937e18ea9d975916e4b54870e7044541ff796c1e 100644
(file)
--- a/
target/s390x/tcg/insn-data.h.inc
+++ b/
target/s390x/tcg/insn-data.h.inc
@@
-564,7
+564,7
@@
C(0xec46, LOCGHI, RIE_g, LOC2, r1, i2, r1, 0, loc, 0)
C(0xec4e, LOCHHI, RIE_g, LOC2, r1_sr32, i2, new, r1_32h, loc, 0)
/* LOAD HIGH ON CONDITION */
- C(0xb9e0, LOCFHR, RRF_c, LOC2, r1_sr32, r2, new, r1_32h, loc, 0)
+ C(0xb9e0, LOCFHR, RRF_c, LOC2, r1_sr32, r2
_sr32
, new, r1_32h, loc, 0)
C(0xebe0, LOCFH, RSY_b, LOC2, r1_sr32, m2_32u, new, r1_32h, loc, 0)
/* LOAD PAIR DISJOINT */
D(0xc804, LPD, SSF, ILA, 0, 0, new_P, r3_P32, lpd, 0, MO_TEUL)