@@ -7741,12 +7741,14 @@ let Predicates = [HasAVX2, NoVLX] in {
77417741
77427742// AVX1 broadcast patterns
77437743let Predicates = [HasAVX1Only] in {
7744- def : Pat<(v8i32 (X86VBroadcastld32 addr:$src)),
7745- (VBROADCASTSSYrm addr:$src)>;
7746- def : Pat<(v4i64 (X86VBroadcastld64 addr:$src)),
7747- (VBROADCASTSDYrm addr:$src)>;
7748- def : Pat<(v4i32 (X86VBroadcastld32 addr:$src)),
7749- (VBROADCASTSSrm addr:$src)>;
7744+ def : Pat<(v8i32 (X86VBroadcastld32 addr:$src)),
7745+ (VBROADCASTSSYrm addr:$src)>;
7746+ def : Pat<(v4i64 (X86VBroadcastld64 addr:$src)),
7747+ (VBROADCASTSDYrm addr:$src)>;
7748+ def : Pat<(v4i32 (X86VBroadcastld32 addr:$src)),
7749+ (VBROADCASTSSrm addr:$src)>;
7750+ def : Pat<(v2i64 (X86VBroadcastld64 addr:$src)),
7751+ (VMOVDDUPrm addr:$src)>;
77507752}
77517753
77527754 // Provide fallback in case the load node that is used in the patterns above
@@ -7795,9 +7797,6 @@ let Predicates = [HasAVX1Only] in {
77957797
77967798 def : Pat<(v2i64 (X86VBroadcast i64:$src)),
77977799 (VPSHUFDri (VMOV64toPQIrr GR64:$src), 0x44)>;
7798- def : Pat<(v2i64 (X86VBroadcastld64 addr:$src)),
7799- (VMOVDDUPrm addr:$src)>;
7800-
78017800 def : Pat<(v4i64 (X86VBroadcast v2i64:$src)),
78027801 (VINSERTF128rri (INSERT_SUBREG (v4i64 (IMPLICIT_DEF)),
78037802 (v2i64 (VPSHUFDri VR128:$src, 0x44)), sub_xmm),
0 commit comments