1; -enable-misched=false makes the register usage more predictable 2; -regalloc=fast just makes the test run faster 3; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX9 4; RUN: llc -march=amdgcn -mcpu=gfx90a -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX90A 5; RUN: llc -march=amdgcn -mcpu=gfx1010 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE32 6; RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE64 7; RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE32 8; RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE64 9; RUN: llc -march=amdgcn -mcpu=gfx1100 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11WGP-WAVE32 10; RUN: llc -march=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11WGP-WAVE64 11; RUN: llc -march=amdgcn -mcpu=gfx1100 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11CU-WAVE32 12; RUN: llc -march=amdgcn -mcpu=gfx1100 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast < %s | FileCheck %s --check-prefixes=GCN,GFX11CU-WAVE64 13 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 void 528} 529 530; GCN-LABEL: {{^}}f256: 531; GFX9: NumVgprs: 256 532; GFX90A: NumVgprs: 256 533; GFX90A: NumAgprs: 0 534; GFX90A: TotalNumVgprs: 256 535; GFX10WGP-WAVE32: NumVgprs: 256 536; GFX10WGP-WAVE64: NumVgprs: 256 537; GFX10CU-WAVE32: NumVgprs: 256 538; GFX10CU-WAVE64: NumVgprs: 256 539; GFX11WGP-WAVE32: NumVgprs: 128 540; GFX11WGP-WAVE64: NumVgprs: 128 541; GFX11CU-WAVE32: NumVgprs: 128 542; GFX11CU-WAVE64: NumVgprs: 128 543define amdgpu_kernel void @f256() #256 { 544 call void @use256vgprs() 545 ret void 546} 547attributes #256 = { nounwind "amdgpu-flat-work-group-size"="256,256" } 548 549; GCN-LABEL: {{^}}f512: 550; GFX9: NumVgprs: 128 551; GFX90A: NumVgprs: 128 552; GFX90A: NumAgprs: 128 553; GFX90A: TotalNumVgprs: 256 554; GFX10WGP-WAVE32: NumVgprs: 256 555; GFX10WGP-WAVE64: NumVgprs: 256 556; GFX10CU-WAVE32: NumVgprs: 128 557; GFX10CU-WAVE64: NumVgprs: 128 558; GFX11WGP-WAVE32: NumVgprs: 128 559; GFX11WGP-WAVE64: NumVgprs: 128 560; GFX11CU-WAVE32: NumVgprs: 128 561; GFX11CU-WAVE64: NumVgprs: 128 562define amdgpu_kernel void @f512() #512 { 563 call void @foo() 564 call void @use256vgprs() 565 ret void 566} 567attributes #512 = { nounwind "amdgpu-flat-work-group-size"="512,512" } 568 569; GCN-LABEL: {{^}}f1024: 570; GFX9: NumVgprs: 64 571; GFX90A: NumAgprs: 64 572; GFX90A: TotalNumVgprs: 128 573; GFX10WGP-WAVE32: NumVgprs: 128 574; GFX10WGP-WAVE64: NumVgprs: 128 575; GFX10CU-WAVE32: NumVgprs: 64 576; GFX10CU-WAVE64: NumVgprs: 64 577; GFX11WGP-WAVE32: NumVgprs: 128 578; GFX11WGP-WAVE64: NumVgprs: 128 579; GFX11CU-WAVE32: NumVgprs: 64 580; GFX11CU-WAVE64: NumVgprs: 64 581define amdgpu_kernel void @f1024() #1024 { 582 call void @foo() 583 call void @use256vgprs() 584 ret void 585} 586 587attributes #1024 = { nounwind "amdgpu-flat-work-group-size"="1024,1024" } 588 589declare void @foo() 590