@@ -860,8 +860,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
860
860
setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal);
861
861
setOperationAction(ISD::SINT_TO_FP, MVT::v2i32, Custom);
862
862
863
- setOperationAction(ISD::UINT_TO_FP, MVT::v4i8, Custom);
864
- setOperationAction(ISD::UINT_TO_FP, MVT::v4i16, Custom);
865
863
setOperationAction(ISD::UINT_TO_FP, MVT::v2i32, Custom);
866
864
867
865
// Fast v2f32 UINT_TO_FP( v2i32 ) custom conversion.
@@ -1006,9 +1004,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
1006
1004
setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Legal);
1007
1005
setOperationAction(ISD::FP_ROUND, MVT::v4f32, Legal);
1008
1006
1009
- setOperationAction(ISD::UINT_TO_FP, MVT::v8i8, Custom);
1010
- setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Custom);
1011
-
1012
1007
for (MVT VT : MVT::fp_vector_valuetypes())
1013
1008
setLoadExtAction(ISD::EXTLOAD, VT, MVT::v4f32, Legal);
1014
1009
@@ -1190,8 +1185,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
1190
1185
setOperationAction(ISD::UINT_TO_FP, MVT::v16i32, Legal);
1191
1186
setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Legal);
1192
1187
setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal);
1193
- setOperationAction(ISD::UINT_TO_FP, MVT::v16i8, Custom);
1194
- setOperationAction(ISD::UINT_TO_FP, MVT::v16i16, Custom);
1195
1188
setOperationAction(ISD::SINT_TO_FP, MVT::v16i1, Custom);
1196
1189
setOperationAction(ISD::UINT_TO_FP, MVT::v16i1, Custom);
1197
1190
setOperationAction(ISD::SINT_TO_FP, MVT::v8i1, Custom);
@@ -15801,24 +15794,12 @@ SDValue X86TargetLowering::lowerUINT_TO_FP_vec(SDValue Op,
15801
15794
switch (SrcVT.SimpleTy) {
15802
15795
default:
15803
15796
llvm_unreachable("Custom UINT_TO_FP is not supported!");
15804
- case MVT::v4i8:
15805
- case MVT::v4i16:
15806
- case MVT::v8i8:
15807
- case MVT::v8i16: {
15808
- MVT NVT = MVT::getVectorVT(MVT::i32, SrcVT.getVectorNumElements());
15809
- return DAG.getNode(ISD::SINT_TO_FP, dl, Op.getValueType(),
15810
- DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, N0));
15811
- }
15812
15797
case MVT::v2i32:
15813
15798
return lowerUINT_TO_FP_v2i32(Op, DAG, Subtarget, dl);
15814
15799
case MVT::v4i32:
15815
15800
case MVT::v8i32:
15801
+ assert(!Subtarget.hasAVX512());
15816
15802
return lowerUINT_TO_FP_vXi32(Op, DAG, Subtarget);
15817
- case MVT::v16i8:
15818
- case MVT::v16i16:
15819
- assert(Subtarget.hasAVX512());
15820
- return DAG.getNode(ISD::UINT_TO_FP, dl, Op.getValueType(),
15821
- DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v16i32, N0));
15822
15803
}
15823
15804
}
15824
15805
0 commit comments