|
From: Julian S. <se...@so...> - 2020-01-02 08:14:14
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=7239439e84881aeb1788bb31e59268533e3d78ff commit 7239439e84881aeb1788bb31e59268533e3d78ff Author: Julian Seward <js...@ac...> Date: Thu Jan 2 09:10:06 2020 +0100 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. Diff: --- memcheck/mc_translate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index bd29ea0..87b8ac6 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; |