From 76dc9a853adde45b02252ea7125fa54ae2c16e2c Mon Sep 17 00:00:00 2001 From: mariecwhite Date: Wed, 4 Jan 2023 14:56:45 -0800 Subject: [PATCH] [mlir][tosa] Remove clamping behavior in `tosa.cast` for integer truncation Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D141015 --- mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp | 15 +-------------- mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir | 6 ------ 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp b/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp index 22563ea..7e12d1b 100644 --- a/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp +++ b/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp @@ -512,20 +512,7 @@ createLinalgBodyCalculationForElementwiseOp(Operation *op, ValueRange args, std::nullopt); if (srcTy.isa() && dstTy.isa() && !bitExtend) { - auto intMin = rewriter.create( - loc, - APInt::getSignedMinValue(dstTy.getIntOrFloatBitWidth()) - .getSExtValue(), - srcTy.getIntOrFloatBitWidth()); - - auto intMax = rewriter.create( - loc, - APInt::getSignedMaxValue(dstTy.getIntOrFloatBitWidth()) - .getSExtValue(), - srcTy.getIntOrFloatBitWidth()); - - auto clamped = clampIntHelper(loc, args[0], intMin, intMax, rewriter); - return rewriter.create(loc, dstTy, clamped); + return rewriter.create(loc, dstTy, args[0]); } } diff --git a/mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir b/mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir index 8406c05..864eec8 100644 --- a/mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir +++ b/mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir @@ -400,12 +400,6 @@ func.func @test_simple_i32(%arg0: tensor<1xi32>) -> () { %19 = "tosa.clamp"(%0) {min_int = 1 : i64, max_int = 5 : i64, min_fp = 1.0 : f32, max_fp = 5.0 : f32} : (tensor<1xi32>) -> tensor<1xi32> // CHECK: linalg.generic - // CHECK: arith.constant -32768 - // CHECK: arith.constant 32767 - // CHECK: arith.cmpi slt - // CHECK: select - // CHECK: arith.cmpi slt - // CHECK: select // CHECK: arith.trunci %20 = "tosa.cast"(%0) : (tensor<1xi32>) -> tensor<1xi16> -- 2.7.4