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