[llvm] [MIPS][float] Fixed SingleFloat codegen on N32/N64 targets (PR #140575)

Davide Mor via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 26 11:03:57 PDT 2025


================
@@ -211,6 +212,20 @@ MipsSETargetLowering::MipsSETargetLowering(const MipsTargetMachine &TM,
     }
   }
 
+  // Targets with 64bits integer registers, but no 64bit floating point register
+  // do not support conversion between them
+  if (Subtarget.isGP64bit() && Subtarget.isSingleFloat() &&
+      !Subtarget.useSoftFloat()) {
+    setOperationAction(ISD::FP_TO_SINT, MVT::i64, Expand);
+    setOperationAction(ISD::FP_TO_UINT, MVT::i64, Expand);
+    setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i64, Expand);
+    setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i64, Expand);
----------------
Tazdevil971 wrote:

Yes you are right, I checked and strictfp doesn't seem to be supported by MIPS so I just removed it

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


More information about the llvm-commits mailing list