4
4
%struct.ByValStruct = type { [4 x i32 ] }
5
5
6
6
; GCN-LABEL: {{^}}void_func_byval_struct:
7
- ; GCN: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s32 offset:4 {{$}}
7
+ ; GCN: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s32{{$}}
8
8
; GCN-NOT: s32
9
- ; GCN: buffer_store_dword [[LOAD0]], off, s[0:3], s32 offset:4 {{$}}
9
+ ; GCN: buffer_store_dword [[LOAD0]], off, s[0:3], s32{{$}}
10
10
; GCN-NOT: s32
11
11
12
- ; GCN: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s32 offset:20 {{$}}
12
+ ; GCN: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s32 offset:16 {{$}}
13
13
; GCN-NOT: s32
14
- ; GCN: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:20 {{$}}
14
+ ; GCN: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:16 {{$}}
15
15
; GCN-NOT: s32
16
16
define hidden void @void_func_byval_struct (%struct.ByValStruct addrspace (5 )* byval noalias nocapture align 4 %arg0 , %struct.ByValStruct addrspace (5 )* byval noalias nocapture align 4 %arg1 ) #1 {
17
17
entry:
@@ -34,16 +34,16 @@ entry:
34
34
; GCN-DAG: buffer_store_dword v33
35
35
; GCN-NOT: v_writelane_b32 v{{[0-9]+}}, s32
36
36
; GCN-DAG: v_writelane_b32
37
- ; GCN-DAG: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s5 offset:4 {{$}}
37
+ ; GCN-DAG: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s5{{$}}
38
38
; GCN-DAG: v_add_{{[iu]}}32_e32 [[ADD0:v[0-9]+]], vcc, 1, [[LOAD0]]
39
- ; GCN-DAG: buffer_store_dword [[ADD0]], off, s[0:3], s5 offset:4 {{$}}
39
+ ; GCN-DAG: buffer_store_dword [[ADD0]], off, s[0:3], s5{{$}}
40
40
41
- ; GCN-DAG: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s5 offset:20 {{$}}
41
+ ; GCN-DAG: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s5 offset:16 {{$}}
42
42
; GCN-DAG: v_add_{{[iu]}}32_e32 [[ADD1:v[0-9]+]], vcc, 2, [[LOAD1]]
43
43
44
44
; GCN: s_swappc_b64
45
45
46
- ; GCN: buffer_store_dword [[ADD1]], off, s[0:3], s5 offset:20 {{$}}
46
+ ; GCN: buffer_store_dword [[ADD1]], off, s[0:3], s5 offset:16 {{$}}
47
47
48
48
; GCN: v_readlane_b32
49
49
; GCN-NOT: v_readlane_b32 s32
@@ -74,31 +74,31 @@ entry:
74
74
; GCN-DAG: v_mov_b32_e32 [[NINE:v[0-9]+]], 9
75
75
; GCN-DAG: v_mov_b32_e32 [[THIRTEEN:v[0-9]+]], 13
76
76
77
- ; GCN-DAG: buffer_store_dword [[NINE]], off, s[0:3], s5 offset:8
78
- ; GCN-DAG: buffer_store_dword [[THIRTEEN]], off, s[0:3], s5 offset:24
77
+ ; GCN-DAG: buffer_store_dword [[NINE]], off, s[0:3], s5{{$}}
78
+ ; GCN-DAG: buffer_store_dword [[THIRTEEN]], off, s[0:3], s5 offset:16
79
79
80
- ; GCN-DAG: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s5 offset:8
81
- ; GCN-DAG: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s5 offset:12
82
- ; GCN-DAG: buffer_load_dword [[LOAD2:v[0-9]+]], off, s[0:3], s5 offset:16
83
- ; GCN-DAG: buffer_load_dword [[LOAD3:v[0-9]+]], off, s[0:3], s5 offset:20
80
+ ; GCN-DAG: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s5{{$}}
81
+ ; GCN-DAG: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s5 offset:4
82
+ ; GCN-DAG: buffer_load_dword [[LOAD2:v[0-9]+]], off, s[0:3], s5 offset:8
83
+ ; GCN-DAG: buffer_load_dword [[LOAD3:v[0-9]+]], off, s[0:3], s5 offset:12
84
84
85
85
; GCN-NOT: s_add_u32 s32, s32, 0x800
86
86
87
87
88
- ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32 offset:4 {{$}}
89
- ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:8
90
- ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:12
91
- ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:16
88
+ ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32{{$}}
89
+ ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:4
90
+ ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:8
91
+ ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:12
92
92
93
- ; GCN: buffer_load_dword [[LOAD4:v[0-9]+]], off, s[0:3], s5 offset:24
94
- ; GCN: buffer_load_dword [[LOAD5:v[0-9]+]], off, s[0:3], s5 offset:28
95
- ; GCN: buffer_load_dword [[LOAD6:v[0-9]+]], off, s[0:3], s5 offset:32
96
- ; GCN: buffer_load_dword [[LOAD7:v[0-9]+]], off, s[0:3], s5 offset:36
93
+ ; GCN: buffer_load_dword [[LOAD4:v[0-9]+]], off, s[0:3], s5 offset:16
94
+ ; GCN: buffer_load_dword [[LOAD5:v[0-9]+]], off, s[0:3], s5 offset:20
95
+ ; GCN: buffer_load_dword [[LOAD6:v[0-9]+]], off, s[0:3], s5 offset:24
96
+ ; GCN: buffer_load_dword [[LOAD7:v[0-9]+]], off, s[0:3], s5 offset:28
97
97
98
- ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:20
99
- ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:24
100
- ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:28
101
- ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:32
98
+ ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:16
99
+ ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:20
100
+ ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:24
101
+ ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:28
102
102
103
103
; GCN: s_swappc_b64
104
104
; GCN-NOT: v_readlane_b32 s32
@@ -144,20 +144,20 @@ entry:
144
144
; GCN-DAG: buffer_load_dword [[LOAD2:v[0-9]+]], off, s[0:3], s33 offset:16
145
145
; GCN-DAG: buffer_load_dword [[LOAD3:v[0-9]+]], off, s[0:3], s33 offset:20
146
146
147
- ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32 offset:4 {{$}}
148
- ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:8
149
- ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:12
150
- ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:16
147
+ ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32{{$}}
148
+ ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:4
149
+ ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:8
150
+ ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:12
151
151
152
152
; GCN-DAG: buffer_load_dword [[LOAD4:v[0-9]+]], off, s[0:3], s33 offset:24
153
153
; GCN-DAG: buffer_load_dword [[LOAD5:v[0-9]+]], off, s[0:3], s33 offset:28
154
154
; GCN-DAG: buffer_load_dword [[LOAD6:v[0-9]+]], off, s[0:3], s33 offset:32
155
155
; GCN-DAG: buffer_load_dword [[LOAD7:v[0-9]+]], off, s[0:3], s33 offset:36
156
156
157
- ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:20
158
- ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:24
159
- ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:28
160
- ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:32
157
+ ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:16
158
+ ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:20
159
+ ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:24
160
+ ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:28
161
161
162
162
163
163
; GCN: s_swappc_b64
@@ -182,14 +182,14 @@ entry:
182
182
}
183
183
184
184
; GCN-LABEL: {{^}}void_func_byval_struct_align8:
185
- ; GCN: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s32 offset:8 {{$}}
185
+ ; GCN: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s32{{$}}
186
186
; GCN-NOT: s32
187
- ; GCN: buffer_store_dword [[LOAD0]], off, s[0:3], s32 offset:8 {{$}}
187
+ ; GCN: buffer_store_dword [[LOAD0]], off, s[0:3], s32{{$}}
188
188
; GCN-NOT: s32
189
189
190
- ; GCN: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s32 offset:24 {{$}}
190
+ ; GCN: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s32 offset:16 {{$}}
191
191
; GCN-NOT: s32
192
- ; GCN: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:24 {{$}}
192
+ ; GCN: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:16 {{$}}
193
193
; GCN-NOT: s32
194
194
define hidden void @void_func_byval_struct_align8 (%struct.ByValStruct addrspace (5 )* byval noalias nocapture align 8 %arg0 , %struct.ByValStruct addrspace (5 )* byval noalias nocapture align 8 %arg1 ) #1 {
195
195
entry:
@@ -222,20 +222,20 @@ entry:
222
222
; GCN-DAG: buffer_load_dword [[LOAD2:v[0-9]+]], off, s[0:3], s33 offset:16
223
223
; GCN-DAG: buffer_load_dword [[LOAD3:v[0-9]+]], off, s[0:3], s33 offset:20
224
224
225
- ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32 offset:8 {{$}}
226
- ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:12
227
- ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:16
228
- ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:20
225
+ ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32{{$}}
226
+ ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:4
227
+ ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:8
228
+ ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:12
229
229
230
230
; GCN-DAG: buffer_load_dword [[LOAD4:v[0-9]+]], off, s[0:3], s33 offset:24
231
231
; GCN-DAG: buffer_load_dword [[LOAD5:v[0-9]+]], off, s[0:3], s33 offset:28
232
232
; GCN-DAG: buffer_load_dword [[LOAD6:v[0-9]+]], off, s[0:3], s33 offset:32
233
233
; GCN-DAG: buffer_load_dword [[LOAD7:v[0-9]+]], off, s[0:3], s33 offset:36
234
234
235
- ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:24
236
- ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:28
237
- ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:32
238
- ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:36
235
+ ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:16
236
+ ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:20
237
+ ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:24
238
+ ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:28
239
239
240
240
241
241
; GCN: s_swappc_b64
@@ -267,30 +267,30 @@ entry:
267
267
; GCN-DAG: v_mov_b32_e32 [[NINE:v[0-9]+]], 9
268
268
; GCN-DAG: v_mov_b32_e32 [[THIRTEEN:v[0-9]+]], 13
269
269
270
- ; GCN-DAG: buffer_store_dword [[NINE]], off, s[0:3], s5 offset:8
271
- ; GCN-DAG: buffer_store_dword [[THIRTEEN]], off, s[0:3], s5 offset:24
270
+ ; GCN-DAG: buffer_store_dword [[NINE]], off, s[0:3], s5{{$}}
271
+ ; GCN-DAG: buffer_store_dword [[THIRTEEN]], off, s[0:3], s5 offset:16
272
272
273
- ; GCN-DAG: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s5 offset:8
274
- ; GCN-DAG: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s5 offset:12
275
- ; GCN-DAG: buffer_load_dword [[LOAD2:v[0-9]+]], off, s[0:3], s5 offset:16
276
- ; GCN-DAG: buffer_load_dword [[LOAD3:v[0-9]+]], off, s[0:3], s5 offset:20
273
+ ; GCN-DAG: buffer_load_dword [[LOAD0:v[0-9]+]], off, s[0:3], s5{{$}}
274
+ ; GCN-DAG: buffer_load_dword [[LOAD1:v[0-9]+]], off, s[0:3], s5 offset:4
275
+ ; GCN-DAG: buffer_load_dword [[LOAD2:v[0-9]+]], off, s[0:3], s5 offset:8
276
+ ; GCN-DAG: buffer_load_dword [[LOAD3:v[0-9]+]], off, s[0:3], s5 offset:12
277
277
278
278
; GCN-NOT: s_add_u32 s32, s32, 0x800
279
279
280
- ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32 offset:8 {{$}}
281
- ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:12
282
- ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:16
283
- ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:20
284
-
285
- ; GCN: buffer_load_dword [[LOAD4:v[0-9]+]], off, s[0:3], s5 offset:24
286
- ; GCN: buffer_load_dword [[LOAD5:v[0-9]+]], off, s[0:3], s5 offset:28
287
- ; GCN: buffer_load_dword [[LOAD6:v[0-9]+]], off, s[0:3], s5 offset:32
288
- ; GCN: buffer_load_dword [[LOAD7:v[0-9]+]], off, s[0:3], s5 offset:36
289
-
290
- ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:24
291
- ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:28
292
- ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:32
293
- ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:36
280
+ ; GCN-DAG: buffer_store_dword [[LOAD0]], off, s[0:3], s32{{$}}
281
+ ; GCN-DAG: buffer_store_dword [[LOAD1]], off, s[0:3], s32 offset:4
282
+ ; GCN-DAG: buffer_store_dword [[LOAD2]], off, s[0:3], s32 offset:8
283
+ ; GCN-DAG: buffer_store_dword [[LOAD3]], off, s[0:3], s32 offset:12
284
+
285
+ ; GCN: buffer_load_dword [[LOAD4:v[0-9]+]], off, s[0:3], s5 offset:16
286
+ ; GCN: buffer_load_dword [[LOAD5:v[0-9]+]], off, s[0:3], s5 offset:20
287
+ ; GCN: buffer_load_dword [[LOAD6:v[0-9]+]], off, s[0:3], s5 offset:24
288
+ ; GCN: buffer_load_dword [[LOAD7:v[0-9]+]], off, s[0:3], s5 offset:28
289
+ ; GCN: s_waitcnt vmcnt(0)
290
+ ; GCN-DAG: buffer_store_dword [[LOAD4]], off, s[0:3], s32 offset:16
291
+ ; GCN-DAG: buffer_store_dword [[LOAD5]], off, s[0:3], s32 offset:20
292
+ ; GCN-DAG: buffer_store_dword [[LOAD6]], off, s[0:3], s32 offset:24
293
+ ; GCN-DAG: buffer_store_dword [[LOAD7]], off, s[0:3], s32 offset:28
294
294
295
295
; GCN: s_swappc_b64
296
296
; GCN-NOT: v_readlane_b32 s32
0 commit comments