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.
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));
}
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
# 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: