]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Handle Iop_ReinterpF32asI32 and Iop_ReinterpI32asF32 in insn selection.
authorFlorian Krohm <florian@eich-krohm.de>
Sun, 18 Dec 2011 00:08:17 +0000 (00:08 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Sun, 18 Dec 2011 00:08:17 +0000 (00:08 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@2234

VEX/priv/host_s390_isel.c

index 4cdf4439487c80c2cc35f107e197d560725787d6..2bc23e883345951aab92e6bce7dfcfd1332cf54b 100644 (file)
@@ -1030,7 +1030,7 @@ s390_isel_int_expr_wrk(ISelEnv *env, IRExpr *expr)
          return dst;
       }
 
-      if (unop == Iop_ReinterpF64asI64) {
+      if (unop == Iop_ReinterpF64asI64 || unop == Iop_ReinterpF32asI32) {
          dst = newVRegI(env);
          h1  = s390_isel_float_expr(env, arg);     /* Process the operand */
          addInstr(env, s390_insn_move(size, dst, h1));
@@ -1810,7 +1810,7 @@ s390_isel_float_expr_wrk(ISelEnv *env, IRExpr *expr)
          return op == Iop_F128LOtoF64 ? dst_lo : dst_hi;
       }
 
-      if (op == Iop_ReinterpI64asF64) {
+      if (op == Iop_ReinterpI64asF64 || op == Iop_ReinterpI32asF32) {
          dst = newVRegF(env);
          h1  = s390_isel_int_expr(env, left);     /* Process the operand */
          addInstr(env, s390_insn_move(size, dst, h1));