[llvm] 3a91611 - [X86] Ensure the AVX1-only broadcast-load patterns are in the same place. NFC.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 18 09:44:13 PDT 2024


Author: Simon Pilgrim
Date: 2024-10-18T17:43:57+01:00
New Revision: 3a91611f3bcd46b0b7352d6cb997c999d58facef

URL: https://github.com/llvm/llvm-project/commit/3a91611f3bcd46b0b7352d6cb997c999d58facef
DIFF: https://github.com/llvm/llvm-project/commit/3a91611f3bcd46b0b7352d6cb997c999d58facef.diff

LOG: [X86] Ensure the AVX1-only broadcast-load patterns are in the same place. NFC.

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86InstrSSE.td

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td
index e77e56aa96c670..036d7d92f3f89e 100644
--- a/llvm/lib/Target/X86/X86InstrSSE.td
+++ b/llvm/lib/Target/X86/X86InstrSSE.td
@@ -7741,12 +7741,14 @@ let Predicates = [HasAVX2, NoVLX] in {
 
 // AVX1 broadcast patterns
 let Predicates = [HasAVX1Only] in {
-def : Pat<(v8i32 (X86VBroadcastld32 addr:$src)),
-          (VBROADCASTSSYrm addr:$src)>;
-def : Pat<(v4i64 (X86VBroadcastld64 addr:$src)),
-          (VBROADCASTSDYrm addr:$src)>;
-def : Pat<(v4i32 (X86VBroadcastld32 addr:$src)),
-          (VBROADCASTSSrm addr:$src)>;
+  def : Pat<(v8i32 (X86VBroadcastld32 addr:$src)),
+            (VBROADCASTSSYrm addr:$src)>;
+  def : Pat<(v4i64 (X86VBroadcastld64 addr:$src)),
+            (VBROADCASTSDYrm addr:$src)>;
+  def : Pat<(v4i32 (X86VBroadcastld32 addr:$src)),
+            (VBROADCASTSSrm addr:$src)>;
+  def : Pat<(v2i64 (X86VBroadcastld64 addr:$src)),
+            (VMOVDDUPrm addr:$src)>;
 }
 
   // Provide fallback in case the load node that is used in the patterns above
@@ -7795,9 +7797,6 @@ let Predicates = [HasAVX1Only] in {
 
   def : Pat<(v2i64 (X86VBroadcast i64:$src)),
             (VPSHUFDri (VMOV64toPQIrr GR64:$src), 0x44)>;
-  def : Pat<(v2i64 (X86VBroadcastld64 addr:$src)),
-            (VMOVDDUPrm addr:$src)>;
-
   def : Pat<(v4i64 (X86VBroadcast v2i64:$src)),
             (VINSERTF128rri (INSERT_SUBREG (v4i64 (IMPLICIT_DEF)),
               (v2i64 (VPSHUFDri VR128:$src, 0x44)), sub_xmm),


        


More information about the llvm-commits mailing list