Skip to content

Commit 8b7b1de

Browse files
committed
[mlir][spirv] Disable failing Intel SubgroupBlock* op tests
Move them to a new test file that tests roundtrip but do not validate with spirv-val. Issue: #166184
1 parent 1c094a1 commit 8b7b1de

File tree

2 files changed

+31
-25
lines changed

2 files changed

+31
-25
lines changed

mlir/test/Target/SPIRV/group-ops.mlir

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: mlir-translate -no-implicit-module -test-spirv-roundtrip -split-input-file %s | FileCheck %s
1+
// RUN: mlir-translate --no-implicit-module --test-spirv-roundtrip --split-input-file %s | FileCheck %s
22

33
// RUN: %if spirv-tools %{ rm -rf %t %}
44
// RUN: %if spirv-tools %{ mkdir %t %}
@@ -24,30 +24,6 @@ spirv.module Logical GLSL450 requires #spirv.vce<v1.3, [Shader, Linkage, Subgrou
2424
%0 = spirv.GroupBroadcast <Workgroup> %value, %localid : f32, vector<3xi32>
2525
spirv.ReturnValue %0: f32
2626
}
27-
// CHECK-LABEL: @subgroup_block_read_intel
28-
spirv.func @subgroup_block_read_intel(%ptr : !spirv.ptr<i32, StorageBuffer>) -> i32 "None" {
29-
// CHECK: spirv.INTEL.SubgroupBlockRead %{{.*}} : !spirv.ptr<i32, StorageBuffer> -> i32
30-
%0 = spirv.INTEL.SubgroupBlockRead %ptr : !spirv.ptr<i32, StorageBuffer> -> i32
31-
spirv.ReturnValue %0: i32
32-
}
33-
// CHECK-LABEL: @subgroup_block_read_intel_vector
34-
spirv.func @subgroup_block_read_intel_vector(%ptr : !spirv.ptr<i32, StorageBuffer>) -> vector<3xi32> "None" {
35-
// CHECK: spirv.INTEL.SubgroupBlockRead %{{.*}} : !spirv.ptr<i32, StorageBuffer> -> vector<3xi32>
36-
%0 = spirv.INTEL.SubgroupBlockRead %ptr : !spirv.ptr<i32, StorageBuffer> -> vector<3xi32>
37-
spirv.ReturnValue %0: vector<3xi32>
38-
}
39-
// CHECK-LABEL: @subgroup_block_write_intel
40-
spirv.func @subgroup_block_write_intel(%ptr : !spirv.ptr<i32, StorageBuffer>, %value: i32) -> () "None" {
41-
// CHECK: spirv.INTEL.SubgroupBlockWrite %{{.*}}, %{{.*}} : i32
42-
spirv.INTEL.SubgroupBlockWrite "StorageBuffer" %ptr, %value : i32
43-
spirv.Return
44-
}
45-
// CHECK-LABEL: @subgroup_block_write_intel_vector
46-
spirv.func @subgroup_block_write_intel_vector(%ptr : !spirv.ptr<i32, StorageBuffer>, %value: vector<3xi32>) -> () "None" {
47-
// CHECK: spirv.INTEL.SubgroupBlockWrite %{{.*}}, %{{.*}} : vector<3xi32>
48-
spirv.INTEL.SubgroupBlockWrite "StorageBuffer" %ptr, %value : vector<3xi32>
49-
spirv.Return
50-
}
5127
// CHECK-LABEL: @group_iadd
5228
spirv.func @group_iadd(%value: i32) -> i32 "None" {
5329
// CHECK: spirv.GroupIAdd <Workgroup> <Reduce> %{{.*}} : i32
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// RUN: mlir-translate --no-implicit-module --test-spirv-roundtrip --split-input-file %s | FileCheck %s
2+
3+
// TODO(#166184): Add spirv-val test once the serialization is fixed.
4+
5+
spirv.module Logical GLSL450 requires #spirv.vce<v1.3, [Shader, Linkage, SubgroupBufferBlockIOINTEL], [SPV_KHR_storage_buffer_storage_class, SPV_INTEL_subgroups]> {
6+
// CHECK-LABEL: @subgroup_block_read_intel
7+
spirv.func @subgroup_block_read_intel(%ptr : !spirv.ptr<i32, StorageBuffer>) -> i32 "None" {
8+
// CHECK: spirv.INTEL.SubgroupBlockRead %{{.*}} : !spirv.ptr<i32, StorageBuffer> -> i32
9+
%0 = spirv.INTEL.SubgroupBlockRead %ptr : !spirv.ptr<i32, StorageBuffer> -> i32
10+
spirv.ReturnValue %0: i32
11+
}
12+
// CHECK-LABEL: @subgroup_block_read_intel_vector
13+
spirv.func @subgroup_block_read_intel_vector(%ptr : !spirv.ptr<i32, StorageBuffer>) -> vector<3xi32> "None" {
14+
// CHECK: spirv.INTEL.SubgroupBlockRead %{{.*}} : !spirv.ptr<i32, StorageBuffer> -> vector<3xi32>
15+
%0 = spirv.INTEL.SubgroupBlockRead %ptr : !spirv.ptr<i32, StorageBuffer> -> vector<3xi32>
16+
spirv.ReturnValue %0: vector<3xi32>
17+
}
18+
// CHECK-LABEL: @subgroup_block_write_intel
19+
spirv.func @subgroup_block_write_intel(%ptr : !spirv.ptr<i32, StorageBuffer>, %value: i32) -> () "None" {
20+
// CHECK: spirv.INTEL.SubgroupBlockWrite %{{.*}}, %{{.*}} : i32
21+
spirv.INTEL.SubgroupBlockWrite "StorageBuffer" %ptr, %value : i32
22+
spirv.Return
23+
}
24+
// CHECK-LABEL: @subgroup_block_write_intel_vector
25+
spirv.func @subgroup_block_write_intel_vector(%ptr : !spirv.ptr<i32, StorageBuffer>, %value: vector<3xi32>) -> () "None" {
26+
// CHECK: spirv.INTEL.SubgroupBlockWrite %{{.*}}, %{{.*}} : vector<3xi32>
27+
spirv.INTEL.SubgroupBlockWrite "StorageBuffer" %ptr, %value : vector<3xi32>
28+
spirv.Return
29+
}
30+
}

0 commit comments

Comments
 (0)