[Mlir-commits] [mlir] [MLIR][LLVM] Add `llvm.experimental.constrained.fptrunc` operation (PR #86260)
Tobias Gysi
llvmlistbot at llvm.org
Fri Mar 22 05:41:46 PDT 2024
================
@@ -647,3 +647,22 @@ llvm.func @experimental_noalias_scope_decl() {
llvm.intr.experimental.noalias.scope.decl #alias_scope
llvm.return
}
+
+// CHECK-LABEL: @experimental_constrained_fptrunc
+llvm.func @experimental_constrained_fptrunc(%in: f64) -> f32 {
+ // CHECK: llvm.intr.experimental.constrained.fptrunc %{{.*}} towardzero ignore : f64 to f32
+ %0 = llvm.intr.experimental.constrained.fptrunc %in towardzero ignore : f64 to f32
+ // CHECK: llvm.intr.experimental.constrained.fptrunc %{{.*}} tonearest maytrap : f64 to f32
+ %1 = llvm.intr.experimental.constrained.fptrunc %in tonearest maytrap : f64 to f32
+ // CHECK: llvm.intr.experimental.constrained.fptrunc %{{.*}} upward strict : f64 to f32
+ %2 = llvm.intr.experimental.constrained.fptrunc %in upward strict : f64 to f32
+ // CHECK: llvm.intr.experimental.constrained.fptrunc %{{.*}} downward ignore : f64 to f32
+ %3 = llvm.intr.experimental.constrained.fptrunc %in downward ignore : f64 to f32
+ // CHECK: llvm.intr.experimental.constrained.fptrunc %{{.*}} tonearestaway ignore : f64 to f32
+ %4 = llvm.intr.experimental.constrained.fptrunc %in tonearestaway ignore : f64 to f32
+ %tmp0 = llvm.fadd %0, %1 : f32
+ %tmp1 = llvm.fadd %2, %3 : f32
+ %tmp2 = llvm.fadd %tmp0, %tmp1 : f32
+ %res = llvm.fadd %tmp2, %4 : f32
----------------
gysit wrote:
```suggestion
```
nit: the computation should not be necessary for the round trip test?
https://github.com/llvm/llvm-project/pull/86260
More information about the Mlir-commits
mailing list