@@ -8,37 +8,37 @@ func.func @access_chain_struct() -> () {
88 %0 = spirv.Constant 1 : i32
99 %1 = spirv.Variable : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >
1010 // CHECK: spirv.AccessChain {{.*}}[{{.*}}, {{.*}}] : !spirv.ptr<!spirv.struct<(f32, !spirv.array<4 x f32>)>, Function>
11- %2 = spirv.AccessChain %1 [%0 , %0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32
11+ %2 = spirv.AccessChain %1 [%0 , %0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32 -> !spirv.ptr < f32 , Function >
1212 return
1313}
1414
1515func.func @access_chain_1D_array (%arg0 : i32 ) -> () {
1616 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 xf32 >, Function >
1717 // CHECK: spirv.AccessChain {{.*}}[{{.*}}] : !spirv.ptr<!spirv.array<4 x f32>, Function>
18- %1 = spirv.AccessChain %0 [%arg0 ] : !spirv.ptr <!spirv.array <4 xf32 >, Function >, i32
18+ %1 = spirv.AccessChain %0 [%arg0 ] : !spirv.ptr <!spirv.array <4 xf32 >, Function >, i32 -> !spirv.ptr < f32 , Function >
1919 return
2020}
2121
2222func.func @access_chain_2D_array_1 (%arg0 : i32 ) -> () {
2323 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
2424 // CHECK: spirv.AccessChain {{.*}}[{{.*}}, {{.*}}] : !spirv.ptr<!spirv.array<4 x !spirv.array<4 x f32>>, Function>
25- %1 = spirv.AccessChain %0 [%arg0 , %arg0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 , i32
25+ %1 = spirv.AccessChain %0 [%arg0 , %arg0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 , i32 -> !spirv.ptr < f32 , Function >
2626 %2 = spirv.Load " Function" %1 [" Volatile" ] : f32
2727 return
2828}
2929
3030func.func @access_chain_2D_array_2 (%arg0 : i32 ) -> () {
3131 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
3232 // CHECK: spirv.AccessChain {{.*}}[{{.*}}] : !spirv.ptr<!spirv.array<4 x !spirv.array<4 x f32>>, Function>
33- %1 = spirv.AccessChain %0 [%arg0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32
33+ %1 = spirv.AccessChain %0 [%arg0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 -> !spirv.ptr < !spirv.array < 4 x f32 >, Function >
3434 %2 = spirv.Load " Function" %1 [" Volatile" ] : !spirv.array <4 xf32 >
3535 return
3636}
3737
3838func.func @access_chain_rtarray (%arg0 : i32 ) -> () {
3939 %0 = spirv.Variable : !spirv.ptr <!spirv.rtarray <f32 >, Function >
4040 // CHECK: spirv.AccessChain {{.*}}[{{.*}}] : !spirv.ptr<!spirv.rtarray<f32>, Function>
41- %1 = spirv.AccessChain %0 [%arg0 ] : !spirv.ptr <!spirv.rtarray <f32 >, Function >, i32
41+ %1 = spirv.AccessChain %0 [%arg0 ] : !spirv.ptr <!spirv.rtarray <f32 >, Function >, i32 -> !spirv.ptr < f32 , Function >
4242 %2 = spirv.Load " Function" %1 [" Volatile" ] : f32
4343 return
4444}
@@ -49,16 +49,16 @@ func.func @access_chain_non_composite() -> () {
4949 %0 = spirv.Constant 1 : i32
5050 %1 = spirv.Variable : !spirv.ptr <f32 , Function >
5151 // expected-error @+1 {{cannot extract from non-composite type 'f32' with index 0}}
52- %2 = spirv.AccessChain %1 [%0 ] : !spirv.ptr <f32 , Function >, i32
52+ %2 = spirv.AccessChain %1 [%0 ] : !spirv.ptr <f32 , Function >, i32 -> !spirv.ptr < f32 , Function >
5353 return
5454}
5555
5656// -----
5757
5858func.func @access_chain_no_indices (%index0 : i32 ) -> () {
5959 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
60- // expected-error @+1 {{expected at least one index }}
61- %1 = spirv.AccessChain %0 [] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32
60+ // expected-error @+1 {{custom op 'spirv.AccessChain' 0 operands present, but expected 1 }}
61+ %1 = spirv.AccessChain %0 [] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 -> !spirv.ptr < f32 , Function >
6262 return
6363}
6464
@@ -75,17 +75,17 @@ func.func @access_chain_missing_comma(%index0 : i32) -> () {
7575
7676func.func @access_chain_invalid_indices_types_count (%index0 : i32 ) -> () {
7777 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
78- // expected-error @+1 {{'spirv.AccessChain' op indices types' count must be equal to indices info count }}
79- %1 = spirv.AccessChain %0 [%index0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 , i32
78+ // expected-error @+1 {{custom op 'spirv.AccessChain' 1 operands present, but expected 2 }}
79+ %1 = spirv.AccessChain %0 [%index0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 , i32 -> !spirv.ptr < !spirv.array < 4 x f32 >, Function >
8080 return
8181}
8282
8383// -----
8484
8585func.func @access_chain_missing_indices_type (%index0 : i32 ) -> () {
8686 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
87- // expected-error @+1 {{'spirv.AccessChain' op indices types' count must be equal to indices info count }}
88- %1 = spirv.AccessChain %0 [%index0 , %index0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32
87+ // expected-error @+1 {{custom op 'spirv.AccessChain' 2 operands present, but expected 1 }}
88+ %1 = spirv.AccessChain %0 [%index0 , %index0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 -> !spirv.ptr < f32 , Function >
8989 return
9090}
9191
@@ -94,8 +94,8 @@ func.func @access_chain_missing_indices_type(%index0 : i32) -> () {
9494func.func @access_chain_invalid_type (%index0 : i32 ) -> () {
9595 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
9696 %1 = spirv.Load " Function" %0 [" Volatile" ] : !spirv.array <4 x!spirv.array <4 xf32 >>
97- // expected-error @+1 {{expected a pointer to composite type, but provided '!spirv.array<4 x !spirv.array<4 x f32>>'}}
98- %2 = spirv.AccessChain %1 [%index0 ] : !spirv.array <4 x!spirv.array <4 xf32 >>, i32
97+ // expected-error @+1 {{'spirv.AccessChain' op operand #0 must be any SPIR-V pointer type, but got '!spirv.array<4 x !spirv.array<4 x f32>>'}}
98+ %2 = spirv.AccessChain %1 [%index0 ] : !spirv.array <4 x!spirv.array <4 xf32 >>, i32 -> f32
9999 return
100100}
101101
@@ -113,7 +113,7 @@ func.func @access_chain_invalid_index_1(%index0 : i32) -> () {
113113func.func @access_chain_invalid_index_2 (%index0 : i32 ) -> () {
114114 %0 = spirv.Variable : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >
115115 // expected-error @+1 {{index must be an integer spirv.Constant to access element of spirv.struct}}
116- %1 = spirv.AccessChain %0 [%index0 , %index0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32
116+ %1 = spirv.AccessChain %0 [%index0 , %index0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32 -> !spirv.ptr < f32 , Function >
117117 return
118118}
119119
@@ -123,7 +123,7 @@ func.func @access_chain_invalid_constant_type_1() -> () {
123123 %0 = arith.constant 1 : i32
124124 %1 = spirv.Variable : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >
125125 // expected-error @+1 {{index must be an integer spirv.Constant to access element of spirv.struct, but provided arith.constant}}
126- %2 = spirv.AccessChain %1 [%0 , %0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32
126+ %2 = spirv.AccessChain %1 [%0 , %0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32 -> !spirv.ptr < f32 , Function >
127127 return
128128}
129129
@@ -133,7 +133,7 @@ func.func @access_chain_out_of_bounds() -> () {
133133 %index0 = " spirv.Constant" () { value = 12 : i32 } : () -> i32
134134 %0 = spirv.Variable : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >
135135 // expected-error @+1 {{'spirv.AccessChain' op index 12 out of bounds for '!spirv.struct<(f32, !spirv.array<4 x f32>)>'}}
136- %1 = spirv.AccessChain %0 [%index0 , %index0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32
136+ %1 = spirv.AccessChain %0 [%index0 , %index0 ] : !spirv.ptr <!spirv.struct <(f32 , !spirv.array <4 xf32 >)>, Function >, i32 , i32 -> !spirv.ptr < f32 , Function >
137137 return
138138}
139139
@@ -142,9 +142,9 @@ func.func @access_chain_out_of_bounds() -> () {
142142func.func @access_chain_invalid_accessing_type (%index0 : i32 ) -> () {
143143 %0 = spirv.Variable : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >
144144 // expected-error @+1 {{cannot extract from non-composite type 'f32' with index 0}}
145- %1 = spirv.AccessChain %0 [%index , %index0 , %index0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 , i32 , i32
145+ %1 = spirv.AccessChain %0 [%index0 , %index0 , %index0 ] : !spirv.ptr <!spirv.array <4 x!spirv.array <4 xf32 >>, Function >, i32 , i32 , i32 -> !spirv.ptr < f32 , Function >
146146 return
147-
147+ }
148148// -----
149149
150150//===----------------------------------------------------------------------===//
0 commit comments