1; -enable-misched=false makes the register usage more predictable
2; -regalloc=fast just makes the test run faster
3; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-function-calls=false -enable-misched=false -regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX9
4; RUN: llc -march=amdgcn -mcpu=gfx1010 -amdgpu-function-calls=false -enable-misched=false -regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE32
5; RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE64
6; RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE32
7; RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE64
8
9define internal void @use256vgprs() {
10  %v0 = call i32 asm sideeffect "; def $0", "=v"()
11  %v1 = call i32 asm sideeffect "; def $0", "=v"()
12  %v2 = call i32 asm sideeffect "; def $0", "=v"()
13  %v3 = call i32 asm sideeffect "; def $0", "=v"()
14  %v4 = call i32 asm sideeffect "; def $0", "=v"()
15  %v5 = call i32 asm sideeffect "; def $0", "=v"()
16  %v6 = call i32 asm sideeffect "; def $0", "=v"()
17  %v7 = call i32 asm sideeffect "; def $0", "=v"()
18  %v8 = call i32 asm sideeffect "; def $0", "=v"()
19  %v9 = call i32 asm sideeffect "; def $0", "=v"()
20  %v10 = call i32 asm sideeffect "; def $0", "=v"()
21  %v11 = call i32 asm sideeffect "; def $0", "=v"()
22  %v12 = call i32 asm sideeffect "; def $0", "=v"()
23  %v13 = call i32 asm sideeffect "; def $0", "=v"()
24  %v14 = call i32 asm sideeffect "; def $0", "=v"()
25  %v15 = call i32 asm sideeffect "; def $0", "=v"()
26  %v16 = call i32 asm sideeffect "; def $0", "=v"()
27  %v17 = call i32 asm sideeffect "; def $0", "=v"()
28  %v18 = call i32 asm sideeffect "; def $0", "=v"()
29  %v19 = call i32 asm sideeffect "; def $0", "=v"()
30  %v20 = call i32 asm sideeffect "; def $0", "=v"()
31  %v21 = call i32 asm sideeffect "; def $0", "=v"()
32  %v22 = call i32 asm sideeffect "; def $0", "=v"()
33  %v23 = call i32 asm sideeffect "; def $0", "=v"()
34  %v24 = call i32 asm sideeffect "; def $0", "=v"()
35  %v25 = call i32 asm sideeffect "; def $0", "=v"()
36  %v26 = call i32 asm sideeffect "; def $0", "=v"()
37  %v27 = call i32 asm sideeffect "; def $0", "=v"()
38  %v28 = call i32 asm sideeffect "; def $0", "=v"()
39  %v29 = call i32 asm sideeffect "; def $0", "=v"()
40  %v30 = call i32 asm sideeffect "; def $0", "=v"()
41  %v31 = call i32 asm sideeffect "; def $0", "=v"()
42  %v32 = call i32 asm sideeffect "; def $0", "=v"()
43  %v33 = call i32 asm sideeffect "; def $0", "=v"()
44  %v34 = call i32 asm sideeffect "; def $0", "=v"()
45  %v35 = call i32 asm sideeffect "; def $0", "=v"()
46  %v36 = call i32 asm sideeffect "; def $0", "=v"()
47  %v37 = call i32 asm sideeffect "; def $0", "=v"()
48  %v38 = call i32 asm sideeffect "; def $0", "=v"()
49  %v39 = call i32 asm sideeffect "; def $0", "=v"()
50  %v40 = call i32 asm sideeffect "; def $0", "=v"()
51  %v41 = call i32 asm sideeffect "; def $0", "=v"()
52  %v42 = call i32 asm sideeffect "; def $0", "=v"()
53  %v43 = call i32 asm sideeffect "; def $0", "=v"()
54  %v44 = call i32 asm sideeffect "; def $0", "=v"()
55  %v45 = call i32 asm sideeffect "; def $0", "=v"()
56  %v46 = call i32 asm sideeffect "; def $0", "=v"()
57  %v47 = call i32 asm sideeffect "; def $0", "=v"()
58  %v48 = call i32 asm sideeffect "; def $0", "=v"()
59  %v49 = call i32 asm sideeffect "; def $0", "=v"()
60  %v50 = call i32 asm sideeffect "; def $0", "=v"()
61  %v51 = call i32 asm sideeffect "; def $0", "=v"()
62  %v52 = call i32 asm sideeffect "; def $0", "=v"()
63  %v53 = call i32 asm sideeffect "; def $0", "=v"()
64  %v54 = call i32 asm sideeffect "; def $0", "=v"()
65  %v55 = call i32 asm sideeffect "; def $0", "=v"()
66  %v56 = call i32 asm sideeffect "; def $0", "=v"()
67  %v57 = call i32 asm sideeffect "; def $0", "=v"()
68  %v58 = call i32 asm sideeffect "; def $0", "=v"()
69  %v59 = call i32 asm sideeffect "; def $0", "=v"()
70  %v60 = call i32 asm sideeffect "; def $0", "=v"()
71  %v61 = call i32 asm sideeffect "; def $0", "=v"()
72  %v62 = call i32 asm sideeffect "; def $0", "=v"()
73  %v63 = call i32 asm sideeffect "; def $0", "=v"()
74  %v64 = call i32 asm sideeffect "; def $0", "=v"()
75  %v65 = call i32 asm sideeffect "; def $0", "=v"()
76  %v66 = call i32 asm sideeffect "; def $0", "=v"()
77  %v67 = call i32 asm sideeffect "; def $0", "=v"()
78  %v68 = call i32 asm sideeffect "; def $0", "=v"()
79  %v69 = call i32 asm sideeffect "; def $0", "=v"()
80  %v70 = call i32 asm sideeffect "; def $0", "=v"()
81  %v71 = call i32 asm sideeffect "; def $0", "=v"()
82  %v72 = call i32 asm sideeffect "; def $0", "=v"()
83  %v73 = call i32 asm sideeffect "; def $0", "=v"()
84  %v74 = call i32 asm sideeffect "; def $0", "=v"()
85  %v75 = call i32 asm sideeffect "; def $0", "=v"()
86  %v76 = call i32 asm sideeffect "; def $0", "=v"()
87  %v77 = call i32 asm sideeffect "; def $0", "=v"()
88  %v78 = call i32 asm sideeffect "; def $0", "=v"()
89  %v79 = call i32 asm sideeffect "; def $0", "=v"()
90  %v80 = call i32 asm sideeffect "; def $0", "=v"()
91  %v81 = call i32 asm sideeffect "; def $0", "=v"()
92  %v82 = call i32 asm sideeffect "; def $0", "=v"()
93  %v83 = call i32 asm sideeffect "; def $0", "=v"()
94  %v84 = call i32 asm sideeffect "; def $0", "=v"()
95  %v85 = call i32 asm sideeffect "; def $0", "=v"()
96  %v86 = call i32 asm sideeffect "; def $0", "=v"()
97  %v87 = call i32 asm sideeffect "; def $0", "=v"()
98  %v88 = call i32 asm sideeffect "; def $0", "=v"()
99  %v89 = call i32 asm sideeffect "; def $0", "=v"()
100  %v90 = call i32 asm sideeffect "; def $0", "=v"()
101  %v91 = call i32 asm sideeffect "; def $0", "=v"()
102  %v92 = call i32 asm sideeffect "; def $0", "=v"()
103  %v93 = call i32 asm sideeffect "; def $0", "=v"()
104  %v94 = call i32 asm sideeffect "; def $0", "=v"()
105  %v95 = call i32 asm sideeffect "; def $0", "=v"()
106  %v96 = call i32 asm sideeffect "; def $0", "=v"()
107  %v97 = call i32 asm sideeffect "; def $0", "=v"()
108  %v98 = call i32 asm sideeffect "; def $0", "=v"()
109  %v99 = call i32 asm sideeffect "; def $0", "=v"()
110  %v100 = call i32 asm sideeffect "; def $0", "=v"()
111  %v101 = call i32 asm sideeffect "; def $0", "=v"()
112  %v102 = call i32 asm sideeffect "; def $0", "=v"()
113  %v103 = call i32 asm sideeffect "; def $0", "=v"()
114  %v104 = call i32 asm sideeffect "; def $0", "=v"()
115  %v105 = call i32 asm sideeffect "; def $0", "=v"()
116  %v106 = call i32 asm sideeffect "; def $0", "=v"()
117  %v107 = call i32 asm sideeffect "; def $0", "=v"()
118  %v108 = call i32 asm sideeffect "; def $0", "=v"()
119  %v109 = call i32 asm sideeffect "; def $0", "=v"()
120  %v110 = call i32 asm sideeffect "; def $0", "=v"()
121  %v111 = call i32 asm sideeffect "; def $0", "=v"()
122  %v112 = call i32 asm sideeffect "; def $0", "=v"()
123  %v113 = call i32 asm sideeffect "; def $0", "=v"()
124  %v114 = call i32 asm sideeffect "; def $0", "=v"()
125  %v115 = call i32 asm sideeffect "; def $0", "=v"()
126  %v116 = call i32 asm sideeffect "; def $0", "=v"()
127  %v117 = call i32 asm sideeffect "; def $0", "=v"()
128  %v118 = call i32 asm sideeffect "; def $0", "=v"()
129  %v119 = call i32 asm sideeffect "; def $0", "=v"()
130  %v120 = call i32 asm sideeffect "; def $0", "=v"()
131  %v121 = call i32 asm sideeffect "; def $0", "=v"()
132  %v122 = call i32 asm sideeffect "; def $0", "=v"()
133  %v123 = call i32 asm sideeffect "; def $0", "=v"()
134  %v124 = call i32 asm sideeffect "; def $0", "=v"()
135  %v125 = call i32 asm sideeffect "; def $0", "=v"()
136  %v126 = call i32 asm sideeffect "; def $0", "=v"()
137  %v127 = call i32 asm sideeffect "; def $0", "=v"()
138  %v128 = call i32 asm sideeffect "; def $0", "=v"()
139  %v129 = call i32 asm sideeffect "; def $0", "=v"()
140  %v130 = call i32 asm sideeffect "; def $0", "=v"()
141  %v131 = call i32 asm sideeffect "; def $0", "=v"()
142  %v132 = call i32 asm sideeffect "; def $0", "=v"()
143  %v133 = call i32 asm sideeffect "; def $0", "=v"()
144  %v134 = call i32 asm sideeffect "; def $0", "=v"()
145  %v135 = call i32 asm sideeffect "; def $0", "=v"()
146  %v136 = call i32 asm sideeffect "; def $0", "=v"()
147  %v137 = call i32 asm sideeffect "; def $0", "=v"()
148  %v138 = call i32 asm sideeffect "; def $0", "=v"()
149  %v139 = call i32 asm sideeffect "; def $0", "=v"()
150  %v140 = call i32 asm sideeffect "; def $0", "=v"()
151  %v141 = call i32 asm sideeffect "; def $0", "=v"()
152  %v142 = call i32 asm sideeffect "; def $0", "=v"()
153  %v143 = call i32 asm sideeffect "; def $0", "=v"()
154  %v144 = call i32 asm sideeffect "; def $0", "=v"()
155  %v145 = call i32 asm sideeffect "; def $0", "=v"()
156  %v146 = call i32 asm sideeffect "; def $0", "=v"()
157  %v147 = call i32 asm sideeffect "; def $0", "=v"()
158  %v148 = call i32 asm sideeffect "; def $0", "=v"()
159  %v149 = call i32 asm sideeffect "; def $0", "=v"()
160  %v150 = call i32 asm sideeffect "; def $0", "=v"()
161  %v151 = call i32 asm sideeffect "; def $0", "=v"()
162  %v152 = call i32 asm sideeffect "; def $0", "=v"()
163  %v153 = call i32 asm sideeffect "; def $0", "=v"()
164  %v154 = call i32 asm sideeffect "; def $0", "=v"()
165  %v155 = call i32 asm sideeffect "; def $0", "=v"()
166  %v156 = call i32 asm sideeffect "; def $0", "=v"()
167  %v157 = call i32 asm sideeffect "; def $0", "=v"()
168  %v158 = call i32 asm sideeffect "; def $0", "=v"()
169  %v159 = call i32 asm sideeffect "; def $0", "=v"()
170  %v160 = call i32 asm sideeffect "; def $0", "=v"()
171  %v161 = call i32 asm sideeffect "; def $0", "=v"()
172  %v162 = call i32 asm sideeffect "; def $0", "=v"()
173  %v163 = call i32 asm sideeffect "; def $0", "=v"()
174  %v164 = call i32 asm sideeffect "; def $0", "=v"()
175  %v165 = call i32 asm sideeffect "; def $0", "=v"()
176  %v166 = call i32 asm sideeffect "; def $0", "=v"()
177  %v167 = call i32 asm sideeffect "; def $0", "=v"()
178  %v168 = call i32 asm sideeffect "; def $0", "=v"()
179  %v169 = call i32 asm sideeffect "; def $0", "=v"()
180  %v170 = call i32 asm sideeffect "; def $0", "=v"()
181  %v171 = call i32 asm sideeffect "; def $0", "=v"()
182  %v172 = call i32 asm sideeffect "; def $0", "=v"()
183  %v173 = call i32 asm sideeffect "; def $0", "=v"()
184  %v174 = call i32 asm sideeffect "; def $0", "=v"()
185  %v175 = call i32 asm sideeffect "; def $0", "=v"()
186  %v176 = call i32 asm sideeffect "; def $0", "=v"()
187  %v177 = call i32 asm sideeffect "; def $0", "=v"()
188  %v178 = call i32 asm sideeffect "; def $0", "=v"()
189  %v179 = call i32 asm sideeffect "; def $0", "=v"()
190  %v180 = call i32 asm sideeffect "; def $0", "=v"()
191  %v181 = call i32 asm sideeffect "; def $0", "=v"()
192  %v182 = call i32 asm sideeffect "; def $0", "=v"()
193  %v183 = call i32 asm sideeffect "; def $0", "=v"()
194  %v184 = call i32 asm sideeffect "; def $0", "=v"()
195  %v185 = call i32 asm sideeffect "; def $0", "=v"()
196  %v186 = call i32 asm sideeffect "; def $0", "=v"()
197  %v187 = call i32 asm sideeffect "; def $0", "=v"()
198  %v188 = call i32 asm sideeffect "; def $0", "=v"()
199  %v189 = call i32 asm sideeffect "; def $0", "=v"()
200  %v190 = call i32 asm sideeffect "; def $0", "=v"()
201  %v191 = call i32 asm sideeffect "; def $0", "=v"()
202  %v192 = call i32 asm sideeffect "; def $0", "=v"()
203  %v193 = call i32 asm sideeffect "; def $0", "=v"()
204  %v194 = call i32 asm sideeffect "; def $0", "=v"()
205  %v195 = call i32 asm sideeffect "; def $0", "=v"()
206  %v196 = call i32 asm sideeffect "; def $0", "=v"()
207  %v197 = call i32 asm sideeffect "; def $0", "=v"()
208  %v198 = call i32 asm sideeffect "; def $0", "=v"()
209  %v199 = call i32 asm sideeffect "; def $0", "=v"()
210  %v200 = call i32 asm sideeffect "; def $0", "=v"()
211  %v201 = call i32 asm sideeffect "; def $0", "=v"()
212  %v202 = call i32 asm sideeffect "; def $0", "=v"()
213  %v203 = call i32 asm sideeffect "; def $0", "=v"()
214  %v204 = call i32 asm sideeffect "; def $0", "=v"()
215  %v205 = call i32 asm sideeffect "; def $0", "=v"()
216  %v206 = call i32 asm sideeffect "; def $0", "=v"()
217  %v207 = call i32 asm sideeffect "; def $0", "=v"()
218  %v208 = call i32 asm sideeffect "; def $0", "=v"()
219  %v209 = call i32 asm sideeffect "; def $0", "=v"()
220  %v210 = call i32 asm sideeffect "; def $0", "=v"()
221  %v211 = call i32 asm sideeffect "; def $0", "=v"()
222  %v212 = call i32 asm sideeffect "; def $0", "=v"()
223  %v213 = call i32 asm sideeffect "; def $0", "=v"()
224  %v214 = call i32 asm sideeffect "; def $0", "=v"()
225  %v215 = call i32 asm sideeffect "; def $0", "=v"()
226  %v216 = call i32 asm sideeffect "; def $0", "=v"()
227  %v217 = call i32 asm sideeffect "; def $0", "=v"()
228  %v218 = call i32 asm sideeffect "; def $0", "=v"()
229  %v219 = call i32 asm sideeffect "; def $0", "=v"()
230  %v220 = call i32 asm sideeffect "; def $0", "=v"()
231  %v221 = call i32 asm sideeffect "; def $0", "=v"()
232  %v222 = call i32 asm sideeffect "; def $0", "=v"()
233  %v223 = call i32 asm sideeffect "; def $0", "=v"()
234  %v224 = call i32 asm sideeffect "; def $0", "=v"()
235  %v225 = call i32 asm sideeffect "; def $0", "=v"()
236  %v226 = call i32 asm sideeffect "; def $0", "=v"()
237  %v227 = call i32 asm sideeffect "; def $0", "=v"()
238  %v228 = call i32 asm sideeffect "; def $0", "=v"()
239  %v229 = call i32 asm sideeffect "; def $0", "=v"()
240  %v230 = call i32 asm sideeffect "; def $0", "=v"()
241  %v231 = call i32 asm sideeffect "; def $0", "=v"()
242  %v232 = call i32 asm sideeffect "; def $0", "=v"()
243  %v233 = call i32 asm sideeffect "; def $0", "=v"()
244  %v234 = call i32 asm sideeffect "; def $0", "=v"()
245  %v235 = call i32 asm sideeffect "; def $0", "=v"()
246  %v236 = call i32 asm sideeffect "; def $0", "=v"()
247  %v237 = call i32 asm sideeffect "; def $0", "=v"()
248  %v238 = call i32 asm sideeffect "; def $0", "=v"()
249  %v239 = call i32 asm sideeffect "; def $0", "=v"()
250  %v240 = call i32 asm sideeffect "; def $0", "=v"()
251  %v241 = call i32 asm sideeffect "; def $0", "=v"()
252  %v242 = call i32 asm sideeffect "; def $0", "=v"()
253  %v243 = call i32 asm sideeffect "; def $0", "=v"()
254  %v244 = call i32 asm sideeffect "; def $0", "=v"()
255  %v245 = call i32 asm sideeffect "; def $0", "=v"()
256  %v246 = call i32 asm sideeffect "; def $0", "=v"()
257  %v247 = call i32 asm sideeffect "; def $0", "=v"()
258  %v248 = call i32 asm sideeffect "; def $0", "=v"()
259  %v249 = call i32 asm sideeffect "; def $0", "=v"()
260  %v250 = call i32 asm sideeffect "; def $0", "=v"()
261  %v251 = call i32 asm sideeffect "; def $0", "=v"()
262  %v252 = call i32 asm sideeffect "; def $0", "=v"()
263  %v253 = call i32 asm sideeffect "; def $0", "=v"()
264  %v254 = call i32 asm sideeffect "; def $0", "=v"()
265  %v255 = call i32 asm sideeffect "; def $0", "=v"()
266  call void asm sideeffect "; use $0", "v"(i32 %v0)
267  call void asm sideeffect "; use $0", "v"(i32 %v1)
268  call void asm sideeffect "; use $0", "v"(i32 %v2)
269  call void asm sideeffect "; use $0", "v"(i32 %v3)
270  call void asm sideeffect "; use $0", "v"(i32 %v4)
271  call void asm sideeffect "; use $0", "v"(i32 %v5)
272  call void asm sideeffect "; use $0", "v"(i32 %v6)
273  call void asm sideeffect "; use $0", "v"(i32 %v7)
274  call void asm sideeffect "; use $0", "v"(i32 %v8)
275  call void asm sideeffect "; use $0", "v"(i32 %v9)
276  call void asm sideeffect "; use $0", "v"(i32 %v10)
277  call void asm sideeffect "; use $0", "v"(i32 %v11)
278  call void asm sideeffect "; use $0", "v"(i32 %v12)
279  call void asm sideeffect "; use $0", "v"(i32 %v13)
280  call void asm sideeffect "; use $0", "v"(i32 %v14)
281  call void asm sideeffect "; use $0", "v"(i32 %v15)
282  call void asm sideeffect "; use $0", "v"(i32 %v16)
283  call void asm sideeffect "; use $0", "v"(i32 %v17)
284  call void asm sideeffect "; use $0", "v"(i32 %v18)
285  call void asm sideeffect "; use $0", "v"(i32 %v19)
286  call void asm sideeffect "; use $0", "v"(i32 %v20)
287  call void asm sideeffect "; use $0", "v"(i32 %v21)
288  call void asm sideeffect "; use $0", "v"(i32 %v22)
289  call void asm sideeffect "; use $0", "v"(i32 %v23)
290  call void asm sideeffect "; use $0", "v"(i32 %v24)
291  call void asm sideeffect "; use $0", "v"(i32 %v25)
292  call void asm sideeffect "; use $0", "v"(i32 %v26)
293  call void asm sideeffect "; use $0", "v"(i32 %v27)
294  call void asm sideeffect "; use $0", "v"(i32 %v28)
295  call void asm sideeffect "; use $0", "v"(i32 %v29)
296  call void asm sideeffect "; use $0", "v"(i32 %v30)
297  call void asm sideeffect "; use $0", "v"(i32 %v31)
298  call void asm sideeffect "; use $0", "v"(i32 %v32)
299  call void asm sideeffect "; use $0", "v"(i32 %v33)
300  call void asm sideeffect "; use $0", "v"(i32 %v34)
301  call void asm sideeffect "; use $0", "v"(i32 %v35)
302  call void asm sideeffect "; use $0", "v"(i32 %v36)
303  call void asm sideeffect "; use $0", "v"(i32 %v37)
304  call void asm sideeffect "; use $0", "v"(i32 %v38)
305  call void asm sideeffect "; use $0", "v"(i32 %v39)
306  call void asm sideeffect "; use $0", "v"(i32 %v40)
307  call void asm sideeffect "; use $0", "v"(i32 %v41)
308  call void asm sideeffect "; use $0", "v"(i32 %v42)
309  call void asm sideeffect "; use $0", "v"(i32 %v43)
310  call void asm sideeffect "; use $0", "v"(i32 %v44)
311  call void asm sideeffect "; use $0", "v"(i32 %v45)
312  call void asm sideeffect "; use $0", "v"(i32 %v46)
313  call void asm sideeffect "; use $0", "v"(i32 %v47)
314  call void asm sideeffect "; use $0", "v"(i32 %v48)
315  call void asm sideeffect "; use $0", "v"(i32 %v49)
316  call void asm sideeffect "; use $0", "v"(i32 %v50)
317  call void asm sideeffect "; use $0", "v"(i32 %v51)
318  call void asm sideeffect "; use $0", "v"(i32 %v52)
319  call void asm sideeffect "; use $0", "v"(i32 %v53)
320  call void asm sideeffect "; use $0", "v"(i32 %v54)
321  call void asm sideeffect "; use $0", "v"(i32 %v55)
322  call void asm sideeffect "; use $0", "v"(i32 %v56)
323  call void asm sideeffect "; use $0", "v"(i32 %v57)
324  call void asm sideeffect "; use $0", "v"(i32 %v58)
325  call void asm sideeffect "; use $0", "v"(i32 %v59)
326  call void asm sideeffect "; use $0", "v"(i32 %v60)
327  call void asm sideeffect "; use $0", "v"(i32 %v61)
328  call void asm sideeffect "; use $0", "v"(i32 %v62)
329  call void asm sideeffect "; use $0", "v"(i32 %v63)
330  call void asm sideeffect "; use $0", "v"(i32 %v64)
331  call void asm sideeffect "; use $0", "v"(i32 %v65)
332  call void asm sideeffect "; use $0", "v"(i32 %v66)
333  call void asm sideeffect "; use $0", "v"(i32 %v67)
334  call void asm sideeffect "; use $0", "v"(i32 %v68)
335  call void asm sideeffect "; use $0", "v"(i32 %v69)
336  call void asm sideeffect "; use $0", "v"(i32 %v70)
337  call void asm sideeffect "; use $0", "v"(i32 %v71)
338  call void asm sideeffect "; use $0", "v"(i32 %v72)
339  call void asm sideeffect "; use $0", "v"(i32 %v73)
340  call void asm sideeffect "; use $0", "v"(i32 %v74)
341  call void asm sideeffect "; use $0", "v"(i32 %v75)
342  call void asm sideeffect "; use $0", "v"(i32 %v76)
343  call void asm sideeffect "; use $0", "v"(i32 %v77)
344  call void asm sideeffect "; use $0", "v"(i32 %v78)
345  call void asm sideeffect "; use $0", "v"(i32 %v79)
346  call void asm sideeffect "; use $0", "v"(i32 %v80)
347  call void asm sideeffect "; use $0", "v"(i32 %v81)
348  call void asm sideeffect "; use $0", "v"(i32 %v82)
349  call void asm sideeffect "; use $0", "v"(i32 %v83)
350  call void asm sideeffect "; use $0", "v"(i32 %v84)
351  call void asm sideeffect "; use $0", "v"(i32 %v85)
352  call void asm sideeffect "; use $0", "v"(i32 %v86)
353  call void asm sideeffect "; use $0", "v"(i32 %v87)
354  call void asm sideeffect "; use $0", "v"(i32 %v88)
355  call void asm sideeffect "; use $0", "v"(i32 %v89)
356  call void asm sideeffect "; use $0", "v"(i32 %v90)
357  call void asm sideeffect "; use $0", "v"(i32 %v91)
358  call void asm sideeffect "; use $0", "v"(i32 %v92)
359  call void asm sideeffect "; use $0", "v"(i32 %v93)
360  call void asm sideeffect "; use $0", "v"(i32 %v94)
361  call void asm sideeffect "; use $0", "v"(i32 %v95)
362  call void asm sideeffect "; use $0", "v"(i32 %v96)
363  call void asm sideeffect "; use $0", "v"(i32 %v97)
364  call void asm sideeffect "; use $0", "v"(i32 %v98)
365  call void asm sideeffect "; use $0", "v"(i32 %v99)
366  call void asm sideeffect "; use $0", "v"(i32 %v100)
367  call void asm sideeffect "; use $0", "v"(i32 %v101)
368  call void asm sideeffect "; use $0", "v"(i32 %v102)
369  call void asm sideeffect "; use $0", "v"(i32 %v103)
370  call void asm sideeffect "; use $0", "v"(i32 %v104)
371  call void asm sideeffect "; use $0", "v"(i32 %v105)
372  call void asm sideeffect "; use $0", "v"(i32 %v106)
373  call void asm sideeffect "; use $0", "v"(i32 %v107)
374  call void asm sideeffect "; use $0", "v"(i32 %v108)
375  call void asm sideeffect "; use $0", "v"(i32 %v109)
376  call void asm sideeffect "; use $0", "v"(i32 %v110)
377  call void asm sideeffect "; use $0", "v"(i32 %v111)
378  call void asm sideeffect "; use $0", "v"(i32 %v112)
379  call void asm sideeffect "; use $0", "v"(i32 %v113)
380  call void asm sideeffect "; use $0", "v"(i32 %v114)
381  call void asm sideeffect "; use $0", "v"(i32 %v115)
382  call void asm sideeffect "; use $0", "v"(i32 %v116)
383  call void asm sideeffect "; use $0", "v"(i32 %v117)
384  call void asm sideeffect "; use $0", "v"(i32 %v118)
385  call void asm sideeffect "; use $0", "v"(i32 %v119)
386  call void asm sideeffect "; use $0", "v"(i32 %v120)
387  call void asm sideeffect "; use $0", "v"(i32 %v121)
388  call void asm sideeffect "; use $0", "v"(i32 %v122)
389  call void asm sideeffect "; use $0", "v"(i32 %v123)
390  call void asm sideeffect "; use $0", "v"(i32 %v124)
391  call void asm sideeffect "; use $0", "v"(i32 %v125)
392  call void asm sideeffect "; use $0", "v"(i32 %v126)
393  call void asm sideeffect "; use $0", "v"(i32 %v127)
394  call void asm sideeffect "; use $0", "v"(i32 %v128)
395  call void asm sideeffect "; use $0", "v"(i32 %v129)
396  call void asm sideeffect "; use $0", "v"(i32 %v130)
397  call void asm sideeffect "; use $0", "v"(i32 %v131)
398  call void asm sideeffect "; use $0", "v"(i32 %v132)
399  call void asm sideeffect "; use $0", "v"(i32 %v133)
400  call void asm sideeffect "; use $0", "v"(i32 %v134)
401  call void asm sideeffect "; use $0", "v"(i32 %v135)
402  call void asm sideeffect "; use $0", "v"(i32 %v136)
403  call void asm sideeffect "; use $0", "v"(i32 %v137)
404  call void asm sideeffect "; use $0", "v"(i32 %v138)
405  call void asm sideeffect "; use $0", "v"(i32 %v139)
406  call void asm sideeffect "; use $0", "v"(i32 %v140)
407  call void asm sideeffect "; use $0", "v"(i32 %v141)
408  call void asm sideeffect "; use $0", "v"(i32 %v142)
409  call void asm sideeffect "; use $0", "v"(i32 %v143)
410  call void asm sideeffect "; use $0", "v"(i32 %v144)
411  call void asm sideeffect "; use $0", "v"(i32 %v145)
412  call void asm sideeffect "; use $0", "v"(i32 %v146)
413  call void asm sideeffect "; use $0", "v"(i32 %v147)
414  call void asm sideeffect "; use $0", "v"(i32 %v148)
415  call void asm sideeffect "; use $0", "v"(i32 %v149)
416  call void asm sideeffect "; use $0", "v"(i32 %v150)
417  call void asm sideeffect "; use $0", "v"(i32 %v151)
418  call void asm sideeffect "; use $0", "v"(i32 %v152)
419  call void asm sideeffect "; use $0", "v"(i32 %v153)
420  call void asm sideeffect "; use $0", "v"(i32 %v154)
421  call void asm sideeffect "; use $0", "v"(i32 %v155)
422  call void asm sideeffect "; use $0", "v"(i32 %v156)
423  call void asm sideeffect "; use $0", "v"(i32 %v157)
424  call void asm sideeffect "; use $0", "v"(i32 %v158)
425  call void asm sideeffect "; use $0", "v"(i32 %v159)
426  call void asm sideeffect "; use $0", "v"(i32 %v160)
427  call void asm sideeffect "; use $0", "v"(i32 %v161)
428  call void asm sideeffect "; use $0", "v"(i32 %v162)
429  call void asm sideeffect "; use $0", "v"(i32 %v163)
430  call void asm sideeffect "; use $0", "v"(i32 %v164)
431  call void asm sideeffect "; use $0", "v"(i32 %v165)
432  call void asm sideeffect "; use $0", "v"(i32 %v166)
433  call void asm sideeffect "; use $0", "v"(i32 %v167)
434  call void asm sideeffect "; use $0", "v"(i32 %v168)
435  call void asm sideeffect "; use $0", "v"(i32 %v169)
436  call void asm sideeffect "; use $0", "v"(i32 %v170)
437  call void asm sideeffect "; use $0", "v"(i32 %v171)
438  call void asm sideeffect "; use $0", "v"(i32 %v172)
439  call void asm sideeffect "; use $0", "v"(i32 %v173)
440  call void asm sideeffect "; use $0", "v"(i32 %v174)
441  call void asm sideeffect "; use $0", "v"(i32 %v175)
442  call void asm sideeffect "; use $0", "v"(i32 %v176)
443  call void asm sideeffect "; use $0", "v"(i32 %v177)
444  call void asm sideeffect "; use $0", "v"(i32 %v178)
445  call void asm sideeffect "; use $0", "v"(i32 %v179)
446  call void asm sideeffect "; use $0", "v"(i32 %v180)
447  call void asm sideeffect "; use $0", "v"(i32 %v181)
448  call void asm sideeffect "; use $0", "v"(i32 %v182)
449  call void asm sideeffect "; use $0", "v"(i32 %v183)
450  call void asm sideeffect "; use $0", "v"(i32 %v184)
451  call void asm sideeffect "; use $0", "v"(i32 %v185)
452  call void asm sideeffect "; use $0", "v"(i32 %v186)
453  call void asm sideeffect "; use $0", "v"(i32 %v187)
454  call void asm sideeffect "; use $0", "v"(i32 %v188)
455  call void asm sideeffect "; use $0", "v"(i32 %v189)
456  call void asm sideeffect "; use $0", "v"(i32 %v190)
457  call void asm sideeffect "; use $0", "v"(i32 %v191)
458  call void asm sideeffect "; use $0", "v"(i32 %v192)
459  call void asm sideeffect "; use $0", "v"(i32 %v193)
460  call void asm sideeffect "; use $0", "v"(i32 %v194)
461  call void asm sideeffect "; use $0", "v"(i32 %v195)
462  call void asm sideeffect "; use $0", "v"(i32 %v196)
463  call void asm sideeffect "; use $0", "v"(i32 %v197)
464  call void asm sideeffect "; use $0", "v"(i32 %v198)
465  call void asm sideeffect "; use $0", "v"(i32 %v199)
466  call void asm sideeffect "; use $0", "v"(i32 %v200)
467  call void asm sideeffect "; use $0", "v"(i32 %v201)
468  call void asm sideeffect "; use $0", "v"(i32 %v202)
469  call void asm sideeffect "; use $0", "v"(i32 %v203)
470  call void asm sideeffect "; use $0", "v"(i32 %v204)
471  call void asm sideeffect "; use $0", "v"(i32 %v205)
472  call void asm sideeffect "; use $0", "v"(i32 %v206)
473  call void asm sideeffect "; use $0", "v"(i32 %v207)
474  call void asm sideeffect "; use $0", "v"(i32 %v208)
475  call void asm sideeffect "; use $0", "v"(i32 %v209)
476  call void asm sideeffect "; use $0", "v"(i32 %v210)
477  call void asm sideeffect "; use $0", "v"(i32 %v211)
478  call void asm sideeffect "; use $0", "v"(i32 %v212)
479  call void asm sideeffect "; use $0", "v"(i32 %v213)
480  call void asm sideeffect "; use $0", "v"(i32 %v214)
481  call void asm sideeffect "; use $0", "v"(i32 %v215)
482  call void asm sideeffect "; use $0", "v"(i32 %v216)
483  call void asm sideeffect "; use $0", "v"(i32 %v217)
484  call void asm sideeffect "; use $0", "v"(i32 %v218)
485  call void asm sideeffect "; use $0", "v"(i32 %v219)
486  call void asm sideeffect "; use $0", "v"(i32 %v220)
487  call void asm sideeffect "; use $0", "v"(i32 %v221)
488  call void asm sideeffect "; use $0", "v"(i32 %v222)
489  call void asm sideeffect "; use $0", "v"(i32 %v223)
490  call void asm sideeffect "; use $0", "v"(i32 %v224)
491  call void asm sideeffect "; use $0", "v"(i32 %v225)
492  call void asm sideeffect "; use $0", "v"(i32 %v226)
493  call void asm sideeffect "; use $0", "v"(i32 %v227)
494  call void asm sideeffect "; use $0", "v"(i32 %v228)
495  call void asm sideeffect "; use $0", "v"(i32 %v229)
496  call void asm sideeffect "; use $0", "v"(i32 %v230)
497  call void asm sideeffect "; use $0", "v"(i32 %v231)
498  call void asm sideeffect "; use $0", "v"(i32 %v232)
499  call void asm sideeffect "; use $0", "v"(i32 %v233)
500  call void asm sideeffect "; use $0", "v"(i32 %v234)
501  call void asm sideeffect "; use $0", "v"(i32 %v235)
502  call void asm sideeffect "; use $0", "v"(i32 %v236)
503  call void asm sideeffect "; use $0", "v"(i32 %v237)
504  call void asm sideeffect "; use $0", "v"(i32 %v238)
505  call void asm sideeffect "; use $0", "v"(i32 %v239)
506  call void asm sideeffect "; use $0", "v"(i32 %v240)
507  call void asm sideeffect "; use $0", "v"(i32 %v241)
508  call void asm sideeffect "; use $0", "v"(i32 %v242)
509  call void asm sideeffect "; use $0", "v"(i32 %v243)
510  call void asm sideeffect "; use $0", "v"(i32 %v244)
511  call void asm sideeffect "; use $0", "v"(i32 %v245)
512  call void asm sideeffect "; use $0", "v"(i32 %v246)
513  call void asm sideeffect "; use $0", "v"(i32 %v247)
514  call void asm sideeffect "; use $0", "v"(i32 %v248)
515  call void asm sideeffect "; use $0", "v"(i32 %v249)
516  call void asm sideeffect "; use $0", "v"(i32 %v250)
517  call void asm sideeffect "; use $0", "v"(i32 %v251)
518  call void asm sideeffect "; use $0", "v"(i32 %v252)
519  call void asm sideeffect "; use $0", "v"(i32 %v253)
520  call void asm sideeffect "; use $0", "v"(i32 %v254)
521  call void asm sideeffect "; use $0", "v"(i32 %v255)
522  ret void
523}
524
525; GCN-LABEL: {{^}}f256:
526; GFX9: NumVgprs: 256
527; GFX10WGP-WAVE32: NumVgprs: 256
528; GFX10WGP-WAVE64: NumVgprs: 256
529; GFX10CU-WAVE32: NumVgprs: 256
530; GFX10CU-WAVE64: NumVgprs: 256
531define amdgpu_kernel void @f256() #256 {
532  call void @use256vgprs()
533  ret void
534}
535attributes #256 = { nounwind "amdgpu-flat-work-group-size"="256,256" }
536
537; GCN-LABEL: {{^}}f512:
538; GFX9: NumVgprs: 128
539; GFX10WGP-WAVE32: NumVgprs: 256
540; GFX10WGP-WAVE64: NumVgprs: 256
541; GFX10CU-WAVE32: NumVgprs: 128
542; GFX10CU-WAVE64: NumVgprs: 128
543define amdgpu_kernel void @f512() #512 {
544  call void @use256vgprs()
545  ret void
546}
547attributes #512 = { nounwind "amdgpu-flat-work-group-size"="512,512" }
548
549; GCN-LABEL: {{^}}f1024:
550; GFX9: NumVgprs: 64
551; GFX10WGP-WAVE32: NumVgprs: 128
552; GFX10WGP-WAVE64: NumVgprs: 128
553; GFX10CU-WAVE32: NumVgprs: 64
554; GFX10CU-WAVE64: NumVgprs: 64
555define amdgpu_kernel void @f1024() #1024 {
556  call void @use256vgprs()
557  ret void
558}
559attributes #1024 = { nounwind "amdgpu-flat-work-group-size"="1024,1024" }
560