]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390: Fix s390_irgen_VSTER
authorFlorian Krohm <flo2030@eich-krohm.de>
Wed, 4 Feb 2026 19:59:41 +0000 (19:59 +0000)
committerFlorian Krohm <flo2030@eich-krohm.de>
Wed, 4 Feb 2026 19:59:41 +0000 (19:59 +0000)
M3 == 4 is a reserved value and causes a specification exception.
However, disasm-test reports:

error: Spec. exc. not detected for E660 0000 400F   vster %v6,0,4

Now fixed.

VEX/priv/guest_s390_toIR.c
none/tests/s390x/disasm-test/disasm-test.post.exp
none/tests/s390x/disasm-test/disasm-test.vgtest

index e44faea9b90a0e80dd96ea2e8ba8858820e8779e..12e0553e64811c4877b0dac38d7fa39789eefff1 100644 (file)
@@ -17159,7 +17159,7 @@ s390_irgen_VSTER(UChar v1, IRTemp op2addr, UChar m3)
       return;
    }
 
-   s390_insn_assert(m3 >= 1 && m3 <= 4);
+   s390_insn_assert(m3 >= 1 && m3 <= 3);
 
    store(mkexpr(op2addr), s390_reverse_elements(get_vr_qw(v1), m3));
 }
index 51ae053ed36832b1dba247ea0836c4413f5169c3..46f297e6038f4cbfe4af8123906faf1395d7acef 100644 (file)
@@ -1,6 +1,6 @@
 Looking for missed specification exceptions
-Total:  42131 tests generated
-Total:  42131 specification exceptions
+Total:  42339 tests generated
+Total:  42339 specification exceptions
 Looking for unexpected specification exceptions
-Total: 153653 tests generated
+Total: 153701 tests generated
 Total:      0 specification exceptions
index 5fdf132660562032ce4a0895be8354cf03fb716c..f585700b619a1c530bdb311829ca340d52e3d91d 100644 (file)
 # srnmb - The compile-time checkable constraint cannot be expressed in opcode.c
 #         But the s390_insn_assert is wrong nevertheless because bits [0:55] are ignored.
 #         Need to mask d2 before checking  (d2 & 0xff)
-# vster - should be    s390_insn_assert(m3 >= 1 && m3 <= 3);   // 3 not 4
 
 prereq: ./disasm-test --check-march=arch14
 prog: /bin/true
-post: ./disasm-test --gcc-flags=-march=arch14 --all --exclude exrl kma vmsl vgef vgeg vscef vsceg vstef srnmb vster --summary
+post: ./disasm-test --gcc-flags=-march=arch14 --all --exclude exrl kma vmsl vgef vgeg vscef vsceg vstef srnmb --summary
 vgopts: -q
 stderr_filter:
 stderrB_filter: