[llvm] r368971 - [X86] Make sure load is non-volatile in the MMX_X86movdq2q (loadv2i64) isel pattern.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 14 23:46:26 PDT 2019


Author: ctopper
Date: Wed Aug 14 23:46:26 2019
New Revision: 368971

URL: http://llvm.org/viewvc/llvm-project?rev=368971&view=rev
Log:
[X86] Make sure load is non-volatile in the MMX_X86movdq2q (loadv2i64) isel pattern.

This pattern will narrow the load so we should make sure its not
volatile.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrMMX.td

Modified: llvm/trunk/lib/Target/X86/X86InstrMMX.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrMMX.td?rev=368971&r1=368970&r2=368971&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrMMX.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrMMX.td Wed Aug 14 23:46:26 2019
@@ -574,7 +574,7 @@ def MMX_X86movdq2q : SDNode<"X86ISD::MOV
 def : Pat<(x86mmx (MMX_X86movdq2q VR128:$src)),
           (x86mmx (MMX_MOVDQ2Qrr VR128:$src))>;
 
-def : Pat<(x86mmx (MMX_X86movdq2q (loadv2i64 addr:$src))),
+def : Pat<(x86mmx (MMX_X86movdq2q (v2i64 (nonvolatile_load addr:$src)))),
           (x86mmx (MMX_MOVQ64rm addr:$src))>;
 
 // Misc.




More information about the llvm-commits mailing list