In a kernel which does not have calls or AGPR usage we can allocate the whole vector register budget for VGPRs and have no AGPRs as long as VGPRs stay addressable (i.e. below 256). Differential Revision: https://reviews.llvm.org/D111764
701 lines
32 KiB
LLVM
701 lines
32 KiB
LLVM
; -enable-misched=false makes the register usage more predictable
|
|
; -regalloc=fast just makes the test run faster
|
|
; 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
|
|
|
|
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
|
|
}
|
|
|
|
define internal void @use512vgprs() {
|
|
%v0 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v1 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v2 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v3 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v4 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v5 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v6 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
%v7 = call <32 x i32> asm sideeffect "; def $0", "=v"()
|
|
call void @use256vgprs()
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v0)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v1)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v2)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v3)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v4)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v5)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v6)
|
|
call void asm sideeffect "; use $0", "v"(<32 x i32> %v7)
|
|
ret void
|
|
}
|
|
|
|
define void @foo() #0 {
|
|
ret void
|
|
}
|
|
|
|
attributes #0 = { noinline }
|
|
|
|
; GCN-LABEL: {{^}}k256_w8:
|
|
; GFX90A: NumVgprs: 32
|
|
; GFX90A: NumAgprs: 32
|
|
; GFX90A: TotalNumVgprs: 64
|
|
define amdgpu_kernel void @k256_w8() #2568 {
|
|
call void @foo()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k256_w8_no_agprs:
|
|
; GFX90A: NumVgprs: 64
|
|
; GFX90A: NumAgprs: 0
|
|
; GFX90A: TotalNumVgprs: 64
|
|
define amdgpu_kernel void @k256_w8_no_agprs() #2568 {
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
attributes #2568 = { nounwind "amdgpu-flat-work-group-size"="256,256" "amdgpu-waves-per-eu"="8" }
|
|
|
|
; GCN-LABEL: {{^}}k256_w4:
|
|
; GFX90A: NumVgprs: 64
|
|
; GFX90A: NumAgprs: 64
|
|
; GFX90A: TotalNumVgprs: 128
|
|
define amdgpu_kernel void @k256_w4() #2564 {
|
|
call void @foo()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k256_w4_no_agprs:
|
|
; GFX90A: NumVgprs: 128
|
|
; GFX90A: NumAgprs: 0
|
|
; GFX90A: TotalNumVgprs: 128
|
|
define amdgpu_kernel void @k256_w4_no_agprs() #2564 {
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
attributes #2564 = { nounwind "amdgpu-flat-work-group-size"="256,256" "amdgpu-waves-per-eu"="4" }
|
|
|
|
; GCN-LABEL: {{^}}k256_w2:
|
|
; GFX90A: NumVgprs: 128
|
|
; GFX90A: NumAgprs: 128
|
|
; GFX90A: TotalNumVgprs: 256
|
|
define amdgpu_kernel void @k256_w2() #2562 {
|
|
call void @foo()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k256_w2_no_agprs:
|
|
; GFX90A: NumVgprs: 256
|
|
; GFX90A: NumAgprs: 0
|
|
; GFX90A: TotalNumVgprs: 256
|
|
define amdgpu_kernel void @k256_w2_no_agprs() #2562 {
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
attributes #2562 = { nounwind "amdgpu-flat-work-group-size"="256,256" "amdgpu-waves-per-eu"="2" }
|
|
|
|
; GCN-LABEL: {{^}}k256_w1:
|
|
; GFX90A: NumVgprs: 256
|
|
; GFX90A: NumAgprs: 256
|
|
; GFX90A: TotalNumVgprs: 512
|
|
define amdgpu_kernel void @k256_w1() #2561 {
|
|
call void @foo()
|
|
call void @use512vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k256_w1_no_agprs:
|
|
; GFX90A: NumVgprs: 256
|
|
; GFX90A: NumAgprs: 256
|
|
; GFX90A: TotalNumVgprs: 512
|
|
define amdgpu_kernel void @k256_w1_no_agprs() #2561 {
|
|
call void @use512vgprs()
|
|
ret void
|
|
}
|
|
|
|
attributes #2561 = { nounwind "amdgpu-flat-work-group-size"="256,256" "amdgpu-waves-per-eu"="1" }
|
|
|
|
; GCN-LABEL: {{^}}k512_no_agprs:
|
|
; GFX90A: NumVgprs: 256
|
|
; GFX90A: NumAgprs: 0
|
|
; GFX90A: TotalNumVgprs: 256
|
|
define amdgpu_kernel void @k512_no_agprs() #512 {
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k512_call:
|
|
; GFX90A: NumVgprs: 128
|
|
; GFX90A: NumAgprs: 128
|
|
; GFX90A: TotalNumVgprs: 256
|
|
define amdgpu_kernel void @k512_call() #512 {
|
|
call void @foo()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k512_virtual_agpr:
|
|
; GFX90A: NumVgprs: 128
|
|
; GFX90A: NumAgprs: 128
|
|
; GFX90A: TotalNumVgprs: 256
|
|
define amdgpu_kernel void @k512_virtual_agpr() #512 {
|
|
%a0 = call i32 asm sideeffect "; def $0", "=a"()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k512_physical_agpr:
|
|
; GFX90A: NumVgprs: 128
|
|
; GFX90A: NumAgprs: 128
|
|
; GFX90A: TotalNumVgprs: 256
|
|
define amdgpu_kernel void @k512_physical_agpr() #512 {
|
|
call void asm sideeffect "", "~{a8}" ()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}f512:
|
|
; GFX90A: NumVgprs: 12{{[0-9]}}
|
|
; GFX90A: NumAgprs: {{[1-9]}}
|
|
define void @f512() #512 {
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
attributes #512 = { nounwind "amdgpu-flat-work-group-size"="512,512" }
|
|
|
|
; GCN-LABEL: {{^}}k1024:
|
|
; GFX90A: NumVgprs: 128
|
|
; GFX90A: NumAgprs: 0
|
|
; GFX90A: TotalNumVgprs: 128
|
|
define amdgpu_kernel void @k1024() #1024 {
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
; GCN-LABEL: {{^}}k1024_call:
|
|
; GFX90A: NumVgprs: 64
|
|
; GFX90A: NumAgprs: 64
|
|
; GFX90A: TotalNumVgprs: 128
|
|
define amdgpu_kernel void @k1024_call() #1024 {
|
|
call void @foo()
|
|
call void @use256vgprs()
|
|
ret void
|
|
}
|
|
|
|
attributes #1024 = { nounwind "amdgpu-flat-work-group-size"="1024,1024" }
|