[Mlir-commits] [mlir] [MLIR][ARITH] Adds missing foldings for	truncf (PR #128096)
    Thomas Raoux 
    llvmlistbot at llvm.org
       
    Fri Feb 21 10:26:48 PST 2025
    
    
  
================
@@ -1517,6 +1517,22 @@ LogicalResult arith::TruncIOp::verify() {
 /// Perform safe const propagation for truncf, i.e., only propagate if FP value
 /// can be represented without precision loss.
 OpFoldResult arith::TruncFOp::fold(FoldAdaptor adaptor) {
+  if (auto extOp = getOperand().getDefiningOp<arith::ExtFOp>()) {
----------------
ThomasRaoux wrote:
> %y = arith.extf %x : f16 to f32 and %z = arith.truncf %y : f32 to f8E5M2FNUZ but absolutely can't do arith.truncf %x : f16 to f8E5M2FNUZ
interesting, why is that the case? There is no rouding or precision lose when doing  `%y = arith.extf %x : f16 to f32`?
https://github.com/llvm/llvm-project/pull/128096
    
    
More information about the Mlir-commits
mailing list