[Mlir-commits] [mlir] [mlir][spirv] Add basic support for SPV_EXT_replicated_composites (PR #147067)
Jakub Kuderski
llvmlistbot at llvm.org
Thu Jul 10 08:09:53 PDT 2025
================
@@ -165,6 +165,34 @@ func.func @coop_matrix_const_wrong_type() -> () {
// -----
+//===----------------------------------------------------------------------===//
+// spirv.EXT.ConstantCompositeReplicate
+//===----------------------------------------------------------------------===//
+
+func.func @ccr_result_not_composite() -> () {
+ // expected-error @+1 {{op result #0 must be vector of bool or 8/16/32/64-bit integer or 16/32/64-bit float or BFloat16 values of length 2/3/4/8/16 or any SPIR-V array type or any SPIR-V runtime array type or any SPIR-V struct type or any SPIR-V cooperative matrix type or any SPIR-V matrix type, but got 'i32'}}
+ %0 = spirv.EXT.ConstantCompositeReplicate [1 : i32] : i32
+ return
+}
+
+// -----
+
+func.func @ccr_wrong_splat_type() -> () {
+ // expected-error @+1 {{expected splat element type'f32', but got: 'i32'}}
+ %0 = spirv.EXT.ConstantCompositeReplicate [1 : i32] : vector<2xf32>
+ return
+}
+
+// -----
+
+func.func @ccr_wrong_splat_type() -> () {
+ // expected-error @+1 {{expected splat element type'i32', but got: 'vector<2xi32>'}}
+ %0 = spirv.EXT.ConstantCompositeReplicate [dense<[1, 2]> : vector<2xi32>] : !spirv.array<2 x !spirv.array<3 x i32>>
----------------
kuhar wrote:
Ah, I get it now. What happens when we do: `spirv.EXT.ConstantCompositeReplicate [dense<[1, 2]> : vector<2xi32>] : !spirv.array<2 x vector<3xi32>>`? Can we have a test case for this too?
https://github.com/llvm/llvm-project/pull/147067
More information about the Mlir-commits
mailing list