From: Florian Krohm Date: Wed, 4 Feb 2026 20:51:48 +0000 (+0000) Subject: s390: Fix s390_irgen_VSTEF X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccf0bde962a0ce876e29cef7e1a2ce674cc01ecf;p=thirdparty%2Fvalgrind.git s390: Fix s390_irgen_VSTEF Fix the s390_insn_assert. There are 4, not 8, word-sized elements in a vector register. Found by disasm-test. --- diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c index d9309e522..939d9b0cc 100644 --- a/VEX/priv/guest_s390_toIR.c +++ b/VEX/priv/guest_s390_toIR.c @@ -14424,7 +14424,7 @@ s390_irgen_VSTEH(UChar v1, IRTemp op2addr, UChar m3) static void s390_irgen_VSTEF(UChar v1, IRTemp op2addr, UChar m3) { - s390_insn_assert(m3 < 8); + s390_insn_assert(m3 < 4); store(mkexpr(op2addr), get_vr(v1, Ity_I32, m3)); } diff --git a/none/tests/s390x/disasm-test/disasm-test.post.exp b/none/tests/s390x/disasm-test/disasm-test.post.exp index d9714a8dc..8742a9b74 100644 --- a/none/tests/s390x/disasm-test/disasm-test.post.exp +++ b/none/tests/s390x/disasm-test/disasm-test.post.exp @@ -1,6 +1,6 @@ Looking for missed specification exceptions -Total: 42579 tests generated -Total: 42579 specification exceptions +Total: 42771 tests generated +Total: 42771 specification exceptions Looking for unexpected specification exceptions -Total: 153717 tests generated +Total: 153781 tests generated Total: 0 specification exceptions diff --git a/none/tests/s390x/disasm-test/disasm-test.vgtest b/none/tests/s390x/disasm-test/disasm-test.vgtest index a5d9d844c..ba921175a 100644 --- a/none/tests/s390x/disasm-test/disasm-test.vgtest +++ b/none/tests/s390x/disasm-test/disasm-test.vgtest @@ -11,11 +11,10 @@ # vgeg - runs into an assert instead of spec. exc. # vscef - runs into an assert instead of spec. exc. # vsceg - runs into an assert instead of spec. exc. -# vstef - runs into an assert instead of spec. exc. prereq: ./disasm-test --check-march=arch14 prog: /bin/true -post: ./disasm-test --gcc-flags=-march=arch14 --all --exclude exrl kma vgef vgeg vscef vsceg vstef srnmb --summary +post: ./disasm-test --gcc-flags=-march=arch14 --all --exclude exrl kma vgef vgeg vscef vsceg srnmb --summary vgopts: -q stderr_filter: stderrB_filter: