From: Julian Seward Date: Thu, 20 Jan 2005 10:48:20 +0000 (+0000) Subject: Fix performance hole exposed by profiling gzip. X-Git-Tag: svn/VALGRIND_3_0_1^2~611 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca81a4f6bbc2fa71c5f7c3f6173a6edca4f9d135;p=thirdparty%2Fvalgrind.git Fix performance hole exposed by profiling gzip. git-svn-id: svn://svn.valgrind.org/vex/trunk@723 --- diff --git a/VEX/priv/guest-x86/ghelpers.c b/VEX/priv/guest-x86/ghelpers.c index 6735e13aea..14803b808b 100644 --- a/VEX/priv/guest-x86/ghelpers.c +++ b/VEX/priv/guest-x86/ghelpers.c @@ -711,6 +711,15 @@ IRExpr* guest_x86_spechelper ( Char* function_name, /* If the thunk is dec or inc, the cflag is supplied as CC_NDEP. */ return cc_ndep; } + if (isU32(cc_op, X86G_CC_OP_COPY)) { + /* cflag after COPY is stored in DEP1. */ + return + binop( + Iop_And32, + binop(Iop_Shr32, cc_dep1, mkU8(X86G_CC_SHIFT_C)), + mkU32(1) + ); + } # if 0 if (cc_op->tag == Iex_Const) { vex_printf("CFLAG "); ppIRExpr(cc_op); vex_printf("\n");