[Mlir-commits] [mlir] [mlir][spirv] Add pattern matching for arith.index_cast index to i1 for ArithToSPIRV (PR #156031)
Jakub Kuderski
llvmlistbot at llvm.org
Wed Sep 3 06:49:25 PDT 2025
================
@@ -734,6 +734,31 @@ func.func @index_castui4(%arg0: index) {
return
}
+// CHECK-LABEL: index_castindexi1_1
+func.func @index_castindexi1_1(%arg0 : index) {
+ // CHECK: %[[ZERO:.+]] = spirv.Constant 0 : i32
+ // CHECK: spirv.INotEqual %[[ZERO]], %{{.+}} : i32
+ %0 = arith.index_cast %arg0 : index to i1
+ return
+}
+
+// CHECK-LABEL: index_castindexi1_2
+func.func @index_castindexi1_2(%arg0 : vector<1xindex>) -> vector<1xi1> {
+ // Single-element vectors do not exist in SPIRV.
+ // CHECK: %[[ZERO:.+]] = spirv.Constant 0 : i32
+ // CHECK: spirv.INotEqual %[[ZERO]], %{{.+}} : i32
+ %0 = arith.index_cast %arg0 : vector<1xindex> to vector<1xi1>
+ return %0 : vector<1xi1>
+}
+
+// CHECK-LABEL: index_castindexi1_3
+func.func @index_castindexi1_3(%arg0 : vector<3xindex>) {
----------------
kuhar wrote:
```suggestion
func.func @index_castindexi1_3(%arg0: vector<3xindex>) {
```
https://github.com/llvm/llvm-project/pull/156031
More information about the Mlir-commits
mailing list