]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Enable expensive handling of CmpEQ64/CmpNE64 for amd64 by default.
authorJulian Seward <jseward@acm.org>
Thu, 2 Jan 2020 08:10:06 +0000 (09:10 +0100)
committerJulian Seward <jseward@acm.org>
Thu, 2 Jan 2020 08:12:52 +0000 (09:12 +0100)
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

index bd29ea09f9c0719924edff52ad161e22728ae64c..87b8ac6886cec5b4902128c3d01d3f8104bddf40 100644 (file)
@@ -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;