From: Julian Seward Date: Thu, 12 May 2005 02:14:52 +0000 (+0000) Subject: More floating-point tuning. X-Git-Tag: svn/VALGRIND_3_0_1^2~142 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9237f79f673cefe9ee338bef473581687ddb5d79;p=thirdparty%2Fvalgrind.git More floating-point tuning. git-svn-id: svn://svn.valgrind.org/vex/trunk@1192 --- diff --git a/VEX/priv/guest-amd64/ghelpers.c b/VEX/priv/guest-amd64/ghelpers.c index 5b830b92c3..885d267d65 100644 --- a/VEX/priv/guest-amd64/ghelpers.c +++ b/VEX/priv/guest-amd64/ghelpers.c @@ -1079,22 +1079,22 @@ IRExpr* guest_amd64_spechelper ( HChar* function_name, ); } -//.. if (isU32(cc_op, AMD64G_CC_OP_COPY) && isU32(cond, X86CondB)) { -//.. /* COPY, then B --> extract C dep1, and test (C == 1). */ -//.. return -//.. unop( -//.. Iop_1Uto32, -//.. binop( -//.. Iop_CmpNE32, -//.. binop( -//.. Iop_And32, -//.. binop(Iop_Shr32, cc_dep1, mkU8(AMD64G_CC_SHIFT_C)), -//.. mkU32(1) -//.. ), -//.. mkU32(0) -//.. ) -//.. ); -//.. } + if (isU64(cc_op, AMD64G_CC_OP_COPY) && isU64(cond, AMD64CondB)) { + /* COPY, then B --> extract C dep1, and test (C == 1). */ + return + unop( + Iop_1Uto64, + binop( + Iop_CmpNE64, + binop( + Iop_And64, + binop(Iop_Shr64, cc_dep1, mkU8(AMD64G_CC_SHIFT_C)), + mkU64(1) + ), + mkU64(0) + ) + ); + } return NULL; }