Fix stupid bug introduced in r2993, which causes many simple scalar
floating point instructions to ignore their operands and return zero.  Sigh.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2994 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/guest_arm64_toIR.c b/priv/guest_arm64_toIR.c
index 9d07328..f46fd5d 100644
--- a/priv/guest_arm64_toIR.c
+++ b/priv/guest_arm64_toIR.c
@@ -12171,9 +12171,11 @@
       }
       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))));