blob: 11b009307ce1eff5d9ea499e8e4fe4e9d6d4bb32 [file]
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=amdgpu9.08-amd-amdhsa -start-before=greedy,1 -stop-after=prolog-epilog -verify-machineinstrs -verify-regalloc -o - %s | FileCheck --check-prefixes=GCN %s
# The VGPR pair spilled and restored around the callsite is used in the next basic block.
#
# AMDGPU target spill hooks storeRegToStackSlot/loadRegFromStackSlot handle the register spills via
# spill pseudos to insert a single instruction per spill to tackle the limitation during inline spiller
# that incorrectly updates the Liveintervals in case of a spill lowered into multiple instructions.
# AV spills were handled earlier by converting them into equivalent VGPR spills by adding appropriate copies.
# The multiple instructions (a copy + vgpr spill pseudo) introduced an incorrect liverange that caused a
# crash during RA. It is fixed by introducing AV* spill pseudos to ensure a single instruction per spill and
# the test started compiling successfully.
---
name: test_av_spill_cross_bb_usage
tracksRegLiveness: true
frameInfo:
adjustsStack: true
stack:
- { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }
machineFunctionInfo:
scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3
stackPtrOffsetReg: '$sgpr32'
body: |
; GCN-LABEL: name: test_av_spill_cross_bb_usage
; GCN: bb.0:
; GCN-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
; GCN-NEXT: liveins: $sgpr30, $sgpr31, $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr40, $vgpr41, $vgpr42, $vgpr43, $vgpr44, $vgpr45, $vgpr46, $vgpr56, $vgpr57, $vgpr58, $vgpr59, $vgpr60, $vgpr61, $sgpr30_sgpr31
; GCN-NEXT: {{ $}}
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_def_aspace_cfa $sgpr32, 0, 6
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_register_pair $pc_reg, $sgpr30, 32, $sgpr31, 32
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr0
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr1
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr2
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr3
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr4
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr5
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr6
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr7
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr8
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr9
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr10
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr11
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr12
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr13
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr14
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr15
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr16
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr17
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr18
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr19
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr20
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr21
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr22
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr23
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr24
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr25
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr26
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr27
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr28
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr29
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr30
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr31
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr32
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr33
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr34
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr35
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr36
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr37
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr38
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr39
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr48
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr49
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr50
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr51
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr52
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr53
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr54
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr55
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr64
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr65
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr66
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr67
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr68
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr69
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr70
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr71
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr80
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr81
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr82
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr83
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr84
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr85
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr86
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr87
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr96
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr97
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr98
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr99
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr100
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr101
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr102
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr103
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr112
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr113
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr114
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr115
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr116
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr117
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr118
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr119
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr128
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr129
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr130
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr131
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr132
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr133
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr134
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr135
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr144
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr145
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr146
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr147
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr148
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr149
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr150
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr151
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr160
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr161
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr162
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr163
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr164
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr165
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr166
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr167
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr176
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr177
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr178
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr179
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr180
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr181
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr182
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr183
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr192
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr193
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr194
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr195
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr196
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr197
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr198
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr199
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr208
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr209
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr210
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr211
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr212
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr213
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr214
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr215
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr224
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr225
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr226
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr227
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr228
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr229
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr230
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr231
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr240
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr241
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr242
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr243
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr244
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr245
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr246
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $vgpr247
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr0
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr1
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr2
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr3
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr4
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr5
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr6
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr7
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr8
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr9
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr10
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr11
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr12
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr13
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr14
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr15
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr16
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr17
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr18
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr19
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr20
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr21
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr22
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr23
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr24
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr25
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr26
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr27
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr28
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr29
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr30
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr31
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr32
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr33
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr34
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr35
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr36
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr37
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr38
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr39
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr40
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr41
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr42
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr43
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr44
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr45
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr46
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr47
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr48
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr49
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr50
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr51
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr52
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr53
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr54
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr55
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr56
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr57
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr58
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr59
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr60
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr61
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr62
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr63
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr64
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr65
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr66
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr67
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr68
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr69
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr70
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr71
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr72
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr73
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr74
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr75
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr76
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr77
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr78
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr79
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr80
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr81
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr82
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr83
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr84
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr85
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr86
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr87
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr88
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr89
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr90
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr91
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr92
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr93
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr94
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr95
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr96
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr97
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr98
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr99
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr100
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr101
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr102
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr103
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr104
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr105
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr106
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr107
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr108
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr109
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr110
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr111
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr112
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr113
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr114
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr115
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr116
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr117
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr118
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr119
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr120
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr121
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr122
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr123
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr124
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr125
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr126
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr127
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr128
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr129
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr130
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr131
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr132
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr133
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr134
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr135
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr136
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr137
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr138
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr139
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr140
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr141
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr142
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr143
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr144
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr145
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr146
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr147
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr148
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr149
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr150
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr151
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr152
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr153
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr154
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr155
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr156
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr157
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr158
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr159
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr160
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr161
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr162
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr163
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr164
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr165
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr166
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr167
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr168
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr169
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr170
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr171
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr172
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr173
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr174
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr175
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr176
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr177
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr178
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr179
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr180
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr181
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr182
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr183
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr184
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr185
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr186
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr187
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr188
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr189
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr190
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr191
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr192
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr193
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr194
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr195
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr196
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr197
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr198
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr199
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr200
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr201
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr202
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr203
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr204
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr205
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr206
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr207
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr208
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr209
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr210
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr211
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr212
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr213
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr214
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr215
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr216
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr217
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr218
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr219
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr220
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr221
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr222
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr223
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr224
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr225
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr226
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr227
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr228
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr229
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr230
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr231
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr232
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr233
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr234
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr235
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr236
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr237
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr238
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr239
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr240
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr241
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr242
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr243
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr244
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr245
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr246
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr247
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr248
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr249
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr250
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr251
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr252
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr253
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr254
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $agpr255
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr0
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr1
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr2
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr3
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr4
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr5
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr6
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr7
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr8
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr9
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr10
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr11
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr12
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr13
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr14
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr15
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr16
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr17
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr18
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr19
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr20
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr21
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr22
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr23
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr24
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr25
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr26
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr27
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr28
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr29
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr40
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr41
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr42
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr43
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr44
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr45
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr46
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr47
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr56
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr57
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr58
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr59
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr60
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr61
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr62
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr63
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr72
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr73
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr74
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr75
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr76
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr77
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr78
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr79
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr88
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr89
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr90
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr91
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr92
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr93
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr94
; GCN-NEXT: frame-setup CFI_INSTRUCTION undefined $sgpr95
; GCN-NEXT: $sgpr4_sgpr5 = S_OR_SAVEEXEC_B64 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET $vgpr40, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 68, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.3, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION offset $vgpr40, 4352
; GCN-NEXT: $exec = S_MOV_B64 killed $sgpr4_sgpr5
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr41, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 44, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.4, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr41, 32, $exec, 64, 2816
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr42, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 40, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.5, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr42, 32, $exec, 64, 2560
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr43, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 36, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.6, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr43, 32, $exec, 64, 2304
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr44, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 32, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.7, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr44, 32, $exec, 64, 2048
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr45, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 28, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.8, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr45, 32, $exec, 64, 1792
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr46, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 24, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.9, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr46, 32, $exec, 64, 1536
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr56, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 20, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.10, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr56, 32, $exec, 64, 1280
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr57, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 16, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.11, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr57, 32, $exec, 64, 1024
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr58, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 12, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.12, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr58, 32, $exec, 64, 768
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr59, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 8, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.13, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr59, 32, $exec, 64, 512
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr60, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 4, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.14, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr60, 32, $exec, 64, 256
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr61, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 0, 0, 0, implicit $exec :: ("amdgpu-thread-private" store (s32) into %stack.15, addrspace 5)
; GCN-NEXT: frame-setup CFI_INSTRUCTION llvm_vector_offset $vgpr61, 32, $exec, 64, 0
; GCN-NEXT: renamable $vgpr44 = COPY $vgpr13, implicit $exec
; GCN-NEXT: renamable $vgpr43 = COPY $vgpr12, implicit $exec
; GCN-NEXT: S_CBRANCH_SCC1 %bb.2, implicit undef $scc
; GCN-NEXT: S_BRANCH %bb.1
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.1:
; GCN-NEXT: successors: %bb.2(0x80000000)
; GCN-NEXT: liveins: $exec, $sgpr30, $sgpr31, $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr40, $sgpr30_sgpr31, $vgpr10_vgpr11:0x000000000000000F, $vgpr14_vgpr15:0x000000000000000F, $vgpr43_vgpr44:0x000000000000000F
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $vgpr57 = COPY $vgpr9, implicit $exec
; GCN-NEXT: renamable $vgpr56 = COPY $vgpr8, implicit $exec
; GCN-NEXT: renamable $vgpr59 = COPY $vgpr7, implicit $exec
; GCN-NEXT: renamable $vgpr58 = COPY $vgpr6, implicit $exec
; GCN-NEXT: renamable $vgpr61 = COPY $vgpr5, implicit $exec
; GCN-NEXT: renamable $vgpr60 = COPY $vgpr4, implicit $exec
; GCN-NEXT: renamable $vgpr42 = COPY $vgpr3, implicit $exec
; GCN-NEXT: renamable $vgpr41 = COPY $vgpr2, implicit $exec
; GCN-NEXT: renamable $vgpr46 = COPY $vgpr1, implicit $exec
; GCN-NEXT: renamable $vgpr45 = COPY $vgpr0, implicit $exec
; GCN-NEXT: renamable $sgpr16_sgpr17 = IMPLICIT_DEF
; GCN-NEXT: $vgpr40 = SI_SPILL_S32_TO_VGPR $sgpr30, 0, $vgpr40, implicit-def $sgpr30_sgpr31, implicit $sgpr30_sgpr31
; GCN-NEXT: $vgpr40 = SI_SPILL_S32_TO_VGPR $sgpr31, 1, $vgpr40, implicit $sgpr30_sgpr31
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr14, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 52, 0, 0, implicit $exec, implicit-def $vgpr14_vgpr15, implicit $vgpr14_vgpr15 :: ("amdgpu-thread-private" store (s32) into %stack.1, addrspace 5)
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr15, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 56, 0, 0, implicit $exec, implicit killed $vgpr14_vgpr15 :: ("amdgpu-thread-private" store (s32) into %stack.1 + 4, addrspace 5)
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr10, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 60, 0, 0, implicit $exec, implicit-def $vgpr10_vgpr11, implicit $vgpr10_vgpr11 :: ("amdgpu-thread-private" store (s32) into %stack.2, addrspace 5)
; GCN-NEXT: BUFFER_STORE_DWORD_OFFSET killed $vgpr11, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 64, 0, 0, implicit $exec, implicit killed $vgpr10_vgpr11 :: ("amdgpu-thread-private" store (s32) into %stack.2 + 4, addrspace 5)
; GCN-NEXT: dead $sgpr30_sgpr31 = SI_CALL killed renamable $sgpr16_sgpr17, 0, csr_amdgpu, implicit-def dead $vgpr0
; GCN-NEXT: $vgpr14 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 52, 0, 0, implicit $exec, implicit-def $vgpr14_vgpr15 :: ("amdgpu-thread-private" load (s32) from %stack.1, addrspace 5)
; GCN-NEXT: $vgpr15 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 56, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.1 + 4, addrspace 5)
; GCN-NEXT: renamable $vgpr0_vgpr1 = nofpexcept V_FMA_F64_e64 0, killed $vgpr45_vgpr46, 0, killed $vgpr41_vgpr42, 0, killed $vgpr60_vgpr61, 0, 0, implicit $mode, implicit $exec
; GCN-NEXT: FLAT_STORE_DWORDX2 killed renamable $vgpr58_vgpr59, killed renamable $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
; GCN-NEXT: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 60, 0, 0, implicit $exec, implicit-def $vgpr0_vgpr1 :: ("amdgpu-thread-private" load (s32) from %stack.2, addrspace 5)
; GCN-NEXT: $vgpr1 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 64, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.2 + 4, addrspace 5)
; GCN-NEXT: FLAT_STORE_DWORDX2 killed renamable $vgpr0_vgpr1, killed renamable $vgpr56_vgpr57, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.2:
; GCN-NEXT: liveins: $vgpr40, $vgpr14_vgpr15:0x000000000000000F, $vgpr43_vgpr44:0x000000000000000F
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 0, implicit $exec
; GCN-NEXT: FLAT_STORE_DWORDX2 undef renamable $vgpr0_vgpr1, killed renamable $vgpr43_vgpr44, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
; GCN-NEXT: FLAT_STORE_DWORDX2 killed renamable $vgpr0_vgpr1, killed renamable $vgpr14_vgpr15, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
; GCN-NEXT: $vgpr61 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 0, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.15, addrspace 5)
; GCN-NEXT: $vgpr60 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 4, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.14, addrspace 5)
; GCN-NEXT: $vgpr59 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 8, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.13, addrspace 5)
; GCN-NEXT: $vgpr58 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 12, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.12, addrspace 5)
; GCN-NEXT: $vgpr57 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 16, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.11, addrspace 5)
; GCN-NEXT: $vgpr56 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 20, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.10, addrspace 5)
; GCN-NEXT: $vgpr46 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 24, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.9, addrspace 5)
; GCN-NEXT: $vgpr45 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 28, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.8, addrspace 5)
; GCN-NEXT: $vgpr44 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 32, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.7, addrspace 5)
; GCN-NEXT: $vgpr43 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 36, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.6, addrspace 5)
; GCN-NEXT: $vgpr42 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 40, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.5, addrspace 5)
; GCN-NEXT: $vgpr41 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 44, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.4, addrspace 5)
; GCN-NEXT: $sgpr4_sgpr5 = S_OR_SAVEEXEC_B64 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec
; GCN-NEXT: $vgpr40 = BUFFER_LOAD_DWORD_OFFSET $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 68, 0, 0, implicit $exec :: ("amdgpu-thread-private" load (s32) from %stack.3, addrspace 5)
; GCN-NEXT: $exec = S_MOV_B64 killed $sgpr4_sgpr5
; GCN-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31
bb.0:
liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11, $vgpr12, $vgpr13, $vgpr14, $vgpr15, $vgpr40, $sgpr30, $sgpr31, $sgpr30_sgpr31
undef %0.sub1:vreg_64 = COPY $vgpr15
%0.sub0:vreg_64 = COPY $vgpr14
undef %1.sub1:vreg_64 = COPY $vgpr13
%1.sub0:vreg_64 = COPY $vgpr12
undef %2.sub1:vreg_64 = COPY $vgpr11
%2.sub0:vreg_64 = COPY $vgpr10
undef %3.sub1:vreg_64 = COPY $vgpr9
%3.sub0:vreg_64 = COPY $vgpr8
undef %4.sub1:vreg_64 = COPY $vgpr7
%4.sub0:vreg_64 = COPY $vgpr6
undef %5.sub1:vreg_64 = COPY $vgpr5
%5.sub0:vreg_64 = COPY $vgpr4
undef %6.sub1:vreg_64 = COPY $vgpr3
%6.sub0:vreg_64 = COPY $vgpr2
undef %7.sub1:vreg_64 = COPY $vgpr1
%7.sub0:vreg_64 = COPY $vgpr0
S_CBRANCH_SCC1 %bb.2, implicit undef $scc
S_BRANCH %bb.1
bb.1:
liveins: $vgpr40, $sgpr30, $sgpr31, $sgpr30_sgpr31
ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32
renamable $sgpr16_sgpr17 = IMPLICIT_DEF
$vgpr40 = SI_SPILL_S32_TO_VGPR $sgpr30, 0, $vgpr40, implicit-def $sgpr30_sgpr31, implicit $sgpr30_sgpr31
$vgpr40 = SI_SPILL_S32_TO_VGPR killed $sgpr31, 1, $vgpr40, implicit killed $sgpr30_sgpr31
dead $sgpr30_sgpr31 = SI_CALL killed renamable $sgpr16_sgpr17, 0, csr_amdgpu, implicit-def dead $vgpr0
%8:vreg_64 = nofpexcept V_FMA_F64_e64 0, %7, 0, %6, 0, %5, 0, 0, implicit $mode, implicit $exec
ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32
FLAT_STORE_DWORDX2 %4, %8, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
FLAT_STORE_DWORDX2 %2, %3, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
bb.2:
liveins: $vgpr40
%9:vreg_64 = V_MOV_B64_PSEUDO 0, implicit $exec
FLAT_STORE_DWORDX2 undef %10:vreg_64, %1, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
FLAT_STORE_DWORDX2 %9, %0, 0, 0, implicit $exec, implicit $flat_scr :: (store (s64))
S_SETPC_B64_return undef $sgpr30_sgpr31
...