Skip to content

Commit a3f95db

Browse files
committed
fixup! [RISCV] GPR Pairs for Inline Asm using Pr
1 parent 0b98a56 commit a3f95db

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6433,8 +6433,7 @@ SDValue RISCVTargetLowering::LowerOperation(SDValue Op,
64336433
SDValue NewOp0 = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op0);
64346434
return DAG.getNode(RISCVISD::FMV_W_X_RV64, DL, MVT::f32, NewOp0);
64356435
}
6436-
if (VT == MVT::f64 && Op0VT == MVT::i64 && !Subtarget.is64Bit() &&
6437-
Subtarget.hasStdExtDOrZdinx()) {
6436+
if (VT == MVT::f64 && Op0VT == MVT::i64 && XLenVT == MVT::i32) {
64386437
SDValue Lo, Hi;
64396438
std::tie(Lo, Hi) = DAG.SplitScalar(Op0, DL, MVT::i32, MVT::i32);
64406439
return DAG.getNode(RISCVISD::BuildPairF64, DL, MVT::f64, Lo, Hi);
@@ -12952,8 +12951,7 @@ void RISCVTargetLowering::ReplaceNodeResults(SDNode *N,
1295212951
SDValue FPConv =
1295312952
DAG.getNode(RISCVISD::FMV_X_ANYEXTW_RV64, DL, MVT::i64, Op0);
1295412953
Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, FPConv));
12955-
} else if (VT == MVT::i64 && Op0VT == MVT::f64 && !Subtarget.is64Bit() &&
12956-
Subtarget.hasStdExtDOrZdinx()) {
12954+
} else if (VT == MVT::i64 && Op0VT == MVT::f64 && XLenVT == MVT::i32) {
1295712955
SDValue NewReg = DAG.getNode(RISCVISD::SplitF64, DL,
1295812956
DAG.getVTList(MVT::i32, MVT::i32), Op0);
1295912957
SDValue RetReg = DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i64,

0 commit comments

Comments
 (0)