Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / spill-agpr.mir
blobd6127e50104c7d7c46273c85976cf528c1c5b00b
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regallocfast -o - %s | FileCheck -check-prefix=GFX908-SPILLED %s
3 # RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regallocfast,prologepilog -o - %s | FileCheck -check-prefix=GFX908-EXPANDED %s
4 # RUN: llc -mtriple=amdgcn -mcpu=gfx90a -run-pass=regallocfast -o - %s | FileCheck -check-prefix=GFX90A-SPILLED %s
5 # RUN: llc -mtriple=amdgcn -mcpu=gfx90a -run-pass=regallocfast,prologepilog -o - %s | FileCheck -check-prefix=GFX90A-EXPANDED %s
7 ---
8 name: spill_restore_agpr32
9 tracksRegLiveness: true
10 machineFunctionInfo:
11   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
12   stackPtrOffsetReg: $sgpr32
13 body: |
14   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr32
15   ; GFX908-SPILLED: bb.0:
16   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
17   ; GFX908-SPILLED-NEXT: {{  $}}
18   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
19   ; GFX908-SPILLED-NEXT:   SI_SPILL_A32_SAVE killed $agpr0, %stack.1, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.1, addrspace 5)
20   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
21   ; GFX908-SPILLED-NEXT:   SI_SPILL_A32_SAVE killed $agpr0, %stack.0, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
22   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
23   ; GFX908-SPILLED-NEXT: {{  $}}
24   ; GFX908-SPILLED-NEXT: bb.1:
25   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
26   ; GFX908-SPILLED-NEXT: {{  $}}
27   ; GFX908-SPILLED-NEXT:   S_NOP 1
28   ; GFX908-SPILLED-NEXT: {{  $}}
29   ; GFX908-SPILLED-NEXT: bb.2:
30   ; GFX908-SPILLED-NEXT:   $agpr0 = SI_SPILL_A32_RESTORE %stack.1, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.1, addrspace 5)
31   ; GFX908-SPILLED-NEXT:   $agpr1 = SI_SPILL_A32_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.0, addrspace 5)
32   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0, implicit killed renamable $agpr1
33   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr32
34   ; GFX908-EXPANDED: bb.0:
35   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
36   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
37   ; GFX908-EXPANDED-NEXT: {{  $}}
38   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
39   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec
40   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
41   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec
42   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
43   ; GFX908-EXPANDED-NEXT: {{  $}}
44   ; GFX908-EXPANDED-NEXT: bb.1:
45   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
46   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
47   ; GFX908-EXPANDED-NEXT: {{  $}}
48   ; GFX908-EXPANDED-NEXT:   S_NOP 1
49   ; GFX908-EXPANDED-NEXT: {{  $}}
50   ; GFX908-EXPANDED-NEXT: bb.2:
51   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
52   ; GFX908-EXPANDED-NEXT: {{  $}}
53   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec
54   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
55   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0, implicit killed renamable $agpr1
56   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr32
57   ; GFX90A-SPILLED: bb.0:
58   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
59   ; GFX90A-SPILLED-NEXT: {{  $}}
60   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
61   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A32_SAVE killed $agpr0, %stack.1, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.1, addrspace 5)
62   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
63   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A32_SAVE killed $agpr0, %stack.0, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
64   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
65   ; GFX90A-SPILLED-NEXT: {{  $}}
66   ; GFX90A-SPILLED-NEXT: bb.1:
67   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
68   ; GFX90A-SPILLED-NEXT: {{  $}}
69   ; GFX90A-SPILLED-NEXT:   S_NOP 1
70   ; GFX90A-SPILLED-NEXT: {{  $}}
71   ; GFX90A-SPILLED-NEXT: bb.2:
72   ; GFX90A-SPILLED-NEXT:   $agpr0 = SI_SPILL_A32_RESTORE %stack.1, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.1, addrspace 5)
73   ; GFX90A-SPILLED-NEXT:   $agpr1 = SI_SPILL_A32_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.0, addrspace 5)
74   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0, implicit killed renamable $agpr1
75   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr32
76   ; GFX90A-EXPANDED: bb.0:
77   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
78   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
79   ; GFX90A-EXPANDED-NEXT: {{  $}}
80   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
81   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec
82   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
83   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec
84   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
85   ; GFX90A-EXPANDED-NEXT: {{  $}}
86   ; GFX90A-EXPANDED-NEXT: bb.1:
87   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
88   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
89   ; GFX90A-EXPANDED-NEXT: {{  $}}
90   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
91   ; GFX90A-EXPANDED-NEXT: {{  $}}
92   ; GFX90A-EXPANDED-NEXT: bb.2:
93   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
94   ; GFX90A-EXPANDED-NEXT: {{  $}}
95   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec
96   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
97   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0, implicit killed renamable $agpr1
98   bb.0:
99     S_NOP 0, implicit-def %0:agpr_32
100     S_NOP 0, implicit-def %1:agpr_32
101     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
103   bb.1:
104     S_NOP 1
106   bb.2:
107     S_NOP 0, implicit %0, implicit %1
111 name: spill_restore_agpr64
112 tracksRegLiveness: true
113 machineFunctionInfo:
114   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
115   stackPtrOffsetReg: $sgpr32
116 body: |
117   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr64
118   ; GFX908-SPILLED: bb.0:
119   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
120   ; GFX908-SPILLED-NEXT: {{  $}}
121   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1
122   ; GFX908-SPILLED-NEXT:   SI_SPILL_A64_SAVE killed $agpr0_agpr1, %stack.0, $sgpr32, 0, implicit $exec :: (store (s64) into %stack.0, align 4, addrspace 5)
123   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
124   ; GFX908-SPILLED-NEXT: {{  $}}
125   ; GFX908-SPILLED-NEXT: bb.1:
126   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
127   ; GFX908-SPILLED-NEXT: {{  $}}
128   ; GFX908-SPILLED-NEXT:   S_NOP 1
129   ; GFX908-SPILLED-NEXT: {{  $}}
130   ; GFX908-SPILLED-NEXT: bb.2:
131   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1 = SI_SPILL_A64_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s64) from %stack.0, align 4, addrspace 5)
132   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1
133   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr64
134   ; GFX908-EXPANDED: bb.0:
135   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
136   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
137   ; GFX908-EXPANDED-NEXT: {{  $}}
138   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1
139   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1, implicit $agpr0_agpr1
140   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec, implicit killed $agpr0_agpr1
141   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
142   ; GFX908-EXPANDED-NEXT: {{  $}}
143   ; GFX908-EXPANDED-NEXT: bb.1:
144   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
145   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
146   ; GFX908-EXPANDED-NEXT: {{  $}}
147   ; GFX908-EXPANDED-NEXT:   S_NOP 1
148   ; GFX908-EXPANDED-NEXT: {{  $}}
149   ; GFX908-EXPANDED-NEXT: bb.2:
150   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
151   ; GFX908-EXPANDED-NEXT: {{  $}}
152   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec, implicit-def $agpr0_agpr1
153   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1
154   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1
155   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr64
156   ; GFX90A-SPILLED: bb.0:
157   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
158   ; GFX90A-SPILLED-NEXT: {{  $}}
159   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1
160   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A64_SAVE killed $agpr0_agpr1, %stack.0, $sgpr32, 0, implicit $exec :: (store (s64) into %stack.0, align 4, addrspace 5)
161   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
162   ; GFX90A-SPILLED-NEXT: {{  $}}
163   ; GFX90A-SPILLED-NEXT: bb.1:
164   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
165   ; GFX90A-SPILLED-NEXT: {{  $}}
166   ; GFX90A-SPILLED-NEXT:   S_NOP 1
167   ; GFX90A-SPILLED-NEXT: {{  $}}
168   ; GFX90A-SPILLED-NEXT: bb.2:
169   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1 = SI_SPILL_A64_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s64) from %stack.0, align 4, addrspace 5)
170   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1
171   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr64
172   ; GFX90A-EXPANDED: bb.0:
173   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
174   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
175   ; GFX90A-EXPANDED-NEXT: {{  $}}
176   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1
177   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1, implicit $agpr0_agpr1
178   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec, implicit killed $agpr0_agpr1
179   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
180   ; GFX90A-EXPANDED-NEXT: {{  $}}
181   ; GFX90A-EXPANDED-NEXT: bb.1:
182   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
183   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
184   ; GFX90A-EXPANDED-NEXT: {{  $}}
185   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
186   ; GFX90A-EXPANDED-NEXT: {{  $}}
187   ; GFX90A-EXPANDED-NEXT: bb.2:
188   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1
189   ; GFX90A-EXPANDED-NEXT: {{  $}}
190   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec, implicit-def $agpr0_agpr1
191   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1
192   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1
193   bb.0:
194     S_NOP 0, implicit-def %0:areg_64
195     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
197   bb.1:
198     S_NOP 1
200   bb.2:
201     S_NOP 0, implicit %0
205 name: spill_restore_agpr32_used_all_vgprs
206 tracksRegLiveness: true
207 machineFunctionInfo:
208   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
209   stackPtrOffsetReg: $sgpr32
210 body: |
211   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr32_used_all_vgprs
212   ; GFX908-SPILLED: bb.0:
213   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
214   ; GFX908-SPILLED-NEXT:   liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239, $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
215   ; GFX908-SPILLED-NEXT: {{  $}}
216   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
217   ; GFX908-SPILLED-NEXT:   SI_SPILL_A32_SAVE killed $agpr0, %stack.0, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
218   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
219   ; GFX908-SPILLED-NEXT: {{  $}}
220   ; GFX908-SPILLED-NEXT: bb.1:
221   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
222   ; GFX908-SPILLED-NEXT: {{  $}}
223   ; GFX908-SPILLED-NEXT: {{  $}}
224   ; GFX908-SPILLED-NEXT: bb.2:
225   ; GFX908-SPILLED-NEXT:   $agpr0 = SI_SPILL_A32_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.0, addrspace 5)
226   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
227   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47
228   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63
229   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79
230   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95
231   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111
232   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127
233   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143
234   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159
235   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175
236   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191
237   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207
238   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223
239   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
240   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247
241   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
242   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0
243   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr32_used_all_vgprs
244   ; GFX908-EXPANDED: bb.0:
245   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
246   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
247   ; GFX908-EXPANDED-NEXT: {{  $}}
248   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
249   ; GFX908-EXPANDED-NEXT:   $vgpr63 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec
250   ; GFX908-EXPANDED-NEXT:   BUFFER_STORE_DWORD_OFFSET killed $vgpr63, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 0, 0, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
251   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
252   ; GFX908-EXPANDED-NEXT: {{  $}}
253   ; GFX908-EXPANDED-NEXT: bb.1:
254   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
255   ; GFX908-EXPANDED-NEXT: {{  $}}
256   ; GFX908-EXPANDED-NEXT: {{  $}}
257   ; GFX908-EXPANDED-NEXT: bb.2:
258   ; GFX908-EXPANDED-NEXT:   $vgpr63 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 0, 0, 0, implicit $exec :: (load (s32) from %stack.0, addrspace 5)
259   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr63, implicit $exec
260   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
261   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47
262   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63
263   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79
264   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95
265   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111
266   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127
267   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143
268   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159
269   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175
270   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191
271   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207
272   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223
273   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
274   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247
275   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
276   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0
277   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr32_used_all_vgprs
278   ; GFX90A-SPILLED: bb.0:
279   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
280   ; GFX90A-SPILLED-NEXT:   liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239, $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
281   ; GFX90A-SPILLED-NEXT: {{  $}}
282   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
283   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A32_SAVE killed $agpr0, %stack.0, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
284   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
285   ; GFX90A-SPILLED-NEXT: {{  $}}
286   ; GFX90A-SPILLED-NEXT: bb.1:
287   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
288   ; GFX90A-SPILLED-NEXT: {{  $}}
289   ; GFX90A-SPILLED-NEXT: {{  $}}
290   ; GFX90A-SPILLED-NEXT: bb.2:
291   ; GFX90A-SPILLED-NEXT:   $agpr0 = SI_SPILL_A32_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.0, addrspace 5)
292   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
293   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47
294   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63
295   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79
296   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95
297   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111
298   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127
299   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143
300   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159
301   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175
302   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191
303   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207
304   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223
305   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
306   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247
307   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit undef $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
308   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0
309   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr32_used_all_vgprs
310   ; GFX90A-EXPANDED: bb.0:
311   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
312   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
313   ; GFX90A-EXPANDED-NEXT: {{  $}}
314   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0
315   ; GFX90A-EXPANDED-NEXT:   BUFFER_STORE_DWORD_OFFSET killed $agpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 0, 0, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
316   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
317   ; GFX90A-EXPANDED-NEXT: {{  $}}
318   ; GFX90A-EXPANDED-NEXT: bb.1:
319   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
320   ; GFX90A-EXPANDED-NEXT: {{  $}}
321   ; GFX90A-EXPANDED-NEXT: {{  $}}
322   ; GFX90A-EXPANDED-NEXT: bb.2:
323   ; GFX90A-EXPANDED-NEXT:   $agpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 0, 0, 0, implicit $exec :: (load (s32) from %stack.0, addrspace 5)
324   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
325   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47
326   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63
327   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79
328   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95
329   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111
330   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127
331   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143
332   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159
333   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175
334   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191
335   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207
336   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223
337   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
338   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247
339   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit undef $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
340   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0
341   bb.0:
342     liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239, $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
344     S_NOP 0, implicit-def %0:agpr_32
345     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
347   bb.1:
349   bb.2:
350     S_NOP 0, implicit undef $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
351     S_NOP 0, implicit undef $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47
352     S_NOP 0, implicit undef $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63
353     S_NOP 0, implicit undef $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79
354     S_NOP 0, implicit undef $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95
355     S_NOP 0, implicit undef $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111
356     S_NOP 0, implicit undef $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127
357     S_NOP 0, implicit undef $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143
358     S_NOP 0, implicit undef $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159
359     S_NOP 0, implicit undef $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175
360     S_NOP 0, implicit undef $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191
361     S_NOP 0, implicit undef $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207
362     S_NOP 0, implicit undef $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223
363     S_NOP 0, implicit undef $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239
364     S_NOP 0, implicit undef $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247
365     S_NOP 0, implicit undef $vgpr248_vgpr249_vgpr250_vgpr251_vgpr252_vgpr253_vgpr254_vgpr255
366     S_NOP 0, implicit %0
370 name: spill_restore_agpr96
371 tracksRegLiveness: true
372 machineFunctionInfo:
373   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
374   stackPtrOffsetReg: $sgpr32
375 body: |
376   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr96
377   ; GFX908-SPILLED: bb.0:
378   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
379   ; GFX908-SPILLED-NEXT: {{  $}}
380   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2
381   ; GFX908-SPILLED-NEXT:   SI_SPILL_A96_SAVE killed $agpr0_agpr1_agpr2, %stack.0, $sgpr32, 0, implicit $exec :: (store (s96) into %stack.0, align 4, addrspace 5)
382   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
383   ; GFX908-SPILLED-NEXT: {{  $}}
384   ; GFX908-SPILLED-NEXT: bb.1:
385   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
386   ; GFX908-SPILLED-NEXT: {{  $}}
387   ; GFX908-SPILLED-NEXT:   S_NOP 1
388   ; GFX908-SPILLED-NEXT: {{  $}}
389   ; GFX908-SPILLED-NEXT: bb.2:
390   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2 = SI_SPILL_A96_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s96) from %stack.0, align 4, addrspace 5)
391   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2
392   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr96
393   ; GFX908-EXPANDED: bb.0:
394   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
395   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2
396   ; GFX908-EXPANDED-NEXT: {{  $}}
397   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2
398   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2, implicit $agpr0_agpr1_agpr2
399   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
400   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec, implicit killed $agpr0_agpr1_agpr2
401   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
402   ; GFX908-EXPANDED-NEXT: {{  $}}
403   ; GFX908-EXPANDED-NEXT: bb.1:
404   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
405   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2
406   ; GFX908-EXPANDED-NEXT: {{  $}}
407   ; GFX908-EXPANDED-NEXT:   S_NOP 1
408   ; GFX908-EXPANDED-NEXT: {{  $}}
409   ; GFX908-EXPANDED-NEXT: bb.2:
410   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2
411   ; GFX908-EXPANDED-NEXT: {{  $}}
412   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec, implicit-def $agpr0_agpr1_agpr2
413   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
414   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2
415   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2
416   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr96
417   ; GFX90A-SPILLED: bb.0:
418   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
419   ; GFX90A-SPILLED-NEXT: {{  $}}
420   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2
421   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A96_SAVE killed $agpr0_agpr1_agpr2, %stack.0, $sgpr32, 0, implicit $exec :: (store (s96) into %stack.0, align 4, addrspace 5)
422   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
423   ; GFX90A-SPILLED-NEXT: {{  $}}
424   ; GFX90A-SPILLED-NEXT: bb.1:
425   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
426   ; GFX90A-SPILLED-NEXT: {{  $}}
427   ; GFX90A-SPILLED-NEXT:   S_NOP 1
428   ; GFX90A-SPILLED-NEXT: {{  $}}
429   ; GFX90A-SPILLED-NEXT: bb.2:
430   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2 = SI_SPILL_A96_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s96) from %stack.0, align 4, addrspace 5)
431   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2
432   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr96
433   ; GFX90A-EXPANDED: bb.0:
434   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
435   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2
436   ; GFX90A-EXPANDED-NEXT: {{  $}}
437   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2
438   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2, implicit $agpr0_agpr1_agpr2
439   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
440   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec, implicit killed $agpr0_agpr1_agpr2
441   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
442   ; GFX90A-EXPANDED-NEXT: {{  $}}
443   ; GFX90A-EXPANDED-NEXT: bb.1:
444   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
445   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2
446   ; GFX90A-EXPANDED-NEXT: {{  $}}
447   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
448   ; GFX90A-EXPANDED-NEXT: {{  $}}
449   ; GFX90A-EXPANDED-NEXT: bb.2:
450   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2
451   ; GFX90A-EXPANDED-NEXT: {{  $}}
452   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec, implicit-def $agpr0_agpr1_agpr2
453   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
454   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2
455   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2
456   bb.0:
457     S_NOP 0, implicit-def %0:areg_96
458     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
460   bb.1:
461     S_NOP 1
463   bb.2:
464     S_NOP 0, implicit %0
468 name: spill_restore_agpr128
469 tracksRegLiveness: true
470 machineFunctionInfo:
471   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
472   stackPtrOffsetReg: $sgpr32
473 body: |
474   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr128
475   ; GFX908-SPILLED: bb.0:
476   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
477   ; GFX908-SPILLED-NEXT: {{  $}}
478   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3
479   ; GFX908-SPILLED-NEXT:   SI_SPILL_A128_SAVE killed $agpr0_agpr1_agpr2_agpr3, %stack.0, $sgpr32, 0, implicit $exec :: (store (s128) into %stack.0, align 4, addrspace 5)
480   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
481   ; GFX908-SPILLED-NEXT: {{  $}}
482   ; GFX908-SPILLED-NEXT: bb.1:
483   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
484   ; GFX908-SPILLED-NEXT: {{  $}}
485   ; GFX908-SPILLED-NEXT:   S_NOP 1
486   ; GFX908-SPILLED-NEXT: {{  $}}
487   ; GFX908-SPILLED-NEXT: bb.2:
488   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3 = SI_SPILL_A128_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s128) from %stack.0, align 4, addrspace 5)
489   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3
490   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr128
491   ; GFX908-EXPANDED: bb.0:
492   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
493   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3
494   ; GFX908-EXPANDED-NEXT: {{  $}}
495   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3
496   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3, implicit $agpr0_agpr1_agpr2_agpr3
497   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
498   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
499   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3
500   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
501   ; GFX908-EXPANDED-NEXT: {{  $}}
502   ; GFX908-EXPANDED-NEXT: bb.1:
503   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
504   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3
505   ; GFX908-EXPANDED-NEXT: {{  $}}
506   ; GFX908-EXPANDED-NEXT:   S_NOP 1
507   ; GFX908-EXPANDED-NEXT: {{  $}}
508   ; GFX908-EXPANDED-NEXT: bb.2:
509   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3
510   ; GFX908-EXPANDED-NEXT: {{  $}}
511   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3
512   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
513   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
514   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
515   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3
516   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr128
517   ; GFX90A-SPILLED: bb.0:
518   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
519   ; GFX90A-SPILLED-NEXT: {{  $}}
520   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3
521   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A128_SAVE killed $agpr0_agpr1_agpr2_agpr3, %stack.0, $sgpr32, 0, implicit $exec :: (store (s128) into %stack.0, align 4, addrspace 5)
522   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
523   ; GFX90A-SPILLED-NEXT: {{  $}}
524   ; GFX90A-SPILLED-NEXT: bb.1:
525   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
526   ; GFX90A-SPILLED-NEXT: {{  $}}
527   ; GFX90A-SPILLED-NEXT:   S_NOP 1
528   ; GFX90A-SPILLED-NEXT: {{  $}}
529   ; GFX90A-SPILLED-NEXT: bb.2:
530   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3 = SI_SPILL_A128_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s128) from %stack.0, align 4, addrspace 5)
531   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3
532   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr128
533   ; GFX90A-EXPANDED: bb.0:
534   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
535   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3
536   ; GFX90A-EXPANDED-NEXT: {{  $}}
537   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3
538   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3, implicit $agpr0_agpr1_agpr2_agpr3
539   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
540   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
541   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3
542   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
543   ; GFX90A-EXPANDED-NEXT: {{  $}}
544   ; GFX90A-EXPANDED-NEXT: bb.1:
545   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
546   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3
547   ; GFX90A-EXPANDED-NEXT: {{  $}}
548   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
549   ; GFX90A-EXPANDED-NEXT: {{  $}}
550   ; GFX90A-EXPANDED-NEXT: bb.2:
551   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3
552   ; GFX90A-EXPANDED-NEXT: {{  $}}
553   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3
554   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
555   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
556   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
557   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3
558   bb.0:
559     S_NOP 0, implicit-def %0:areg_128
560     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
562   bb.1:
563     S_NOP 1
565   bb.2:
566     S_NOP 0, implicit %0
570 name: spill_restore_agpr160
571 tracksRegLiveness: true
572 machineFunctionInfo:
573   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
574   stackPtrOffsetReg: $sgpr32
575 body: |
576   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr160
577   ; GFX908-SPILLED: bb.0:
578   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
579   ; GFX908-SPILLED-NEXT: {{  $}}
580   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4
581   ; GFX908-SPILLED-NEXT:   SI_SPILL_A160_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4, %stack.0, $sgpr32, 0, implicit $exec :: (store (s160) into %stack.0, align 4, addrspace 5)
582   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
583   ; GFX908-SPILLED-NEXT: {{  $}}
584   ; GFX908-SPILLED-NEXT: bb.1:
585   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
586   ; GFX908-SPILLED-NEXT: {{  $}}
587   ; GFX908-SPILLED-NEXT:   S_NOP 1
588   ; GFX908-SPILLED-NEXT: {{  $}}
589   ; GFX908-SPILLED-NEXT: bb.2:
590   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4 = SI_SPILL_A160_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s160) from %stack.0, align 4, addrspace 5)
591   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4
592   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr160
593   ; GFX908-EXPANDED: bb.0:
594   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
595   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4
596   ; GFX908-EXPANDED-NEXT: {{  $}}
597   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4
598   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4, implicit $agpr0_agpr1_agpr2_agpr3_agpr4
599   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
600   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
601   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
602   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4
603   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
604   ; GFX908-EXPANDED-NEXT: {{  $}}
605   ; GFX908-EXPANDED-NEXT: bb.1:
606   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
607   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4
608   ; GFX908-EXPANDED-NEXT: {{  $}}
609   ; GFX908-EXPANDED-NEXT:   S_NOP 1
610   ; GFX908-EXPANDED-NEXT: {{  $}}
611   ; GFX908-EXPANDED-NEXT: bb.2:
612   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4
613   ; GFX908-EXPANDED-NEXT: {{  $}}
614   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4
615   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
616   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
617   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
618   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4
619   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4
620   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr160
621   ; GFX90A-SPILLED: bb.0:
622   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
623   ; GFX90A-SPILLED-NEXT: {{  $}}
624   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4
625   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A160_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4, %stack.0, $sgpr32, 0, implicit $exec :: (store (s160) into %stack.0, align 4, addrspace 5)
626   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
627   ; GFX90A-SPILLED-NEXT: {{  $}}
628   ; GFX90A-SPILLED-NEXT: bb.1:
629   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
630   ; GFX90A-SPILLED-NEXT: {{  $}}
631   ; GFX90A-SPILLED-NEXT:   S_NOP 1
632   ; GFX90A-SPILLED-NEXT: {{  $}}
633   ; GFX90A-SPILLED-NEXT: bb.2:
634   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4 = SI_SPILL_A160_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s160) from %stack.0, align 4, addrspace 5)
635   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4
636   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr160
637   ; GFX90A-EXPANDED: bb.0:
638   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
639   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4
640   ; GFX90A-EXPANDED-NEXT: {{  $}}
641   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4
642   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4, implicit $agpr0_agpr1_agpr2_agpr3_agpr4
643   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
644   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
645   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
646   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4
647   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
648   ; GFX90A-EXPANDED-NEXT: {{  $}}
649   ; GFX90A-EXPANDED-NEXT: bb.1:
650   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
651   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4
652   ; GFX90A-EXPANDED-NEXT: {{  $}}
653   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
654   ; GFX90A-EXPANDED-NEXT: {{  $}}
655   ; GFX90A-EXPANDED-NEXT: bb.2:
656   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4
657   ; GFX90A-EXPANDED-NEXT: {{  $}}
658   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4
659   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
660   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
661   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
662   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4
663   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4
664   bb.0:
665     S_NOP 0, implicit-def %0:areg_160
666     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
668   bb.1:
669     S_NOP 1
671   bb.2:
672     S_NOP 0, implicit %0
676 name: spill_restore_agpr192
677 tracksRegLiveness: true
678 machineFunctionInfo:
679   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
680   stackPtrOffsetReg: $sgpr32
681 body: |
682   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr192
683   ; GFX908-SPILLED: bb.0:
684   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
685   ; GFX908-SPILLED-NEXT: {{  $}}
686   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
687   ; GFX908-SPILLED-NEXT:   SI_SPILL_A192_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5, %stack.0, $sgpr32, 0, implicit $exec :: (store (s192) into %stack.0, align 4, addrspace 5)
688   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
689   ; GFX908-SPILLED-NEXT: {{  $}}
690   ; GFX908-SPILLED-NEXT: bb.1:
691   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
692   ; GFX908-SPILLED-NEXT: {{  $}}
693   ; GFX908-SPILLED-NEXT:   S_NOP 1
694   ; GFX908-SPILLED-NEXT: {{  $}}
695   ; GFX908-SPILLED-NEXT: bb.2:
696   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5 = SI_SPILL_A192_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s192) from %stack.0, align 4, addrspace 5)
697   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
698   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr192
699   ; GFX908-EXPANDED: bb.0:
700   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
701   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5
702   ; GFX908-EXPANDED-NEXT: {{  $}}
703   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
704   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
705   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
706   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
707   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
708   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
709   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
710   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
711   ; GFX908-EXPANDED-NEXT: {{  $}}
712   ; GFX908-EXPANDED-NEXT: bb.1:
713   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
714   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5
715   ; GFX908-EXPANDED-NEXT: {{  $}}
716   ; GFX908-EXPANDED-NEXT:   S_NOP 1
717   ; GFX908-EXPANDED-NEXT: {{  $}}
718   ; GFX908-EXPANDED-NEXT: bb.2:
719   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5
720   ; GFX908-EXPANDED-NEXT: {{  $}}
721   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
722   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
723   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
724   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
725   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
726   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
727   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
728   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr192
729   ; GFX90A-SPILLED: bb.0:
730   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
731   ; GFX90A-SPILLED-NEXT: {{  $}}
732   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
733   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A192_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5, %stack.0, $sgpr32, 0, implicit $exec :: (store (s192) into %stack.0, align 4, addrspace 5)
734   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
735   ; GFX90A-SPILLED-NEXT: {{  $}}
736   ; GFX90A-SPILLED-NEXT: bb.1:
737   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
738   ; GFX90A-SPILLED-NEXT: {{  $}}
739   ; GFX90A-SPILLED-NEXT:   S_NOP 1
740   ; GFX90A-SPILLED-NEXT: {{  $}}
741   ; GFX90A-SPILLED-NEXT: bb.2:
742   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5 = SI_SPILL_A192_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s192) from %stack.0, align 4, addrspace 5)
743   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
744   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr192
745   ; GFX90A-EXPANDED: bb.0:
746   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
747   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5
748   ; GFX90A-EXPANDED-NEXT: {{  $}}
749   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
750   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
751   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
752   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
753   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
754   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
755   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
756   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
757   ; GFX90A-EXPANDED-NEXT: {{  $}}
758   ; GFX90A-EXPANDED-NEXT: bb.1:
759   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
760   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5
761   ; GFX90A-EXPANDED-NEXT: {{  $}}
762   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
763   ; GFX90A-EXPANDED-NEXT: {{  $}}
764   ; GFX90A-EXPANDED-NEXT: bb.2:
765   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5
766   ; GFX90A-EXPANDED-NEXT: {{  $}}
767   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
768   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
769   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
770   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
771   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
772   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
773   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
774   bb.0:
775     S_NOP 0, implicit-def %0:areg_192
776     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
778   bb.1:
779     S_NOP 1
781   bb.2:
782     S_NOP 0, implicit %0
786 name: spill_restore_agpr256
787 tracksRegLiveness: true
788 machineFunctionInfo:
789   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
790   stackPtrOffsetReg: $sgpr32
791 body: |
792   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr256
793   ; GFX908-SPILLED: bb.0:
794   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
795   ; GFX908-SPILLED-NEXT: {{  $}}
796   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
797   ; GFX908-SPILLED-NEXT:   SI_SPILL_A256_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, %stack.0, $sgpr32, 0, implicit $exec :: (store (s256) into %stack.0, align 4, addrspace 5)
798   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
799   ; GFX908-SPILLED-NEXT: {{  $}}
800   ; GFX908-SPILLED-NEXT: bb.1:
801   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
802   ; GFX908-SPILLED-NEXT: {{  $}}
803   ; GFX908-SPILLED-NEXT:   S_NOP 1
804   ; GFX908-SPILLED-NEXT: {{  $}}
805   ; GFX908-SPILLED-NEXT: bb.2:
806   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = SI_SPILL_A256_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s256) from %stack.0, align 4, addrspace 5)
807   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
808   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr256
809   ; GFX908-EXPANDED: bb.0:
810   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
811   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
812   ; GFX908-EXPANDED-NEXT: {{  $}}
813   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
814   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
815   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
816   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
817   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
818   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
819   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
820   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
821   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
822   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
823   ; GFX908-EXPANDED-NEXT: {{  $}}
824   ; GFX908-EXPANDED-NEXT: bb.1:
825   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
826   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
827   ; GFX908-EXPANDED-NEXT: {{  $}}
828   ; GFX908-EXPANDED-NEXT:   S_NOP 1
829   ; GFX908-EXPANDED-NEXT: {{  $}}
830   ; GFX908-EXPANDED-NEXT: bb.2:
831   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
832   ; GFX908-EXPANDED-NEXT: {{  $}}
833   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
834   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
835   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
836   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
837   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
838   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
839   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
840   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
841   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
842   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr256
843   ; GFX90A-SPILLED: bb.0:
844   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
845   ; GFX90A-SPILLED-NEXT: {{  $}}
846   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
847   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A256_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, %stack.0, $sgpr32, 0, implicit $exec :: (store (s256) into %stack.0, align 4, addrspace 5)
848   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
849   ; GFX90A-SPILLED-NEXT: {{  $}}
850   ; GFX90A-SPILLED-NEXT: bb.1:
851   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
852   ; GFX90A-SPILLED-NEXT: {{  $}}
853   ; GFX90A-SPILLED-NEXT:   S_NOP 1
854   ; GFX90A-SPILLED-NEXT: {{  $}}
855   ; GFX90A-SPILLED-NEXT: bb.2:
856   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = SI_SPILL_A256_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s256) from %stack.0, align 4, addrspace 5)
857   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
858   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr256
859   ; GFX90A-EXPANDED: bb.0:
860   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
861   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
862   ; GFX90A-EXPANDED-NEXT: {{  $}}
863   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
864   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
865   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
866   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
867   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
868   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
869   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
870   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
871   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
872   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
873   ; GFX90A-EXPANDED-NEXT: {{  $}}
874   ; GFX90A-EXPANDED-NEXT: bb.1:
875   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
876   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
877   ; GFX90A-EXPANDED-NEXT: {{  $}}
878   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
879   ; GFX90A-EXPANDED-NEXT: {{  $}}
880   ; GFX90A-EXPANDED-NEXT: bb.2:
881   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
882   ; GFX90A-EXPANDED-NEXT: {{  $}}
883   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
884   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
885   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
886   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
887   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
888   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
889   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
890   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
891   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
892   bb.0:
893     S_NOP 0, implicit-def %0:areg_256
894     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
896   bb.1:
897     S_NOP 1
899   bb.2:
900     S_NOP 0, implicit %0
904 name: spill_restore_agpr288
905 tracksRegLiveness: true
906 machineFunctionInfo:
907   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
908   stackPtrOffsetReg: $sgpr32
909 body: |
910   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr288
911   ; GFX908-SPILLED: bb.0:
912   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
913   ; GFX908-SPILLED-NEXT: {{  $}}
914   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
915   ; GFX908-SPILLED-NEXT:   SI_SPILL_A288_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8, %stack.0, $sgpr32, 0, implicit $exec :: (store (s288) into %stack.0, align 4, addrspace 5)
916   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
917   ; GFX908-SPILLED-NEXT: {{  $}}
918   ; GFX908-SPILLED-NEXT: bb.1:
919   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
920   ; GFX908-SPILLED-NEXT: {{  $}}
921   ; GFX908-SPILLED-NEXT:   S_NOP 1
922   ; GFX908-SPILLED-NEXT: {{  $}}
923   ; GFX908-SPILLED-NEXT: bb.2:
924   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8 = SI_SPILL_A288_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s288) from %stack.0, align 4, addrspace 5)
925   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
926   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr288
927   ; GFX908-EXPANDED: bb.0:
928   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
929   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8
930   ; GFX908-EXPANDED-NEXT: {{  $}}
931   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
932   ; GFX908-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
933   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
934   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
935   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
936   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
937   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
938   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
939   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
940   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
941   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
942   ; GFX908-EXPANDED-NEXT: {{  $}}
943   ; GFX908-EXPANDED-NEXT: bb.1:
944   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
945   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8
946   ; GFX908-EXPANDED-NEXT: {{  $}}
947   ; GFX908-EXPANDED-NEXT:   S_NOP 1
948   ; GFX908-EXPANDED-NEXT: {{  $}}
949   ; GFX908-EXPANDED-NEXT: bb.2:
950   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8
951   ; GFX908-EXPANDED-NEXT: {{  $}}
952   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
953   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
954   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
955   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
956   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
957   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
958   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
959   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
960   ; GFX908-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
961   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
962   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr288
963   ; GFX90A-SPILLED: bb.0:
964   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
965   ; GFX90A-SPILLED-NEXT: {{  $}}
966   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
967   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A288_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8, %stack.0, $sgpr32, 0, implicit $exec :: (store (s288) into %stack.0, align 4, addrspace 5)
968   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
969   ; GFX90A-SPILLED-NEXT: {{  $}}
970   ; GFX90A-SPILLED-NEXT: bb.1:
971   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
972   ; GFX90A-SPILLED-NEXT: {{  $}}
973   ; GFX90A-SPILLED-NEXT:   S_NOP 1
974   ; GFX90A-SPILLED-NEXT: {{  $}}
975   ; GFX90A-SPILLED-NEXT: bb.2:
976   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8 = SI_SPILL_A288_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s288) from %stack.0, align 4, addrspace 5)
977   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
978   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr288
979   ; GFX90A-EXPANDED: bb.0:
980   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
981   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8
982   ; GFX90A-EXPANDED-NEXT: {{  $}}
983   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
984   ; GFX90A-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
985   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
986   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
987   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
988   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
989   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
990   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
991   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
992   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
993   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
994   ; GFX90A-EXPANDED-NEXT: {{  $}}
995   ; GFX90A-EXPANDED-NEXT: bb.1:
996   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
997   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8
998   ; GFX90A-EXPANDED-NEXT: {{  $}}
999   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
1000   ; GFX90A-EXPANDED-NEXT: {{  $}}
1001   ; GFX90A-EXPANDED-NEXT: bb.2:
1002   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8
1003   ; GFX90A-EXPANDED-NEXT: {{  $}}
1004   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
1005   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1006   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1007   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1008   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1009   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1010   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1011   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1012   ; GFX90A-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
1013   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8
1014   bb.0:
1015     S_NOP 0, implicit-def %0:areg_288
1016     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
1018   bb.1:
1019     S_NOP 1
1021   bb.2:
1022     S_NOP 0, implicit %0
1026 name: spill_restore_agpr320
1027 tracksRegLiveness: true
1028 machineFunctionInfo:
1029   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
1030   stackPtrOffsetReg: $sgpr32
1031 body: |
1032   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr320
1033   ; GFX908-SPILLED: bb.0:
1034   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1035   ; GFX908-SPILLED-NEXT: {{  $}}
1036   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1037   ; GFX908-SPILLED-NEXT:   SI_SPILL_A320_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9, %stack.0, $sgpr32, 0, implicit $exec :: (store (s320) into %stack.0, align 4, addrspace 5)
1038   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1039   ; GFX908-SPILLED-NEXT: {{  $}}
1040   ; GFX908-SPILLED-NEXT: bb.1:
1041   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1042   ; GFX908-SPILLED-NEXT: {{  $}}
1043   ; GFX908-SPILLED-NEXT:   S_NOP 1
1044   ; GFX908-SPILLED-NEXT: {{  $}}
1045   ; GFX908-SPILLED-NEXT: bb.2:
1046   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = SI_SPILL_A320_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s320) from %stack.0, align 4, addrspace 5)
1047   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1048   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr320
1049   ; GFX908-EXPANDED: bb.0:
1050   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1051   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9
1052   ; GFX908-EXPANDED-NEXT: {{  $}}
1053   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1054   ; GFX908-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1055   ; GFX908-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1056   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1057   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1058   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1059   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1060   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1061   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1062   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1063   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1064   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1065   ; GFX908-EXPANDED-NEXT: {{  $}}
1066   ; GFX908-EXPANDED-NEXT: bb.1:
1067   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1068   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9
1069   ; GFX908-EXPANDED-NEXT: {{  $}}
1070   ; GFX908-EXPANDED-NEXT:   S_NOP 1
1071   ; GFX908-EXPANDED-NEXT: {{  $}}
1072   ; GFX908-EXPANDED-NEXT: bb.2:
1073   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9
1074   ; GFX908-EXPANDED-NEXT: {{  $}}
1075   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1076   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1077   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1078   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1079   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1080   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1081   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1082   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1083   ; GFX908-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1084   ; GFX908-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1085   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1086   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr320
1087   ; GFX90A-SPILLED: bb.0:
1088   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1089   ; GFX90A-SPILLED-NEXT: {{  $}}
1090   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1091   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A320_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9, %stack.0, $sgpr32, 0, implicit $exec :: (store (s320) into %stack.0, align 4, addrspace 5)
1092   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1093   ; GFX90A-SPILLED-NEXT: {{  $}}
1094   ; GFX90A-SPILLED-NEXT: bb.1:
1095   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1096   ; GFX90A-SPILLED-NEXT: {{  $}}
1097   ; GFX90A-SPILLED-NEXT:   S_NOP 1
1098   ; GFX90A-SPILLED-NEXT: {{  $}}
1099   ; GFX90A-SPILLED-NEXT: bb.2:
1100   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = SI_SPILL_A320_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s320) from %stack.0, align 4, addrspace 5)
1101   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1102   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr320
1103   ; GFX90A-EXPANDED: bb.0:
1104   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1105   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9
1106   ; GFX90A-EXPANDED-NEXT: {{  $}}
1107   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1108   ; GFX90A-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1109   ; GFX90A-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1110   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1111   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1112   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1113   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1114   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1115   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1116   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1117   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1118   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1119   ; GFX90A-EXPANDED-NEXT: {{  $}}
1120   ; GFX90A-EXPANDED-NEXT: bb.1:
1121   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1122   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9
1123   ; GFX90A-EXPANDED-NEXT: {{  $}}
1124   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
1125   ; GFX90A-EXPANDED-NEXT: {{  $}}
1126   ; GFX90A-EXPANDED-NEXT: bb.2:
1127   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9
1128   ; GFX90A-EXPANDED-NEXT: {{  $}}
1129   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1130   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1131   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1132   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1133   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1134   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1135   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1136   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1137   ; GFX90A-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1138   ; GFX90A-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1139   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9
1140   bb.0:
1141     S_NOP 0, implicit-def %0:areg_320
1142     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
1144   bb.1:
1145     S_NOP 1
1147   bb.2:
1148     S_NOP 0, implicit %0
1152 name: spill_restore_agpr352
1153 tracksRegLiveness: true
1154 machineFunctionInfo:
1155   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
1156   stackPtrOffsetReg: $sgpr32
1157 body: |
1158   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr352
1159   ; GFX908-SPILLED: bb.0:
1160   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1161   ; GFX908-SPILLED-NEXT: {{  $}}
1162   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1163   ; GFX908-SPILLED-NEXT:   SI_SPILL_A352_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10, %stack.0, $sgpr32, 0, implicit $exec :: (store (s352) into %stack.0, align 4, addrspace 5)
1164   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1165   ; GFX908-SPILLED-NEXT: {{  $}}
1166   ; GFX908-SPILLED-NEXT: bb.1:
1167   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1168   ; GFX908-SPILLED-NEXT: {{  $}}
1169   ; GFX908-SPILLED-NEXT:   S_NOP 1
1170   ; GFX908-SPILLED-NEXT: {{  $}}
1171   ; GFX908-SPILLED-NEXT: bb.2:
1172   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10 = SI_SPILL_A352_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s352) from %stack.0, align 4, addrspace 5)
1173   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1174   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr352
1175   ; GFX908-EXPANDED: bb.0:
1176   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1177   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10
1178   ; GFX908-EXPANDED-NEXT: {{  $}}
1179   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1180   ; GFX908-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1181   ; GFX908-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1182   ; GFX908-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1183   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1184   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1185   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1186   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1187   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1188   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1189   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1190   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1191   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1192   ; GFX908-EXPANDED-NEXT: {{  $}}
1193   ; GFX908-EXPANDED-NEXT: bb.1:
1194   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1195   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10
1196   ; GFX908-EXPANDED-NEXT: {{  $}}
1197   ; GFX908-EXPANDED-NEXT:   S_NOP 1
1198   ; GFX908-EXPANDED-NEXT: {{  $}}
1199   ; GFX908-EXPANDED-NEXT: bb.2:
1200   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10
1201   ; GFX908-EXPANDED-NEXT: {{  $}}
1202   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1203   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1204   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1205   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1206   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1207   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1208   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1209   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1210   ; GFX908-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1211   ; GFX908-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1212   ; GFX908-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1213   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1214   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr352
1215   ; GFX90A-SPILLED: bb.0:
1216   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1217   ; GFX90A-SPILLED-NEXT: {{  $}}
1218   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1219   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A352_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10, %stack.0, $sgpr32, 0, implicit $exec :: (store (s352) into %stack.0, align 4, addrspace 5)
1220   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1221   ; GFX90A-SPILLED-NEXT: {{  $}}
1222   ; GFX90A-SPILLED-NEXT: bb.1:
1223   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1224   ; GFX90A-SPILLED-NEXT: {{  $}}
1225   ; GFX90A-SPILLED-NEXT:   S_NOP 1
1226   ; GFX90A-SPILLED-NEXT: {{  $}}
1227   ; GFX90A-SPILLED-NEXT: bb.2:
1228   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10 = SI_SPILL_A352_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s352) from %stack.0, align 4, addrspace 5)
1229   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1230   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr352
1231   ; GFX90A-EXPANDED: bb.0:
1232   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1233   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10
1234   ; GFX90A-EXPANDED-NEXT: {{  $}}
1235   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1236   ; GFX90A-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1237   ; GFX90A-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1238   ; GFX90A-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1239   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1240   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1241   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1242   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1243   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1244   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1245   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1246   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1247   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1248   ; GFX90A-EXPANDED-NEXT: {{  $}}
1249   ; GFX90A-EXPANDED-NEXT: bb.1:
1250   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1251   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10
1252   ; GFX90A-EXPANDED-NEXT: {{  $}}
1253   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
1254   ; GFX90A-EXPANDED-NEXT: {{  $}}
1255   ; GFX90A-EXPANDED-NEXT: bb.2:
1256   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10
1257   ; GFX90A-EXPANDED-NEXT: {{  $}}
1258   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1259   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1260   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1261   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1262   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1263   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1264   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1265   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1266   ; GFX90A-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1267   ; GFX90A-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1268   ; GFX90A-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1269   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10
1270   bb.0:
1271     S_NOP 0, implicit-def %0:areg_352
1272     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
1274   bb.1:
1275     S_NOP 1
1277   bb.2:
1278     S_NOP 0, implicit %0
1282 name: spill_restore_agpr384
1283 tracksRegLiveness: true
1284 machineFunctionInfo:
1285   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
1286   stackPtrOffsetReg: $sgpr32
1287 body: |
1288   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr384
1289   ; GFX908-SPILLED: bb.0:
1290   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1291   ; GFX908-SPILLED-NEXT: {{  $}}
1292   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1293   ; GFX908-SPILLED-NEXT:   SI_SPILL_A384_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11, %stack.0, $sgpr32, 0, implicit $exec :: (store (s384) into %stack.0, align 4, addrspace 5)
1294   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1295   ; GFX908-SPILLED-NEXT: {{  $}}
1296   ; GFX908-SPILLED-NEXT: bb.1:
1297   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1298   ; GFX908-SPILLED-NEXT: {{  $}}
1299   ; GFX908-SPILLED-NEXT:   S_NOP 1
1300   ; GFX908-SPILLED-NEXT: {{  $}}
1301   ; GFX908-SPILLED-NEXT: bb.2:
1302   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11 = SI_SPILL_A384_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s384) from %stack.0, align 4, addrspace 5)
1303   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1304   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr384
1305   ; GFX908-EXPANDED: bb.0:
1306   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1307   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
1308   ; GFX908-EXPANDED-NEXT: {{  $}}
1309   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1310   ; GFX908-EXPANDED-NEXT:   $vgpr11 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1311   ; GFX908-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1312   ; GFX908-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1313   ; GFX908-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1314   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1315   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1316   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1317   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1318   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1319   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1320   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec
1321   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr11, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1322   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1323   ; GFX908-EXPANDED-NEXT: {{  $}}
1324   ; GFX908-EXPANDED-NEXT: bb.1:
1325   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1326   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
1327   ; GFX908-EXPANDED-NEXT: {{  $}}
1328   ; GFX908-EXPANDED-NEXT:   S_NOP 1
1329   ; GFX908-EXPANDED-NEXT: {{  $}}
1330   ; GFX908-EXPANDED-NEXT: bb.2:
1331   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
1332   ; GFX908-EXPANDED-NEXT: {{  $}}
1333   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr11, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1334   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec
1335   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1336   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1337   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1338   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1339   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1340   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1341   ; GFX908-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1342   ; GFX908-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1343   ; GFX908-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1344   ; GFX908-EXPANDED-NEXT:   $agpr11 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1345   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1346   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr384
1347   ; GFX90A-SPILLED: bb.0:
1348   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1349   ; GFX90A-SPILLED-NEXT: {{  $}}
1350   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1351   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A384_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11, %stack.0, $sgpr32, 0, implicit $exec :: (store (s384) into %stack.0, align 4, addrspace 5)
1352   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1353   ; GFX90A-SPILLED-NEXT: {{  $}}
1354   ; GFX90A-SPILLED-NEXT: bb.1:
1355   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1356   ; GFX90A-SPILLED-NEXT: {{  $}}
1357   ; GFX90A-SPILLED-NEXT:   S_NOP 1
1358   ; GFX90A-SPILLED-NEXT: {{  $}}
1359   ; GFX90A-SPILLED-NEXT: bb.2:
1360   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11 = SI_SPILL_A384_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s384) from %stack.0, align 4, addrspace 5)
1361   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1362   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr384
1363   ; GFX90A-EXPANDED: bb.0:
1364   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1365   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
1366   ; GFX90A-EXPANDED-NEXT: {{  $}}
1367   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1368   ; GFX90A-EXPANDED-NEXT:   $vgpr11 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1369   ; GFX90A-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1370   ; GFX90A-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1371   ; GFX90A-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1372   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1373   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1374   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1375   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1376   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1377   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1378   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec
1379   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr11, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1380   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1381   ; GFX90A-EXPANDED-NEXT: {{  $}}
1382   ; GFX90A-EXPANDED-NEXT: bb.1:
1383   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1384   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
1385   ; GFX90A-EXPANDED-NEXT: {{  $}}
1386   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
1387   ; GFX90A-EXPANDED-NEXT: {{  $}}
1388   ; GFX90A-EXPANDED-NEXT: bb.2:
1389   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
1390   ; GFX90A-EXPANDED-NEXT: {{  $}}
1391   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr11, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1392   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec
1393   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1394   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1395   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1396   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1397   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1398   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1399   ; GFX90A-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1400   ; GFX90A-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1401   ; GFX90A-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1402   ; GFX90A-EXPANDED-NEXT:   $agpr11 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1403   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11
1404   bb.0:
1405     S_NOP 0, implicit-def %0:areg_384
1406     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
1408   bb.1:
1409     S_NOP 1
1411   bb.2:
1412     S_NOP 0, implicit %0
1416 name: spill_restore_agpr512
1417 tracksRegLiveness: true
1418 machineFunctionInfo:
1419   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
1420   stackPtrOffsetReg: $sgpr32
1421 body: |
1422   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr512
1423   ; GFX908-SPILLED: bb.0:
1424   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1425   ; GFX908-SPILLED-NEXT: {{  $}}
1426   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1427   ; GFX908-SPILLED-NEXT:   SI_SPILL_A512_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, %stack.0, $sgpr32, 0, implicit $exec :: (store (s512) into %stack.0, align 4, addrspace 5)
1428   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1429   ; GFX908-SPILLED-NEXT: {{  $}}
1430   ; GFX908-SPILLED-NEXT: bb.1:
1431   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1432   ; GFX908-SPILLED-NEXT: {{  $}}
1433   ; GFX908-SPILLED-NEXT:   S_NOP 1
1434   ; GFX908-SPILLED-NEXT: {{  $}}
1435   ; GFX908-SPILLED-NEXT: bb.2:
1436   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = SI_SPILL_A512_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s512) from %stack.0, align 4, addrspace 5)
1437   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1438   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr512
1439   ; GFX908-EXPANDED: bb.0:
1440   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1441   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15
1442   ; GFX908-EXPANDED-NEXT: {{  $}}
1443   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1444   ; GFX908-EXPANDED-NEXT:   $vgpr15 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1445   ; GFX908-EXPANDED-NEXT:   $vgpr14 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1446   ; GFX908-EXPANDED-NEXT:   $vgpr13 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1447   ; GFX908-EXPANDED-NEXT:   $vgpr12 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1448   ; GFX908-EXPANDED-NEXT:   $vgpr11 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1449   ; GFX908-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1450   ; GFX908-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1451   ; GFX908-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1452   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1453   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1454   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec
1455   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr11, implicit $exec
1456   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr12, implicit $exec
1457   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr13, implicit $exec
1458   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr14, implicit $exec
1459   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr15, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1460   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1461   ; GFX908-EXPANDED-NEXT: {{  $}}
1462   ; GFX908-EXPANDED-NEXT: bb.1:
1463   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1464   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15
1465   ; GFX908-EXPANDED-NEXT: {{  $}}
1466   ; GFX908-EXPANDED-NEXT:   S_NOP 1
1467   ; GFX908-EXPANDED-NEXT: {{  $}}
1468   ; GFX908-EXPANDED-NEXT: bb.2:
1469   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15
1470   ; GFX908-EXPANDED-NEXT: {{  $}}
1471   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr15, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1472   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr14, implicit $exec
1473   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr13, implicit $exec
1474   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr12, implicit $exec
1475   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr11, implicit $exec
1476   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec
1477   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1478   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1479   ; GFX908-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1480   ; GFX908-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1481   ; GFX908-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1482   ; GFX908-EXPANDED-NEXT:   $agpr11 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1483   ; GFX908-EXPANDED-NEXT:   $agpr12 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1484   ; GFX908-EXPANDED-NEXT:   $agpr13 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1485   ; GFX908-EXPANDED-NEXT:   $agpr14 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1486   ; GFX908-EXPANDED-NEXT:   $agpr15 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1487   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1488   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr512
1489   ; GFX90A-SPILLED: bb.0:
1490   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1491   ; GFX90A-SPILLED-NEXT: {{  $}}
1492   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1493   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A512_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, %stack.0, $sgpr32, 0, implicit $exec :: (store (s512) into %stack.0, align 4, addrspace 5)
1494   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1495   ; GFX90A-SPILLED-NEXT: {{  $}}
1496   ; GFX90A-SPILLED-NEXT: bb.1:
1497   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1498   ; GFX90A-SPILLED-NEXT: {{  $}}
1499   ; GFX90A-SPILLED-NEXT:   S_NOP 1
1500   ; GFX90A-SPILLED-NEXT: {{  $}}
1501   ; GFX90A-SPILLED-NEXT: bb.2:
1502   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = SI_SPILL_A512_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s512) from %stack.0, align 4, addrspace 5)
1503   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1504   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr512
1505   ; GFX90A-EXPANDED: bb.0:
1506   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1507   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15
1508   ; GFX90A-EXPANDED-NEXT: {{  $}}
1509   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1510   ; GFX90A-EXPANDED-NEXT:   $vgpr15 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1511   ; GFX90A-EXPANDED-NEXT:   $vgpr14 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1512   ; GFX90A-EXPANDED-NEXT:   $vgpr13 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1513   ; GFX90A-EXPANDED-NEXT:   $vgpr12 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1514   ; GFX90A-EXPANDED-NEXT:   $vgpr11 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1515   ; GFX90A-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1516   ; GFX90A-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1517   ; GFX90A-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1518   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1519   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1520   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec
1521   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr11, implicit $exec
1522   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr12, implicit $exec
1523   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr13, implicit $exec
1524   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr14, implicit $exec
1525   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr15, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1526   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1527   ; GFX90A-EXPANDED-NEXT: {{  $}}
1528   ; GFX90A-EXPANDED-NEXT: bb.1:
1529   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1530   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15
1531   ; GFX90A-EXPANDED-NEXT: {{  $}}
1532   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
1533   ; GFX90A-EXPANDED-NEXT: {{  $}}
1534   ; GFX90A-EXPANDED-NEXT: bb.2:
1535   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15
1536   ; GFX90A-EXPANDED-NEXT: {{  $}}
1537   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr15, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1538   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr14, implicit $exec
1539   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr13, implicit $exec
1540   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr12, implicit $exec
1541   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr11, implicit $exec
1542   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec
1543   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1544   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1545   ; GFX90A-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1546   ; GFX90A-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1547   ; GFX90A-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1548   ; GFX90A-EXPANDED-NEXT:   $agpr11 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1549   ; GFX90A-EXPANDED-NEXT:   $agpr12 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1550   ; GFX90A-EXPANDED-NEXT:   $agpr13 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1551   ; GFX90A-EXPANDED-NEXT:   $agpr14 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1552   ; GFX90A-EXPANDED-NEXT:   $agpr15 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1553   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
1554   bb.0:
1555     S_NOP 0, implicit-def %0:areg_512
1556     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
1558   bb.1:
1559     S_NOP 1
1561   bb.2:
1562     S_NOP 0, implicit %0
1566 name: spill_restore_agpr1024
1567 tracksRegLiveness: true
1568 machineFunctionInfo:
1569   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
1570   stackPtrOffsetReg: $sgpr32
1571 body: |
1572   ; GFX908-SPILLED-LABEL: name: spill_restore_agpr1024
1573   ; GFX908-SPILLED: bb.0:
1574   ; GFX908-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1575   ; GFX908-SPILLED-NEXT: {{  $}}
1576   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1577   ; GFX908-SPILLED-NEXT:   SI_SPILL_A1024_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, %stack.0, $sgpr32, 0, implicit $exec :: (store (s1024) into %stack.0, align 4, addrspace 5)
1578   ; GFX908-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1579   ; GFX908-SPILLED-NEXT: {{  $}}
1580   ; GFX908-SPILLED-NEXT: bb.1:
1581   ; GFX908-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1582   ; GFX908-SPILLED-NEXT: {{  $}}
1583   ; GFX908-SPILLED-NEXT:   S_NOP 1
1584   ; GFX908-SPILLED-NEXT: {{  $}}
1585   ; GFX908-SPILLED-NEXT: bb.2:
1586   ; GFX908-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = SI_SPILL_A1024_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s1024) from %stack.0, align 4, addrspace 5)
1587   ; GFX908-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1588   ; GFX908-EXPANDED-LABEL: name: spill_restore_agpr1024
1589   ; GFX908-EXPANDED: bb.0:
1590   ; GFX908-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1591   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr16, $vgpr17, $vgpr18, $vgpr19, $vgpr20, $vgpr21, $vgpr22, $vgpr23, $vgpr24, $vgpr25, $vgpr26, $vgpr27, $vgpr28, $vgpr29, $vgpr30, $vgpr31
1592   ; GFX908-EXPANDED-NEXT: {{  $}}
1593   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1594   ; GFX908-EXPANDED-NEXT:   $vgpr31 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1595   ; GFX908-EXPANDED-NEXT:   $vgpr30 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1596   ; GFX908-EXPANDED-NEXT:   $vgpr29 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1597   ; GFX908-EXPANDED-NEXT:   $vgpr28 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1598   ; GFX908-EXPANDED-NEXT:   $vgpr27 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1599   ; GFX908-EXPANDED-NEXT:   $vgpr26 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1600   ; GFX908-EXPANDED-NEXT:   $vgpr25 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1601   ; GFX908-EXPANDED-NEXT:   $vgpr24 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1602   ; GFX908-EXPANDED-NEXT:   $vgpr23 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1603   ; GFX908-EXPANDED-NEXT:   $vgpr22 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1604   ; GFX908-EXPANDED-NEXT:   $vgpr21 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec
1605   ; GFX908-EXPANDED-NEXT:   $vgpr20 = V_ACCVGPR_READ_B32_e64 killed $agpr11, implicit $exec
1606   ; GFX908-EXPANDED-NEXT:   $vgpr19 = V_ACCVGPR_READ_B32_e64 killed $agpr12, implicit $exec
1607   ; GFX908-EXPANDED-NEXT:   $vgpr18 = V_ACCVGPR_READ_B32_e64 killed $agpr13, implicit $exec
1608   ; GFX908-EXPANDED-NEXT:   $vgpr17 = V_ACCVGPR_READ_B32_e64 killed $agpr14, implicit $exec
1609   ; GFX908-EXPANDED-NEXT:   $vgpr16 = V_ACCVGPR_READ_B32_e64 killed $agpr15, implicit $exec
1610   ; GFX908-EXPANDED-NEXT:   $vgpr15 = V_ACCVGPR_READ_B32_e64 killed $agpr16, implicit $exec
1611   ; GFX908-EXPANDED-NEXT:   $vgpr14 = V_ACCVGPR_READ_B32_e64 killed $agpr17, implicit $exec
1612   ; GFX908-EXPANDED-NEXT:   $vgpr13 = V_ACCVGPR_READ_B32_e64 killed $agpr18, implicit $exec
1613   ; GFX908-EXPANDED-NEXT:   $vgpr12 = V_ACCVGPR_READ_B32_e64 killed $agpr19, implicit $exec
1614   ; GFX908-EXPANDED-NEXT:   $vgpr11 = V_ACCVGPR_READ_B32_e64 killed $agpr20, implicit $exec
1615   ; GFX908-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr21, implicit $exec
1616   ; GFX908-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr22, implicit $exec
1617   ; GFX908-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr23, implicit $exec
1618   ; GFX908-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr24, implicit $exec
1619   ; GFX908-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr25, implicit $exec
1620   ; GFX908-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr26, implicit $exec
1621   ; GFX908-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr27, implicit $exec
1622   ; GFX908-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr28, implicit $exec
1623   ; GFX908-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr29, implicit $exec
1624   ; GFX908-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr30, implicit $exec
1625   ; GFX908-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr31, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1626   ; GFX908-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1627   ; GFX908-EXPANDED-NEXT: {{  $}}
1628   ; GFX908-EXPANDED-NEXT: bb.1:
1629   ; GFX908-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1630   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr16, $vgpr17, $vgpr18, $vgpr19, $vgpr20, $vgpr21, $vgpr22, $vgpr23, $vgpr24, $vgpr25, $vgpr26, $vgpr27, $vgpr28, $vgpr29, $vgpr30, $vgpr31
1631   ; GFX908-EXPANDED-NEXT: {{  $}}
1632   ; GFX908-EXPANDED-NEXT:   S_NOP 1
1633   ; GFX908-EXPANDED-NEXT: {{  $}}
1634   ; GFX908-EXPANDED-NEXT: bb.2:
1635   ; GFX908-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr16, $vgpr17, $vgpr18, $vgpr19, $vgpr20, $vgpr21, $vgpr22, $vgpr23, $vgpr24, $vgpr25, $vgpr26, $vgpr27, $vgpr28, $vgpr29, $vgpr30, $vgpr31
1636   ; GFX908-EXPANDED-NEXT: {{  $}}
1637   ; GFX908-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr31, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1638   ; GFX908-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr30, implicit $exec
1639   ; GFX908-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr29, implicit $exec
1640   ; GFX908-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr28, implicit $exec
1641   ; GFX908-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr27, implicit $exec
1642   ; GFX908-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr26, implicit $exec
1643   ; GFX908-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr25, implicit $exec
1644   ; GFX908-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr24, implicit $exec
1645   ; GFX908-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr23, implicit $exec
1646   ; GFX908-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr22, implicit $exec
1647   ; GFX908-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr21, implicit $exec
1648   ; GFX908-EXPANDED-NEXT:   $agpr11 = V_ACCVGPR_WRITE_B32_e64 $vgpr20, implicit $exec
1649   ; GFX908-EXPANDED-NEXT:   $agpr12 = V_ACCVGPR_WRITE_B32_e64 $vgpr19, implicit $exec
1650   ; GFX908-EXPANDED-NEXT:   $agpr13 = V_ACCVGPR_WRITE_B32_e64 $vgpr18, implicit $exec
1651   ; GFX908-EXPANDED-NEXT:   $agpr14 = V_ACCVGPR_WRITE_B32_e64 $vgpr17, implicit $exec
1652   ; GFX908-EXPANDED-NEXT:   $agpr15 = V_ACCVGPR_WRITE_B32_e64 $vgpr16, implicit $exec
1653   ; GFX908-EXPANDED-NEXT:   $agpr16 = V_ACCVGPR_WRITE_B32_e64 $vgpr15, implicit $exec
1654   ; GFX908-EXPANDED-NEXT:   $agpr17 = V_ACCVGPR_WRITE_B32_e64 $vgpr14, implicit $exec
1655   ; GFX908-EXPANDED-NEXT:   $agpr18 = V_ACCVGPR_WRITE_B32_e64 $vgpr13, implicit $exec
1656   ; GFX908-EXPANDED-NEXT:   $agpr19 = V_ACCVGPR_WRITE_B32_e64 $vgpr12, implicit $exec
1657   ; GFX908-EXPANDED-NEXT:   $agpr20 = V_ACCVGPR_WRITE_B32_e64 $vgpr11, implicit $exec
1658   ; GFX908-EXPANDED-NEXT:   $agpr21 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec
1659   ; GFX908-EXPANDED-NEXT:   $agpr22 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1660   ; GFX908-EXPANDED-NEXT:   $agpr23 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1661   ; GFX908-EXPANDED-NEXT:   $agpr24 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1662   ; GFX908-EXPANDED-NEXT:   $agpr25 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1663   ; GFX908-EXPANDED-NEXT:   $agpr26 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1664   ; GFX908-EXPANDED-NEXT:   $agpr27 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1665   ; GFX908-EXPANDED-NEXT:   $agpr28 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1666   ; GFX908-EXPANDED-NEXT:   $agpr29 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1667   ; GFX908-EXPANDED-NEXT:   $agpr30 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1668   ; GFX908-EXPANDED-NEXT:   $agpr31 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1669   ; GFX908-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1670   ; GFX90A-SPILLED-LABEL: name: spill_restore_agpr1024
1671   ; GFX90A-SPILLED: bb.0:
1672   ; GFX90A-SPILLED-NEXT:   successors: %bb.1(0x80000000)
1673   ; GFX90A-SPILLED-NEXT: {{  $}}
1674   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1675   ; GFX90A-SPILLED-NEXT:   SI_SPILL_A1024_SAVE killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, %stack.0, $sgpr32, 0, implicit $exec :: (store (s1024) into %stack.0, align 4, addrspace 5)
1676   ; GFX90A-SPILLED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1677   ; GFX90A-SPILLED-NEXT: {{  $}}
1678   ; GFX90A-SPILLED-NEXT: bb.1:
1679   ; GFX90A-SPILLED-NEXT:   successors: %bb.2(0x80000000)
1680   ; GFX90A-SPILLED-NEXT: {{  $}}
1681   ; GFX90A-SPILLED-NEXT:   S_NOP 1
1682   ; GFX90A-SPILLED-NEXT: {{  $}}
1683   ; GFX90A-SPILLED-NEXT: bb.2:
1684   ; GFX90A-SPILLED-NEXT:   $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = SI_SPILL_A1024_RESTORE %stack.0, $sgpr32, 0, implicit $exec :: (load (s1024) from %stack.0, align 4, addrspace 5)
1685   ; GFX90A-SPILLED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1686   ; GFX90A-EXPANDED-LABEL: name: spill_restore_agpr1024
1687   ; GFX90A-EXPANDED: bb.0:
1688   ; GFX90A-EXPANDED-NEXT:   successors: %bb.1(0x80000000)
1689   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr16, $vgpr17, $vgpr18, $vgpr19, $vgpr20, $vgpr21, $vgpr22, $vgpr23, $vgpr24, $vgpr25, $vgpr26, $vgpr27, $vgpr28, $vgpr29, $vgpr30, $vgpr31
1690   ; GFX90A-EXPANDED-NEXT: {{  $}}
1691   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit-def renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1692   ; GFX90A-EXPANDED-NEXT:   $vgpr31 = V_ACCVGPR_READ_B32_e64 killed $agpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1693   ; GFX90A-EXPANDED-NEXT:   $vgpr30 = V_ACCVGPR_READ_B32_e64 killed $agpr1, implicit $exec
1694   ; GFX90A-EXPANDED-NEXT:   $vgpr29 = V_ACCVGPR_READ_B32_e64 killed $agpr2, implicit $exec
1695   ; GFX90A-EXPANDED-NEXT:   $vgpr28 = V_ACCVGPR_READ_B32_e64 killed $agpr3, implicit $exec
1696   ; GFX90A-EXPANDED-NEXT:   $vgpr27 = V_ACCVGPR_READ_B32_e64 killed $agpr4, implicit $exec
1697   ; GFX90A-EXPANDED-NEXT:   $vgpr26 = V_ACCVGPR_READ_B32_e64 killed $agpr5, implicit $exec
1698   ; GFX90A-EXPANDED-NEXT:   $vgpr25 = V_ACCVGPR_READ_B32_e64 killed $agpr6, implicit $exec
1699   ; GFX90A-EXPANDED-NEXT:   $vgpr24 = V_ACCVGPR_READ_B32_e64 killed $agpr7, implicit $exec
1700   ; GFX90A-EXPANDED-NEXT:   $vgpr23 = V_ACCVGPR_READ_B32_e64 killed $agpr8, implicit $exec
1701   ; GFX90A-EXPANDED-NEXT:   $vgpr22 = V_ACCVGPR_READ_B32_e64 killed $agpr9, implicit $exec
1702   ; GFX90A-EXPANDED-NEXT:   $vgpr21 = V_ACCVGPR_READ_B32_e64 killed $agpr10, implicit $exec
1703   ; GFX90A-EXPANDED-NEXT:   $vgpr20 = V_ACCVGPR_READ_B32_e64 killed $agpr11, implicit $exec
1704   ; GFX90A-EXPANDED-NEXT:   $vgpr19 = V_ACCVGPR_READ_B32_e64 killed $agpr12, implicit $exec
1705   ; GFX90A-EXPANDED-NEXT:   $vgpr18 = V_ACCVGPR_READ_B32_e64 killed $agpr13, implicit $exec
1706   ; GFX90A-EXPANDED-NEXT:   $vgpr17 = V_ACCVGPR_READ_B32_e64 killed $agpr14, implicit $exec
1707   ; GFX90A-EXPANDED-NEXT:   $vgpr16 = V_ACCVGPR_READ_B32_e64 killed $agpr15, implicit $exec
1708   ; GFX90A-EXPANDED-NEXT:   $vgpr15 = V_ACCVGPR_READ_B32_e64 killed $agpr16, implicit $exec
1709   ; GFX90A-EXPANDED-NEXT:   $vgpr14 = V_ACCVGPR_READ_B32_e64 killed $agpr17, implicit $exec
1710   ; GFX90A-EXPANDED-NEXT:   $vgpr13 = V_ACCVGPR_READ_B32_e64 killed $agpr18, implicit $exec
1711   ; GFX90A-EXPANDED-NEXT:   $vgpr12 = V_ACCVGPR_READ_B32_e64 killed $agpr19, implicit $exec
1712   ; GFX90A-EXPANDED-NEXT:   $vgpr11 = V_ACCVGPR_READ_B32_e64 killed $agpr20, implicit $exec
1713   ; GFX90A-EXPANDED-NEXT:   $vgpr10 = V_ACCVGPR_READ_B32_e64 killed $agpr21, implicit $exec
1714   ; GFX90A-EXPANDED-NEXT:   $vgpr9 = V_ACCVGPR_READ_B32_e64 killed $agpr22, implicit $exec
1715   ; GFX90A-EXPANDED-NEXT:   $vgpr8 = V_ACCVGPR_READ_B32_e64 killed $agpr23, implicit $exec
1716   ; GFX90A-EXPANDED-NEXT:   $vgpr7 = V_ACCVGPR_READ_B32_e64 killed $agpr24, implicit $exec
1717   ; GFX90A-EXPANDED-NEXT:   $vgpr6 = V_ACCVGPR_READ_B32_e64 killed $agpr25, implicit $exec
1718   ; GFX90A-EXPANDED-NEXT:   $vgpr5 = V_ACCVGPR_READ_B32_e64 killed $agpr26, implicit $exec
1719   ; GFX90A-EXPANDED-NEXT:   $vgpr4 = V_ACCVGPR_READ_B32_e64 killed $agpr27, implicit $exec
1720   ; GFX90A-EXPANDED-NEXT:   $vgpr3 = V_ACCVGPR_READ_B32_e64 killed $agpr28, implicit $exec
1721   ; GFX90A-EXPANDED-NEXT:   $vgpr2 = V_ACCVGPR_READ_B32_e64 killed $agpr29, implicit $exec
1722   ; GFX90A-EXPANDED-NEXT:   $vgpr1 = V_ACCVGPR_READ_B32_e64 killed $agpr30, implicit $exec
1723   ; GFX90A-EXPANDED-NEXT:   $vgpr0 = V_ACCVGPR_READ_B32_e64 killed $agpr31, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1724   ; GFX90A-EXPANDED-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1725   ; GFX90A-EXPANDED-NEXT: {{  $}}
1726   ; GFX90A-EXPANDED-NEXT: bb.1:
1727   ; GFX90A-EXPANDED-NEXT:   successors: %bb.2(0x80000000)
1728   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr16, $vgpr17, $vgpr18, $vgpr19, $vgpr20, $vgpr21, $vgpr22, $vgpr23, $vgpr24, $vgpr25, $vgpr26, $vgpr27, $vgpr28, $vgpr29, $vgpr30, $vgpr31
1729   ; GFX90A-EXPANDED-NEXT: {{  $}}
1730   ; GFX90A-EXPANDED-NEXT:   S_NOP 1
1731   ; GFX90A-EXPANDED-NEXT: {{  $}}
1732   ; GFX90A-EXPANDED-NEXT: bb.2:
1733   ; GFX90A-EXPANDED-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr16, $vgpr17, $vgpr18, $vgpr19, $vgpr20, $vgpr21, $vgpr22, $vgpr23, $vgpr24, $vgpr25, $vgpr26, $vgpr27, $vgpr28, $vgpr29, $vgpr30, $vgpr31
1734   ; GFX90A-EXPANDED-NEXT: {{  $}}
1735   ; GFX90A-EXPANDED-NEXT:   $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr31, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1736   ; GFX90A-EXPANDED-NEXT:   $agpr1 = V_ACCVGPR_WRITE_B32_e64 $vgpr30, implicit $exec
1737   ; GFX90A-EXPANDED-NEXT:   $agpr2 = V_ACCVGPR_WRITE_B32_e64 $vgpr29, implicit $exec
1738   ; GFX90A-EXPANDED-NEXT:   $agpr3 = V_ACCVGPR_WRITE_B32_e64 $vgpr28, implicit $exec
1739   ; GFX90A-EXPANDED-NEXT:   $agpr4 = V_ACCVGPR_WRITE_B32_e64 $vgpr27, implicit $exec
1740   ; GFX90A-EXPANDED-NEXT:   $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr26, implicit $exec
1741   ; GFX90A-EXPANDED-NEXT:   $agpr6 = V_ACCVGPR_WRITE_B32_e64 $vgpr25, implicit $exec
1742   ; GFX90A-EXPANDED-NEXT:   $agpr7 = V_ACCVGPR_WRITE_B32_e64 $vgpr24, implicit $exec
1743   ; GFX90A-EXPANDED-NEXT:   $agpr8 = V_ACCVGPR_WRITE_B32_e64 $vgpr23, implicit $exec
1744   ; GFX90A-EXPANDED-NEXT:   $agpr9 = V_ACCVGPR_WRITE_B32_e64 $vgpr22, implicit $exec
1745   ; GFX90A-EXPANDED-NEXT:   $agpr10 = V_ACCVGPR_WRITE_B32_e64 $vgpr21, implicit $exec
1746   ; GFX90A-EXPANDED-NEXT:   $agpr11 = V_ACCVGPR_WRITE_B32_e64 $vgpr20, implicit $exec
1747   ; GFX90A-EXPANDED-NEXT:   $agpr12 = V_ACCVGPR_WRITE_B32_e64 $vgpr19, implicit $exec
1748   ; GFX90A-EXPANDED-NEXT:   $agpr13 = V_ACCVGPR_WRITE_B32_e64 $vgpr18, implicit $exec
1749   ; GFX90A-EXPANDED-NEXT:   $agpr14 = V_ACCVGPR_WRITE_B32_e64 $vgpr17, implicit $exec
1750   ; GFX90A-EXPANDED-NEXT:   $agpr15 = V_ACCVGPR_WRITE_B32_e64 $vgpr16, implicit $exec
1751   ; GFX90A-EXPANDED-NEXT:   $agpr16 = V_ACCVGPR_WRITE_B32_e64 $vgpr15, implicit $exec
1752   ; GFX90A-EXPANDED-NEXT:   $agpr17 = V_ACCVGPR_WRITE_B32_e64 $vgpr14, implicit $exec
1753   ; GFX90A-EXPANDED-NEXT:   $agpr18 = V_ACCVGPR_WRITE_B32_e64 $vgpr13, implicit $exec
1754   ; GFX90A-EXPANDED-NEXT:   $agpr19 = V_ACCVGPR_WRITE_B32_e64 $vgpr12, implicit $exec
1755   ; GFX90A-EXPANDED-NEXT:   $agpr20 = V_ACCVGPR_WRITE_B32_e64 $vgpr11, implicit $exec
1756   ; GFX90A-EXPANDED-NEXT:   $agpr21 = V_ACCVGPR_WRITE_B32_e64 $vgpr10, implicit $exec
1757   ; GFX90A-EXPANDED-NEXT:   $agpr22 = V_ACCVGPR_WRITE_B32_e64 $vgpr9, implicit $exec
1758   ; GFX90A-EXPANDED-NEXT:   $agpr23 = V_ACCVGPR_WRITE_B32_e64 $vgpr8, implicit $exec
1759   ; GFX90A-EXPANDED-NEXT:   $agpr24 = V_ACCVGPR_WRITE_B32_e64 $vgpr7, implicit $exec
1760   ; GFX90A-EXPANDED-NEXT:   $agpr25 = V_ACCVGPR_WRITE_B32_e64 $vgpr6, implicit $exec
1761   ; GFX90A-EXPANDED-NEXT:   $agpr26 = V_ACCVGPR_WRITE_B32_e64 $vgpr5, implicit $exec
1762   ; GFX90A-EXPANDED-NEXT:   $agpr27 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec
1763   ; GFX90A-EXPANDED-NEXT:   $agpr28 = V_ACCVGPR_WRITE_B32_e64 $vgpr3, implicit $exec
1764   ; GFX90A-EXPANDED-NEXT:   $agpr29 = V_ACCVGPR_WRITE_B32_e64 $vgpr2, implicit $exec
1765   ; GFX90A-EXPANDED-NEXT:   $agpr30 = V_ACCVGPR_WRITE_B32_e64 $vgpr1, implicit $exec
1766   ; GFX90A-EXPANDED-NEXT:   $agpr31 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1767   ; GFX90A-EXPANDED-NEXT:   S_NOP 0, implicit killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
1768   bb.0:
1769     S_NOP 0, implicit-def %0:areg_1024
1770     S_CBRANCH_SCC1 implicit undef $scc, %bb.1
1772   bb.1:
1773     S_NOP 1
1775   bb.2:
1776     S_NOP 0, implicit %0