421 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -verify-machineinstrs -start-before=prologepilog %s -o - | FileCheck --check-prefix=GFX908 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx90a -verify-machineinstrs -start-before=prologepilog %s -o - | FileCheck --check-prefix=GFX90A %s4 5--- |6 7 define amdgpu_kernel void @test_spill() #0 {8 ; GFX908-LABEL: test_spill:9 ; GFX908: ; %bb.0:10 ; GFX908-NEXT: ; implicit-def: $agpr96_agpr97_agpr98_agpr99_agpr100_agpr101_agpr102_agpr103_agpr104_agpr105_agpr106_agpr107_agpr108_agpr109_agpr110_agpr11111 ; GFX908-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a9613 ; GFX908-NEXT: ; implicit-def: $vgpr014 ; GFX908-NEXT: ; implicit-def: $vgpr115 ; GFX908-NEXT: ; implicit-def: $vgpr216 ; GFX908-NEXT: ; implicit-def: $vgpr317 ; GFX908-NEXT: ; implicit-def: $vgpr418 ; GFX908-NEXT: ; implicit-def: $vgpr519 ; GFX908-NEXT: ; implicit-def: $vgpr620 ; GFX908-NEXT: ; implicit-def: $vgpr721 ; GFX908-NEXT: ; implicit-def: $vgpr822 ; GFX908-NEXT: ; implicit-def: $vgpr923 ; GFX908-NEXT: ; implicit-def: $vgpr1024 ; GFX908-NEXT: ; implicit-def: $vgpr1125 ; GFX908-NEXT: ; implicit-def: $vgpr1226 ; GFX908-NEXT: ; implicit-def: $vgpr1327 ; GFX908-NEXT: ; implicit-def: $vgpr1428 ; GFX908-NEXT: ; implicit-def: $vgpr1529 ; GFX908-NEXT: ; implicit-def: $vgpr1630 ; GFX908-NEXT: ; implicit-def: $vgpr1731 ; GFX908-NEXT: ; implicit-def: $vgpr1832 ; GFX908-NEXT: ; implicit-def: $vgpr1933 ; GFX908-NEXT: ; implicit-def: $vgpr2034 ; GFX908-NEXT: ; implicit-def: $vgpr2135 ; GFX908-NEXT: ; implicit-def: $vgpr2236 ; GFX908-NEXT: ; implicit-def: $vgpr2337 ; GFX908-NEXT: ; implicit-def: $vgpr2438 ; GFX908-NEXT: ; implicit-def: $vgpr2539 ; GFX908-NEXT: ; implicit-def: $vgpr2640 ; GFX908-NEXT: ; implicit-def: $vgpr2741 ; GFX908-NEXT: ; implicit-def: $vgpr2842 ; GFX908-NEXT: ; implicit-def: $vgpr2943 ; GFX908-NEXT: ; implicit-def: $vgpr3044 ; GFX908-NEXT: ; implicit-def: $vgpr3145 ; GFX908-NEXT: ; implicit-def: $vgpr3246 ; GFX908-NEXT: ; implicit-def: $vgpr3347 ; GFX908-NEXT: ; implicit-def: $vgpr3448 ; GFX908-NEXT: ; implicit-def: $vgpr3549 ; GFX908-NEXT: ; implicit-def: $vgpr3650 ; GFX908-NEXT: ; implicit-def: $vgpr3751 ; GFX908-NEXT: ; implicit-def: $vgpr3852 ; GFX908-NEXT: ; implicit-def: $vgpr3953 ; GFX908-NEXT: ; implicit-def: $vgpr4054 ; GFX908-NEXT: ; implicit-def: $vgpr4155 ; GFX908-NEXT: ; implicit-def: $vgpr4256 ; GFX908-NEXT: ; implicit-def: $vgpr4357 ; GFX908-NEXT: ; implicit-def: $vgpr4458 ; GFX908-NEXT: ; implicit-def: $vgpr4559 ; GFX908-NEXT: ; implicit-def: $vgpr4660 ; GFX908-NEXT: ; implicit-def: $vgpr4761 ; GFX908-NEXT: ; implicit-def: $vgpr4862 ; GFX908-NEXT: ; implicit-def: $vgpr4963 ; GFX908-NEXT: ; implicit-def: $vgpr5064 ; GFX908-NEXT: ; implicit-def: $vgpr5165 ; GFX908-NEXT: ; implicit-def: $vgpr5266 ; GFX908-NEXT: ; implicit-def: $vgpr5367 ; GFX908-NEXT: ; implicit-def: $vgpr5468 ; GFX908-NEXT: ; implicit-def: $vgpr5569 ; GFX908-NEXT: ; implicit-def: $vgpr5670 ; GFX908-NEXT: ; implicit-def: $vgpr5771 ; GFX908-NEXT: ; implicit-def: $vgpr5872 ; GFX908-NEXT: ; implicit-def: $vgpr5973 ; GFX908-NEXT: ; implicit-def: $vgpr6074 ; GFX908-NEXT: ; implicit-def: $vgpr6175 ; GFX908-NEXT: s_nop 176 ; GFX908-NEXT: v_accvgpr_write_b32 a64, v6377 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a9778 ; GFX908-NEXT: s_nop 179 ; GFX908-NEXT: v_accvgpr_write_b32 a65, v6380 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a9881 ; GFX908-NEXT: s_nop 182 ; GFX908-NEXT: v_accvgpr_write_b32 a66, v6383 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a9984 ; GFX908-NEXT: s_nop 185 ; GFX908-NEXT: v_accvgpr_write_b32 a67, v6386 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a10087 ; GFX908-NEXT: s_nop 188 ; GFX908-NEXT: v_accvgpr_write_b32 a68, v6389 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a10190 ; GFX908-NEXT: s_nop 191 ; GFX908-NEXT: v_accvgpr_write_b32 a69, v6392 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a10293 ; GFX908-NEXT: s_nop 194 ; GFX908-NEXT: v_accvgpr_write_b32 a70, v6395 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a10396 ; GFX908-NEXT: s_nop 197 ; GFX908-NEXT: v_accvgpr_write_b32 a71, v6398 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a10499 ; GFX908-NEXT: s_nop 1100 ; GFX908-NEXT: v_accvgpr_write_b32 a72, v63101 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a105102 ; GFX908-NEXT: s_nop 1103 ; GFX908-NEXT: v_accvgpr_write_b32 a73, v63104 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a106105 ; GFX908-NEXT: s_nop 1106 ; GFX908-NEXT: v_accvgpr_write_b32 a74, v63107 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a107108 ; GFX908-NEXT: s_nop 1109 ; GFX908-NEXT: v_accvgpr_write_b32 a75, v63110 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a108111 ; GFX908-NEXT: s_nop 1112 ; GFX908-NEXT: v_accvgpr_write_b32 a76, v63113 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a109114 ; GFX908-NEXT: s_nop 1115 ; GFX908-NEXT: v_accvgpr_write_b32 a77, v63116 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a110117 ; GFX908-NEXT: s_nop 1118 ; GFX908-NEXT: v_accvgpr_write_b32 a78, v63119 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a111120 ; GFX908-NEXT: s_nop 1121 ; GFX908-NEXT: v_accvgpr_write_b32 a79, v63122 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a96 ; Reload Reuse123 ; GFX908-NEXT: v_accvgpr_read_b32 v62, a111 ; Reload Reuse124 ; GFX908-NEXT: s_nop 0125 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill126 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a97 ; Reload Reuse127 ; GFX908-NEXT: s_nop 1128 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill129 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a98 ; Reload Reuse130 ; GFX908-NEXT: s_nop 1131 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill132 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a99 ; Reload Reuse133 ; GFX908-NEXT: s_nop 1134 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill135 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a100 ; Reload Reuse136 ; GFX908-NEXT: s_nop 1137 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill138 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a101 ; Reload Reuse139 ; GFX908-NEXT: s_nop 1140 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill141 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a102 ; Reload Reuse142 ; GFX908-NEXT: s_nop 1143 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill144 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a103 ; Reload Reuse145 ; GFX908-NEXT: s_nop 1146 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill147 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a104 ; Reload Reuse148 ; GFX908-NEXT: s_nop 1149 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill150 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a105 ; Reload Reuse151 ; GFX908-NEXT: s_nop 1152 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill153 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a106 ; Reload Reuse154 ; GFX908-NEXT: s_nop 1155 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill156 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a107 ; Reload Reuse157 ; GFX908-NEXT: s_nop 1158 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill159 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a108 ; Reload Reuse160 ; GFX908-NEXT: s_nop 1161 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill162 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a109 ; Reload Reuse163 ; GFX908-NEXT: s_nop 1164 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill165 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a110 ; Reload Reuse166 ; GFX908-NEXT: s_nop 1167 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill168 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a96 ; Reload Reuse169 ; GFX908-NEXT: s_nop 1170 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill171 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a97 ; Reload Reuse172 ; GFX908-NEXT: s_nop 1173 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill174 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a98 ; Reload Reuse175 ; GFX908-NEXT: s_nop 1176 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill177 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a99 ; Reload Reuse178 ; GFX908-NEXT: s_nop 1179 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill180 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a100 ; Reload Reuse181 ; GFX908-NEXT: s_nop 1182 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill183 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a101 ; Reload Reuse184 ; GFX908-NEXT: s_nop 1185 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill186 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a102 ; Reload Reuse187 ; GFX908-NEXT: s_nop 1188 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill189 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a103 ; Reload Reuse190 ; GFX908-NEXT: s_nop 1191 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill192 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a104 ; Reload Reuse193 ; GFX908-NEXT: s_nop 1194 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill195 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a105 ; Reload Reuse196 ; GFX908-NEXT: s_nop 1197 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill198 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a106 ; Reload Reuse199 ; GFX908-NEXT: s_nop 1200 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill201 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a107 ; Reload Reuse202 ; GFX908-NEXT: s_nop 1203 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill204 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a108 ; Reload Reuse205 ; GFX908-NEXT: s_nop 1206 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill207 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a109 ; Reload Reuse208 ; GFX908-NEXT: s_nop 1209 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill210 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a110 ; Reload Reuse211 ; GFX908-NEXT: s_nop 1212 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill213 ; GFX908-NEXT: v_accvgpr_read_b32 v63, a111 ; Reload Reuse214 ; GFX908-NEXT: s_nop 1215 ; GFX908-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill216 ; GFX908-NEXT: s_nop 0217 ;218 ; GFX90A-LABEL: test_spill:219 ; GFX90A: ; %bb.0:220 ; GFX90A-NEXT: ; implicit-def: $agpr96_agpr97_agpr98_agpr99_agpr100_agpr101_agpr102_agpr103_agpr104_agpr105_agpr106_agpr107_agpr108_agpr109_agpr110_agpr111221 ; GFX90A-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)222 ; GFX90A-NEXT: v_accvgpr_mov_b32 a64, a96223 ; GFX90A-NEXT: v_accvgpr_mov_b32 a65, a97224 ; GFX90A-NEXT: v_accvgpr_mov_b32 a66, a98225 ; GFX90A-NEXT: v_accvgpr_mov_b32 a67, a99226 ; GFX90A-NEXT: v_accvgpr_mov_b32 a68, a100227 ; GFX90A-NEXT: v_accvgpr_mov_b32 a69, a101228 ; GFX90A-NEXT: v_accvgpr_mov_b32 a70, a102229 ; GFX90A-NEXT: v_accvgpr_mov_b32 a71, a103230 ; GFX90A-NEXT: v_accvgpr_mov_b32 a72, a104231 ; GFX90A-NEXT: v_accvgpr_mov_b32 a73, a105232 ; GFX90A-NEXT: v_accvgpr_mov_b32 a74, a106233 ; GFX90A-NEXT: v_accvgpr_mov_b32 a75, a107234 ; GFX90A-NEXT: v_accvgpr_mov_b32 a76, a108235 ; GFX90A-NEXT: v_accvgpr_mov_b32 a77, a109236 ; GFX90A-NEXT: v_accvgpr_mov_b32 a78, a110237 ; GFX90A-NEXT: v_accvgpr_mov_b32 a79, a111238 ; GFX90A-NEXT: v_accvgpr_read_b32 v77, a96 ; Reload Reuse239 ; GFX90A-NEXT: ; implicit-def: $vgpr0240 ; GFX90A-NEXT: ; implicit-def: $vgpr1241 ; GFX90A-NEXT: ; implicit-def: $vgpr2242 ; GFX90A-NEXT: ; implicit-def: $vgpr3243 ; GFX90A-NEXT: ; implicit-def: $vgpr4244 ; GFX90A-NEXT: ; implicit-def: $vgpr5245 ; GFX90A-NEXT: ; implicit-def: $vgpr6246 ; GFX90A-NEXT: ; implicit-def: $vgpr7247 ; GFX90A-NEXT: ; implicit-def: $vgpr8248 ; GFX90A-NEXT: ; implicit-def: $vgpr9249 ; GFX90A-NEXT: ; implicit-def: $vgpr10250 ; GFX90A-NEXT: ; implicit-def: $vgpr11251 ; GFX90A-NEXT: ; implicit-def: $vgpr12252 ; GFX90A-NEXT: ; implicit-def: $vgpr13253 ; GFX90A-NEXT: ; implicit-def: $vgpr14254 ; GFX90A-NEXT: ; implicit-def: $vgpr15255 ; GFX90A-NEXT: ; implicit-def: $vgpr16256 ; GFX90A-NEXT: ; implicit-def: $vgpr17257 ; GFX90A-NEXT: ; implicit-def: $vgpr18258 ; GFX90A-NEXT: ; implicit-def: $vgpr19259 ; GFX90A-NEXT: ; implicit-def: $vgpr20260 ; GFX90A-NEXT: ; implicit-def: $vgpr21261 ; GFX90A-NEXT: ; implicit-def: $vgpr22262 ; GFX90A-NEXT: ; implicit-def: $vgpr23263 ; GFX90A-NEXT: ; implicit-def: $vgpr24264 ; GFX90A-NEXT: ; implicit-def: $vgpr25265 ; GFX90A-NEXT: ; implicit-def: $vgpr26266 ; GFX90A-NEXT: ; implicit-def: $vgpr27267 ; GFX90A-NEXT: ; implicit-def: $vgpr28268 ; GFX90A-NEXT: ; implicit-def: $vgpr29269 ; GFX90A-NEXT: ; implicit-def: $vgpr30270 ; GFX90A-NEXT: ; implicit-def: $vgpr31271 ; GFX90A-NEXT: ; implicit-def: $vgpr32272 ; GFX90A-NEXT: ; implicit-def: $vgpr33273 ; GFX90A-NEXT: ; implicit-def: $vgpr34274 ; GFX90A-NEXT: ; implicit-def: $vgpr35275 ; GFX90A-NEXT: ; implicit-def: $vgpr36276 ; GFX90A-NEXT: ; implicit-def: $vgpr37277 ; GFX90A-NEXT: ; implicit-def: $vgpr38278 ; GFX90A-NEXT: ; implicit-def: $vgpr39279 ; GFX90A-NEXT: ; implicit-def: $vgpr40280 ; GFX90A-NEXT: ; implicit-def: $vgpr41281 ; GFX90A-NEXT: ; implicit-def: $vgpr42282 ; GFX90A-NEXT: ; implicit-def: $vgpr43283 ; GFX90A-NEXT: ; implicit-def: $vgpr44284 ; GFX90A-NEXT: ; implicit-def: $vgpr45285 ; GFX90A-NEXT: ; implicit-def: $vgpr46286 ; GFX90A-NEXT: ; implicit-def: $vgpr47287 ; GFX90A-NEXT: ; implicit-def: $vgpr48288 ; GFX90A-NEXT: ; implicit-def: $vgpr49289 ; GFX90A-NEXT: ; implicit-def: $vgpr50290 ; GFX90A-NEXT: ; implicit-def: $vgpr51291 ; GFX90A-NEXT: ; implicit-def: $vgpr52292 ; GFX90A-NEXT: ; implicit-def: $vgpr53293 ; GFX90A-NEXT: ; implicit-def: $vgpr54294 ; GFX90A-NEXT: ; implicit-def: $vgpr55295 ; GFX90A-NEXT: ; implicit-def: $vgpr56296 ; GFX90A-NEXT: ; implicit-def: $vgpr57297 ; GFX90A-NEXT: ; implicit-def: $vgpr58298 ; GFX90A-NEXT: ; implicit-def: $vgpr59299 ; GFX90A-NEXT: ; implicit-def: $vgpr60300 ; GFX90A-NEXT: ; implicit-def: $vgpr61301 ; GFX90A-NEXT: v_accvgpr_read_b32 v76, a97 ; Reload Reuse302 ; GFX90A-NEXT: v_accvgpr_read_b32 v75, a98 ; Reload Reuse303 ; GFX90A-NEXT: v_accvgpr_read_b32 v74, a99 ; Reload Reuse304 ; GFX90A-NEXT: v_accvgpr_read_b32 v73, a100 ; Reload Reuse305 ; GFX90A-NEXT: v_accvgpr_read_b32 v72, a101 ; Reload Reuse306 ; GFX90A-NEXT: v_accvgpr_read_b32 v71, a102 ; Reload Reuse307 ; GFX90A-NEXT: v_accvgpr_read_b32 v70, a103 ; Reload Reuse308 ; GFX90A-NEXT: v_accvgpr_read_b32 v69, a104 ; Reload Reuse309 ; GFX90A-NEXT: v_accvgpr_read_b32 v68, a105 ; Reload Reuse310 ; GFX90A-NEXT: v_accvgpr_read_b32 v67, a106 ; Reload Reuse311 ; GFX90A-NEXT: v_accvgpr_read_b32 v66, a107 ; Reload Reuse312 ; GFX90A-NEXT: v_accvgpr_read_b32 v65, a108 ; Reload Reuse313 ; GFX90A-NEXT: v_accvgpr_read_b32 v64, a109 ; Reload Reuse314 ; GFX90A-NEXT: v_accvgpr_read_b32 v63, a110 ; Reload Reuse315 ; GFX90A-NEXT: v_accvgpr_read_b32 v62, a111 ; Reload Reuse316 ; GFX90A-NEXT: v_accvgpr_read_b32 v93, a96 ; Reload Reuse317 ; GFX90A-NEXT: v_accvgpr_read_b32 v92, a97 ; Reload Reuse318 ; GFX90A-NEXT: v_accvgpr_read_b32 v91, a98 ; Reload Reuse319 ; GFX90A-NEXT: v_accvgpr_read_b32 v90, a99 ; Reload Reuse320 ; GFX90A-NEXT: v_accvgpr_read_b32 v89, a100 ; Reload Reuse321 ; GFX90A-NEXT: v_accvgpr_read_b32 v88, a101 ; Reload Reuse322 ; GFX90A-NEXT: v_accvgpr_read_b32 v87, a102 ; Reload Reuse323 ; GFX90A-NEXT: v_accvgpr_read_b32 v86, a103 ; Reload Reuse324 ; GFX90A-NEXT: v_accvgpr_read_b32 v85, a104 ; Reload Reuse325 ; GFX90A-NEXT: v_accvgpr_read_b32 v84, a105 ; Reload Reuse326 ; GFX90A-NEXT: v_accvgpr_read_b32 v83, a106 ; Reload Reuse327 ; GFX90A-NEXT: v_accvgpr_read_b32 v82, a107 ; Reload Reuse328 ; GFX90A-NEXT: v_accvgpr_read_b32 v81, a108 ; Reload Reuse329 ; GFX90A-NEXT: v_accvgpr_read_b32 v80, a109 ; Reload Reuse330 ; GFX90A-NEXT: v_accvgpr_read_b32 v79, a110 ; Reload Reuse331 ; GFX90A-NEXT: v_accvgpr_read_b32 v78, a111 ; Reload Reuse332 ; GFX90A-NEXT: s_nop 0333 ret void334 }335 336 attributes #0 = { "amdgpu-waves-per-eu"="4,4" "amdgpu-agpr-alloc"="0" }337 338...339---340name: test_spill341tracksRegLiveness: true342stack:343 - { id: 0, name: '', type: spill-slot, offset: 0, size: 64, alignment: 4 }344 - { id: 1, name: '', type: spill-slot, offset: 0, size: 64, alignment: 4 }345 346machineFunctionInfo:347 scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3348 stackPtrOffsetReg: '$sgpr32'349 hasSpilledVGPRs: true350body: |351 bb.0:352 $agpr96_agpr97_agpr98_agpr99_agpr100_agpr101_agpr102_agpr103_agpr104_agpr105_agpr106_agpr107_agpr108_agpr109_agpr110_agpr111 = IMPLICIT_DEF353 $vgpr0 = IMPLICIT_DEF354 $vgpr1 = IMPLICIT_DEF355 $vgpr2 = IMPLICIT_DEF356 $vgpr3 = IMPLICIT_DEF357 $vgpr4 = IMPLICIT_DEF358 $vgpr5 = IMPLICIT_DEF359 $vgpr6 = IMPLICIT_DEF360 $vgpr7 = IMPLICIT_DEF361 $vgpr8 = IMPLICIT_DEF362 $vgpr9 = IMPLICIT_DEF363 $vgpr10 = IMPLICIT_DEF364 $vgpr11 = IMPLICIT_DEF365 $vgpr12 = IMPLICIT_DEF366 $vgpr13 = IMPLICIT_DEF367 $vgpr14 = IMPLICIT_DEF368 $vgpr15 = IMPLICIT_DEF369 $vgpr16 = IMPLICIT_DEF370 $vgpr17 = IMPLICIT_DEF371 $vgpr18 = IMPLICIT_DEF372 $vgpr19 = IMPLICIT_DEF373 $vgpr20 = IMPLICIT_DEF374 $vgpr21 = IMPLICIT_DEF375 $vgpr22 = IMPLICIT_DEF376 $vgpr23 = IMPLICIT_DEF377 $vgpr24 = IMPLICIT_DEF378 $vgpr25 = IMPLICIT_DEF379 $vgpr26 = IMPLICIT_DEF380 $vgpr27 = IMPLICIT_DEF381 $vgpr28 = IMPLICIT_DEF382 $vgpr29 = IMPLICIT_DEF383 $vgpr30 = IMPLICIT_DEF384 $vgpr31 = IMPLICIT_DEF385 $vgpr32 = IMPLICIT_DEF386 $vgpr33 = IMPLICIT_DEF387 $vgpr34 = IMPLICIT_DEF388 $vgpr35 = IMPLICIT_DEF389 $vgpr36 = IMPLICIT_DEF390 $vgpr37 = IMPLICIT_DEF391 $vgpr38 = IMPLICIT_DEF392 $vgpr39 = IMPLICIT_DEF393 $vgpr40 = IMPLICIT_DEF394 $vgpr41 = IMPLICIT_DEF395 $vgpr42 = IMPLICIT_DEF396 $vgpr43 = IMPLICIT_DEF397 $vgpr44 = IMPLICIT_DEF398 $vgpr45 = IMPLICIT_DEF399 $vgpr46 = IMPLICIT_DEF400 $vgpr47 = IMPLICIT_DEF401 $vgpr48 = IMPLICIT_DEF402 $vgpr49 = IMPLICIT_DEF403 $vgpr50 = IMPLICIT_DEF404 $vgpr51 = IMPLICIT_DEF405 $vgpr52 = IMPLICIT_DEF406 $vgpr53 = IMPLICIT_DEF407 $vgpr54 = IMPLICIT_DEF408 $vgpr55 = IMPLICIT_DEF409 $vgpr56 = IMPLICIT_DEF410 $vgpr57 = IMPLICIT_DEF411 $vgpr58 = IMPLICIT_DEF412 $vgpr59 = IMPLICIT_DEF413 $vgpr60 = IMPLICIT_DEF414 $vgpr61 = IMPLICIT_DEF415 416 $agpr64_agpr65_agpr66_agpr67_agpr68_agpr69_agpr70_agpr71_agpr72_agpr73_agpr74_agpr75_agpr76_agpr77_agpr78_agpr79 = COPY $agpr96_agpr97_agpr98_agpr99_agpr100_agpr101_agpr102_agpr103_agpr104_agpr105_agpr106_agpr107_agpr108_agpr109_agpr110_agpr111, implicit $exec417 SI_SPILL_AV512_SAVE killed $agpr96_agpr97_agpr98_agpr99_agpr100_agpr101_agpr102_agpr103_agpr104_agpr105_agpr106_agpr107_agpr108_agpr109_agpr110_agpr111, %stack.0, $sgpr32, 0, implicit $exec :: (store (s512) into %stack.0, align 4, addrspace 5)418 SI_SPILL_AV512_SAVE $agpr96_agpr97_agpr98_agpr99_agpr100_agpr101_agpr102_agpr103_agpr104_agpr105_agpr106_agpr107_agpr108_agpr109_agpr110_agpr111, %stack.1, $sgpr32, 0, implicit $exec :: (store (s512) into %stack.0, align 4, addrspace 5)419 S_NOP 0, implicit $vgpr0, implicit $vgpr1, implicit $vgpr2, implicit $vgpr3, implicit $vgpr4, implicit $vgpr5, implicit $vgpr6, implicit $vgpr7, implicit $vgpr8, implicit $vgpr9, implicit $vgpr10, implicit $vgpr11, implicit $vgpr12, implicit $vgpr13, implicit $vgpr14, implicit $vgpr15, implicit $vgpr16, implicit $vgpr17, implicit $vgpr18, implicit $vgpr19, implicit $vgpr20, implicit $vgpr21, implicit $vgpr22, implicit $vgpr23, implicit $vgpr24, implicit $vgpr25, implicit $vgpr26, implicit $vgpr27, implicit $vgpr28, implicit $vgpr29, implicit $vgpr30, implicit $vgpr31, implicit $vgpr32, implicit $vgpr33, implicit $vgpr34, implicit $vgpr35, implicit $vgpr36, implicit $vgpr37, implicit $vgpr38, implicit $vgpr39, implicit $vgpr40, implicit $vgpr41, implicit $vgpr42, implicit $vgpr43, implicit $vgpr44, implicit $vgpr45, implicit $vgpr46, implicit $vgpr47, implicit $vgpr48, implicit $vgpr49, implicit $vgpr50, implicit $vgpr51, implicit $vgpr52, implicit $vgpr53, implicit $vgpr54, implicit $vgpr55, implicit $vgpr56, implicit $vgpr57, implicit $vgpr58, implicit $vgpr59, implicit $vgpr60, implicit $vgpr61420...421