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