xref: /llvm-project/llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll (revision 6548b6354d1d990e1c98736f5e7c3de876bedc8e)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx1030 | FileCheck %s -check-prefixes=GFX10
3; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx1100 | FileCheck %s -check-prefix=GFX11
4; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx1200 | FileCheck %s -check-prefix=GFX12
5
6;; Check that consecutive store operations are grouped greedily into
7;; hard clauses of the appropriate length for each target.
8;; This test uses <4 x i32> stores in order to prevent the stores from
9;; being combined into larger operations due to their adjecency.
10define amdgpu_kernel void @long_store_chain(ptr addrspace(1) %p) {
11; GFX10-LABEL: long_store_chain:
12; GFX10:       ; %bb.0:
13; GFX10-NEXT:    s_load_dwordx2 s[4:5], s[4:5], 0x24
14; GFX10-NEXT:    s_mov_b32 s0, 0
15; GFX10-NEXT:    v_mov_b32_e32 v4, 0
16; GFX10-NEXT:    s_mov_b32 s1, s0
17; GFX10-NEXT:    s_mov_b32 s2, s0
18; GFX10-NEXT:    s_mov_b32 s3, s0
19; GFX10-NEXT:    v_mov_b32_e32 v0, s0
20; GFX10-NEXT:    v_mov_b32_e32 v1, s1
21; GFX10-NEXT:    v_mov_b32_e32 v2, s2
22; GFX10-NEXT:    v_mov_b32_e32 v3, s3
23; GFX10-NEXT:    s_waitcnt lgkmcnt(0)
24; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5]
25; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:16
26; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:32
27; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:48
28; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:64
29; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:80
30; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:96
31; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:112
32; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:128
33; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:144
34; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:160
35; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:176
36; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:192
37; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:208
38; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:224
39; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:240
40; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:256
41; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:272
42; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:288
43; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:304
44; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:320
45; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:336
46; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:352
47; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:368
48; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:384
49; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:400
50; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:416
51; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:432
52; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:448
53; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:464
54; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:480
55; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:496
56; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:512
57; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:528
58; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:544
59; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:560
60; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:576
61; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:592
62; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:608
63; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:624
64; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:640
65; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:656
66; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:672
67; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:688
68; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:704
69; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:720
70; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:736
71; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:752
72; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:768
73; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:784
74; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:800
75; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:816
76; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:832
77; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:848
78; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:864
79; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:880
80; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:896
81; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:912
82; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:928
83; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:944
84; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:960
85; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:976
86; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:992
87; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:1008
88; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:1024
89; GFX10-NEXT:    global_store_dwordx4 v4, v[0:3], s[4:5] offset:1040
90; GFX10-NEXT:    s_endpgm
91;
92; GFX11-LABEL: long_store_chain:
93; GFX11:       ; %bb.0:
94; GFX11-NEXT:    s_load_b64 s[4:5], s[4:5], 0x24
95; GFX11-NEXT:    s_mov_b32 s0, 0
96; GFX11-NEXT:    s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
97; GFX11-NEXT:    s_mov_b32 s1, s0
98; GFX11-NEXT:    s_mov_b32 s2, s0
99; GFX11-NEXT:    s_mov_b32 s3, s0
100; GFX11-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3
101; GFX11-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s1
102; GFX11-NEXT:    v_mov_b32_e32 v2, s2
103; GFX11-NEXT:    s_waitcnt lgkmcnt(0)
104; GFX11-NEXT:    s_clause 0x1f
105; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5]
106; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:16
107; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:32
108; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:48
109; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:64
110; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:80
111; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:96
112; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:112
113; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:128
114; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:144
115; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:160
116; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:176
117; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:192
118; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:208
119; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:224
120; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:240
121; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:256
122; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:272
123; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:288
124; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:304
125; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:320
126; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:336
127; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:352
128; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:368
129; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:384
130; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:400
131; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:416
132; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:432
133; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:448
134; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:464
135; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:480
136; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:496
137; GFX11-NEXT:    s_clause 0x1f
138; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:512
139; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:528
140; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:544
141; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:560
142; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:576
143; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:592
144; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:608
145; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:624
146; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:640
147; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:656
148; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:672
149; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:688
150; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:704
151; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:720
152; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:736
153; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:752
154; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:768
155; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:784
156; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:800
157; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:816
158; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:832
159; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:848
160; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:864
161; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:880
162; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:896
163; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:912
164; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:928
165; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:944
166; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:960
167; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:976
168; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:992
169; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:1008
170; GFX11-NEXT:    s_clause 0x1
171; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:1024
172; GFX11-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:1040
173; GFX11-NEXT:    s_endpgm
174;
175; GFX12-LABEL: long_store_chain:
176; GFX12:       ; %bb.0:
177; GFX12-NEXT:    s_load_b64 s[4:5], s[4:5], 0x24
178; GFX12-NEXT:    s_mov_b32 s0, 0
179; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
180; GFX12-NEXT:    s_mov_b32 s1, s0
181; GFX12-NEXT:    s_mov_b32 s2, s0
182; GFX12-NEXT:    s_mov_b32 s3, s0
183; GFX12-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3
184; GFX12-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s1
185; GFX12-NEXT:    v_mov_b32_e32 v2, s2
186; GFX12-NEXT:    s_wait_kmcnt 0x0
187; GFX12-NEXT:    s_clause 0x1f
188; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5]
189; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:16
190; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:32
191; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:48
192; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:64
193; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:80
194; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:96
195; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:112
196; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:128
197; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:144
198; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:160
199; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:176
200; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:192
201; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:208
202; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:224
203; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:240
204; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:256
205; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:272
206; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:288
207; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:304
208; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:320
209; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:336
210; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:352
211; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:368
212; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:384
213; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:400
214; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:416
215; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:432
216; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:448
217; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:464
218; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:480
219; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:496
220; GFX12-NEXT:    s_clause 0x1f
221; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:512
222; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:528
223; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:544
224; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:560
225; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:576
226; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:592
227; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:608
228; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:624
229; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:640
230; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:656
231; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:672
232; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:688
233; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:704
234; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:720
235; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:736
236; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:752
237; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:768
238; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:784
239; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:800
240; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:816
241; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:832
242; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:848
243; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:864
244; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:880
245; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:896
246; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:912
247; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:928
248; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:944
249; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:960
250; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:976
251; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:992
252; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:1008
253; GFX12-NEXT:    s_clause 0x1
254; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:1024
255; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[4:5] offset:1040
256; GFX12-NEXT:    s_endpgm
257  store <4 x i32> zeroinitializer, ptr addrspace(1) %p
258  %ptr1 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 1
259  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr1
260  %ptr2 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 2
261  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr2
262  %ptr3 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 3
263  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr3
264  %ptr4 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 4
265  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr4
266  %ptr5 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 5
267  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr5
268  %ptr6 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 6
269  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr6
270  %ptr7 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 7
271  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr7
272  %ptr8 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 8
273  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr8
274  %ptr9 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 9
275  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr9
276  %ptr10 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 10
277  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr10
278  %ptr11 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 11
279  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr11
280  %ptr12 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 12
281  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr12
282  %ptr13 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 13
283  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr13
284  %ptr14 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 14
285  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr14
286  %ptr15 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 15
287  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr15
288  %ptr16 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 16
289  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr16
290  %ptr17 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 17
291  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr17
292  %ptr18 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 18
293  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr18
294  %ptr19 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 19
295  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr19
296  %ptr20 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 20
297  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr20
298  %ptr21 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 21
299  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr21
300  %ptr22 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 22
301  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr22
302  %ptr23 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 23
303  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr23
304  %ptr24 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 24
305  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr24
306  %ptr25 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 25
307  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr25
308  %ptr26 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 26
309  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr26
310  %ptr27 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 27
311  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr27
312  %ptr28 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 28
313  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr28
314  %ptr29 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 29
315  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr29
316  %ptr30 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 30
317  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr30
318  %ptr31 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 31
319  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr31
320  %ptr32 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 32
321  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr32
322  %ptr33 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 33
323  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr33
324  %ptr34 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 34
325  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr34
326  %ptr35 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 35
327  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr35
328  %ptr36 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 36
329  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr36
330  %ptr37 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 37
331  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr37
332  %ptr38 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 38
333  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr38
334  %ptr39 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 39
335  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr39
336  %ptr40 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 40
337  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr40
338  %ptr41 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 41
339  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr41
340  %ptr42 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 42
341  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr42
342  %ptr43 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 43
343  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr43
344  %ptr44 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 44
345  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr44
346  %ptr45 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 45
347  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr45
348  %ptr46 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 46
349  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr46
350  %ptr47 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 47
351  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr47
352  %ptr48 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 48
353  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr48
354  %ptr49 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 49
355  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr49
356  %ptr50 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 50
357  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr50
358  %ptr51 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 51
359  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr51
360  %ptr52 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 52
361  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr52
362  %ptr53 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 53
363  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr53
364  %ptr54 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 54
365  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr54
366  %ptr55 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 55
367  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr55
368  %ptr56 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 56
369  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr56
370  %ptr57 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 57
371  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr57
372  %ptr58 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 58
373  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr58
374  %ptr59 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 59
375  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr59
376  %ptr60 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 60
377  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr60
378  %ptr61 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 61
379  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr61
380  %ptr62 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 62
381  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr62
382  %ptr63 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 63
383  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr63
384  %ptr64 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 64
385  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr64
386  %ptr65 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 65
387  store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr65
388  ret void
389}
390
391;; Long chain of loads since gfx10 doesn't cluster stores.
392;; Use i32 loads to save on register pressure
393define amdgpu_kernel void @long_load_chain(ptr addrspace(1) %p) {
394; GFX10-LABEL: long_load_chain:
395; GFX10:       ; %bb.0:
396; GFX10-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24
397; GFX10-NEXT:    s_waitcnt lgkmcnt(0)
398; GFX10-NEXT:    s_clause 0x3e
399; GFX10-NEXT:    s_load_dword s2, s[0:1], 0x0
400; GFX10-NEXT:    s_load_dword s3, s[0:1], 0x10
401; GFX10-NEXT:    s_load_dword s4, s[0:1], 0x20
402; GFX10-NEXT:    s_load_dword s5, s[0:1], 0x30
403; GFX10-NEXT:    s_load_dword s6, s[0:1], 0x40
404; GFX10-NEXT:    s_load_dword s7, s[0:1], 0x50
405; GFX10-NEXT:    s_load_dword s8, s[0:1], 0x60
406; GFX10-NEXT:    s_load_dword s9, s[0:1], 0x70
407; GFX10-NEXT:    s_load_dword s10, s[0:1], 0x80
408; GFX10-NEXT:    s_load_dword s11, s[0:1], 0x90
409; GFX10-NEXT:    s_load_dword s12, s[0:1], 0xa0
410; GFX10-NEXT:    s_load_dword s13, s[0:1], 0xb0
411; GFX10-NEXT:    s_load_dword s14, s[0:1], 0xc0
412; GFX10-NEXT:    s_load_dword s15, s[0:1], 0xd0
413; GFX10-NEXT:    s_load_dword s16, s[0:1], 0xe0
414; GFX10-NEXT:    s_load_dword s17, s[0:1], 0xf0
415; GFX10-NEXT:    s_load_dword s18, s[0:1], 0x100
416; GFX10-NEXT:    s_load_dword s19, s[0:1], 0x110
417; GFX10-NEXT:    s_load_dword s20, s[0:1], 0x120
418; GFX10-NEXT:    s_load_dword s21, s[0:1], 0x130
419; GFX10-NEXT:    s_load_dword s22, s[0:1], 0x140
420; GFX10-NEXT:    s_load_dword s23, s[0:1], 0x150
421; GFX10-NEXT:    s_load_dword s24, s[0:1], 0x160
422; GFX10-NEXT:    s_load_dword s25, s[0:1], 0x170
423; GFX10-NEXT:    s_load_dword s26, s[0:1], 0x180
424; GFX10-NEXT:    s_load_dword s27, s[0:1], 0x190
425; GFX10-NEXT:    s_load_dword s28, s[0:1], 0x1a0
426; GFX10-NEXT:    s_load_dword s29, s[0:1], 0x1b0
427; GFX10-NEXT:    s_load_dword s30, s[0:1], 0x1c0
428; GFX10-NEXT:    s_load_dword s31, s[0:1], 0x1d0
429; GFX10-NEXT:    s_load_dword s33, s[0:1], 0x1e0
430; GFX10-NEXT:    s_load_dword s34, s[0:1], 0x1f0
431; GFX10-NEXT:    s_load_dword s35, s[0:1], 0x200
432; GFX10-NEXT:    s_load_dword s36, s[0:1], 0x210
433; GFX10-NEXT:    s_load_dword s37, s[0:1], 0x220
434; GFX10-NEXT:    s_load_dword s38, s[0:1], 0x230
435; GFX10-NEXT:    s_load_dword s39, s[0:1], 0x240
436; GFX10-NEXT:    s_load_dword s40, s[0:1], 0x250
437; GFX10-NEXT:    s_load_dword s41, s[0:1], 0x260
438; GFX10-NEXT:    s_load_dword s42, s[0:1], 0x270
439; GFX10-NEXT:    s_load_dword s43, s[0:1], 0x280
440; GFX10-NEXT:    s_load_dword s44, s[0:1], 0x290
441; GFX10-NEXT:    s_load_dword s45, s[0:1], 0x2a0
442; GFX10-NEXT:    s_load_dword s46, s[0:1], 0x2b0
443; GFX10-NEXT:    s_load_dword s47, s[0:1], 0x2c0
444; GFX10-NEXT:    s_load_dword s48, s[0:1], 0x2d0
445; GFX10-NEXT:    s_load_dword s49, s[0:1], 0x2e0
446; GFX10-NEXT:    s_load_dword s50, s[0:1], 0x2f0
447; GFX10-NEXT:    s_load_dword s51, s[0:1], 0x300
448; GFX10-NEXT:    s_load_dword s52, s[0:1], 0x310
449; GFX10-NEXT:    s_load_dword s53, s[0:1], 0x320
450; GFX10-NEXT:    s_load_dword s54, s[0:1], 0x330
451; GFX10-NEXT:    s_load_dword s55, s[0:1], 0x340
452; GFX10-NEXT:    s_load_dword s56, s[0:1], 0x350
453; GFX10-NEXT:    s_load_dword s57, s[0:1], 0x360
454; GFX10-NEXT:    s_load_dword s58, s[0:1], 0x370
455; GFX10-NEXT:    s_load_dword s59, s[0:1], 0x380
456; GFX10-NEXT:    s_load_dword s60, s[0:1], 0x390
457; GFX10-NEXT:    s_load_dword s61, s[0:1], 0x3a0
458; GFX10-NEXT:    s_load_dword s62, s[0:1], 0x3b0
459; GFX10-NEXT:    s_load_dword s63, s[0:1], 0x3c0
460; GFX10-NEXT:    s_load_dword s64, s[0:1], 0x3d0
461; GFX10-NEXT:    s_load_dword s65, s[0:1], 0x3e0
462; GFX10-NEXT:    s_clause 0x2
463; GFX10-NEXT:    s_load_dword s66, s[0:1], 0x3f0
464; GFX10-NEXT:    s_load_dword s67, s[0:1], 0x400
465; GFX10-NEXT:    s_load_dword s0, s[0:1], 0x410
466; GFX10-NEXT:    s_waitcnt lgkmcnt(0)
467; GFX10-NEXT:    ;;#ASMSTART
468; GFX10-NEXT:    ; use s2
469; GFX10-NEXT:    ;;#ASMEND
470; GFX10-NEXT:    ;;#ASMSTART
471; GFX10-NEXT:    ; use s3
472; GFX10-NEXT:    ;;#ASMEND
473; GFX10-NEXT:    ;;#ASMSTART
474; GFX10-NEXT:    ; use s4
475; GFX10-NEXT:    ;;#ASMEND
476; GFX10-NEXT:    ;;#ASMSTART
477; GFX10-NEXT:    ; use s5
478; GFX10-NEXT:    ;;#ASMEND
479; GFX10-NEXT:    ;;#ASMSTART
480; GFX10-NEXT:    ; use s6
481; GFX10-NEXT:    ;;#ASMEND
482; GFX10-NEXT:    ;;#ASMSTART
483; GFX10-NEXT:    ; use s7
484; GFX10-NEXT:    ;;#ASMEND
485; GFX10-NEXT:    ;;#ASMSTART
486; GFX10-NEXT:    ; use s8
487; GFX10-NEXT:    ;;#ASMEND
488; GFX10-NEXT:    ;;#ASMSTART
489; GFX10-NEXT:    ; use s9
490; GFX10-NEXT:    ;;#ASMEND
491; GFX10-NEXT:    ;;#ASMSTART
492; GFX10-NEXT:    ; use s10
493; GFX10-NEXT:    ;;#ASMEND
494; GFX10-NEXT:    ;;#ASMSTART
495; GFX10-NEXT:    ; use s11
496; GFX10-NEXT:    ;;#ASMEND
497; GFX10-NEXT:    ;;#ASMSTART
498; GFX10-NEXT:    ; use s12
499; GFX10-NEXT:    ;;#ASMEND
500; GFX10-NEXT:    ;;#ASMSTART
501; GFX10-NEXT:    ; use s13
502; GFX10-NEXT:    ;;#ASMEND
503; GFX10-NEXT:    ;;#ASMSTART
504; GFX10-NEXT:    ; use s14
505; GFX10-NEXT:    ;;#ASMEND
506; GFX10-NEXT:    ;;#ASMSTART
507; GFX10-NEXT:    ; use s15
508; GFX10-NEXT:    ;;#ASMEND
509; GFX10-NEXT:    ;;#ASMSTART
510; GFX10-NEXT:    ; use s16
511; GFX10-NEXT:    ;;#ASMEND
512; GFX10-NEXT:    ;;#ASMSTART
513; GFX10-NEXT:    ; use s17
514; GFX10-NEXT:    ;;#ASMEND
515; GFX10-NEXT:    ;;#ASMSTART
516; GFX10-NEXT:    ; use s18
517; GFX10-NEXT:    ;;#ASMEND
518; GFX10-NEXT:    ;;#ASMSTART
519; GFX10-NEXT:    ; use s19
520; GFX10-NEXT:    ;;#ASMEND
521; GFX10-NEXT:    ;;#ASMSTART
522; GFX10-NEXT:    ; use s20
523; GFX10-NEXT:    ;;#ASMEND
524; GFX10-NEXT:    ;;#ASMSTART
525; GFX10-NEXT:    ; use s21
526; GFX10-NEXT:    ;;#ASMEND
527; GFX10-NEXT:    ;;#ASMSTART
528; GFX10-NEXT:    ; use s22
529; GFX10-NEXT:    ;;#ASMEND
530; GFX10-NEXT:    ;;#ASMSTART
531; GFX10-NEXT:    ; use s23
532; GFX10-NEXT:    ;;#ASMEND
533; GFX10-NEXT:    ;;#ASMSTART
534; GFX10-NEXT:    ; use s24
535; GFX10-NEXT:    ;;#ASMEND
536; GFX10-NEXT:    ;;#ASMSTART
537; GFX10-NEXT:    ; use s25
538; GFX10-NEXT:    ;;#ASMEND
539; GFX10-NEXT:    ;;#ASMSTART
540; GFX10-NEXT:    ; use s26
541; GFX10-NEXT:    ;;#ASMEND
542; GFX10-NEXT:    ;;#ASMSTART
543; GFX10-NEXT:    ; use s27
544; GFX10-NEXT:    ;;#ASMEND
545; GFX10-NEXT:    ;;#ASMSTART
546; GFX10-NEXT:    ; use s28
547; GFX10-NEXT:    ;;#ASMEND
548; GFX10-NEXT:    ;;#ASMSTART
549; GFX10-NEXT:    ; use s29
550; GFX10-NEXT:    ;;#ASMEND
551; GFX10-NEXT:    ;;#ASMSTART
552; GFX10-NEXT:    ; use s30
553; GFX10-NEXT:    ;;#ASMEND
554; GFX10-NEXT:    ;;#ASMSTART
555; GFX10-NEXT:    ; use s31
556; GFX10-NEXT:    ;;#ASMEND
557; GFX10-NEXT:    ;;#ASMSTART
558; GFX10-NEXT:    ; use s33
559; GFX10-NEXT:    ;;#ASMEND
560; GFX10-NEXT:    ;;#ASMSTART
561; GFX10-NEXT:    ; use s34
562; GFX10-NEXT:    ;;#ASMEND
563; GFX10-NEXT:    ;;#ASMSTART
564; GFX10-NEXT:    ; use s35
565; GFX10-NEXT:    ;;#ASMEND
566; GFX10-NEXT:    ;;#ASMSTART
567; GFX10-NEXT:    ; use s36
568; GFX10-NEXT:    ;;#ASMEND
569; GFX10-NEXT:    ;;#ASMSTART
570; GFX10-NEXT:    ; use s37
571; GFX10-NEXT:    ;;#ASMEND
572; GFX10-NEXT:    ;;#ASMSTART
573; GFX10-NEXT:    ; use s38
574; GFX10-NEXT:    ;;#ASMEND
575; GFX10-NEXT:    ;;#ASMSTART
576; GFX10-NEXT:    ; use s39
577; GFX10-NEXT:    ;;#ASMEND
578; GFX10-NEXT:    ;;#ASMSTART
579; GFX10-NEXT:    ; use s40
580; GFX10-NEXT:    ;;#ASMEND
581; GFX10-NEXT:    ;;#ASMSTART
582; GFX10-NEXT:    ; use s41
583; GFX10-NEXT:    ;;#ASMEND
584; GFX10-NEXT:    ;;#ASMSTART
585; GFX10-NEXT:    ; use s42
586; GFX10-NEXT:    ;;#ASMEND
587; GFX10-NEXT:    ;;#ASMSTART
588; GFX10-NEXT:    ; use s43
589; GFX10-NEXT:    ;;#ASMEND
590; GFX10-NEXT:    ;;#ASMSTART
591; GFX10-NEXT:    ; use s44
592; GFX10-NEXT:    ;;#ASMEND
593; GFX10-NEXT:    ;;#ASMSTART
594; GFX10-NEXT:    ; use s45
595; GFX10-NEXT:    ;;#ASMEND
596; GFX10-NEXT:    ;;#ASMSTART
597; GFX10-NEXT:    ; use s46
598; GFX10-NEXT:    ;;#ASMEND
599; GFX10-NEXT:    ;;#ASMSTART
600; GFX10-NEXT:    ; use s47
601; GFX10-NEXT:    ;;#ASMEND
602; GFX10-NEXT:    ;;#ASMSTART
603; GFX10-NEXT:    ; use s48
604; GFX10-NEXT:    ;;#ASMEND
605; GFX10-NEXT:    ;;#ASMSTART
606; GFX10-NEXT:    ; use s49
607; GFX10-NEXT:    ;;#ASMEND
608; GFX10-NEXT:    ;;#ASMSTART
609; GFX10-NEXT:    ; use s50
610; GFX10-NEXT:    ;;#ASMEND
611; GFX10-NEXT:    ;;#ASMSTART
612; GFX10-NEXT:    ; use s51
613; GFX10-NEXT:    ;;#ASMEND
614; GFX10-NEXT:    ;;#ASMSTART
615; GFX10-NEXT:    ; use s52
616; GFX10-NEXT:    ;;#ASMEND
617; GFX10-NEXT:    ;;#ASMSTART
618; GFX10-NEXT:    ; use s53
619; GFX10-NEXT:    ;;#ASMEND
620; GFX10-NEXT:    ;;#ASMSTART
621; GFX10-NEXT:    ; use s54
622; GFX10-NEXT:    ;;#ASMEND
623; GFX10-NEXT:    ;;#ASMSTART
624; GFX10-NEXT:    ; use s55
625; GFX10-NEXT:    ;;#ASMEND
626; GFX10-NEXT:    ;;#ASMSTART
627; GFX10-NEXT:    ; use s56
628; GFX10-NEXT:    ;;#ASMEND
629; GFX10-NEXT:    ;;#ASMSTART
630; GFX10-NEXT:    ; use s57
631; GFX10-NEXT:    ;;#ASMEND
632; GFX10-NEXT:    ;;#ASMSTART
633; GFX10-NEXT:    ; use s58
634; GFX10-NEXT:    ;;#ASMEND
635; GFX10-NEXT:    ;;#ASMSTART
636; GFX10-NEXT:    ; use s59
637; GFX10-NEXT:    ;;#ASMEND
638; GFX10-NEXT:    ;;#ASMSTART
639; GFX10-NEXT:    ; use s60
640; GFX10-NEXT:    ;;#ASMEND
641; GFX10-NEXT:    ;;#ASMSTART
642; GFX10-NEXT:    ; use s61
643; GFX10-NEXT:    ;;#ASMEND
644; GFX10-NEXT:    ;;#ASMSTART
645; GFX10-NEXT:    ; use s62
646; GFX10-NEXT:    ;;#ASMEND
647; GFX10-NEXT:    ;;#ASMSTART
648; GFX10-NEXT:    ; use s63
649; GFX10-NEXT:    ;;#ASMEND
650; GFX10-NEXT:    ;;#ASMSTART
651; GFX10-NEXT:    ; use s64
652; GFX10-NEXT:    ;;#ASMEND
653; GFX10-NEXT:    ;;#ASMSTART
654; GFX10-NEXT:    ; use s65
655; GFX10-NEXT:    ;;#ASMEND
656; GFX10-NEXT:    ;;#ASMSTART
657; GFX10-NEXT:    ; use s66
658; GFX10-NEXT:    ;;#ASMEND
659; GFX10-NEXT:    ;;#ASMSTART
660; GFX10-NEXT:    ; use s67
661; GFX10-NEXT:    ;;#ASMEND
662; GFX10-NEXT:    ;;#ASMSTART
663; GFX10-NEXT:    ; use s0
664; GFX10-NEXT:    ;;#ASMEND
665; GFX10-NEXT:    s_endpgm
666;
667; GFX11-LABEL: long_load_chain:
668; GFX11:       ; %bb.0:
669; GFX11-NEXT:    s_load_b64 s[0:1], s[4:5], 0x24
670; GFX11-NEXT:    s_waitcnt lgkmcnt(0)
671; GFX11-NEXT:    s_clause 0x1f
672; GFX11-NEXT:    s_load_b32 s2, s[0:1], 0x0
673; GFX11-NEXT:    s_load_b32 s3, s[0:1], 0x10
674; GFX11-NEXT:    s_load_b32 s4, s[0:1], 0x20
675; GFX11-NEXT:    s_load_b32 s5, s[0:1], 0x30
676; GFX11-NEXT:    s_load_b32 s6, s[0:1], 0x40
677; GFX11-NEXT:    s_load_b32 s7, s[0:1], 0x50
678; GFX11-NEXT:    s_load_b32 s8, s[0:1], 0x60
679; GFX11-NEXT:    s_load_b32 s9, s[0:1], 0x70
680; GFX11-NEXT:    s_load_b32 s10, s[0:1], 0x80
681; GFX11-NEXT:    s_load_b32 s11, s[0:1], 0x90
682; GFX11-NEXT:    s_load_b32 s12, s[0:1], 0xa0
683; GFX11-NEXT:    s_load_b32 s13, s[0:1], 0xb0
684; GFX11-NEXT:    s_load_b32 s14, s[0:1], 0xc0
685; GFX11-NEXT:    s_load_b32 s15, s[0:1], 0xd0
686; GFX11-NEXT:    s_load_b32 s16, s[0:1], 0xe0
687; GFX11-NEXT:    s_load_b32 s17, s[0:1], 0xf0
688; GFX11-NEXT:    s_load_b32 s18, s[0:1], 0x100
689; GFX11-NEXT:    s_load_b32 s19, s[0:1], 0x110
690; GFX11-NEXT:    s_load_b32 s20, s[0:1], 0x120
691; GFX11-NEXT:    s_load_b32 s21, s[0:1], 0x130
692; GFX11-NEXT:    s_load_b32 s22, s[0:1], 0x140
693; GFX11-NEXT:    s_load_b32 s23, s[0:1], 0x150
694; GFX11-NEXT:    s_load_b32 s24, s[0:1], 0x160
695; GFX11-NEXT:    s_load_b32 s25, s[0:1], 0x170
696; GFX11-NEXT:    s_load_b32 s26, s[0:1], 0x180
697; GFX11-NEXT:    s_load_b32 s27, s[0:1], 0x190
698; GFX11-NEXT:    s_load_b32 s28, s[0:1], 0x1a0
699; GFX11-NEXT:    s_load_b32 s29, s[0:1], 0x1b0
700; GFX11-NEXT:    s_load_b32 s30, s[0:1], 0x1c0
701; GFX11-NEXT:    s_load_b32 s31, s[0:1], 0x1d0
702; GFX11-NEXT:    s_load_b32 s33, s[0:1], 0x1e0
703; GFX11-NEXT:    s_load_b32 s34, s[0:1], 0x1f0
704; GFX11-NEXT:    s_clause 0x1f
705; GFX11-NEXT:    s_load_b32 s35, s[0:1], 0x200
706; GFX11-NEXT:    s_load_b32 s36, s[0:1], 0x210
707; GFX11-NEXT:    s_load_b32 s37, s[0:1], 0x220
708; GFX11-NEXT:    s_load_b32 s38, s[0:1], 0x230
709; GFX11-NEXT:    s_load_b32 s39, s[0:1], 0x240
710; GFX11-NEXT:    s_load_b32 s40, s[0:1], 0x250
711; GFX11-NEXT:    s_load_b32 s41, s[0:1], 0x260
712; GFX11-NEXT:    s_load_b32 s42, s[0:1], 0x270
713; GFX11-NEXT:    s_load_b32 s43, s[0:1], 0x280
714; GFX11-NEXT:    s_load_b32 s44, s[0:1], 0x290
715; GFX11-NEXT:    s_load_b32 s45, s[0:1], 0x2a0
716; GFX11-NEXT:    s_load_b32 s46, s[0:1], 0x2b0
717; GFX11-NEXT:    s_load_b32 s47, s[0:1], 0x2c0
718; GFX11-NEXT:    s_load_b32 s48, s[0:1], 0x2d0
719; GFX11-NEXT:    s_load_b32 s49, s[0:1], 0x2e0
720; GFX11-NEXT:    s_load_b32 s50, s[0:1], 0x2f0
721; GFX11-NEXT:    s_load_b32 s51, s[0:1], 0x300
722; GFX11-NEXT:    s_load_b32 s52, s[0:1], 0x310
723; GFX11-NEXT:    s_load_b32 s53, s[0:1], 0x320
724; GFX11-NEXT:    s_load_b32 s54, s[0:1], 0x330
725; GFX11-NEXT:    s_load_b32 s55, s[0:1], 0x340
726; GFX11-NEXT:    s_load_b32 s56, s[0:1], 0x350
727; GFX11-NEXT:    s_load_b32 s57, s[0:1], 0x360
728; GFX11-NEXT:    s_load_b32 s58, s[0:1], 0x370
729; GFX11-NEXT:    s_load_b32 s59, s[0:1], 0x380
730; GFX11-NEXT:    s_load_b32 s60, s[0:1], 0x390
731; GFX11-NEXT:    s_load_b32 s61, s[0:1], 0x3a0
732; GFX11-NEXT:    s_load_b32 s62, s[0:1], 0x3b0
733; GFX11-NEXT:    s_load_b32 s63, s[0:1], 0x3c0
734; GFX11-NEXT:    s_load_b32 s64, s[0:1], 0x3d0
735; GFX11-NEXT:    s_load_b32 s65, s[0:1], 0x3e0
736; GFX11-NEXT:    s_load_b32 s66, s[0:1], 0x3f0
737; GFX11-NEXT:    s_clause 0x1
738; GFX11-NEXT:    s_load_b32 s67, s[0:1], 0x400
739; GFX11-NEXT:    s_load_b32 s0, s[0:1], 0x410
740; GFX11-NEXT:    s_waitcnt lgkmcnt(0)
741; GFX11-NEXT:    ;;#ASMSTART
742; GFX11-NEXT:    ; use s2
743; GFX11-NEXT:    ;;#ASMEND
744; GFX11-NEXT:    ;;#ASMSTART
745; GFX11-NEXT:    ; use s3
746; GFX11-NEXT:    ;;#ASMEND
747; GFX11-NEXT:    ;;#ASMSTART
748; GFX11-NEXT:    ; use s4
749; GFX11-NEXT:    ;;#ASMEND
750; GFX11-NEXT:    ;;#ASMSTART
751; GFX11-NEXT:    ; use s5
752; GFX11-NEXT:    ;;#ASMEND
753; GFX11-NEXT:    ;;#ASMSTART
754; GFX11-NEXT:    ; use s6
755; GFX11-NEXT:    ;;#ASMEND
756; GFX11-NEXT:    ;;#ASMSTART
757; GFX11-NEXT:    ; use s7
758; GFX11-NEXT:    ;;#ASMEND
759; GFX11-NEXT:    ;;#ASMSTART
760; GFX11-NEXT:    ; use s8
761; GFX11-NEXT:    ;;#ASMEND
762; GFX11-NEXT:    ;;#ASMSTART
763; GFX11-NEXT:    ; use s9
764; GFX11-NEXT:    ;;#ASMEND
765; GFX11-NEXT:    ;;#ASMSTART
766; GFX11-NEXT:    ; use s10
767; GFX11-NEXT:    ;;#ASMEND
768; GFX11-NEXT:    ;;#ASMSTART
769; GFX11-NEXT:    ; use s11
770; GFX11-NEXT:    ;;#ASMEND
771; GFX11-NEXT:    ;;#ASMSTART
772; GFX11-NEXT:    ; use s12
773; GFX11-NEXT:    ;;#ASMEND
774; GFX11-NEXT:    ;;#ASMSTART
775; GFX11-NEXT:    ; use s13
776; GFX11-NEXT:    ;;#ASMEND
777; GFX11-NEXT:    ;;#ASMSTART
778; GFX11-NEXT:    ; use s14
779; GFX11-NEXT:    ;;#ASMEND
780; GFX11-NEXT:    ;;#ASMSTART
781; GFX11-NEXT:    ; use s15
782; GFX11-NEXT:    ;;#ASMEND
783; GFX11-NEXT:    ;;#ASMSTART
784; GFX11-NEXT:    ; use s16
785; GFX11-NEXT:    ;;#ASMEND
786; GFX11-NEXT:    ;;#ASMSTART
787; GFX11-NEXT:    ; use s17
788; GFX11-NEXT:    ;;#ASMEND
789; GFX11-NEXT:    ;;#ASMSTART
790; GFX11-NEXT:    ; use s18
791; GFX11-NEXT:    ;;#ASMEND
792; GFX11-NEXT:    ;;#ASMSTART
793; GFX11-NEXT:    ; use s19
794; GFX11-NEXT:    ;;#ASMEND
795; GFX11-NEXT:    ;;#ASMSTART
796; GFX11-NEXT:    ; use s20
797; GFX11-NEXT:    ;;#ASMEND
798; GFX11-NEXT:    ;;#ASMSTART
799; GFX11-NEXT:    ; use s21
800; GFX11-NEXT:    ;;#ASMEND
801; GFX11-NEXT:    ;;#ASMSTART
802; GFX11-NEXT:    ; use s22
803; GFX11-NEXT:    ;;#ASMEND
804; GFX11-NEXT:    ;;#ASMSTART
805; GFX11-NEXT:    ; use s23
806; GFX11-NEXT:    ;;#ASMEND
807; GFX11-NEXT:    ;;#ASMSTART
808; GFX11-NEXT:    ; use s24
809; GFX11-NEXT:    ;;#ASMEND
810; GFX11-NEXT:    ;;#ASMSTART
811; GFX11-NEXT:    ; use s25
812; GFX11-NEXT:    ;;#ASMEND
813; GFX11-NEXT:    ;;#ASMSTART
814; GFX11-NEXT:    ; use s26
815; GFX11-NEXT:    ;;#ASMEND
816; GFX11-NEXT:    ;;#ASMSTART
817; GFX11-NEXT:    ; use s27
818; GFX11-NEXT:    ;;#ASMEND
819; GFX11-NEXT:    ;;#ASMSTART
820; GFX11-NEXT:    ; use s28
821; GFX11-NEXT:    ;;#ASMEND
822; GFX11-NEXT:    ;;#ASMSTART
823; GFX11-NEXT:    ; use s29
824; GFX11-NEXT:    ;;#ASMEND
825; GFX11-NEXT:    ;;#ASMSTART
826; GFX11-NEXT:    ; use s30
827; GFX11-NEXT:    ;;#ASMEND
828; GFX11-NEXT:    ;;#ASMSTART
829; GFX11-NEXT:    ; use s31
830; GFX11-NEXT:    ;;#ASMEND
831; GFX11-NEXT:    ;;#ASMSTART
832; GFX11-NEXT:    ; use s33
833; GFX11-NEXT:    ;;#ASMEND
834; GFX11-NEXT:    ;;#ASMSTART
835; GFX11-NEXT:    ; use s34
836; GFX11-NEXT:    ;;#ASMEND
837; GFX11-NEXT:    ;;#ASMSTART
838; GFX11-NEXT:    ; use s35
839; GFX11-NEXT:    ;;#ASMEND
840; GFX11-NEXT:    ;;#ASMSTART
841; GFX11-NEXT:    ; use s36
842; GFX11-NEXT:    ;;#ASMEND
843; GFX11-NEXT:    ;;#ASMSTART
844; GFX11-NEXT:    ; use s37
845; GFX11-NEXT:    ;;#ASMEND
846; GFX11-NEXT:    ;;#ASMSTART
847; GFX11-NEXT:    ; use s38
848; GFX11-NEXT:    ;;#ASMEND
849; GFX11-NEXT:    ;;#ASMSTART
850; GFX11-NEXT:    ; use s39
851; GFX11-NEXT:    ;;#ASMEND
852; GFX11-NEXT:    ;;#ASMSTART
853; GFX11-NEXT:    ; use s40
854; GFX11-NEXT:    ;;#ASMEND
855; GFX11-NEXT:    ;;#ASMSTART
856; GFX11-NEXT:    ; use s41
857; GFX11-NEXT:    ;;#ASMEND
858; GFX11-NEXT:    ;;#ASMSTART
859; GFX11-NEXT:    ; use s42
860; GFX11-NEXT:    ;;#ASMEND
861; GFX11-NEXT:    ;;#ASMSTART
862; GFX11-NEXT:    ; use s43
863; GFX11-NEXT:    ;;#ASMEND
864; GFX11-NEXT:    ;;#ASMSTART
865; GFX11-NEXT:    ; use s44
866; GFX11-NEXT:    ;;#ASMEND
867; GFX11-NEXT:    ;;#ASMSTART
868; GFX11-NEXT:    ; use s45
869; GFX11-NEXT:    ;;#ASMEND
870; GFX11-NEXT:    ;;#ASMSTART
871; GFX11-NEXT:    ; use s46
872; GFX11-NEXT:    ;;#ASMEND
873; GFX11-NEXT:    ;;#ASMSTART
874; GFX11-NEXT:    ; use s47
875; GFX11-NEXT:    ;;#ASMEND
876; GFX11-NEXT:    ;;#ASMSTART
877; GFX11-NEXT:    ; use s48
878; GFX11-NEXT:    ;;#ASMEND
879; GFX11-NEXT:    ;;#ASMSTART
880; GFX11-NEXT:    ; use s49
881; GFX11-NEXT:    ;;#ASMEND
882; GFX11-NEXT:    ;;#ASMSTART
883; GFX11-NEXT:    ; use s50
884; GFX11-NEXT:    ;;#ASMEND
885; GFX11-NEXT:    ;;#ASMSTART
886; GFX11-NEXT:    ; use s51
887; GFX11-NEXT:    ;;#ASMEND
888; GFX11-NEXT:    ;;#ASMSTART
889; GFX11-NEXT:    ; use s52
890; GFX11-NEXT:    ;;#ASMEND
891; GFX11-NEXT:    ;;#ASMSTART
892; GFX11-NEXT:    ; use s53
893; GFX11-NEXT:    ;;#ASMEND
894; GFX11-NEXT:    ;;#ASMSTART
895; GFX11-NEXT:    ; use s54
896; GFX11-NEXT:    ;;#ASMEND
897; GFX11-NEXT:    ;;#ASMSTART
898; GFX11-NEXT:    ; use s55
899; GFX11-NEXT:    ;;#ASMEND
900; GFX11-NEXT:    ;;#ASMSTART
901; GFX11-NEXT:    ; use s56
902; GFX11-NEXT:    ;;#ASMEND
903; GFX11-NEXT:    ;;#ASMSTART
904; GFX11-NEXT:    ; use s57
905; GFX11-NEXT:    ;;#ASMEND
906; GFX11-NEXT:    ;;#ASMSTART
907; GFX11-NEXT:    ; use s58
908; GFX11-NEXT:    ;;#ASMEND
909; GFX11-NEXT:    ;;#ASMSTART
910; GFX11-NEXT:    ; use s59
911; GFX11-NEXT:    ;;#ASMEND
912; GFX11-NEXT:    ;;#ASMSTART
913; GFX11-NEXT:    ; use s60
914; GFX11-NEXT:    ;;#ASMEND
915; GFX11-NEXT:    ;;#ASMSTART
916; GFX11-NEXT:    ; use s61
917; GFX11-NEXT:    ;;#ASMEND
918; GFX11-NEXT:    ;;#ASMSTART
919; GFX11-NEXT:    ; use s62
920; GFX11-NEXT:    ;;#ASMEND
921; GFX11-NEXT:    ;;#ASMSTART
922; GFX11-NEXT:    ; use s63
923; GFX11-NEXT:    ;;#ASMEND
924; GFX11-NEXT:    ;;#ASMSTART
925; GFX11-NEXT:    ; use s64
926; GFX11-NEXT:    ;;#ASMEND
927; GFX11-NEXT:    ;;#ASMSTART
928; GFX11-NEXT:    ; use s65
929; GFX11-NEXT:    ;;#ASMEND
930; GFX11-NEXT:    ;;#ASMSTART
931; GFX11-NEXT:    ; use s66
932; GFX11-NEXT:    ;;#ASMEND
933; GFX11-NEXT:    ;;#ASMSTART
934; GFX11-NEXT:    ; use s67
935; GFX11-NEXT:    ;;#ASMEND
936; GFX11-NEXT:    ;;#ASMSTART
937; GFX11-NEXT:    ; use s0
938; GFX11-NEXT:    ;;#ASMEND
939; GFX11-NEXT:    s_endpgm
940;
941; GFX12-LABEL: long_load_chain:
942; GFX12:       ; %bb.0:
943; GFX12-NEXT:    s_load_b64 s[0:1], s[4:5], 0x24
944; GFX12-NEXT:    s_wait_kmcnt 0x0
945; GFX12-NEXT:    s_clause 0x1f
946; GFX12-NEXT:    s_load_b32 s2, s[0:1], 0x0
947; GFX12-NEXT:    s_load_b32 s3, s[0:1], 0x10
948; GFX12-NEXT:    s_load_b32 s4, s[0:1], 0x20
949; GFX12-NEXT:    s_load_b32 s5, s[0:1], 0x30
950; GFX12-NEXT:    s_load_b32 s6, s[0:1], 0x40
951; GFX12-NEXT:    s_load_b32 s7, s[0:1], 0x50
952; GFX12-NEXT:    s_load_b32 s8, s[0:1], 0x60
953; GFX12-NEXT:    s_load_b32 s9, s[0:1], 0x70
954; GFX12-NEXT:    s_load_b32 s10, s[0:1], 0x80
955; GFX12-NEXT:    s_load_b32 s11, s[0:1], 0x90
956; GFX12-NEXT:    s_load_b32 s12, s[0:1], 0xa0
957; GFX12-NEXT:    s_load_b32 s13, s[0:1], 0xb0
958; GFX12-NEXT:    s_load_b32 s14, s[0:1], 0xc0
959; GFX12-NEXT:    s_load_b32 s15, s[0:1], 0xd0
960; GFX12-NEXT:    s_load_b32 s16, s[0:1], 0xe0
961; GFX12-NEXT:    s_load_b32 s17, s[0:1], 0xf0
962; GFX12-NEXT:    s_load_b32 s18, s[0:1], 0x100
963; GFX12-NEXT:    s_load_b32 s19, s[0:1], 0x110
964; GFX12-NEXT:    s_load_b32 s20, s[0:1], 0x120
965; GFX12-NEXT:    s_load_b32 s21, s[0:1], 0x130
966; GFX12-NEXT:    s_load_b32 s22, s[0:1], 0x140
967; GFX12-NEXT:    s_load_b32 s23, s[0:1], 0x150
968; GFX12-NEXT:    s_load_b32 s24, s[0:1], 0x160
969; GFX12-NEXT:    s_load_b32 s25, s[0:1], 0x170
970; GFX12-NEXT:    s_load_b32 s26, s[0:1], 0x180
971; GFX12-NEXT:    s_load_b32 s27, s[0:1], 0x190
972; GFX12-NEXT:    s_load_b32 s28, s[0:1], 0x1a0
973; GFX12-NEXT:    s_load_b32 s29, s[0:1], 0x1b0
974; GFX12-NEXT:    s_load_b32 s30, s[0:1], 0x1c0
975; GFX12-NEXT:    s_load_b32 s31, s[0:1], 0x1d0
976; GFX12-NEXT:    s_load_b32 s33, s[0:1], 0x1e0
977; GFX12-NEXT:    s_load_b32 s34, s[0:1], 0x1f0
978; GFX12-NEXT:    s_clause 0x1f
979; GFX12-NEXT:    s_load_b32 s35, s[0:1], 0x200
980; GFX12-NEXT:    s_load_b32 s36, s[0:1], 0x210
981; GFX12-NEXT:    s_load_b32 s37, s[0:1], 0x220
982; GFX12-NEXT:    s_load_b32 s38, s[0:1], 0x230
983; GFX12-NEXT:    s_load_b32 s39, s[0:1], 0x240
984; GFX12-NEXT:    s_load_b32 s40, s[0:1], 0x250
985; GFX12-NEXT:    s_load_b32 s41, s[0:1], 0x260
986; GFX12-NEXT:    s_load_b32 s42, s[0:1], 0x270
987; GFX12-NEXT:    s_load_b32 s43, s[0:1], 0x280
988; GFX12-NEXT:    s_load_b32 s44, s[0:1], 0x290
989; GFX12-NEXT:    s_load_b32 s45, s[0:1], 0x2a0
990; GFX12-NEXT:    s_load_b32 s46, s[0:1], 0x2b0
991; GFX12-NEXT:    s_load_b32 s47, s[0:1], 0x2c0
992; GFX12-NEXT:    s_load_b32 s48, s[0:1], 0x2d0
993; GFX12-NEXT:    s_load_b32 s49, s[0:1], 0x2e0
994; GFX12-NEXT:    s_load_b32 s50, s[0:1], 0x2f0
995; GFX12-NEXT:    s_load_b32 s51, s[0:1], 0x300
996; GFX12-NEXT:    s_load_b32 s52, s[0:1], 0x310
997; GFX12-NEXT:    s_load_b32 s53, s[0:1], 0x320
998; GFX12-NEXT:    s_load_b32 s54, s[0:1], 0x330
999; GFX12-NEXT:    s_load_b32 s55, s[0:1], 0x340
1000; GFX12-NEXT:    s_load_b32 s56, s[0:1], 0x350
1001; GFX12-NEXT:    s_load_b32 s57, s[0:1], 0x360
1002; GFX12-NEXT:    s_load_b32 s58, s[0:1], 0x370
1003; GFX12-NEXT:    s_load_b32 s59, s[0:1], 0x380
1004; GFX12-NEXT:    s_load_b32 s60, s[0:1], 0x390
1005; GFX12-NEXT:    s_load_b32 s61, s[0:1], 0x3a0
1006; GFX12-NEXT:    s_load_b32 s62, s[0:1], 0x3b0
1007; GFX12-NEXT:    s_load_b32 s63, s[0:1], 0x3c0
1008; GFX12-NEXT:    s_load_b32 s64, s[0:1], 0x3d0
1009; GFX12-NEXT:    s_load_b32 s65, s[0:1], 0x3e0
1010; GFX12-NEXT:    s_load_b32 s66, s[0:1], 0x3f0
1011; GFX12-NEXT:    s_clause 0x1
1012; GFX12-NEXT:    s_load_b32 s67, s[0:1], 0x400
1013; GFX12-NEXT:    s_load_b32 s0, s[0:1], 0x410
1014; GFX12-NEXT:    s_wait_kmcnt 0x0
1015; GFX12-NEXT:    ;;#ASMSTART
1016; GFX12-NEXT:    ; use s2
1017; GFX12-NEXT:    ;;#ASMEND
1018; GFX12-NEXT:    ;;#ASMSTART
1019; GFX12-NEXT:    ; use s3
1020; GFX12-NEXT:    ;;#ASMEND
1021; GFX12-NEXT:    ;;#ASMSTART
1022; GFX12-NEXT:    ; use s4
1023; GFX12-NEXT:    ;;#ASMEND
1024; GFX12-NEXT:    ;;#ASMSTART
1025; GFX12-NEXT:    ; use s5
1026; GFX12-NEXT:    ;;#ASMEND
1027; GFX12-NEXT:    ;;#ASMSTART
1028; GFX12-NEXT:    ; use s6
1029; GFX12-NEXT:    ;;#ASMEND
1030; GFX12-NEXT:    ;;#ASMSTART
1031; GFX12-NEXT:    ; use s7
1032; GFX12-NEXT:    ;;#ASMEND
1033; GFX12-NEXT:    ;;#ASMSTART
1034; GFX12-NEXT:    ; use s8
1035; GFX12-NEXT:    ;;#ASMEND
1036; GFX12-NEXT:    ;;#ASMSTART
1037; GFX12-NEXT:    ; use s9
1038; GFX12-NEXT:    ;;#ASMEND
1039; GFX12-NEXT:    ;;#ASMSTART
1040; GFX12-NEXT:    ; use s10
1041; GFX12-NEXT:    ;;#ASMEND
1042; GFX12-NEXT:    ;;#ASMSTART
1043; GFX12-NEXT:    ; use s11
1044; GFX12-NEXT:    ;;#ASMEND
1045; GFX12-NEXT:    ;;#ASMSTART
1046; GFX12-NEXT:    ; use s12
1047; GFX12-NEXT:    ;;#ASMEND
1048; GFX12-NEXT:    ;;#ASMSTART
1049; GFX12-NEXT:    ; use s13
1050; GFX12-NEXT:    ;;#ASMEND
1051; GFX12-NEXT:    ;;#ASMSTART
1052; GFX12-NEXT:    ; use s14
1053; GFX12-NEXT:    ;;#ASMEND
1054; GFX12-NEXT:    ;;#ASMSTART
1055; GFX12-NEXT:    ; use s15
1056; GFX12-NEXT:    ;;#ASMEND
1057; GFX12-NEXT:    ;;#ASMSTART
1058; GFX12-NEXT:    ; use s16
1059; GFX12-NEXT:    ;;#ASMEND
1060; GFX12-NEXT:    ;;#ASMSTART
1061; GFX12-NEXT:    ; use s17
1062; GFX12-NEXT:    ;;#ASMEND
1063; GFX12-NEXT:    ;;#ASMSTART
1064; GFX12-NEXT:    ; use s18
1065; GFX12-NEXT:    ;;#ASMEND
1066; GFX12-NEXT:    ;;#ASMSTART
1067; GFX12-NEXT:    ; use s19
1068; GFX12-NEXT:    ;;#ASMEND
1069; GFX12-NEXT:    ;;#ASMSTART
1070; GFX12-NEXT:    ; use s20
1071; GFX12-NEXT:    ;;#ASMEND
1072; GFX12-NEXT:    ;;#ASMSTART
1073; GFX12-NEXT:    ; use s21
1074; GFX12-NEXT:    ;;#ASMEND
1075; GFX12-NEXT:    ;;#ASMSTART
1076; GFX12-NEXT:    ; use s22
1077; GFX12-NEXT:    ;;#ASMEND
1078; GFX12-NEXT:    ;;#ASMSTART
1079; GFX12-NEXT:    ; use s23
1080; GFX12-NEXT:    ;;#ASMEND
1081; GFX12-NEXT:    ;;#ASMSTART
1082; GFX12-NEXT:    ; use s24
1083; GFX12-NEXT:    ;;#ASMEND
1084; GFX12-NEXT:    ;;#ASMSTART
1085; GFX12-NEXT:    ; use s25
1086; GFX12-NEXT:    ;;#ASMEND
1087; GFX12-NEXT:    ;;#ASMSTART
1088; GFX12-NEXT:    ; use s26
1089; GFX12-NEXT:    ;;#ASMEND
1090; GFX12-NEXT:    ;;#ASMSTART
1091; GFX12-NEXT:    ; use s27
1092; GFX12-NEXT:    ;;#ASMEND
1093; GFX12-NEXT:    ;;#ASMSTART
1094; GFX12-NEXT:    ; use s28
1095; GFX12-NEXT:    ;;#ASMEND
1096; GFX12-NEXT:    ;;#ASMSTART
1097; GFX12-NEXT:    ; use s29
1098; GFX12-NEXT:    ;;#ASMEND
1099; GFX12-NEXT:    ;;#ASMSTART
1100; GFX12-NEXT:    ; use s30
1101; GFX12-NEXT:    ;;#ASMEND
1102; GFX12-NEXT:    ;;#ASMSTART
1103; GFX12-NEXT:    ; use s31
1104; GFX12-NEXT:    ;;#ASMEND
1105; GFX12-NEXT:    ;;#ASMSTART
1106; GFX12-NEXT:    ; use s33
1107; GFX12-NEXT:    ;;#ASMEND
1108; GFX12-NEXT:    ;;#ASMSTART
1109; GFX12-NEXT:    ; use s34
1110; GFX12-NEXT:    ;;#ASMEND
1111; GFX12-NEXT:    ;;#ASMSTART
1112; GFX12-NEXT:    ; use s35
1113; GFX12-NEXT:    ;;#ASMEND
1114; GFX12-NEXT:    ;;#ASMSTART
1115; GFX12-NEXT:    ; use s36
1116; GFX12-NEXT:    ;;#ASMEND
1117; GFX12-NEXT:    ;;#ASMSTART
1118; GFX12-NEXT:    ; use s37
1119; GFX12-NEXT:    ;;#ASMEND
1120; GFX12-NEXT:    ;;#ASMSTART
1121; GFX12-NEXT:    ; use s38
1122; GFX12-NEXT:    ;;#ASMEND
1123; GFX12-NEXT:    ;;#ASMSTART
1124; GFX12-NEXT:    ; use s39
1125; GFX12-NEXT:    ;;#ASMEND
1126; GFX12-NEXT:    ;;#ASMSTART
1127; GFX12-NEXT:    ; use s40
1128; GFX12-NEXT:    ;;#ASMEND
1129; GFX12-NEXT:    ;;#ASMSTART
1130; GFX12-NEXT:    ; use s41
1131; GFX12-NEXT:    ;;#ASMEND
1132; GFX12-NEXT:    ;;#ASMSTART
1133; GFX12-NEXT:    ; use s42
1134; GFX12-NEXT:    ;;#ASMEND
1135; GFX12-NEXT:    ;;#ASMSTART
1136; GFX12-NEXT:    ; use s43
1137; GFX12-NEXT:    ;;#ASMEND
1138; GFX12-NEXT:    ;;#ASMSTART
1139; GFX12-NEXT:    ; use s44
1140; GFX12-NEXT:    ;;#ASMEND
1141; GFX12-NEXT:    ;;#ASMSTART
1142; GFX12-NEXT:    ; use s45
1143; GFX12-NEXT:    ;;#ASMEND
1144; GFX12-NEXT:    ;;#ASMSTART
1145; GFX12-NEXT:    ; use s46
1146; GFX12-NEXT:    ;;#ASMEND
1147; GFX12-NEXT:    ;;#ASMSTART
1148; GFX12-NEXT:    ; use s47
1149; GFX12-NEXT:    ;;#ASMEND
1150; GFX12-NEXT:    ;;#ASMSTART
1151; GFX12-NEXT:    ; use s48
1152; GFX12-NEXT:    ;;#ASMEND
1153; GFX12-NEXT:    ;;#ASMSTART
1154; GFX12-NEXT:    ; use s49
1155; GFX12-NEXT:    ;;#ASMEND
1156; GFX12-NEXT:    ;;#ASMSTART
1157; GFX12-NEXT:    ; use s50
1158; GFX12-NEXT:    ;;#ASMEND
1159; GFX12-NEXT:    ;;#ASMSTART
1160; GFX12-NEXT:    ; use s51
1161; GFX12-NEXT:    ;;#ASMEND
1162; GFX12-NEXT:    ;;#ASMSTART
1163; GFX12-NEXT:    ; use s52
1164; GFX12-NEXT:    ;;#ASMEND
1165; GFX12-NEXT:    ;;#ASMSTART
1166; GFX12-NEXT:    ; use s53
1167; GFX12-NEXT:    ;;#ASMEND
1168; GFX12-NEXT:    ;;#ASMSTART
1169; GFX12-NEXT:    ; use s54
1170; GFX12-NEXT:    ;;#ASMEND
1171; GFX12-NEXT:    ;;#ASMSTART
1172; GFX12-NEXT:    ; use s55
1173; GFX12-NEXT:    ;;#ASMEND
1174; GFX12-NEXT:    ;;#ASMSTART
1175; GFX12-NEXT:    ; use s56
1176; GFX12-NEXT:    ;;#ASMEND
1177; GFX12-NEXT:    ;;#ASMSTART
1178; GFX12-NEXT:    ; use s57
1179; GFX12-NEXT:    ;;#ASMEND
1180; GFX12-NEXT:    ;;#ASMSTART
1181; GFX12-NEXT:    ; use s58
1182; GFX12-NEXT:    ;;#ASMEND
1183; GFX12-NEXT:    ;;#ASMSTART
1184; GFX12-NEXT:    ; use s59
1185; GFX12-NEXT:    ;;#ASMEND
1186; GFX12-NEXT:    ;;#ASMSTART
1187; GFX12-NEXT:    ; use s60
1188; GFX12-NEXT:    ;;#ASMEND
1189; GFX12-NEXT:    ;;#ASMSTART
1190; GFX12-NEXT:    ; use s61
1191; GFX12-NEXT:    ;;#ASMEND
1192; GFX12-NEXT:    ;;#ASMSTART
1193; GFX12-NEXT:    ; use s62
1194; GFX12-NEXT:    ;;#ASMEND
1195; GFX12-NEXT:    ;;#ASMSTART
1196; GFX12-NEXT:    ; use s63
1197; GFX12-NEXT:    ;;#ASMEND
1198; GFX12-NEXT:    ;;#ASMSTART
1199; GFX12-NEXT:    ; use s64
1200; GFX12-NEXT:    ;;#ASMEND
1201; GFX12-NEXT:    ;;#ASMSTART
1202; GFX12-NEXT:    ; use s65
1203; GFX12-NEXT:    ;;#ASMEND
1204; GFX12-NEXT:    ;;#ASMSTART
1205; GFX12-NEXT:    ; use s66
1206; GFX12-NEXT:    ;;#ASMEND
1207; GFX12-NEXT:    ;;#ASMSTART
1208; GFX12-NEXT:    ; use s67
1209; GFX12-NEXT:    ;;#ASMEND
1210; GFX12-NEXT:    ;;#ASMSTART
1211; GFX12-NEXT:    ; use s0
1212; GFX12-NEXT:    ;;#ASMEND
1213; GFX12-NEXT:    s_endpgm
1214  %v0 = load i32, ptr addrspace(1) %p
1215  %ptr1 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 1
1216  %v1 = load i32, ptr addrspace(1) %ptr1
1217  %ptr2 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 2
1218  %v2 = load i32, ptr addrspace(1) %ptr2
1219  %ptr3 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 3
1220  %v3 = load i32, ptr addrspace(1) %ptr3
1221  %ptr4 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 4
1222  %v4 = load i32, ptr addrspace(1) %ptr4
1223  %ptr5 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 5
1224  %v5 = load i32, ptr addrspace(1) %ptr5
1225  %ptr6 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 6
1226  %v6 = load i32, ptr addrspace(1) %ptr6
1227  %ptr7 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 7
1228  %v7 = load i32, ptr addrspace(1) %ptr7
1229  %ptr8 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 8
1230  %v8 = load i32, ptr addrspace(1) %ptr8
1231  %ptr9 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 9
1232  %v9 = load i32, ptr addrspace(1) %ptr9
1233  %ptr10 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 10
1234  %v10 = load i32, ptr addrspace(1) %ptr10
1235  %ptr11 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 11
1236  %v11 = load i32, ptr addrspace(1) %ptr11
1237  %ptr12 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 12
1238  %v12 = load i32, ptr addrspace(1) %ptr12
1239  %ptr13 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 13
1240  %v13 = load i32, ptr addrspace(1) %ptr13
1241  %ptr14 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 14
1242  %v14 = load i32, ptr addrspace(1) %ptr14
1243  %ptr15 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 15
1244  %v15 = load i32, ptr addrspace(1) %ptr15
1245  %ptr16 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 16
1246  %v16 = load i32, ptr addrspace(1) %ptr16
1247  %ptr17 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 17
1248  %v17 = load i32, ptr addrspace(1) %ptr17
1249  %ptr18 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 18
1250  %v18 = load i32, ptr addrspace(1) %ptr18
1251  %ptr19 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 19
1252  %v19 = load i32, ptr addrspace(1) %ptr19
1253  %ptr20 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 20
1254  %v20 = load i32, ptr addrspace(1) %ptr20
1255  %ptr21 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 21
1256  %v21 = load i32, ptr addrspace(1) %ptr21
1257  %ptr22 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 22
1258  %v22 = load i32, ptr addrspace(1) %ptr22
1259  %ptr23 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 23
1260  %v23 = load i32, ptr addrspace(1) %ptr23
1261  %ptr24 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 24
1262  %v24 = load i32, ptr addrspace(1) %ptr24
1263  %ptr25 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 25
1264  %v25 = load i32, ptr addrspace(1) %ptr25
1265  %ptr26 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 26
1266  %v26 = load i32, ptr addrspace(1) %ptr26
1267  %ptr27 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 27
1268  %v27 = load i32, ptr addrspace(1) %ptr27
1269  %ptr28 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 28
1270  %v28 = load i32, ptr addrspace(1) %ptr28
1271  %ptr29 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 29
1272  %v29 = load i32, ptr addrspace(1) %ptr29
1273  %ptr30 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 30
1274  %v30 = load i32, ptr addrspace(1) %ptr30
1275  %ptr31 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 31
1276  %v31 = load i32, ptr addrspace(1) %ptr31
1277  %ptr32 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 32
1278  %v32 = load i32, ptr addrspace(1) %ptr32
1279  %ptr33 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 33
1280  %v33 = load i32, ptr addrspace(1) %ptr33
1281  %ptr34 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 34
1282  %v34 = load i32, ptr addrspace(1) %ptr34
1283  %ptr35 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 35
1284  %v35 = load i32, ptr addrspace(1) %ptr35
1285  %ptr36 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 36
1286  %v36 = load i32, ptr addrspace(1) %ptr36
1287  %ptr37 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 37
1288  %v37 = load i32, ptr addrspace(1) %ptr37
1289  %ptr38 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 38
1290  %v38 = load i32, ptr addrspace(1) %ptr38
1291  %ptr39 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 39
1292  %v39 = load i32, ptr addrspace(1) %ptr39
1293  %ptr40 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 40
1294  %v40 = load i32, ptr addrspace(1) %ptr40
1295  %ptr41 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 41
1296  %v41 = load i32, ptr addrspace(1) %ptr41
1297  %ptr42 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 42
1298  %v42 = load i32, ptr addrspace(1) %ptr42
1299  %ptr43 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 43
1300  %v43 = load i32, ptr addrspace(1) %ptr43
1301  %ptr44 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 44
1302  %v44 = load i32, ptr addrspace(1) %ptr44
1303  %ptr45 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 45
1304  %v45 = load i32, ptr addrspace(1) %ptr45
1305  %ptr46 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 46
1306  %v46 = load i32, ptr addrspace(1) %ptr46
1307  %ptr47 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 47
1308  %v47 = load i32, ptr addrspace(1) %ptr47
1309  %ptr48 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 48
1310  %v48 = load i32, ptr addrspace(1) %ptr48
1311  %ptr49 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 49
1312  %v49 = load i32, ptr addrspace(1) %ptr49
1313  %ptr50 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 50
1314  %v50 = load i32, ptr addrspace(1) %ptr50
1315  %ptr51 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 51
1316  %v51 = load i32, ptr addrspace(1) %ptr51
1317  %ptr52 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 52
1318  %v52 = load i32, ptr addrspace(1) %ptr52
1319  %ptr53 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 53
1320  %v53 = load i32, ptr addrspace(1) %ptr53
1321  %ptr54 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 54
1322  %v54 = load i32, ptr addrspace(1) %ptr54
1323  %ptr55 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 55
1324  %v55 = load i32, ptr addrspace(1) %ptr55
1325  %ptr56 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 56
1326  %v56 = load i32, ptr addrspace(1) %ptr56
1327  %ptr57 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 57
1328  %v57 = load i32, ptr addrspace(1) %ptr57
1329  %ptr58 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 58
1330  %v58 = load i32, ptr addrspace(1) %ptr58
1331  %ptr59 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 59
1332  %v59 = load i32, ptr addrspace(1) %ptr59
1333  %ptr60 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 60
1334  %v60 = load i32, ptr addrspace(1) %ptr60
1335  %ptr61 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 61
1336  %v61 = load i32, ptr addrspace(1) %ptr61
1337  %ptr62 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 62
1338  %v62 = load i32, ptr addrspace(1) %ptr62
1339  %ptr63 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 63
1340  %v63 = load i32, ptr addrspace(1) %ptr63
1341  %ptr64 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 64
1342  %v64 = load i32, ptr addrspace(1) %ptr64
1343  %ptr65 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 65
1344  %v65 = load i32, ptr addrspace(1) %ptr65
1345
1346  call void asm sideeffect "; use $0", "s"(i32 %v0)
1347  call void asm sideeffect "; use $0", "s"(i32 %v1)
1348  call void asm sideeffect "; use $0", "s"(i32 %v2)
1349  call void asm sideeffect "; use $0", "s"(i32 %v3)
1350  call void asm sideeffect "; use $0", "s"(i32 %v4)
1351  call void asm sideeffect "; use $0", "s"(i32 %v5)
1352  call void asm sideeffect "; use $0", "s"(i32 %v6)
1353  call void asm sideeffect "; use $0", "s"(i32 %v7)
1354  call void asm sideeffect "; use $0", "s"(i32 %v8)
1355  call void asm sideeffect "; use $0", "s"(i32 %v9)
1356  call void asm sideeffect "; use $0", "s"(i32 %v10)
1357  call void asm sideeffect "; use $0", "s"(i32 %v11)
1358  call void asm sideeffect "; use $0", "s"(i32 %v12)
1359  call void asm sideeffect "; use $0", "s"(i32 %v13)
1360  call void asm sideeffect "; use $0", "s"(i32 %v14)
1361  call void asm sideeffect "; use $0", "s"(i32 %v15)
1362  call void asm sideeffect "; use $0", "s"(i32 %v16)
1363  call void asm sideeffect "; use $0", "s"(i32 %v17)
1364  call void asm sideeffect "; use $0", "s"(i32 %v18)
1365  call void asm sideeffect "; use $0", "s"(i32 %v19)
1366  call void asm sideeffect "; use $0", "s"(i32 %v20)
1367  call void asm sideeffect "; use $0", "s"(i32 %v21)
1368  call void asm sideeffect "; use $0", "s"(i32 %v22)
1369  call void asm sideeffect "; use $0", "s"(i32 %v23)
1370  call void asm sideeffect "; use $0", "s"(i32 %v24)
1371  call void asm sideeffect "; use $0", "s"(i32 %v25)
1372  call void asm sideeffect "; use $0", "s"(i32 %v26)
1373  call void asm sideeffect "; use $0", "s"(i32 %v27)
1374  call void asm sideeffect "; use $0", "s"(i32 %v28)
1375  call void asm sideeffect "; use $0", "s"(i32 %v29)
1376  call void asm sideeffect "; use $0", "s"(i32 %v30)
1377  call void asm sideeffect "; use $0", "s"(i32 %v31)
1378  call void asm sideeffect "; use $0", "s"(i32 %v32)
1379  call void asm sideeffect "; use $0", "s"(i32 %v33)
1380  call void asm sideeffect "; use $0", "s"(i32 %v34)
1381  call void asm sideeffect "; use $0", "s"(i32 %v35)
1382  call void asm sideeffect "; use $0", "s"(i32 %v36)
1383  call void asm sideeffect "; use $0", "s"(i32 %v37)
1384  call void asm sideeffect "; use $0", "s"(i32 %v38)
1385  call void asm sideeffect "; use $0", "s"(i32 %v39)
1386  call void asm sideeffect "; use $0", "s"(i32 %v40)
1387  call void asm sideeffect "; use $0", "s"(i32 %v41)
1388  call void asm sideeffect "; use $0", "s"(i32 %v42)
1389  call void asm sideeffect "; use $0", "s"(i32 %v43)
1390  call void asm sideeffect "; use $0", "s"(i32 %v44)
1391  call void asm sideeffect "; use $0", "s"(i32 %v45)
1392  call void asm sideeffect "; use $0", "s"(i32 %v46)
1393  call void asm sideeffect "; use $0", "s"(i32 %v47)
1394  call void asm sideeffect "; use $0", "s"(i32 %v48)
1395  call void asm sideeffect "; use $0", "s"(i32 %v49)
1396  call void asm sideeffect "; use $0", "s"(i32 %v50)
1397  call void asm sideeffect "; use $0", "s"(i32 %v51)
1398  call void asm sideeffect "; use $0", "s"(i32 %v52)
1399  call void asm sideeffect "; use $0", "s"(i32 %v53)
1400  call void asm sideeffect "; use $0", "s"(i32 %v54)
1401  call void asm sideeffect "; use $0", "s"(i32 %v55)
1402  call void asm sideeffect "; use $0", "s"(i32 %v56)
1403  call void asm sideeffect "; use $0", "s"(i32 %v57)
1404  call void asm sideeffect "; use $0", "s"(i32 %v58)
1405  call void asm sideeffect "; use $0", "s"(i32 %v59)
1406  call void asm sideeffect "; use $0", "s"(i32 %v60)
1407  call void asm sideeffect "; use $0", "s"(i32 %v61)
1408  call void asm sideeffect "; use $0", "s"(i32 %v62)
1409  call void asm sideeffect "; use $0", "s"(i32 %v63)
1410  call void asm sideeffect "; use $0", "s"(i32 %v64)
1411  call void asm sideeffect "; use $0", "s"(i32 %v65)
1412
1413  ret void
1414}
1415