[llvm] [AMDGPU] Make direct f16 <-> i32 conversion illegal (PR #205565)

Lukas Sommer via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 24 07:51:55 PDT 2026


================
@@ -3628,28 +3635,16 @@ SDValue AMDGPUTargetLowering::LowerUINT_TO_FP(SDValue Op,
     return DAG.getNode(ISD::UINT_TO_FP, DL, DestVT, Ext);
   }
 
-  if (DestVT == MVT::bf16) {
-    SDLoc SL(Op);
-    SDValue ToF32 = DAG.getNode(ISD::UINT_TO_FP, SL, MVT::f32, Src);
-    SDValue FPRoundFlag = DAG.getIntPtrConstant(0, SL, /*isTarget=*/true);
-    return DAG.getNode(ISD::FP_ROUND, SL, MVT::bf16, ToF32, FPRoundFlag);
-  }
+  if (DestVT == MVT::bf16)
+    return LowerINT_TO_FP16(Op, DAG, MVT::bf16);
+
+  if (DestVT == MVT::f16 && isTypeLegal(MVT::f16) &&
----------------
sommerlukas wrote:

Good point, I've removed that check.

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


More information about the llvm-commits mailing list