brintos

brintos / llvm-project-archived public Read only

0
0
Text · 31.4 KiB · 52d28e5 Raw
595 lines · plain
1; -enable-misched=false makes the register usage more predictable2; -regalloc=fast just makes the test run faster3; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX94; RUN: llc -mtriple=amdgcn -mcpu=gfx90a -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX90A5; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE326; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE647; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE328; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE649; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11WGP-WAVE3210; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11WGP-WAVE6411; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11CU-WAVE3212; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11CU-WAVE6413 14define 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 void528}529 530; GCN-LABEL: {{^}}f256:531; GFX9: NumVgprs: 256532; GFX90A: NumVgprs: 256533; GFX90A: NumAgprs: 0534; GFX90A: TotalNumVgprs: 256535; GFX10WGP-WAVE32: NumVgprs: 256536; GFX10WGP-WAVE64: NumVgprs: 256537; GFX10CU-WAVE32: NumVgprs: 256538; GFX10CU-WAVE64: NumVgprs: 256539; GFX11WGP-WAVE32: NumVgprs: 256540; GFX11WGP-WAVE64: NumVgprs: 256541; GFX11CU-WAVE32: NumVgprs: 256542; GFX11CU-WAVE64: NumVgprs: 256543define amdgpu_kernel void @f256() #256 {544  call void @use256vgprs()545  ret void546}547attributes #256 = { nounwind "amdgpu-flat-work-group-size"="256,256" }548 549; GCN-LABEL: {{^}}f512:550; GFX9:             .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)551; GFX90A:           .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)552; GFX90A:           .set f512.num_agpr, max(128, amdgpu.max_num_agpr)553; GFX10WGP-WAVE32:  .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)554; GFX10WGP-WAVE64:  .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)555; GFX10CU-WAVE32:   .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)556; GFX10CU-WAVE64:   .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)557; GFX11WGP-WAVE32:  .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)558; GFX11WGP-WAVE64:  .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)559; GFX11CU-WAVE32:   .set f512.num_vgpr, max(192, amdgpu.max_num_vgpr)560; GFX11CU-WAVE64:   .set f512.num_vgpr, max(192, amdgpu.max_num_vgpr)561; GCN:              NumVgprs: f512.num_vgpr562; GFX90A:           NumAgprs: f512.num_agpr563; GFX90A:           TotalNumVgprs: totalnumvgprs(f512.num_agpr, f512.num_vgpr)564define amdgpu_kernel void @f512() #512 {565  call void @foo()566  call void @use256vgprs()567  ret void568}569attributes #512 = { nounwind "amdgpu-flat-work-group-size"="512,512" }570 571; GCN-LABEL: {{^}}f1024:572; GFX9:             .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)573; GFX90A:           .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)574; GFX90A:           .set f1024.num_agpr, max(64, amdgpu.max_num_agpr)575; GFX10WGP-WAVE32:  .set f1024.num_vgpr, max(128, amdgpu.max_num_vgpr)576; GFX10WGP-WAVE64:  .set f1024.num_vgpr, max(128, amdgpu.max_num_vgpr)577; GFX10CU-WAVE32:   .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)578; GFX10CU-WAVE64:   .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)579; GFX11WGP-WAVE32:  .set f1024.num_vgpr, max(192, amdgpu.max_num_vgpr)580; GFX11WGP-WAVE64:  .set f1024.num_vgpr, max(192, amdgpu.max_num_vgpr)581; GFX11CU-WAVE32:   .set f1024.num_vgpr, max(96, amdgpu.max_num_vgpr)582; GFX11CU-WAVE64:   .set f1024.num_vgpr, max(96, amdgpu.max_num_vgpr)583; GCN:              NumVgprs: f1024.num_vgpr584; GFX90A:           NumAgprs: f1024.num_agpr585; GFX90A:           TotalNumVgprs: totalnumvgprs(f1024.num_agpr, f1024.num_vgpr)586define amdgpu_kernel void @f1024() #1024 {587  call void @foo()588  call void @use256vgprs()589  ret void590}591 592attributes #1024 = { nounwind "amdgpu-flat-work-group-size"="1024,1024" }593 594declare void @foo()595