Bug 498629

Summary: s390x: fix S[L]HHHR and S[L]HHLR insns
Product: [Developer tools] valgrind Reporter: Florian Krohm <flo2030>
Component: vexAssignee: Florian Krohm <flo2030>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Fix IR generation for S[L]HHHR and S[L]HHLR insns

Description Florian Krohm 2025-01-13 22:19:20 UTC
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)
Comment 1 Florian Krohm 2025-01-13 22:34:22 UTC
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)
Comment 2 Florian Krohm 2025-03-03 15:06:28 UTC
Created attachment 179070 [details]
Fix IR generation for S[L]HHHR and S[L]HHLR insns

Operands were mixed up. Obvious fix.
Comment 3 Florian Krohm 2025-03-22 18:57:46 UTC
Fixed in 165681b33af3a97338781f57da531c2d22885c02