On 12/22/2009 03:27 AM, Laurent Desnogues wrote:
+#if TCG_TARGET_REG_BITS == 64
+    tcg_gen_op4i_i64(INDEX_op_setcond_i64, ret, arg1, arg2, cond);
+#else
+    tcg_gen_op6i_i32(INDEX_op_setcond2_i32, TCGV_LOW(ret),
+                     TCGV_LOW(arg1), TCGV_HIGH(arg1),
+                     TCGV_LOW(arg2), TCGV_HIGH(arg2), cond);
+    tcg_gen_movi_i32(TCGV_HIGH(ret), 0);
+#endif
+}

I wonder if it wouldn't be better to let the back-ends emit the
clearing of TCGV_HIGH(ret).  This would reduce the number
of emitted TCG ops.  Any thoughts?

(1) That would require 6 registers on i386 simultaneously.
(2) You lose the constant propagation that TCG would perform.


r~


Reply via email to