From: Andreas Arnez Date: Thu, 2 Apr 2020 18:40:02 +0000 (+0200) Subject: s390x: Fix Iex_Load instruction selectors for F128/D128 types X-Git-Tag: VALGRIND_3_16_0~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4970e20020cb80aa6b8ee80d53cefc409790547b;p=thirdparty%2Fvalgrind.git s390x: Fix Iex_Load instruction selectors for F128/D128 types 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. --- diff --git a/VEX/priv/host_s390_isel.c b/VEX/priv/host_s390_isel.c index ec042fb117..882e72cd6c 100644 --- a/VEX/priv/host_s390_isel.c +++ b/VEX/priv/host_s390_isel.c @@ -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; }