Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit 9ca28ec

Browse files
committed
[AVX-512] Remove the patterns for selecting scalar VCOMI/VUCOMI instructions with SAE as there is no way to create the pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282339 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent affe799 commit 9ca28ec

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

lib/Target/X86/X86InstrAVX512.td

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6353,24 +6353,22 @@ let Predicates = [HasAVX512, NoVLX, NoF16C] in {
63536353
}
63546354

63556355
// Unordered/Ordered scalar fp compare with Sea and set EFLAGS
6356-
multiclass avx512_ord_cmp_sae<bits<8> opc, X86VectorVTInfo _, SDNode OpNode,
6356+
multiclass avx512_ord_cmp_sae<bits<8> opc, X86VectorVTInfo _,
63576357
string OpcodeStr> {
63586358
def rb: AVX512<opc, MRMSrcReg, (outs), (ins _.RC:$src1, _.RC:$src2),
63596359
!strconcat(OpcodeStr, "\t{{sae}, $src2, $src1|$src1, $src2, {sae}}"),
6360-
[(set EFLAGS, (OpNode (_.VT _.RC:$src1), _.RC:$src2,
6361-
(i32 FROUND_NO_EXC)))],
6362-
IIC_SSE_COMIS_RR>, EVEX, EVEX_B, VEX_LIG, EVEX_V128,
6360+
[], IIC_SSE_COMIS_RR>, EVEX, EVEX_B, VEX_LIG, EVEX_V128,
63636361
Sched<[WriteFAdd]>;
63646362
}
63656363

63666364
let Defs = [EFLAGS], Predicates = [HasAVX512] in {
6367-
defm VUCOMISSZ : avx512_ord_cmp_sae<0x2E, v4f32x_info, X86ucomiSae, "vucomiss">,
6365+
defm VUCOMISSZ : avx512_ord_cmp_sae<0x2E, v4f32x_info, "vucomiss">,
63686366
AVX512PSIi8Base, EVEX_CD8<32, CD8VT1>;
6369-
defm VUCOMISDZ : avx512_ord_cmp_sae<0x2E, v2f64x_info, X86ucomiSae, "vucomisd">,
6367+
defm VUCOMISDZ : avx512_ord_cmp_sae<0x2E, v2f64x_info, "vucomisd">,
63706368
AVX512PDIi8Base, VEX_W, EVEX_CD8<64, CD8VT1>;
6371-
defm VCOMISSZ : avx512_ord_cmp_sae<0x2F, v4f32x_info, X86comiSae, "vcomiss">,
6369+
defm VCOMISSZ : avx512_ord_cmp_sae<0x2F, v4f32x_info, "vcomiss">,
63726370
AVX512PSIi8Base, EVEX_CD8<32, CD8VT1>;
6373-
defm VCOMISDZ : avx512_ord_cmp_sae<0x2F, v2f64x_info, X86comiSae, "vcomisd">,
6371+
defm VCOMISDZ : avx512_ord_cmp_sae<0x2F, v2f64x_info, "vcomisd">,
63746372
AVX512PDIi8Base, VEX_W, EVEX_CD8<64, CD8VT1>;
63756373
}
63766374

lib/Target/X86/X86InstrFragmentsSIMD.td

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,7 @@ def X86fhsub : SDNode<"X86ISD::FHSUB", SDTFPBinOp>;
6666
def X86hadd : SDNode<"X86ISD::HADD", SDTIntBinOp>;
6767
def X86hsub : SDNode<"X86ISD::HSUB", SDTIntBinOp>;
6868
def X86comi : SDNode<"X86ISD::COMI", SDTX86CmpTest>;
69-
def X86comiSae : SDNode<"X86ISD::COMI", SDTX86CmpTestSae>;
7069
def X86ucomi : SDNode<"X86ISD::UCOMI", SDTX86CmpTest>;
71-
def X86ucomiSae: SDNode<"X86ISD::UCOMI", SDTX86CmpTestSae>;
7270
def X86cmps : SDNode<"X86ISD::FSETCC", SDTX86Cmps>;
7371
def X86cvtdq2pd: SDNode<"X86ISD::CVTDQ2PD",
7472
SDTypeProfile<1, 1, [SDTCisVT<0, v2f64>,

0 commit comments

Comments
 (0)