]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390x: Fix Iex_Load instruction selectors for F128/D128 types
authorAndreas Arnez <arnez@linux.ibm.com>
Thu, 2 Apr 2020 18:40:02 +0000 (20:40 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Wed, 8 Apr 2020 17:39:37 +0000 (19:39 +0200)
The s390x instruction selectors for Iex_Load of Ity_F128 and Ity_D128
types had a common typo that would lead to crashes when used.  So far this
bug didn't surface because Iex_Load is not emitted on s390x with these
types.

This fixes the typo.

VEX/priv/host_s390_isel.c

index ec042fb1171ed563734e1b5c93bc289042d7fafe..882e72cd6c2b27d11ea787af744db26c9eb77d64 100644 (file)
@@ -2137,7 +2137,7 @@ s390_isel_float128_expr_wrk(HReg *dst_hi, HReg *dst_lo, ISelEnv *env,
       *dst_hi = newVRegF(env);
       *dst_lo = newVRegF(env);
       addInstr(env, s390_insn_load(8, *dst_hi, am_hi));
-      addInstr(env, s390_insn_load(8, *dst_hi, am_lo));
+      addInstr(env, s390_insn_load(8, *dst_lo, am_lo));
       return;
    }
 
@@ -2845,7 +2845,7 @@ s390_isel_dfp128_expr_wrk(HReg *dst_hi, HReg *dst_lo, ISelEnv *env,
       *dst_hi = newVRegF(env);
       *dst_lo = newVRegF(env);
       addInstr(env, s390_insn_load(8, *dst_hi, am_hi));
-      addInstr(env, s390_insn_load(8, *dst_hi, am_lo));
+      addInstr(env, s390_insn_load(8, *dst_lo, am_lo));
       return;
    }