Files
clang-p2996/llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
Janek van Oirschot c897c13dde [AMDGPU] Convert AMDGPUResourceUsageAnalysis pass from Module to MF pass (#102913)
Converts AMDGPUResourceUsageAnalysis pass from Module to MachineFunction
pass. Moves function resource info propagation to to MC layer (through
helpers in AMDGPUMCResourceInfo) by generating MCExprs for every
function resource which the emitters have been prepped for.

Fixes https://github.com/llvm/llvm-project/issues/64863
2024-09-30 11:43:34 +01:00

595 lines
32 KiB
LLVM

; -enable-misched=false makes the register usage more predictable
; -regalloc=fast just makes the test run faster
; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX9
; RUN: llc -mtriple=amdgcn -mcpu=gfx90a -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX90A
; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE32
; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX10WGP-WAVE64
; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE32
; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX10CU-WAVE64
; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX11WGP-WAVE32
; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX11WGP-WAVE64
; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+cumode -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX11CU-WAVE32
; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+cumode,+wavefrontsize64 -amdgpu-function-calls=false -enable-misched=false -sgpr-regalloc=fast -vgpr-regalloc=fast -verify-machineinstrs < %s | FileCheck %s --check-prefixes=GCN,GFX11CU-WAVE64
define internal void @use256vgprs() {
%v0 = call i32 asm sideeffect "; def $0", "=v"()
%v1 = call i32 asm sideeffect "; def $0", "=v"()
%v2 = call i32 asm sideeffect "; def $0", "=v"()
%v3 = call i32 asm sideeffect "; def $0", "=v"()
%v4 = call i32 asm sideeffect "; def $0", "=v"()
%v5 = call i32 asm sideeffect "; def $0", "=v"()
%v6 = call i32 asm sideeffect "; def $0", "=v"()
%v7 = call i32 asm sideeffect "; def $0", "=v"()
%v8 = call i32 asm sideeffect "; def $0", "=v"()
%v9 = call i32 asm sideeffect "; def $0", "=v"()
%v10 = call i32 asm sideeffect "; def $0", "=v"()
%v11 = call i32 asm sideeffect "; def $0", "=v"()
%v12 = call i32 asm sideeffect "; def $0", "=v"()
%v13 = call i32 asm sideeffect "; def $0", "=v"()
%v14 = call i32 asm sideeffect "; def $0", "=v"()
%v15 = call i32 asm sideeffect "; def $0", "=v"()
%v16 = call i32 asm sideeffect "; def $0", "=v"()
%v17 = call i32 asm sideeffect "; def $0", "=v"()
%v18 = call i32 asm sideeffect "; def $0", "=v"()
%v19 = call i32 asm sideeffect "; def $0", "=v"()
%v20 = call i32 asm sideeffect "; def $0", "=v"()
%v21 = call i32 asm sideeffect "; def $0", "=v"()
%v22 = call i32 asm sideeffect "; def $0", "=v"()
%v23 = call i32 asm sideeffect "; def $0", "=v"()
%v24 = call i32 asm sideeffect "; def $0", "=v"()
%v25 = call i32 asm sideeffect "; def $0", "=v"()
%v26 = call i32 asm sideeffect "; def $0", "=v"()
%v27 = call i32 asm sideeffect "; def $0", "=v"()
%v28 = call i32 asm sideeffect "; def $0", "=v"()
%v29 = call i32 asm sideeffect "; def $0", "=v"()
%v30 = call i32 asm sideeffect "; def $0", "=v"()
%v31 = call i32 asm sideeffect "; def $0", "=v"()
%v32 = call i32 asm sideeffect "; def $0", "=v"()
%v33 = call i32 asm sideeffect "; def $0", "=v"()
%v34 = call i32 asm sideeffect "; def $0", "=v"()
%v35 = call i32 asm sideeffect "; def $0", "=v"()
%v36 = call i32 asm sideeffect "; def $0", "=v"()
%v37 = call i32 asm sideeffect "; def $0", "=v"()
%v38 = call i32 asm sideeffect "; def $0", "=v"()
%v39 = call i32 asm sideeffect "; def $0", "=v"()
%v40 = call i32 asm sideeffect "; def $0", "=v"()
%v41 = call i32 asm sideeffect "; def $0", "=v"()
%v42 = call i32 asm sideeffect "; def $0", "=v"()
%v43 = call i32 asm sideeffect "; def $0", "=v"()
%v44 = call i32 asm sideeffect "; def $0", "=v"()
%v45 = call i32 asm sideeffect "; def $0", "=v"()
%v46 = call i32 asm sideeffect "; def $0", "=v"()
%v47 = call i32 asm sideeffect "; def $0", "=v"()
%v48 = call i32 asm sideeffect "; def $0", "=v"()
%v49 = call i32 asm sideeffect "; def $0", "=v"()
%v50 = call i32 asm sideeffect "; def $0", "=v"()
%v51 = call i32 asm sideeffect "; def $0", "=v"()
%v52 = call i32 asm sideeffect "; def $0", "=v"()
%v53 = call i32 asm sideeffect "; def $0", "=v"()
%v54 = call i32 asm sideeffect "; def $0", "=v"()
%v55 = call i32 asm sideeffect "; def $0", "=v"()
%v56 = call i32 asm sideeffect "; def $0", "=v"()
%v57 = call i32 asm sideeffect "; def $0", "=v"()
%v58 = call i32 asm sideeffect "; def $0", "=v"()
%v59 = call i32 asm sideeffect "; def $0", "=v"()
%v60 = call i32 asm sideeffect "; def $0", "=v"()
%v61 = call i32 asm sideeffect "; def $0", "=v"()
%v62 = call i32 asm sideeffect "; def $0", "=v"()
%v63 = call i32 asm sideeffect "; def $0", "=v"()
%v64 = call i32 asm sideeffect "; def $0", "=v"()
%v65 = call i32 asm sideeffect "; def $0", "=v"()
%v66 = call i32 asm sideeffect "; def $0", "=v"()
%v67 = call i32 asm sideeffect "; def $0", "=v"()
%v68 = call i32 asm sideeffect "; def $0", "=v"()
%v69 = call i32 asm sideeffect "; def $0", "=v"()
%v70 = call i32 asm sideeffect "; def $0", "=v"()
%v71 = call i32 asm sideeffect "; def $0", "=v"()
%v72 = call i32 asm sideeffect "; def $0", "=v"()
%v73 = call i32 asm sideeffect "; def $0", "=v"()
%v74 = call i32 asm sideeffect "; def $0", "=v"()
%v75 = call i32 asm sideeffect "; def $0", "=v"()
%v76 = call i32 asm sideeffect "; def $0", "=v"()
%v77 = call i32 asm sideeffect "; def $0", "=v"()
%v78 = call i32 asm sideeffect "; def $0", "=v"()
%v79 = call i32 asm sideeffect "; def $0", "=v"()
%v80 = call i32 asm sideeffect "; def $0", "=v"()
%v81 = call i32 asm sideeffect "; def $0", "=v"()
%v82 = call i32 asm sideeffect "; def $0", "=v"()
%v83 = call i32 asm sideeffect "; def $0", "=v"()
%v84 = call i32 asm sideeffect "; def $0", "=v"()
%v85 = call i32 asm sideeffect "; def $0", "=v"()
%v86 = call i32 asm sideeffect "; def $0", "=v"()
%v87 = call i32 asm sideeffect "; def $0", "=v"()
%v88 = call i32 asm sideeffect "; def $0", "=v"()
%v89 = call i32 asm sideeffect "; def $0", "=v"()
%v90 = call i32 asm sideeffect "; def $0", "=v"()
%v91 = call i32 asm sideeffect "; def $0", "=v"()
%v92 = call i32 asm sideeffect "; def $0", "=v"()
%v93 = call i32 asm sideeffect "; def $0", "=v"()
%v94 = call i32 asm sideeffect "; def $0", "=v"()
%v95 = call i32 asm sideeffect "; def $0", "=v"()
%v96 = call i32 asm sideeffect "; def $0", "=v"()
%v97 = call i32 asm sideeffect "; def $0", "=v"()
%v98 = call i32 asm sideeffect "; def $0", "=v"()
%v99 = call i32 asm sideeffect "; def $0", "=v"()
%v100 = call i32 asm sideeffect "; def $0", "=v"()
%v101 = call i32 asm sideeffect "; def $0", "=v"()
%v102 = call i32 asm sideeffect "; def $0", "=v"()
%v103 = call i32 asm sideeffect "; def $0", "=v"()
%v104 = call i32 asm sideeffect "; def $0", "=v"()
%v105 = call i32 asm sideeffect "; def $0", "=v"()
%v106 = call i32 asm sideeffect "; def $0", "=v"()
%v107 = call i32 asm sideeffect "; def $0", "=v"()
%v108 = call i32 asm sideeffect "; def $0", "=v"()
%v109 = call i32 asm sideeffect "; def $0", "=v"()
%v110 = call i32 asm sideeffect "; def $0", "=v"()
%v111 = call i32 asm sideeffect "; def $0", "=v"()
%v112 = call i32 asm sideeffect "; def $0", "=v"()
%v113 = call i32 asm sideeffect "; def $0", "=v"()
%v114 = call i32 asm sideeffect "; def $0", "=v"()
%v115 = call i32 asm sideeffect "; def $0", "=v"()
%v116 = call i32 asm sideeffect "; def $0", "=v"()
%v117 = call i32 asm sideeffect "; def $0", "=v"()
%v118 = call i32 asm sideeffect "; def $0", "=v"()
%v119 = call i32 asm sideeffect "; def $0", "=v"()
%v120 = call i32 asm sideeffect "; def $0", "=v"()
%v121 = call i32 asm sideeffect "; def $0", "=v"()
%v122 = call i32 asm sideeffect "; def $0", "=v"()
%v123 = call i32 asm sideeffect "; def $0", "=v"()
%v124 = call i32 asm sideeffect "; def $0", "=v"()
%v125 = call i32 asm sideeffect "; def $0", "=v"()
%v126 = call i32 asm sideeffect "; def $0", "=v"()
%v127 = call i32 asm sideeffect "; def $0", "=v"()
%v128 = call i32 asm sideeffect "; def $0", "=v"()
%v129 = call i32 asm sideeffect "; def $0", "=v"()
%v130 = call i32 asm sideeffect "; def $0", "=v"()
%v131 = call i32 asm sideeffect "; def $0", "=v"()
%v132 = call i32 asm sideeffect "; def $0", "=v"()
%v133 = call i32 asm sideeffect "; def $0", "=v"()
%v134 = call i32 asm sideeffect "; def $0", "=v"()
%v135 = call i32 asm sideeffect "; def $0", "=v"()
%v136 = call i32 asm sideeffect "; def $0", "=v"()
%v137 = call i32 asm sideeffect "; def $0", "=v"()
%v138 = call i32 asm sideeffect "; def $0", "=v"()
%v139 = call i32 asm sideeffect "; def $0", "=v"()
%v140 = call i32 asm sideeffect "; def $0", "=v"()
%v141 = call i32 asm sideeffect "; def $0", "=v"()
%v142 = call i32 asm sideeffect "; def $0", "=v"()
%v143 = call i32 asm sideeffect "; def $0", "=v"()
%v144 = call i32 asm sideeffect "; def $0", "=v"()
%v145 = call i32 asm sideeffect "; def $0", "=v"()
%v146 = call i32 asm sideeffect "; def $0", "=v"()
%v147 = call i32 asm sideeffect "; def $0", "=v"()
%v148 = call i32 asm sideeffect "; def $0", "=v"()
%v149 = call i32 asm sideeffect "; def $0", "=v"()
%v150 = call i32 asm sideeffect "; def $0", "=v"()
%v151 = call i32 asm sideeffect "; def $0", "=v"()
%v152 = call i32 asm sideeffect "; def $0", "=v"()
%v153 = call i32 asm sideeffect "; def $0", "=v"()
%v154 = call i32 asm sideeffect "; def $0", "=v"()
%v155 = call i32 asm sideeffect "; def $0", "=v"()
%v156 = call i32 asm sideeffect "; def $0", "=v"()
%v157 = call i32 asm sideeffect "; def $0", "=v"()
%v158 = call i32 asm sideeffect "; def $0", "=v"()
%v159 = call i32 asm sideeffect "; def $0", "=v"()
%v160 = call i32 asm sideeffect "; def $0", "=v"()
%v161 = call i32 asm sideeffect "; def $0", "=v"()
%v162 = call i32 asm sideeffect "; def $0", "=v"()
%v163 = call i32 asm sideeffect "; def $0", "=v"()
%v164 = call i32 asm sideeffect "; def $0", "=v"()
%v165 = call i32 asm sideeffect "; def $0", "=v"()
%v166 = call i32 asm sideeffect "; def $0", "=v"()
%v167 = call i32 asm sideeffect "; def $0", "=v"()
%v168 = call i32 asm sideeffect "; def $0", "=v"()
%v169 = call i32 asm sideeffect "; def $0", "=v"()
%v170 = call i32 asm sideeffect "; def $0", "=v"()
%v171 = call i32 asm sideeffect "; def $0", "=v"()
%v172 = call i32 asm sideeffect "; def $0", "=v"()
%v173 = call i32 asm sideeffect "; def $0", "=v"()
%v174 = call i32 asm sideeffect "; def $0", "=v"()
%v175 = call i32 asm sideeffect "; def $0", "=v"()
%v176 = call i32 asm sideeffect "; def $0", "=v"()
%v177 = call i32 asm sideeffect "; def $0", "=v"()
%v178 = call i32 asm sideeffect "; def $0", "=v"()
%v179 = call i32 asm sideeffect "; def $0", "=v"()
%v180 = call i32 asm sideeffect "; def $0", "=v"()
%v181 = call i32 asm sideeffect "; def $0", "=v"()
%v182 = call i32 asm sideeffect "; def $0", "=v"()
%v183 = call i32 asm sideeffect "; def $0", "=v"()
%v184 = call i32 asm sideeffect "; def $0", "=v"()
%v185 = call i32 asm sideeffect "; def $0", "=v"()
%v186 = call i32 asm sideeffect "; def $0", "=v"()
%v187 = call i32 asm sideeffect "; def $0", "=v"()
%v188 = call i32 asm sideeffect "; def $0", "=v"()
%v189 = call i32 asm sideeffect "; def $0", "=v"()
%v190 = call i32 asm sideeffect "; def $0", "=v"()
%v191 = call i32 asm sideeffect "; def $0", "=v"()
%v192 = call i32 asm sideeffect "; def $0", "=v"()
%v193 = call i32 asm sideeffect "; def $0", "=v"()
%v194 = call i32 asm sideeffect "; def $0", "=v"()
%v195 = call i32 asm sideeffect "; def $0", "=v"()
%v196 = call i32 asm sideeffect "; def $0", "=v"()
%v197 = call i32 asm sideeffect "; def $0", "=v"()
%v198 = call i32 asm sideeffect "; def $0", "=v"()
%v199 = call i32 asm sideeffect "; def $0", "=v"()
%v200 = call i32 asm sideeffect "; def $0", "=v"()
%v201 = call i32 asm sideeffect "; def $0", "=v"()
%v202 = call i32 asm sideeffect "; def $0", "=v"()
%v203 = call i32 asm sideeffect "; def $0", "=v"()
%v204 = call i32 asm sideeffect "; def $0", "=v"()
%v205 = call i32 asm sideeffect "; def $0", "=v"()
%v206 = call i32 asm sideeffect "; def $0", "=v"()
%v207 = call i32 asm sideeffect "; def $0", "=v"()
%v208 = call i32 asm sideeffect "; def $0", "=v"()
%v209 = call i32 asm sideeffect "; def $0", "=v"()
%v210 = call i32 asm sideeffect "; def $0", "=v"()
%v211 = call i32 asm sideeffect "; def $0", "=v"()
%v212 = call i32 asm sideeffect "; def $0", "=v"()
%v213 = call i32 asm sideeffect "; def $0", "=v"()
%v214 = call i32 asm sideeffect "; def $0", "=v"()
%v215 = call i32 asm sideeffect "; def $0", "=v"()
%v216 = call i32 asm sideeffect "; def $0", "=v"()
%v217 = call i32 asm sideeffect "; def $0", "=v"()
%v218 = call i32 asm sideeffect "; def $0", "=v"()
%v219 = call i32 asm sideeffect "; def $0", "=v"()
%v220 = call i32 asm sideeffect "; def $0", "=v"()
%v221 = call i32 asm sideeffect "; def $0", "=v"()
%v222 = call i32 asm sideeffect "; def $0", "=v"()
%v223 = call i32 asm sideeffect "; def $0", "=v"()
%v224 = call i32 asm sideeffect "; def $0", "=v"()
%v225 = call i32 asm sideeffect "; def $0", "=v"()
%v226 = call i32 asm sideeffect "; def $0", "=v"()
%v227 = call i32 asm sideeffect "; def $0", "=v"()
%v228 = call i32 asm sideeffect "; def $0", "=v"()
%v229 = call i32 asm sideeffect "; def $0", "=v"()
%v230 = call i32 asm sideeffect "; def $0", "=v"()
%v231 = call i32 asm sideeffect "; def $0", "=v"()
%v232 = call i32 asm sideeffect "; def $0", "=v"()
%v233 = call i32 asm sideeffect "; def $0", "=v"()
%v234 = call i32 asm sideeffect "; def $0", "=v"()
%v235 = call i32 asm sideeffect "; def $0", "=v"()
%v236 = call i32 asm sideeffect "; def $0", "=v"()
%v237 = call i32 asm sideeffect "; def $0", "=v"()
%v238 = call i32 asm sideeffect "; def $0", "=v"()
%v239 = call i32 asm sideeffect "; def $0", "=v"()
%v240 = call i32 asm sideeffect "; def $0", "=v"()
%v241 = call i32 asm sideeffect "; def $0", "=v"()
%v242 = call i32 asm sideeffect "; def $0", "=v"()
%v243 = call i32 asm sideeffect "; def $0", "=v"()
%v244 = call i32 asm sideeffect "; def $0", "=v"()
%v245 = call i32 asm sideeffect "; def $0", "=v"()
%v246 = call i32 asm sideeffect "; def $0", "=v"()
%v247 = call i32 asm sideeffect "; def $0", "=v"()
%v248 = call i32 asm sideeffect "; def $0", "=v"()
%v249 = call i32 asm sideeffect "; def $0", "=v"()
%v250 = call i32 asm sideeffect "; def $0", "=v"()
%v251 = call i32 asm sideeffect "; def $0", "=v"()
%v252 = call i32 asm sideeffect "; def $0", "=v"()
%v253 = call i32 asm sideeffect "; def $0", "=v"()
%v254 = call i32 asm sideeffect "; def $0", "=v"()
%v255 = call i32 asm sideeffect "; def $0", "=v"()
call void asm sideeffect "; use $0", "v"(i32 %v0)
call void asm sideeffect "; use $0", "v"(i32 %v1)
call void asm sideeffect "; use $0", "v"(i32 %v2)
call void asm sideeffect "; use $0", "v"(i32 %v3)
call void asm sideeffect "; use $0", "v"(i32 %v4)
call void asm sideeffect "; use $0", "v"(i32 %v5)
call void asm sideeffect "; use $0", "v"(i32 %v6)
call void asm sideeffect "; use $0", "v"(i32 %v7)
call void asm sideeffect "; use $0", "v"(i32 %v8)
call void asm sideeffect "; use $0", "v"(i32 %v9)
call void asm sideeffect "; use $0", "v"(i32 %v10)
call void asm sideeffect "; use $0", "v"(i32 %v11)
call void asm sideeffect "; use $0", "v"(i32 %v12)
call void asm sideeffect "; use $0", "v"(i32 %v13)
call void asm sideeffect "; use $0", "v"(i32 %v14)
call void asm sideeffect "; use $0", "v"(i32 %v15)
call void asm sideeffect "; use $0", "v"(i32 %v16)
call void asm sideeffect "; use $0", "v"(i32 %v17)
call void asm sideeffect "; use $0", "v"(i32 %v18)
call void asm sideeffect "; use $0", "v"(i32 %v19)
call void asm sideeffect "; use $0", "v"(i32 %v20)
call void asm sideeffect "; use $0", "v"(i32 %v21)
call void asm sideeffect "; use $0", "v"(i32 %v22)
call void asm sideeffect "; use $0", "v"(i32 %v23)
call void asm sideeffect "; use $0", "v"(i32 %v24)
call void asm sideeffect "; use $0", "v"(i32 %v25)
call void asm sideeffect "; use $0", "v"(i32 %v26)
call void asm sideeffect "; use $0", "v"(i32 %v27)
call void asm sideeffect "; use $0", "v"(i32 %v28)
call void asm sideeffect "; use $0", "v"(i32 %v29)
call void asm sideeffect "; use $0", "v"(i32 %v30)
call void asm sideeffect "; use $0", "v"(i32 %v31)
call void asm sideeffect "; use $0", "v"(i32 %v32)
call void asm sideeffect "; use $0", "v"(i32 %v33)
call void asm sideeffect "; use $0", "v"(i32 %v34)
call void asm sideeffect "; use $0", "v"(i32 %v35)
call void asm sideeffect "; use $0", "v"(i32 %v36)
call void asm sideeffect "; use $0", "v"(i32 %v37)
call void asm sideeffect "; use $0", "v"(i32 %v38)
call void asm sideeffect "; use $0", "v"(i32 %v39)
call void asm sideeffect "; use $0", "v"(i32 %v40)
call void asm sideeffect "; use $0", "v"(i32 %v41)
call void asm sideeffect "; use $0", "v"(i32 %v42)
call void asm sideeffect "; use $0", "v"(i32 %v43)
call void asm sideeffect "; use $0", "v"(i32 %v44)
call void asm sideeffect "; use $0", "v"(i32 %v45)
call void asm sideeffect "; use $0", "v"(i32 %v46)
call void asm sideeffect "; use $0", "v"(i32 %v47)
call void asm sideeffect "; use $0", "v"(i32 %v48)
call void asm sideeffect "; use $0", "v"(i32 %v49)
call void asm sideeffect "; use $0", "v"(i32 %v50)
call void asm sideeffect "; use $0", "v"(i32 %v51)
call void asm sideeffect "; use $0", "v"(i32 %v52)
call void asm sideeffect "; use $0", "v"(i32 %v53)
call void asm sideeffect "; use $0", "v"(i32 %v54)
call void asm sideeffect "; use $0", "v"(i32 %v55)
call void asm sideeffect "; use $0", "v"(i32 %v56)
call void asm sideeffect "; use $0", "v"(i32 %v57)
call void asm sideeffect "; use $0", "v"(i32 %v58)
call void asm sideeffect "; use $0", "v"(i32 %v59)
call void asm sideeffect "; use $0", "v"(i32 %v60)
call void asm sideeffect "; use $0", "v"(i32 %v61)
call void asm sideeffect "; use $0", "v"(i32 %v62)
call void asm sideeffect "; use $0", "v"(i32 %v63)
call void asm sideeffect "; use $0", "v"(i32 %v64)
call void asm sideeffect "; use $0", "v"(i32 %v65)
call void asm sideeffect "; use $0", "v"(i32 %v66)
call void asm sideeffect "; use $0", "v"(i32 %v67)
call void asm sideeffect "; use $0", "v"(i32 %v68)
call void asm sideeffect "; use $0", "v"(i32 %v69)
call void asm sideeffect "; use $0", "v"(i32 %v70)
call void asm sideeffect "; use $0", "v"(i32 %v71)
call void asm sideeffect "; use $0", "v"(i32 %v72)
call void asm sideeffect "; use $0", "v"(i32 %v73)
call void asm sideeffect "; use $0", "v"(i32 %v74)
call void asm sideeffect "; use $0", "v"(i32 %v75)
call void asm sideeffect "; use $0", "v"(i32 %v76)
call void asm sideeffect "; use $0", "v"(i32 %v77)
call void asm sideeffect "; use $0", "v"(i32 %v78)
call void asm sideeffect "; use $0", "v"(i32 %v79)
call void asm sideeffect "; use $0", "v"(i32 %v80)
call void asm sideeffect "; use $0", "v"(i32 %v81)
call void asm sideeffect "; use $0", "v"(i32 %v82)
call void asm sideeffect "; use $0", "v"(i32 %v83)
call void asm sideeffect "; use $0", "v"(i32 %v84)
call void asm sideeffect "; use $0", "v"(i32 %v85)
call void asm sideeffect "; use $0", "v"(i32 %v86)
call void asm sideeffect "; use $0", "v"(i32 %v87)
call void asm sideeffect "; use $0", "v"(i32 %v88)
call void asm sideeffect "; use $0", "v"(i32 %v89)
call void asm sideeffect "; use $0", "v"(i32 %v90)
call void asm sideeffect "; use $0", "v"(i32 %v91)
call void asm sideeffect "; use $0", "v"(i32 %v92)
call void asm sideeffect "; use $0", "v"(i32 %v93)
call void asm sideeffect "; use $0", "v"(i32 %v94)
call void asm sideeffect "; use $0", "v"(i32 %v95)
call void asm sideeffect "; use $0", "v"(i32 %v96)
call void asm sideeffect "; use $0", "v"(i32 %v97)
call void asm sideeffect "; use $0", "v"(i32 %v98)
call void asm sideeffect "; use $0", "v"(i32 %v99)
call void asm sideeffect "; use $0", "v"(i32 %v100)
call void asm sideeffect "; use $0", "v"(i32 %v101)
call void asm sideeffect "; use $0", "v"(i32 %v102)
call void asm sideeffect "; use $0", "v"(i32 %v103)
call void asm sideeffect "; use $0", "v"(i32 %v104)
call void asm sideeffect "; use $0", "v"(i32 %v105)
call void asm sideeffect "; use $0", "v"(i32 %v106)
call void asm sideeffect "; use $0", "v"(i32 %v107)
call void asm sideeffect "; use $0", "v"(i32 %v108)
call void asm sideeffect "; use $0", "v"(i32 %v109)
call void asm sideeffect "; use $0", "v"(i32 %v110)
call void asm sideeffect "; use $0", "v"(i32 %v111)
call void asm sideeffect "; use $0", "v"(i32 %v112)
call void asm sideeffect "; use $0", "v"(i32 %v113)
call void asm sideeffect "; use $0", "v"(i32 %v114)
call void asm sideeffect "; use $0", "v"(i32 %v115)
call void asm sideeffect "; use $0", "v"(i32 %v116)
call void asm sideeffect "; use $0", "v"(i32 %v117)
call void asm sideeffect "; use $0", "v"(i32 %v118)
call void asm sideeffect "; use $0", "v"(i32 %v119)
call void asm sideeffect "; use $0", "v"(i32 %v120)
call void asm sideeffect "; use $0", "v"(i32 %v121)
call void asm sideeffect "; use $0", "v"(i32 %v122)
call void asm sideeffect "; use $0", "v"(i32 %v123)
call void asm sideeffect "; use $0", "v"(i32 %v124)
call void asm sideeffect "; use $0", "v"(i32 %v125)
call void asm sideeffect "; use $0", "v"(i32 %v126)
call void asm sideeffect "; use $0", "v"(i32 %v127)
call void asm sideeffect "; use $0", "v"(i32 %v128)
call void asm sideeffect "; use $0", "v"(i32 %v129)
call void asm sideeffect "; use $0", "v"(i32 %v130)
call void asm sideeffect "; use $0", "v"(i32 %v131)
call void asm sideeffect "; use $0", "v"(i32 %v132)
call void asm sideeffect "; use $0", "v"(i32 %v133)
call void asm sideeffect "; use $0", "v"(i32 %v134)
call void asm sideeffect "; use $0", "v"(i32 %v135)
call void asm sideeffect "; use $0", "v"(i32 %v136)
call void asm sideeffect "; use $0", "v"(i32 %v137)
call void asm sideeffect "; use $0", "v"(i32 %v138)
call void asm sideeffect "; use $0", "v"(i32 %v139)
call void asm sideeffect "; use $0", "v"(i32 %v140)
call void asm sideeffect "; use $0", "v"(i32 %v141)
call void asm sideeffect "; use $0", "v"(i32 %v142)
call void asm sideeffect "; use $0", "v"(i32 %v143)
call void asm sideeffect "; use $0", "v"(i32 %v144)
call void asm sideeffect "; use $0", "v"(i32 %v145)
call void asm sideeffect "; use $0", "v"(i32 %v146)
call void asm sideeffect "; use $0", "v"(i32 %v147)
call void asm sideeffect "; use $0", "v"(i32 %v148)
call void asm sideeffect "; use $0", "v"(i32 %v149)
call void asm sideeffect "; use $0", "v"(i32 %v150)
call void asm sideeffect "; use $0", "v"(i32 %v151)
call void asm sideeffect "; use $0", "v"(i32 %v152)
call void asm sideeffect "; use $0", "v"(i32 %v153)
call void asm sideeffect "; use $0", "v"(i32 %v154)
call void asm sideeffect "; use $0", "v"(i32 %v155)
call void asm sideeffect "; use $0", "v"(i32 %v156)
call void asm sideeffect "; use $0", "v"(i32 %v157)
call void asm sideeffect "; use $0", "v"(i32 %v158)
call void asm sideeffect "; use $0", "v"(i32 %v159)
call void asm sideeffect "; use $0", "v"(i32 %v160)
call void asm sideeffect "; use $0", "v"(i32 %v161)
call void asm sideeffect "; use $0", "v"(i32 %v162)
call void asm sideeffect "; use $0", "v"(i32 %v163)
call void asm sideeffect "; use $0", "v"(i32 %v164)
call void asm sideeffect "; use $0", "v"(i32 %v165)
call void asm sideeffect "; use $0", "v"(i32 %v166)
call void asm sideeffect "; use $0", "v"(i32 %v167)
call void asm sideeffect "; use $0", "v"(i32 %v168)
call void asm sideeffect "; use $0", "v"(i32 %v169)
call void asm sideeffect "; use $0", "v"(i32 %v170)
call void asm sideeffect "; use $0", "v"(i32 %v171)
call void asm sideeffect "; use $0", "v"(i32 %v172)
call void asm sideeffect "; use $0", "v"(i32 %v173)
call void asm sideeffect "; use $0", "v"(i32 %v174)
call void asm sideeffect "; use $0", "v"(i32 %v175)
call void asm sideeffect "; use $0", "v"(i32 %v176)
call void asm sideeffect "; use $0", "v"(i32 %v177)
call void asm sideeffect "; use $0", "v"(i32 %v178)
call void asm sideeffect "; use $0", "v"(i32 %v179)
call void asm sideeffect "; use $0", "v"(i32 %v180)
call void asm sideeffect "; use $0", "v"(i32 %v181)
call void asm sideeffect "; use $0", "v"(i32 %v182)
call void asm sideeffect "; use $0", "v"(i32 %v183)
call void asm sideeffect "; use $0", "v"(i32 %v184)
call void asm sideeffect "; use $0", "v"(i32 %v185)
call void asm sideeffect "; use $0", "v"(i32 %v186)
call void asm sideeffect "; use $0", "v"(i32 %v187)
call void asm sideeffect "; use $0", "v"(i32 %v188)
call void asm sideeffect "; use $0", "v"(i32 %v189)
call void asm sideeffect "; use $0", "v"(i32 %v190)
call void asm sideeffect "; use $0", "v"(i32 %v191)
call void asm sideeffect "; use $0", "v"(i32 %v192)
call void asm sideeffect "; use $0", "v"(i32 %v193)
call void asm sideeffect "; use $0", "v"(i32 %v194)
call void asm sideeffect "; use $0", "v"(i32 %v195)
call void asm sideeffect "; use $0", "v"(i32 %v196)
call void asm sideeffect "; use $0", "v"(i32 %v197)
call void asm sideeffect "; use $0", "v"(i32 %v198)
call void asm sideeffect "; use $0", "v"(i32 %v199)
call void asm sideeffect "; use $0", "v"(i32 %v200)
call void asm sideeffect "; use $0", "v"(i32 %v201)
call void asm sideeffect "; use $0", "v"(i32 %v202)
call void asm sideeffect "; use $0", "v"(i32 %v203)
call void asm sideeffect "; use $0", "v"(i32 %v204)
call void asm sideeffect "; use $0", "v"(i32 %v205)
call void asm sideeffect "; use $0", "v"(i32 %v206)
call void asm sideeffect "; use $0", "v"(i32 %v207)
call void asm sideeffect "; use $0", "v"(i32 %v208)
call void asm sideeffect "; use $0", "v"(i32 %v209)
call void asm sideeffect "; use $0", "v"(i32 %v210)
call void asm sideeffect "; use $0", "v"(i32 %v211)
call void asm sideeffect "; use $0", "v"(i32 %v212)
call void asm sideeffect "; use $0", "v"(i32 %v213)
call void asm sideeffect "; use $0", "v"(i32 %v214)
call void asm sideeffect "; use $0", "v"(i32 %v215)
call void asm sideeffect "; use $0", "v"(i32 %v216)
call void asm sideeffect "; use $0", "v"(i32 %v217)
call void asm sideeffect "; use $0", "v"(i32 %v218)
call void asm sideeffect "; use $0", "v"(i32 %v219)
call void asm sideeffect "; use $0", "v"(i32 %v220)
call void asm sideeffect "; use $0", "v"(i32 %v221)
call void asm sideeffect "; use $0", "v"(i32 %v222)
call void asm sideeffect "; use $0", "v"(i32 %v223)
call void asm sideeffect "; use $0", "v"(i32 %v224)
call void asm sideeffect "; use $0", "v"(i32 %v225)
call void asm sideeffect "; use $0", "v"(i32 %v226)
call void asm sideeffect "; use $0", "v"(i32 %v227)
call void asm sideeffect "; use $0", "v"(i32 %v228)
call void asm sideeffect "; use $0", "v"(i32 %v229)
call void asm sideeffect "; use $0", "v"(i32 %v230)
call void asm sideeffect "; use $0", "v"(i32 %v231)
call void asm sideeffect "; use $0", "v"(i32 %v232)
call void asm sideeffect "; use $0", "v"(i32 %v233)
call void asm sideeffect "; use $0", "v"(i32 %v234)
call void asm sideeffect "; use $0", "v"(i32 %v235)
call void asm sideeffect "; use $0", "v"(i32 %v236)
call void asm sideeffect "; use $0", "v"(i32 %v237)
call void asm sideeffect "; use $0", "v"(i32 %v238)
call void asm sideeffect "; use $0", "v"(i32 %v239)
call void asm sideeffect "; use $0", "v"(i32 %v240)
call void asm sideeffect "; use $0", "v"(i32 %v241)
call void asm sideeffect "; use $0", "v"(i32 %v242)
call void asm sideeffect "; use $0", "v"(i32 %v243)
call void asm sideeffect "; use $0", "v"(i32 %v244)
call void asm sideeffect "; use $0", "v"(i32 %v245)
call void asm sideeffect "; use $0", "v"(i32 %v246)
call void asm sideeffect "; use $0", "v"(i32 %v247)
call void asm sideeffect "; use $0", "v"(i32 %v248)
call void asm sideeffect "; use $0", "v"(i32 %v249)
call void asm sideeffect "; use $0", "v"(i32 %v250)
call void asm sideeffect "; use $0", "v"(i32 %v251)
call void asm sideeffect "; use $0", "v"(i32 %v252)
call void asm sideeffect "; use $0", "v"(i32 %v253)
call void asm sideeffect "; use $0", "v"(i32 %v254)
call void asm sideeffect "; use $0", "v"(i32 %v255)
ret void
}
; GCN-LABEL: {{^}}f256:
; GFX9: NumVgprs: 256
; GFX90A: NumVgprs: 256
; GFX90A: NumAgprs: 0
; GFX90A: TotalNumVgprs: 256
; GFX10WGP-WAVE32: NumVgprs: 256
; GFX10WGP-WAVE64: NumVgprs: 256
; GFX10CU-WAVE32: NumVgprs: 256
; GFX10CU-WAVE64: NumVgprs: 256
; GFX11WGP-WAVE32: NumVgprs: 256
; GFX11WGP-WAVE64: NumVgprs: 256
; GFX11CU-WAVE32: NumVgprs: 256
; GFX11CU-WAVE64: NumVgprs: 256
define amdgpu_kernel void @f256() #256 {
call void @use256vgprs()
ret void
}
attributes #256 = { nounwind "amdgpu-flat-work-group-size"="256,256" }
; GCN-LABEL: {{^}}f512:
; GFX9: .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)
; GFX90A: .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)
; GFX90A: .set f512.num_agpr, max(128, amdgpu.max_num_agpr)
; GFX10WGP-WAVE32: .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)
; GFX10WGP-WAVE64: .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)
; GFX10CU-WAVE32: .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)
; GFX10CU-WAVE64: .set f512.num_vgpr, max(128, amdgpu.max_num_vgpr)
; GFX11WGP-WAVE32: .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)
; GFX11WGP-WAVE64: .set f512.num_vgpr, max(256, amdgpu.max_num_vgpr)
; GFX11CU-WAVE32: .set f512.num_vgpr, max(192, amdgpu.max_num_vgpr)
; GFX11CU-WAVE64: .set f512.num_vgpr, max(192, amdgpu.max_num_vgpr)
; GCN: NumVgprs: f512.num_vgpr
; GFX90A: NumAgprs: f512.num_agpr
; GFX90A: TotalNumVgprs: totalnumvgprs(f512.num_agpr, f512.num_vgpr)
define amdgpu_kernel void @f512() #512 {
call void @foo()
call void @use256vgprs()
ret void
}
attributes #512 = { nounwind "amdgpu-flat-work-group-size"="512,512" }
; GCN-LABEL: {{^}}f1024:
; GFX9: .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)
; GFX90A: .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)
; GFX90A: .set f1024.num_agpr, max(64, amdgpu.max_num_agpr)
; GFX10WGP-WAVE32: .set f1024.num_vgpr, max(128, amdgpu.max_num_vgpr)
; GFX10WGP-WAVE64: .set f1024.num_vgpr, max(128, amdgpu.max_num_vgpr)
; GFX10CU-WAVE32: .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)
; GFX10CU-WAVE64: .set f1024.num_vgpr, max(64, amdgpu.max_num_vgpr)
; GFX11WGP-WAVE32: .set f1024.num_vgpr, max(192, amdgpu.max_num_vgpr)
; GFX11WGP-WAVE64: .set f1024.num_vgpr, max(192, amdgpu.max_num_vgpr)
; GFX11CU-WAVE32: .set f1024.num_vgpr, max(96, amdgpu.max_num_vgpr)
; GFX11CU-WAVE64: .set f1024.num_vgpr, max(96, amdgpu.max_num_vgpr)
; GCN: NumVgprs: f1024.num_vgpr
; GFX90A: NumAgprs: f1024.num_agpr
; GFX90A: TotalNumVgprs: totalnumvgprs(f1024.num_agpr, f1024.num_vgpr)
define amdgpu_kernel void @f1024() #1024 {
call void @foo()
call void @use256vgprs()
ret void
}
attributes #1024 = { nounwind "amdgpu-flat-work-group-size"="1024,1024" }
declare void @foo()