diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-02-11 07:44:33 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-02-11 07:44:33 +0000 |
| commit | a4bf9b8d51ebf3c9ca175f98d647fab65d1c3719 (patch) | |
| tree | d060aec569ae5aa65cbcbd2fb1d556b6a8b05824 /llvm/lib | |
| parent | 36f913ee80d94152802ba72384a979ef20e0780a (diff) | |
| download | bcm5719-llvm-a4bf9b8d51ebf3c9ca175f98d647fab65d1c3719.tar.gz bcm5719-llvm-a4bf9b8d51ebf3c9ca175f98d647fab65d1c3719.zip | |
[X86] Remove setOperationAction lines for promoting vXi1 SINT_TO_FP/UINT_TO_FP.
We promote these via a DAG combine now before lowering gets the chance.
Also remove the v2i1 custom handling since it will no longer be triggered.
llvm-svn: 324833
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index c0d01c97b49..88411c1337d 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -1160,15 +1160,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM, setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v1i1, Custom); setOperationAction(ISD::BUILD_VECTOR, MVT::v1i1, Custom); - setOperationPromotedToType(ISD::SINT_TO_FP, MVT::v16i1, MVT::v16i32); - setOperationPromotedToType(ISD::UINT_TO_FP, MVT::v16i1, MVT::v16i32); - setOperationPromotedToType(ISD::SINT_TO_FP, MVT::v8i1, MVT::v8i32); - setOperationPromotedToType(ISD::UINT_TO_FP, MVT::v8i1, MVT::v8i32); - setOperationPromotedToType(ISD::SINT_TO_FP, MVT::v4i1, MVT::v4i32); - setOperationPromotedToType(ISD::UINT_TO_FP, MVT::v4i1, MVT::v4i32); - setOperationAction(ISD::SINT_TO_FP, MVT::v2i1, Custom); - setOperationAction(ISD::UINT_TO_FP, MVT::v2i1, Custom); - setOperationPromotedToType(ISD::FP_TO_SINT, MVT::v16i1, MVT::v16i32); setOperationPromotedToType(ISD::FP_TO_UINT, MVT::v16i1, MVT::v16i32); setOperationPromotedToType(ISD::FP_TO_SINT, MVT::v8i1, MVT::v8i32); @@ -15759,14 +15750,6 @@ SDValue X86TargetLowering::LowerSINT_TO_FP(SDValue Op, DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v4i32, Src, DAG.getUNDEF(SrcVT))); } - if (SrcVT == MVT::v2i1) { - // For v2i1, we need to widen to v4i1 first. - assert(VT == MVT::v2f64 && "Unexpected type"); - Src = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v4i1, Src, - DAG.getUNDEF(MVT::v2i1)); - return DAG.getNode(X86ISD::CVTSI2P, dl, Op.getValueType(), - DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, Src)); - } return SDValue(); } @@ -16103,15 +16086,6 @@ static SDValue lowerUINT_TO_FP_vec(SDValue Op, SelectionDAG &DAG, MVT SrcVT = N0.getSimpleValueType(); SDLoc dl(Op); - if (SrcVT == MVT::v2i1) { - // For v2i1, we need to widen to v4i1 first. - assert(Op.getValueType() == MVT::v2f64 && "Unexpected type"); - N0 = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v4i1, N0, - DAG.getUNDEF(MVT::v2i1)); - return DAG.getNode(X86ISD::CVTUI2P, dl, MVT::v2f64, - DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v4i32, N0)); - } - switch (SrcVT.SimpleTy) { default: llvm_unreachable("Custom UINT_TO_FP is not supported!"); |

