From 7239439e84881aeb1788bb31e59268533e3d78ff Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Thu, 2 Jan 2020 09:10:06 +0100 Subject: [PATCH] Enable expensive handling of CmpEQ64/CmpNE64 for amd64 by default. This has unfortunately become necessary because optimising compilers are generating 64-bit equality comparisons on partially defined values on this target. There will shortly be two followup commits which partially mitigate the resulting performance loss. --- memcheck/mc_translate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index bd29ea09f9..87b8ac6886 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -8480,6 +8480,7 @@ IRSB* MC_(instrument) ( VgCallbackClosure* closure, # elif defined(VGA_amd64) mce.dlbo.dl_Add64 = DLauto; mce.dlbo.dl_CmpEQ32_CmpNE32 = DLexpensive; + mce.dlbo.dl_CmpEQ64_CmpNE64 = DLexpensive; # elif defined(VGA_ppc64le) // Needed by (at least) set_AV_CR6() in the front end. mce.dlbo.dl_CmpEQ64_CmpNE64 = DLexpensive; -- 2.47.2