@@ -30,3 +30,36 @@ module attributes {
30
30
// CHECK-NEXT: %[[CAST:.*]] = spirv.SConvert %[[SELECT2]] : i32 to i16
31
31
// CHECK-NEXT: spirv.Bitcast %[[CAST]] : i16 to vector<16xi1>
32
32
// CHECK-NEXT: spirv.Return
33
+
34
+ // -----
35
+
36
+ module attributes {
37
+ gpu.container_module ,
38
+ spirv.target_env = #spirv.target_env <#spirv.vce <v1.0 ,
39
+ [Addresses , Float16Buffer , Int64 , Int16 , Int8 , Kernel , Linkage , Vector16 , GenericPointer , Groups , Float16 , Float64 , AtomicFloat32AddEXT , ExpectAssumeKHR ],
40
+ [SPV_EXT_shader_atomic_float_add , SPV_KHR_expect_assume ]>, #spirv.resource_limits <>>
41
+ } {
42
+ gpu.module @kernels {
43
+ // CHECK-LABEL: spirv.func @constant_mask_0
44
+ gpu.func @constant_mask_0 () kernel attributes {spirv.entry_point_abi = #spirv.entry_point_abi <>} {
45
+ %0 = vector.constant_mask [0 ] : vector <16 xi1 >
46
+ // CHECK-NEXT: spirv.Constant dense<false> : vector<16xi1>
47
+ // CHECK-NEXT: spirv.Return
48
+ gpu.return
49
+ }
50
+ // CHECK-LABEL: spirv.func @constant_mask_7
51
+ gpu.func @constant_mask_7 () kernel attributes {spirv.entry_point_abi = #spirv.entry_point_abi <>} {
52
+ %7 = vector.constant_mask [7 ] : vector <16 xi1 >
53
+ // CHECK-NEXT: spirv.Constant dense<[true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false]> : vector<16xi1>
54
+ // CHECK-NEXT: spirv.Return
55
+ gpu.return
56
+ }
57
+ // CHECK-LABEL: spirv.func @constant_mask_16
58
+ gpu.func @constant_mask_16 () kernel attributes {spirv.entry_point_abi = #spirv.entry_point_abi <>} {
59
+ %16 = vector.constant_mask [16 ] : vector <16 xi1 >
60
+ // CHECK-NEXT: spirv.Constant dense<true> : vector<16xi1>
61
+ // CHECK-NEXT: spirv.Return
62
+ gpu.return
63
+ }
64
+ }
65
+ }
0 commit comments