[llvm] [PowerPC] set libcall lowering for fp setcc ops on SPE boards (PR #153238)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 25 12:12:42 PDT 2025


================
@@ -550,8 +550,22 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM,
     setOperationAction(ISD::UINT_TO_FP, MVT::i32, Legal);
 
     // SPE supports signaling compare of f32/f64.
-    setOperationAction(ISD::STRICT_FSETCCS, MVT::f32, Legal);
-    setOperationAction(ISD::STRICT_FSETCCS, MVT::f64, Legal);
+    // But it doesn't comply IEEE-754 rules for comparing
+    // special values like NaNs, Infs.
+    if (!getTargetMachine().Options.NoNaNsFPMath) {
+      setOperationAction(ISD::SETCC, MVT::f32, Custom);
----------------
RolandF77 wrote:

If expansion takes place for all inputs of this type, which it does, then I think this should be marked expand and handled in legalization. There is some existing code for f128, but I think it is misguided.

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


More information about the llvm-commits mailing list