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

This commit is contained in:
Simon Pilgrim
2024-10-18 16:58:00 +01:00
parent 0f3ed9c650
commit 3a91611f3b

View File

@@ -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),