[llvm] [AMDGPU] Implement llvm.fptosi.sat and llvm.fptoui.sat (PR #174726)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 7 05:21:25 PST 2026


================
@@ -3762,6 +3767,52 @@ SDValue AMDGPUTargetLowering::LowerFP_TO_INT(const SDValue Op,
   return SDValue();
 }
 
+SDValue AMDGPUTargetLowering::LowerFP_TO_INT_SAT(const SDValue Op,
+                                                 SelectionDAG &DAG) const {
+  SDValue Src = Op.getOperand(0);
+  unsigned OpOpcode = Op.getOpcode();
+  EVT SrcVT = Src.getValueType();
+  EVT DestVT = Op.getValueType();
+  SDValue SatVT = Op.getNode()->getOperand(1);
+  SDLoc DL(Op);
+
+  // Will be selected natively
+  if (DestVT == MVT::i32 && (SrcVT == MVT::f32 || SrcVT == MVT::f64))
+    return Op;
+
+  // Extend to i64 dst
+  if (DestVT == MVT::i64 &&
+      (SrcVT == MVT::f16 ||
----------------
jayfoad wrote:

Also handle bf16 here?

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


More information about the llvm-commits mailing list