[llvm] AMDGPU: Custom lower fptrunc vectors for f32 -> f16 (PR #141883)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu May 29 12:56:36 PDT 2025


================
@@ -6900,14 +6902,44 @@ SDValue SITargetLowering::getFPExtOrFPRound(SelectionDAG &DAG, SDValue Op,
                            DAG.getTargetConstant(0, DL, MVT::i32));
 }
 
+SDValue SITargetLowering::SplitFP_ROUNDVectorToPacks(SDValue Op,
----------------
arsenm wrote:

splitUnaryVectorOp could be adjusted to treat the input and output types differently, but the real reason this case is  different is the extra rounding flag operand.

I meant you should create a new helper function, which looks like splitUnaryOp. That is, use DAG.SplitVectorOperand instead of manually splitting 

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


More information about the llvm-commits mailing list