[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
Wed Sep 11 02:59:58 PDT 2024


================
@@ -2760,9 +2760,19 @@ void DAGTypeLegalizer::ExpandIntegerResult(SDNode *N, unsigned ResNo) {
   LLVM_DEBUG(dbgs() << "Expand integer result: "; N->dump(&DAG));
   SDValue Lo, Hi;
   Lo = Hi = SDValue();
+  bool NeedCustomLower = true;
+
+  // Skip the following function 'CustomLowerNode' when the operand had done
+  // `SoftenFloatResult`.
+  if (N->getOpcode() == ISD::BITCAST &&
----------------
arsenm wrote:

Shouldn't be special casing a specific opcode here, and shouldn't need to check the type of the actual softened result. It is also OK to request custom lowering on illegal types 

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


More information about the llvm-commits mailing list