[Mlir-commits] [mlir] [mlir][arith] Add tests for i0 canonicalization (PR #89665)
Théo Degioanni
llvmlistbot at llvm.org
Mon Apr 22 14:11:03 PDT 2024
https://github.com/Moxinilian updated https://github.com/llvm/llvm-project/pull/89665
>From 54cf2be465624c0f61fad92709d21a0c3f4c8c6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9o=20Degioanni?=
<theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: Mon, 22 Apr 2024 23:00:04 +0200
Subject: [PATCH 1/2] add tests for i0 canonicalization
---
mlir/test/Dialect/Arith/canonicalize.mlir | 72 +++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/mlir/test/Dialect/Arith/canonicalize.mlir b/mlir/test/Dialect/Arith/canonicalize.mlir
index 79a318565e98f9..5f772cf1c6ca4e 100644
--- a/mlir/test/Dialect/Arith/canonicalize.mlir
+++ b/mlir/test/Dialect/Arith/canonicalize.mlir
@@ -2809,6 +2809,78 @@ func.func @unsignedExtendConstantResource() -> tensor<i16> {
return %ext : tensor<i16>
}
+// CHECK-LABEL: @extsi_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i16
+// CHECK: return %[[ZERO]] : i16
+func.func @extsi_i0() -> i16 {
+ %c0 = arith.constant 0 : i0
+ %extsi = arith.extsi %c0 : i0 to i16
+ return %extsi : i16
+}
+
+// CHECK-LABEL: @trunc_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]] : i0
+func.func @trunc_i0() -> i0 {
+ %cFF = arith.constant 0xFF : i8
+ %trunc = arith.trunci %cFF : i8 to i0
+ return %trunc : i0
+}
+
+// CHECK-LABEL: @shli_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]] : i0
+func.func @shli_i0() -> i0 {
+ %c0 = arith.constant 0 : i0
+ %shli = arith.shli %c0, %c0 : i0
+ return %shli : i0
+}
+
+// CHECK-LABEL: @shrsi_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]] : i0
+func.func @shrsi_i0() -> i0 {
+ %c0 = arith.constant 0 : i0
+ %shrsi = arith.shrsi %c0, %c0 : i0
+ return %shrsi : i0
+}
+
+// CHECK-LABEL: @shrui_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]] : i0
+func.func @shrui_i0() -> i0 {
+ %c0 = arith.constant 0 : i0
+ %shrui = arith.shrui %c0, %c0 : i0
+ return %shrui : i0
+}
+
+// CHECK-LABEL: @maxsi_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]] : i0
+func.func @maxsi_i0() -> i0 {
+ %c0 = arith.constant 0 : i0
+ %maxsi = arith.maxsi %c0, %c0 : i0
+ return %maxsi : i0
+}
+
+// CHECK-LABEL: @minsi_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]] : i0
+func.func @minsi_i0() -> i0 {
+ %c0 = arith.constant 0 : i0
+ %minsi = arith.minsi %c0, %c0 : i0
+ return %minsi : i0
+}
+
+// CHECK-LABEL: @mulsi_extended_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
+// CHECK: return %[[ZERO]], %[[ZERO]] : i0
+func.func @mulsi_extended_i0() -> (i0, i0) {
+ %c0 = arith.constant 0 : i0
+ %mulsi_extended:2 = arith.mulsi_extended %c0, %c0 : i0
+ return %mulsi_extended#0, %mulsi_extended#1 : i0, i0
+}
+
{-#
dialect_resources: {
builtin: {
>From b4a470ba587ddc157de64ecce82f239554eaedb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9o=20Degioanni?=
<theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: Mon, 22 Apr 2024 23:10:50 +0200
Subject: [PATCH 2/2] add extui for good measure
---
mlir/test/Dialect/Arith/canonicalize.mlir | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/mlir/test/Dialect/Arith/canonicalize.mlir b/mlir/test/Dialect/Arith/canonicalize.mlir
index 5f772cf1c6ca4e..049ff8b99ed448 100644
--- a/mlir/test/Dialect/Arith/canonicalize.mlir
+++ b/mlir/test/Dialect/Arith/canonicalize.mlir
@@ -2818,6 +2818,15 @@ func.func @extsi_i0() -> i16 {
return %extsi : i16
}
+// CHECK-LABEL: @extui_i0
+// CHECK: %[[ZERO:.*]] = arith.constant 0 : i16
+// CHECK: return %[[ZERO]] : i16
+func.func @extui_i0() -> i16 {
+ %c0 = arith.constant 0 : i0
+ %extui = arith.extui %c0 : i0 to i16
+ return %extui : i16
+}
+
// CHECK-LABEL: @trunc_i0
// CHECK: %[[ZERO:.*]] = arith.constant 0 : i0
// CHECK: return %[[ZERO]] : i0
More information about the Mlir-commits
mailing list