forked from OSchip/llvm-project
[AVX-512] Remove the patterns for selecting scalar VCOMI/VUCOMI instructions with SAE as there is no way to create the pattern.
llvm-svn: 282339
This commit is contained in:
parent
11c06ea55a
commit
7e664dad60
|
@ -6353,24 +6353,22 @@ let Predicates = [HasAVX512, NoVLX, NoF16C] in {
|
|||
}
|
||||
|
||||
// Unordered/Ordered scalar fp compare with Sea and set EFLAGS
|
||||
multiclass avx512_ord_cmp_sae<bits<8> opc, X86VectorVTInfo _, SDNode OpNode,
|
||||
multiclass avx512_ord_cmp_sae<bits<8> opc, X86VectorVTInfo _,
|
||||
string OpcodeStr> {
|
||||
def rb: AVX512<opc, MRMSrcReg, (outs), (ins _.RC:$src1, _.RC:$src2),
|
||||
!strconcat(OpcodeStr, "\t{{sae}, $src2, $src1|$src1, $src2, {sae}}"),
|
||||
[(set EFLAGS, (OpNode (_.VT _.RC:$src1), _.RC:$src2,
|
||||
(i32 FROUND_NO_EXC)))],
|
||||
IIC_SSE_COMIS_RR>, EVEX, EVEX_B, VEX_LIG, EVEX_V128,
|
||||
[], IIC_SSE_COMIS_RR>, EVEX, EVEX_B, VEX_LIG, EVEX_V128,
|
||||
Sched<[WriteFAdd]>;
|
||||
}
|
||||
|
||||
let Defs = [EFLAGS], Predicates = [HasAVX512] in {
|
||||
defm VUCOMISSZ : avx512_ord_cmp_sae<0x2E, v4f32x_info, X86ucomiSae, "vucomiss">,
|
||||
defm VUCOMISSZ : avx512_ord_cmp_sae<0x2E, v4f32x_info, "vucomiss">,
|
||||
AVX512PSIi8Base, EVEX_CD8<32, CD8VT1>;
|
||||
defm VUCOMISDZ : avx512_ord_cmp_sae<0x2E, v2f64x_info, X86ucomiSae, "vucomisd">,
|
||||
defm VUCOMISDZ : avx512_ord_cmp_sae<0x2E, v2f64x_info, "vucomisd">,
|
||||
AVX512PDIi8Base, VEX_W, EVEX_CD8<64, CD8VT1>;
|
||||
defm VCOMISSZ : avx512_ord_cmp_sae<0x2F, v4f32x_info, X86comiSae, "vcomiss">,
|
||||
defm VCOMISSZ : avx512_ord_cmp_sae<0x2F, v4f32x_info, "vcomiss">,
|
||||
AVX512PSIi8Base, EVEX_CD8<32, CD8VT1>;
|
||||
defm VCOMISDZ : avx512_ord_cmp_sae<0x2F, v2f64x_info, X86comiSae, "vcomisd">,
|
||||
defm VCOMISDZ : avx512_ord_cmp_sae<0x2F, v2f64x_info, "vcomisd">,
|
||||
AVX512PDIi8Base, VEX_W, EVEX_CD8<64, CD8VT1>;
|
||||
}
|
||||
|
||||
|
|
|
@ -66,9 +66,7 @@ def X86fhsub : SDNode<"X86ISD::FHSUB", SDTFPBinOp>;
|
|||
def X86hadd : SDNode<"X86ISD::HADD", SDTIntBinOp>;
|
||||
def X86hsub : SDNode<"X86ISD::HSUB", SDTIntBinOp>;
|
||||
def X86comi : SDNode<"X86ISD::COMI", SDTX86CmpTest>;
|
||||
def X86comiSae : SDNode<"X86ISD::COMI", SDTX86CmpTestSae>;
|
||||
def X86ucomi : SDNode<"X86ISD::UCOMI", SDTX86CmpTest>;
|
||||
def X86ucomiSae: SDNode<"X86ISD::UCOMI", SDTX86CmpTestSae>;
|
||||
def X86cmps : SDNode<"X86ISD::FSETCC", SDTX86Cmps>;
|
||||
def X86cvtdq2pd: SDNode<"X86ISD::CVTDQ2PD",
|
||||
SDTypeProfile<1, 1, [SDTCisVT<0, v2f64>,
|
||||
|
|
Loading…
Reference in New Issue