@@ -19090,20 +19090,18 @@ static SDValue convertLocVTToValVT(SelectionDAG &DAG, SDValue Val,
19090
19090
if (VA.needsCustom()) {
19091
19091
if (VA.getLocVT().isInteger() &&
19092
19092
(VA.getValVT() == MVT::f16 || VA.getValVT() == MVT::bf16))
19093
- Val = DAG.getNode(RISCVISD::FMV_H_X, DL, VA.getValVT(), Val);
19094
- else if (VA.getLocVT() == MVT::i64 && VA.getValVT() == MVT::f32)
19095
- Val = DAG.getNode(RISCVISD::FMV_W_X_RV64, DL, MVT::f32, Val);
19096
- else
19097
- llvm_unreachable("Unexpected Custom handling." );
19098
- return Val ;
19093
+ return DAG.getNode(RISCVISD::FMV_H_X, DL, VA.getValVT(), Val);
19094
+ if (VA.getLocVT() == MVT::i64 && VA.getValVT() == MVT::f32)
19095
+ return DAG.getNode(RISCVISD::FMV_W_X_RV64, DL, MVT::f32, Val);
19096
+ if (VA.getValVT().isFixedLengthVector() && VA.getLocVT().isScalableVector())
19097
+ return convertFromScalableVector(VA.getValVT(), Val, DAG, Subtarget );
19098
+ llvm_unreachable("Unexpected Custom handling.") ;
19099
19099
}
19100
19100
19101
19101
switch (VA.getLocInfo()) {
19102
19102
default:
19103
19103
llvm_unreachable("Unexpected CCValAssign::LocInfo");
19104
19104
case CCValAssign::Full:
19105
- if (VA.getValVT().isFixedLengthVector() && VA.getLocVT().isScalableVector())
19106
- Val = convertFromScalableVector(VA.getValVT(), Val, DAG, Subtarget);
19107
19105
break;
19108
19106
case CCValAssign::BCvt:
19109
19107
Val = DAG.getNode(ISD::BITCAST, DL, VA.getValVT(), Val);
@@ -19155,20 +19153,18 @@ static SDValue convertValVTToLocVT(SelectionDAG &DAG, SDValue Val,
19155
19153
if (VA.needsCustom()) {
19156
19154
if (LocVT.isInteger() &&
19157
19155
(VA.getValVT() == MVT::f16 || VA.getValVT() == MVT::bf16))
19158
- Val = DAG.getNode(RISCVISD::FMV_X_ANYEXTH, DL, LocVT, Val);
19159
- else if (LocVT == MVT::i64 && VA.getValVT() == MVT::f32)
19160
- Val = DAG.getNode(RISCVISD::FMV_X_ANYEXTW_RV64, DL, MVT::i64, Val);
19161
- else
19162
- llvm_unreachable("Unexpected Custom handling." );
19163
- return Val ;
19156
+ return DAG.getNode(RISCVISD::FMV_X_ANYEXTH, DL, LocVT, Val);
19157
+ if (LocVT == MVT::i64 && VA.getValVT() == MVT::f32)
19158
+ return DAG.getNode(RISCVISD::FMV_X_ANYEXTW_RV64, DL, MVT::i64, Val);
19159
+ if (VA.getValVT().isFixedLengthVector() && LocVT.isScalableVector())
19160
+ return convertToScalableVector(LocVT, Val, DAG, Subtarget );
19161
+ llvm_unreachable("Unexpected Custom handling.") ;
19164
19162
}
19165
19163
19166
19164
switch (VA.getLocInfo()) {
19167
19165
default:
19168
19166
llvm_unreachable("Unexpected CCValAssign::LocInfo");
19169
19167
case CCValAssign::Full:
19170
- if (VA.getValVT().isFixedLengthVector() && LocVT.isScalableVector())
19171
- Val = convertToScalableVector(LocVT, Val, DAG, Subtarget);
19172
19168
break;
19173
19169
case CCValAssign::BCvt:
19174
19170
Val = DAG.getNode(ISD::BITCAST, DL, LocVT, Val);
0 commit comments