forked from OSchip/llvm-project
[AVX-512] Add NoVLX Predicates to some patterns so they don't rely on pattern ordering to be lower priority than their equivalent VLX pattern.
llvm-svn: 280462
This commit is contained in:
parent
c5d41d4ada
commit
8b9e671e97
llvm/lib/Target/X86
|
@ -1654,6 +1654,7 @@ defm VPCMPGTQ : avx512_icmp_packed_rmb_vl<0x37, "vpcmpgtq", X86pcmpgtm,
|
|||
avx512vl_i64_info, HasAVX512>,
|
||||
T8PD, VEX_W, EVEX_CD8<64, CD8VF>;
|
||||
|
||||
let Predicates = [HasAVX512, NoVLX] in {
|
||||
def : Pat<(v8i1 (X86pcmpgtm (v8i32 VR256X:$src1), (v8i32 VR256X:$src2))),
|
||||
(COPY_TO_REGCLASS (VPCMPGTDZrr
|
||||
(v16i32 (SUBREG_TO_REG (i32 0), VR256X:$src1, sub_ymm)),
|
||||
|
@ -1663,6 +1664,7 @@ def : Pat<(v8i1 (X86pcmpeqm (v8i32 VR256X:$src1), (v8i32 VR256X:$src2))),
|
|||
(COPY_TO_REGCLASS (VPCMPEQDZrr
|
||||
(v16i32 (SUBREG_TO_REG (i32 0), VR256X:$src1, sub_ymm)),
|
||||
(v16i32 (SUBREG_TO_REG (i32 0), VR256X:$src2, sub_ymm))), VK8)>;
|
||||
}
|
||||
|
||||
multiclass avx512_icmp_cc<bits<8> opc, string Suffix, SDNode OpNode,
|
||||
X86VectorVTInfo _> {
|
||||
|
|
Loading…
Reference in New Issue