POP: The third operand is subtracted from the second operand, and the difference is placed at the first- operand location. guest_s390_toIR.c: static const HChar *s390_irgen_SHHHR(UChar r3 __attribute__((unused)), UChar r1, UChar r2) static const HChar *s390_irgen_SHHLR(UChar r3 __attribute__((unused)), UChar r1, UChar r2)
and likewise: static const HChar *s390_irgen_SLHHHR(UChar r3 __attribute__((unused)), UChar r1, UChar r2) static const HChar *s390_irgen_SLHHLR(UChar r3 __attribute__((unused)), UChar r1, UChar r2)
Created attachment 179070 [details] Fix IR generation for S[L]HHHR and S[L]HHLR insns Operands were mixed up. Obvious fix.
Fixed in 165681b33af3a97338781f57da531c2d22885c02