@@ -1264,11 +1264,11 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM,
12641264 Custom);
12651265 setOperationAction(ISD::SELECT_CC, VT, Expand);
12661266 setOperationAction({ISD::VP_SINT_TO_FP, ISD::VP_UINT_TO_FP}, VT, Custom);
1267- setOperationAction({ISD::INSERT_VECTOR_ELT, ISD::CONCAT_VECTORS ,
1268- ISD::INSERT_SUBVECTOR , ISD::EXTRACT_SUBVECTOR ,
1269- ISD::VECTOR_DEINTERLEAVE , ISD::VECTOR_INTERLEAVE ,
1270- ISD::VECTOR_REVERSE , ISD::VECTOR_SPLICE ,
1271- ISD::VECTOR_COMPRESS},
1267+ setOperationAction({ISD::INSERT_VECTOR_ELT, ISD::EXTRACT_VECTOR_ELT ,
1268+ ISD::CONCAT_VECTORS , ISD::INSERT_SUBVECTOR ,
1269+ ISD::EXTRACT_SUBVECTOR , ISD::VECTOR_DEINTERLEAVE ,
1270+ ISD::VECTOR_INTERLEAVE , ISD::VECTOR_REVERSE ,
1271+ ISD::VECTOR_SPLICE, ISD:: VECTOR_COMPRESS},
12721272 VT, Custom);
12731273 setOperationAction(ISD::EXPERIMENTAL_VP_SPLICE, VT, Custom);
12741274 setOperationAction(ISD::EXPERIMENTAL_VP_REVERSE, VT, Custom);
@@ -1278,9 +1278,8 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM,
12781278
12791279 MVT EltVT = VT.getVectorElementType();
12801280 if (isTypeLegal(EltVT))
1281- setOperationAction({ISD::SPLAT_VECTOR, ISD::EXPERIMENTAL_VP_SPLAT,
1282- ISD::EXTRACT_VECTOR_ELT},
1283- VT, Custom);
1281+ setOperationAction({ISD::SPLAT_VECTOR, ISD::EXPERIMENTAL_VP_SPLAT}, VT,
1282+ Custom);
12841283 else
12851284 setOperationAction({ISD::SPLAT_VECTOR, ISD::EXPERIMENTAL_VP_SPLAT},
12861285 EltVT, Custom);
@@ -10356,7 +10355,7 @@ SDValue RISCVTargetLowering::lowerINSERT_VECTOR_ELT(SDValue Op,
1035610355 }
1035710356
1035810357 if ((ValVT == MVT::f16 && !Subtarget.hasVInstructionsF16()) ||
10359- ValVT == MVT::bf16) {
10358+ ( ValVT == MVT::bf16 && !Subtarget.hasVInstructionsBF16()) ) {
1036010359 // If we don't have vfmv.s.f for f16/bf16, use fmv.x.h first.
1036110360 MVT IntVT = VecVT.changeTypeToInteger();
1036210361 SDValue IntInsert = DAG.getNode(
@@ -10593,7 +10592,7 @@ SDValue RISCVTargetLowering::lowerEXTRACT_VECTOR_ELT(SDValue Op,
1059310592 }
1059410593
1059510594 if ((EltVT == MVT::f16 && !Subtarget.hasVInstructionsF16()) ||
10596- EltVT == MVT::bf16) {
10595+ ( EltVT == MVT::bf16 && !Subtarget.hasVInstructionsBF16()) ) {
1059710596 // If we don't have vfmv.f.s for f16/bf16, extract to a gpr then use fmv.h.x
1059810597 MVT IntVT = VecVT.changeTypeToInteger();
1059910598 SDValue IntVec = DAG.getBitcast(IntVT, Vec);
0 commit comments