]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390: Fix s390_emit_IPM which has one (not two) register operands.
authorFlorian Krohm <flo2030@eich-krohm.de>
Mon, 6 Apr 2026 20:04:18 +0000 (20:04 +0000)
committerFlorian Krohm <flo2030@eich-krohm.de>
Mon, 6 Apr 2026 20:04:18 +0000 (20:04 +0000)
This has been wrong (in a harmless way) since day #1.

VEX/priv/host_s390_defs.c

index fe0e7380b22066f78654d8175e047993094812dd..cc201052b06a022a7834ad6462c07d94ef4dd0f7 100644 (file)
@@ -2546,9 +2546,9 @@ s390_emit_IILF(UChar *p, UChar r1, UInt i2)
 
 
 static UChar *
-s390_emit_IPM(UChar *p, UChar r1, UChar r2)
+s390_emit_IPM(UChar *p, UChar r1)
 {
-   return emit_RRE(p, 0xb2220000, r1, r2);
+   return emit_RRE(p, 0xb2220000, r1, 0);
 }
 
 
@@ -7021,7 +7021,7 @@ static UChar *
 s390_emit_load_cc(UChar *p, UChar reg)
 {
    p = s390_emit_LGHI(p, reg, 0);  /* Clear out, cc not affected */
-   p = s390_emit_IPM(p, reg, reg);
+   p = s390_emit_IPM(p, reg);
    /* Shift 28 bits to the right --> [0,1,2,3] */
    return s390_emit_SRL(p, reg, 0, 28); /* REG = cc */
 }