[llvm] [MIPS] Fix -msingle-float doesn't work with double on O32 (PR #107543)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 15 03:13:14 PDT 2024


================
@@ -1244,6 +1244,12 @@ SDValue MipsSETargetLowering::lowerBITCAST(SDValue Op,
 
   // Bitcast double to i64.
   if (Src == MVT::f64 && Dest == MVT::i64) {
+    // Skip lower bitcast when operand0 has converted float results to integer
+    // which was done by function SoftenFloatResult.
+    if (DAG.getTargetLoweringInfo().getTypeAction(
+            *DAG.getContext(), Op.getOperand(0).getValueType()) ==
+        TargetLowering::TypeSoftenFloat)
----------------
arsenm wrote:

DAG.getTargetLoweringInfo() is this

https://github.com/llvm/llvm-project/pull/107543


More information about the llvm-commits mailing list