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)
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()
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 {
564 call void @use256vgprs()
567 attributes #512 = { nounwind "amdgpu-flat-work-group-size"="512,512" }
569 ; GCN-LABEL: {{^}}f1024:
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 {
583 call void @use256vgprs()
587 attributes #1024 = { nounwind "amdgpu-flat-work-group-size"="1024,1024" }