From: Julian Seward Date: Sun, 23 Nov 2014 17:32:07 +0000 (+0000) Subject: Merge, from trunk, r2994 X-Git-Tag: svn/VALGRIND_3_10_1^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6c4ca82cf54c8fcbcc29247989ccebc3b9dfcc4;p=thirdparty%2Fvalgrind.git Merge, from trunk, r2994 2994 fix stupid bug introduced in 2993 git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_10_BRANCH@3019 --- diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c index a7021535d3..47c8c4f60f 100644 --- a/VEX/priv/guest_arm64_toIR.c +++ b/VEX/priv/guest_arm64_toIR.c @@ -12171,9 +12171,11 @@ Bool dis_AdvSIMD_fp_data_proc_2_source(/*MB_OUT*/DisResult* dres, UInt insn) } if (opcode <= BITS4(0,0,1,1)) { // This is really not good code. TODO: avoid width-changing + IRTemp res = newTemp(ity); + assign(res, triop(iop, mkexpr(mk_get_IR_rounding_mode()), + getQRegLO(nn, ity), getQRegLO(mm, ity))); putQReg128(dd, mkV128(0)); - putQRegLO(dd, triop(iop, mkexpr(mk_get_IR_rounding_mode()), - getQRegLO(nn, ity), getQRegLO(mm, ity))); + putQRegLO(dd, mkexpr(res)); } else { putQReg128(dd, unop(mkVecZEROHIxxOFV128(ty+2), binop(iop, getQReg128(nn), getQReg128(mm))));