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