1 ; RUN: llc -march=amdgcn -verify-machineinstrs -amdgpu-s-branch-bits=5 -stop-after=branch-relaxation %s -o - | FileCheck %s
3 ; Test long branch reserved register pass when all
6 ; CHECK-LABEL: {{^}}name: long_branch_used_all_sgprs
7 ; CHECK: machineFunctionInfo:
8 ; CHECK-NEXT: explicitKernArgSize: 12
9 ; CHECK-NEXT: maxKernArgAlign: 8
10 ; CHECK-NEXT: ldsSize: 0
11 ; CHECK-NEXT: gdsSize: 0
12 ; CHECK-NEXT: dynLDSAlign: 1
13 ; CHECK-NEXT: isEntryFunction: true
14 ; CHECK-NEXT: isChainFunction: false
15 ; CHECK-NEXT: noSignedZerosFPMath: false
16 ; CHECK-NEXT: memoryBound: false
17 ; CHECK-NEXT: waveLimiter: false
18 ; CHECK-NEXT: hasSpilledSGPRs: false
19 ; CHECK-NEXT: hasSpilledVGPRs: false
20 ; CHECK-NEXT: scratchRSrcReg: '$sgpr96_sgpr97_sgpr98_sgpr99'
21 ; CHECK-NEXT: frameOffsetReg: '$fp_reg'
22 ; CHECK-NEXT: stackPtrOffsetReg: '$sgpr32'
23 ; CHECK-NEXT: bytesInStackArgArea: 0
24 ; CHECK-NEXT: returnsVoid: true
25 ; CHECK-NEXT: argumentInfo:
26 ; CHECK-NEXT: kernargSegmentPtr: { reg: '$sgpr0_sgpr1' }
27 ; CHECK-NEXT: workGroupIDX: { reg: '$sgpr2' }
28 ; CHECK-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr3' }
29 ; CHECK-NEXT: workItemIDX: { reg: '$vgpr0' }
30 ; CHECK-NEXT: psInputAddr: 0
31 ; CHECK-NEXT: psInputEnable: 0
33 ; CHECK-NEXT: ieee: true
34 ; CHECK-NEXT: dx10-clamp: true
35 ; CHECK-NEXT: fp32-input-denormals: true
36 ; CHECK-NEXT: fp32-output-denormals: true
37 ; CHECK-NEXT: fp64-fp16-input-denormals: true
38 ; CHECK-NEXT: fp64-fp16-output-denormals: true
39 ; CHECK-NEXT: highBitsOf32BitAddress: 0
40 ; CHECK-NEXT: occupancy: 5
41 ; CHECK-NEXT: scavengeFI: '%fixed-stack.0'
42 ; CHECK-NEXT: vgprForAGPRCopy: ''
43 ; CHECK-NEXT: sgprForEXECCopy: '$sgpr100_sgpr101'
44 ; CHECK-NEXT: longBranchReservedReg: ''
46 define amdgpu_kernel void @long_branch_used_all_sgprs(ptr addrspace(1) %arg, i32 %cnd) #0 {
48 %long_branch_used_all_sgprs.kernarg.segment = call nonnull align 16 dereferenceable(48) ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr()
49 %cnd.kernarg.offset = getelementptr inbounds i8, ptr addrspace(4) %long_branch_used_all_sgprs.kernarg.segment, i64 44, !amdgpu.uniform !0
50 %cnd.load = load i32, ptr addrspace(4) %cnd.kernarg.offset, align 4, !invariant.load !0
51 %sgpr0 = tail call i32 asm sideeffect "s_mov_b32 s0, 0", "={s0}"() #1
52 %sgpr1 = tail call i32 asm sideeffect "s_mov_b32 s1, 0", "={s1}"() #1
53 %sgpr2 = tail call i32 asm sideeffect "s_mov_b32 s2, 0", "={s2}"() #1
54 %sgpr3 = tail call i32 asm sideeffect "s_mov_b32 s3, 0", "={s3}"() #1
55 %sgpr4 = tail call i32 asm sideeffect "s_mov_b32 s4, 0", "={s4}"() #1
56 %sgpr5 = tail call i32 asm sideeffect "s_mov_b32 s5, 0", "={s5}"() #1
57 %sgpr6 = tail call i32 asm sideeffect "s_mov_b32 s6, 0", "={s6}"() #1
58 %sgpr7 = tail call i32 asm sideeffect "s_mov_b32 s7, 0", "={s7}"() #1
59 %sgpr8 = tail call i32 asm sideeffect "s_mov_b32 s8, 0", "={s8}"() #1
60 %sgpr9 = tail call i32 asm sideeffect "s_mov_b32 s9, 0", "={s9}"() #1
61 %sgpr10 = tail call i32 asm sideeffect "s_mov_b32 s10, 0", "={s10}"() #1
62 %sgpr11 = tail call i32 asm sideeffect "s_mov_b32 s11, 0", "={s11}"() #1
63 %sgpr12 = tail call i32 asm sideeffect "s_mov_b32 s12, 0", "={s12}"() #1
64 %sgpr13 = tail call i32 asm sideeffect "s_mov_b32 s13, 0", "={s13}"() #1
65 %sgpr14 = tail call i32 asm sideeffect "s_mov_b32 s14, 0", "={s14}"() #1
66 %sgpr15 = tail call i32 asm sideeffect "s_mov_b32 s15, 0", "={s15}"() #1
67 %sgpr16 = tail call i32 asm sideeffect "s_mov_b32 s16, 0", "={s16}"() #1
68 %sgpr17 = tail call i32 asm sideeffect "s_mov_b32 s17, 0", "={s17}"() #1
69 %sgpr18 = tail call i32 asm sideeffect "s_mov_b32 s18, 0", "={s18}"() #1
70 %sgpr19 = tail call i32 asm sideeffect "s_mov_b32 s19, 0", "={s19}"() #1
71 %sgpr20 = tail call i32 asm sideeffect "s_mov_b32 s20, 0", "={s20}"() #1
72 %sgpr21 = tail call i32 asm sideeffect "s_mov_b32 s21, 0", "={s21}"() #1
73 %sgpr22 = tail call i32 asm sideeffect "s_mov_b32 s22, 0", "={s22}"() #1
74 %sgpr23 = tail call i32 asm sideeffect "s_mov_b32 s23, 0", "={s23}"() #1
75 %sgpr24 = tail call i32 asm sideeffect "s_mov_b32 s24, 0", "={s24}"() #1
76 %sgpr25 = tail call i32 asm sideeffect "s_mov_b32 s25, 0", "={s25}"() #1
77 %sgpr26 = tail call i32 asm sideeffect "s_mov_b32 s26, 0", "={s26}"() #1
78 %sgpr27 = tail call i32 asm sideeffect "s_mov_b32 s27, 0", "={s27}"() #1
79 %sgpr28 = tail call i32 asm sideeffect "s_mov_b32 s28, 0", "={s28}"() #1
80 %sgpr29 = tail call i32 asm sideeffect "s_mov_b32 s29, 0", "={s29}"() #1
81 %sgpr30 = tail call i32 asm sideeffect "s_mov_b32 s30, 0", "={s30}"() #1
82 %sgpr31 = tail call i32 asm sideeffect "s_mov_b32 s31, 0", "={s31}"() #1
83 %sgpr32 = tail call i32 asm sideeffect "s_mov_b32 s32, 0", "={s32}"() #1
84 %sgpr33 = tail call i32 asm sideeffect "s_mov_b32 s33, 0", "={s33}"() #1
85 %sgpr34 = tail call i32 asm sideeffect "s_mov_b32 s34, 0", "={s34}"() #1
86 %sgpr35 = tail call i32 asm sideeffect "s_mov_b32 s35, 0", "={s35}"() #1
87 %sgpr36 = tail call i32 asm sideeffect "s_mov_b32 s36, 0", "={s36}"() #1
88 %sgpr37 = tail call i32 asm sideeffect "s_mov_b32 s37, 0", "={s37}"() #1
89 %sgpr38 = tail call i32 asm sideeffect "s_mov_b32 s38, 0", "={s38}"() #1
90 %sgpr39 = tail call i32 asm sideeffect "s_mov_b32 s39, 0", "={s39}"() #1
91 %sgpr40 = tail call i32 asm sideeffect "s_mov_b32 s40, 0", "={s40}"() #1
92 %sgpr41 = tail call i32 asm sideeffect "s_mov_b32 s41, 0", "={s41}"() #1
93 %sgpr42 = tail call i32 asm sideeffect "s_mov_b32 s42, 0", "={s42}"() #1
94 %sgpr43 = tail call i32 asm sideeffect "s_mov_b32 s43, 0", "={s43}"() #1
95 %sgpr44 = tail call i32 asm sideeffect "s_mov_b32 s44, 0", "={s44}"() #1
96 %sgpr45 = tail call i32 asm sideeffect "s_mov_b32 s45, 0", "={s45}"() #1
97 %sgpr46 = tail call i32 asm sideeffect "s_mov_b32 s46, 0", "={s46}"() #1
98 %sgpr47 = tail call i32 asm sideeffect "s_mov_b32 s47, 0", "={s47}"() #1
99 %sgpr48 = tail call i32 asm sideeffect "s_mov_b32 s48, 0", "={s48}"() #1
100 %sgpr49 = tail call i32 asm sideeffect "s_mov_b32 s49, 0", "={s49}"() #1
101 %sgpr50 = tail call i32 asm sideeffect "s_mov_b32 s50, 0", "={s50}"() #1
102 %sgpr51 = tail call i32 asm sideeffect "s_mov_b32 s51, 0", "={s51}"() #1
103 %sgpr52 = tail call i32 asm sideeffect "s_mov_b32 s52, 0", "={s52}"() #1
104 %sgpr53 = tail call i32 asm sideeffect "s_mov_b32 s53, 0", "={s53}"() #1
105 %sgpr54 = tail call i32 asm sideeffect "s_mov_b32 s54, 0", "={s54}"() #1
106 %sgpr55 = tail call i32 asm sideeffect "s_mov_b32 s55, 0", "={s55}"() #1
107 %sgpr56 = tail call i32 asm sideeffect "s_mov_b32 s56, 0", "={s56}"() #1
108 %sgpr57 = tail call i32 asm sideeffect "s_mov_b32 s57, 0", "={s57}"() #1
109 %sgpr58 = tail call i32 asm sideeffect "s_mov_b32 s58, 0", "={s58}"() #1
110 %sgpr59 = tail call i32 asm sideeffect "s_mov_b32 s59, 0", "={s59}"() #1
111 %sgpr60 = tail call i32 asm sideeffect "s_mov_b32 s60, 0", "={s60}"() #1
112 %sgpr61 = tail call i32 asm sideeffect "s_mov_b32 s61, 0", "={s61}"() #1
113 %sgpr62 = tail call i32 asm sideeffect "s_mov_b32 s62, 0", "={s62}"() #1
114 %sgpr63 = tail call i32 asm sideeffect "s_mov_b32 s63, 0", "={s63}"() #1
115 %sgpr64 = tail call i32 asm sideeffect "s_mov_b32 s64, 0", "={s64}"() #1
116 %sgpr65 = tail call i32 asm sideeffect "s_mov_b32 s65, 0", "={s65}"() #1
117 %sgpr66 = tail call i32 asm sideeffect "s_mov_b32 s66, 0", "={s66}"() #1
118 %sgpr67 = tail call i32 asm sideeffect "s_mov_b32 s67, 0", "={s67}"() #1
119 %sgpr68 = tail call i32 asm sideeffect "s_mov_b32 s68, 0", "={s68}"() #1
120 %sgpr69 = tail call i32 asm sideeffect "s_mov_b32 s69, 0", "={s69}"() #1
121 %sgpr70 = tail call i32 asm sideeffect "s_mov_b32 s70, 0", "={s70}"() #1
122 %sgpr71 = tail call i32 asm sideeffect "s_mov_b32 s71, 0", "={s71}"() #1
123 %sgpr72 = tail call i32 asm sideeffect "s_mov_b32 s72, 0", "={s72}"() #1
124 %sgpr73 = tail call i32 asm sideeffect "s_mov_b32 s73, 0", "={s73}"() #1
125 %sgpr74 = tail call i32 asm sideeffect "s_mov_b32 s74, 0", "={s74}"() #1
126 %sgpr75 = tail call i32 asm sideeffect "s_mov_b32 s75, 0", "={s75}"() #1
127 %sgpr76 = tail call i32 asm sideeffect "s_mov_b32 s76, 0", "={s76}"() #1
128 %sgpr77 = tail call i32 asm sideeffect "s_mov_b32 s77, 0", "={s77}"() #1
129 %sgpr78 = tail call i32 asm sideeffect "s_mov_b32 s78, 0", "={s78}"() #1
130 %sgpr79 = tail call i32 asm sideeffect "s_mov_b32 s79, 0", "={s79}"() #1
131 %sgpr80 = tail call i32 asm sideeffect "s_mov_b32 s80, 0", "={s80}"() #1
132 %sgpr81 = tail call i32 asm sideeffect "s_mov_b32 s81, 0", "={s81}"() #1
133 %sgpr82 = tail call i32 asm sideeffect "s_mov_b32 s82, 0", "={s82}"() #1
134 %sgpr83 = tail call i32 asm sideeffect "s_mov_b32 s83, 0", "={s83}"() #1
135 %sgpr84 = tail call i32 asm sideeffect "s_mov_b32 s84, 0", "={s84}"() #1
136 %sgpr85 = tail call i32 asm sideeffect "s_mov_b32 s85, 0", "={s85}"() #1
137 %sgpr86 = tail call i32 asm sideeffect "s_mov_b32 s86, 0", "={s86}"() #1
138 %sgpr87 = tail call i32 asm sideeffect "s_mov_b32 s87, 0", "={s87}"() #1
139 %sgpr88 = tail call i32 asm sideeffect "s_mov_b32 s88, 0", "={s88}"() #1
140 %sgpr89 = tail call i32 asm sideeffect "s_mov_b32 s89, 0", "={s89}"() #1
141 %sgpr90 = tail call i32 asm sideeffect "s_mov_b32 s90, 0", "={s90}"() #1
142 %sgpr91 = tail call i32 asm sideeffect "s_mov_b32 s91, 0", "={s91}"() #1
143 %sgpr92 = tail call i32 asm sideeffect "s_mov_b32 s92, 0", "={s92}"() #1
144 %sgpr93 = tail call i32 asm sideeffect "s_mov_b32 s93, 0", "={s93}"() #1
145 %sgpr94 = tail call i32 asm sideeffect "s_mov_b32 s94, 0", "={s94}"() #1
146 %sgpr95 = tail call i32 asm sideeffect "s_mov_b32 s95, 0", "={s95}"() #1
147 %sgpr96 = tail call i32 asm sideeffect "s_mov_b32 s96, 0", "={s96}"() #1
148 %sgpr97 = tail call i32 asm sideeffect "s_mov_b32 s97, 0", "={s97}"() #1
149 %sgpr98 = tail call i32 asm sideeffect "s_mov_b32 s98, 0", "={s98}"() #1
150 %sgpr99 = tail call i32 asm sideeffect "s_mov_b32 s99, 0", "={s99}"() #1
151 %sgpr100 = tail call i32 asm sideeffect "s_mov_b32 s100, 0", "={s100}"() #1
152 %sgpr101 = tail call i32 asm sideeffect "s_mov_b32 s101, 0", "={s101}"() #1
153 %vcc_lo = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_lo}"() #1
154 %vcc_hi = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_hi}"() #1
155 %cmp = icmp ne i32 %cnd.load, 0
156 br i1 %cmp, label %bb2, label %bb3, !amdgpu.uniform !0
158 bb2: ; preds = %entry
159 call void asm sideeffect "v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64", ""() #1
160 br label %bb3, !amdgpu.uniform !0
162 bb3: ; preds = %bb2, %entry
163 tail call void asm sideeffect "; reg use $0", "{s0}"(i32 %sgpr0) #1
164 tail call void asm sideeffect "; reg use $0", "{s1}"(i32 %sgpr1) #1
165 tail call void asm sideeffect "; reg use $0", "{s2}"(i32 %sgpr2) #1
166 tail call void asm sideeffect "; reg use $0", "{s3}"(i32 %sgpr3) #1
167 tail call void asm sideeffect "; reg use $0", "{s4}"(i32 %sgpr4) #1
168 tail call void asm sideeffect "; reg use $0", "{s5}"(i32 %sgpr5) #1
169 tail call void asm sideeffect "; reg use $0", "{s6}"(i32 %sgpr6) #1
170 tail call void asm sideeffect "; reg use $0", "{s7}"(i32 %sgpr7) #1
171 tail call void asm sideeffect "; reg use $0", "{s8}"(i32 %sgpr8) #1
172 tail call void asm sideeffect "; reg use $0", "{s9}"(i32 %sgpr9) #1
173 tail call void asm sideeffect "; reg use $0", "{s10}"(i32 %sgpr10) #1
174 tail call void asm sideeffect "; reg use $0", "{s11}"(i32 %sgpr11) #1
175 tail call void asm sideeffect "; reg use $0", "{s12}"(i32 %sgpr12) #1
176 tail call void asm sideeffect "; reg use $0", "{s13}"(i32 %sgpr13) #1
177 tail call void asm sideeffect "; reg use $0", "{s14}"(i32 %sgpr14) #1
178 tail call void asm sideeffect "; reg use $0", "{s15}"(i32 %sgpr15) #1
179 tail call void asm sideeffect "; reg use $0", "{s16}"(i32 %sgpr16) #1
180 tail call void asm sideeffect "; reg use $0", "{s17}"(i32 %sgpr17) #1
181 tail call void asm sideeffect "; reg use $0", "{s18}"(i32 %sgpr18) #1
182 tail call void asm sideeffect "; reg use $0", "{s19}"(i32 %sgpr19) #1
183 tail call void asm sideeffect "; reg use $0", "{s20}"(i32 %sgpr20) #1
184 tail call void asm sideeffect "; reg use $0", "{s21}"(i32 %sgpr21) #1
185 tail call void asm sideeffect "; reg use $0", "{s22}"(i32 %sgpr22) #1
186 tail call void asm sideeffect "; reg use $0", "{s23}"(i32 %sgpr23) #1
187 tail call void asm sideeffect "; reg use $0", "{s24}"(i32 %sgpr24) #1
188 tail call void asm sideeffect "; reg use $0", "{s25}"(i32 %sgpr25) #1
189 tail call void asm sideeffect "; reg use $0", "{s26}"(i32 %sgpr26) #1
190 tail call void asm sideeffect "; reg use $0", "{s27}"(i32 %sgpr27) #1
191 tail call void asm sideeffect "; reg use $0", "{s28}"(i32 %sgpr28) #1
192 tail call void asm sideeffect "; reg use $0", "{s29}"(i32 %sgpr29) #1
193 tail call void asm sideeffect "; reg use $0", "{s30}"(i32 %sgpr30) #1
194 tail call void asm sideeffect "; reg use $0", "{s31}"(i32 %sgpr31) #1
195 tail call void asm sideeffect "; reg use $0", "{s32}"(i32 %sgpr32) #1
196 tail call void asm sideeffect "; reg use $0", "{s33}"(i32 %sgpr33) #1
197 tail call void asm sideeffect "; reg use $0", "{s34}"(i32 %sgpr34) #1
198 tail call void asm sideeffect "; reg use $0", "{s35}"(i32 %sgpr35) #1
199 tail call void asm sideeffect "; reg use $0", "{s36}"(i32 %sgpr36) #1
200 tail call void asm sideeffect "; reg use $0", "{s37}"(i32 %sgpr37) #1
201 tail call void asm sideeffect "; reg use $0", "{s38}"(i32 %sgpr38) #1
202 tail call void asm sideeffect "; reg use $0", "{s39}"(i32 %sgpr39) #1
203 tail call void asm sideeffect "; reg use $0", "{s40}"(i32 %sgpr40) #1
204 tail call void asm sideeffect "; reg use $0", "{s41}"(i32 %sgpr41) #1
205 tail call void asm sideeffect "; reg use $0", "{s42}"(i32 %sgpr42) #1
206 tail call void asm sideeffect "; reg use $0", "{s43}"(i32 %sgpr43) #1
207 tail call void asm sideeffect "; reg use $0", "{s44}"(i32 %sgpr44) #1
208 tail call void asm sideeffect "; reg use $0", "{s45}"(i32 %sgpr45) #1
209 tail call void asm sideeffect "; reg use $0", "{s46}"(i32 %sgpr46) #1
210 tail call void asm sideeffect "; reg use $0", "{s47}"(i32 %sgpr47) #1
211 tail call void asm sideeffect "; reg use $0", "{s48}"(i32 %sgpr48) #1
212 tail call void asm sideeffect "; reg use $0", "{s49}"(i32 %sgpr49) #1
213 tail call void asm sideeffect "; reg use $0", "{s50}"(i32 %sgpr50) #1
214 tail call void asm sideeffect "; reg use $0", "{s51}"(i32 %sgpr51) #1
215 tail call void asm sideeffect "; reg use $0", "{s52}"(i32 %sgpr52) #1
216 tail call void asm sideeffect "; reg use $0", "{s53}"(i32 %sgpr53) #1
217 tail call void asm sideeffect "; reg use $0", "{s54}"(i32 %sgpr54) #1
218 tail call void asm sideeffect "; reg use $0", "{s55}"(i32 %sgpr55) #1
219 tail call void asm sideeffect "; reg use $0", "{s56}"(i32 %sgpr56) #1
220 tail call void asm sideeffect "; reg use $0", "{s57}"(i32 %sgpr57) #1
221 tail call void asm sideeffect "; reg use $0", "{s58}"(i32 %sgpr58) #1
222 tail call void asm sideeffect "; reg use $0", "{s59}"(i32 %sgpr59) #1
223 tail call void asm sideeffect "; reg use $0", "{s60}"(i32 %sgpr60) #1
224 tail call void asm sideeffect "; reg use $0", "{s61}"(i32 %sgpr61) #1
225 tail call void asm sideeffect "; reg use $0", "{s62}"(i32 %sgpr62) #1
226 tail call void asm sideeffect "; reg use $0", "{s63}"(i32 %sgpr63) #1
227 tail call void asm sideeffect "; reg use $0", "{s64}"(i32 %sgpr64) #1
228 tail call void asm sideeffect "; reg use $0", "{s65}"(i32 %sgpr65) #1
229 tail call void asm sideeffect "; reg use $0", "{s66}"(i32 %sgpr66) #1
230 tail call void asm sideeffect "; reg use $0", "{s67}"(i32 %sgpr67) #1
231 tail call void asm sideeffect "; reg use $0", "{s68}"(i32 %sgpr68) #1
232 tail call void asm sideeffect "; reg use $0", "{s69}"(i32 %sgpr69) #1
233 tail call void asm sideeffect "; reg use $0", "{s70}"(i32 %sgpr70) #1
234 tail call void asm sideeffect "; reg use $0", "{s71}"(i32 %sgpr71) #1
235 tail call void asm sideeffect "; reg use $0", "{s72}"(i32 %sgpr72) #1
236 tail call void asm sideeffect "; reg use $0", "{s73}"(i32 %sgpr73) #1
237 tail call void asm sideeffect "; reg use $0", "{s74}"(i32 %sgpr74) #1
238 tail call void asm sideeffect "; reg use $0", "{s75}"(i32 %sgpr75) #1
239 tail call void asm sideeffect "; reg use $0", "{s76}"(i32 %sgpr76) #1
240 tail call void asm sideeffect "; reg use $0", "{s77}"(i32 %sgpr77) #1
241 tail call void asm sideeffect "; reg use $0", "{s78}"(i32 %sgpr78) #1
242 tail call void asm sideeffect "; reg use $0", "{s79}"(i32 %sgpr79) #1
243 tail call void asm sideeffect "; reg use $0", "{s80}"(i32 %sgpr80) #1
244 tail call void asm sideeffect "; reg use $0", "{s81}"(i32 %sgpr81) #1
245 tail call void asm sideeffect "; reg use $0", "{s82}"(i32 %sgpr82) #1
246 tail call void asm sideeffect "; reg use $0", "{s83}"(i32 %sgpr83) #1
247 tail call void asm sideeffect "; reg use $0", "{s84}"(i32 %sgpr84) #1
248 tail call void asm sideeffect "; reg use $0", "{s85}"(i32 %sgpr85) #1
249 tail call void asm sideeffect "; reg use $0", "{s86}"(i32 %sgpr86) #1
250 tail call void asm sideeffect "; reg use $0", "{s87}"(i32 %sgpr87) #1
251 tail call void asm sideeffect "; reg use $0", "{s88}"(i32 %sgpr88) #1
252 tail call void asm sideeffect "; reg use $0", "{s89}"(i32 %sgpr89) #1
253 tail call void asm sideeffect "; reg use $0", "{s90}"(i32 %sgpr90) #1
254 tail call void asm sideeffect "; reg use $0", "{s91}"(i32 %sgpr91) #1
255 tail call void asm sideeffect "; reg use $0", "{s92}"(i32 %sgpr92) #1
256 tail call void asm sideeffect "; reg use $0", "{s93}"(i32 %sgpr93) #1
257 tail call void asm sideeffect "; reg use $0", "{s94}"(i32 %sgpr94) #1
258 tail call void asm sideeffect "; reg use $0", "{s95}"(i32 %sgpr95) #1
259 tail call void asm sideeffect "; reg use $0", "{s96}"(i32 %sgpr96) #1
260 tail call void asm sideeffect "; reg use $0", "{s97}"(i32 %sgpr97) #1
261 tail call void asm sideeffect "; reg use $0", "{s98}"(i32 %sgpr98) #1
262 tail call void asm sideeffect "; reg use $0", "{s99}"(i32 %sgpr99) #1
263 tail call void asm sideeffect "; reg use $0", "{s100}"(i32 %sgpr100) #1
264 tail call void asm sideeffect "; reg use $0", "{s101}"(i32 %sgpr101) #1
265 tail call void asm sideeffect "; reg use $0", "{vcc_lo}"(i32 %vcc_lo) #1
266 tail call void asm sideeffect "; reg use $0", "{vcc_hi}"(i32 %vcc_hi) #1
270 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
271 ; CHECK-LABEL: {{^}}name: long_branch_high_num_sgprs_used
272 ; CHECK: machineFunctionInfo:
273 ; CHECK-NEXT: explicitKernArgSize: 12
274 ; CHECK-NEXT: maxKernArgAlign: 8
275 ; CHECK-NEXT: ldsSize: 0
276 ; CHECK-NEXT: gdsSize: 0
277 ; CHECK-NEXT: dynLDSAlign: 1
278 ; CHECK-NEXT: isEntryFunction: true
279 ; CHECK-NEXT: isChainFunction: false
280 ; CHECK-NEXT: noSignedZerosFPMath: false
281 ; CHECK-NEXT: memoryBound: false
282 ; CHECK-NEXT: waveLimiter: false
283 ; CHECK-NEXT: hasSpilledSGPRs: false
284 ; CHECK-NEXT: hasSpilledVGPRs: false
285 ; CHECK-NEXT: scratchRSrcReg: '$sgpr96_sgpr97_sgpr98_sgpr99'
286 ; CHECK-NEXT: frameOffsetReg: '$fp_reg'
287 ; CHECK-NEXT: stackPtrOffsetReg: '$sgpr32'
288 ; CHECK-NEXT: bytesInStackArgArea: 0
289 ; CHECK-NEXT: returnsVoid: true
290 ; CHECK-NEXT: argumentInfo:
291 ; CHECK-NEXT: kernargSegmentPtr: { reg: '$sgpr0_sgpr1' }
292 ; CHECK-NEXT: workGroupIDX: { reg: '$sgpr2' }
293 ; CHECK-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr3' }
294 ; CHECK-NEXT: workItemIDX: { reg: '$vgpr0' }
295 ; CHECK-NEXT: psInputAddr: 0
296 ; CHECK-NEXT: psInputEnable: 0
298 ; CHECK-NEXT: ieee: true
299 ; CHECK-NEXT: dx10-clamp: true
300 ; CHECK-NEXT: fp32-input-denormals: true
301 ; CHECK-NEXT: fp32-output-denormals: true
302 ; CHECK-NEXT: fp64-fp16-input-denormals: true
303 ; CHECK-NEXT: fp64-fp16-output-denormals: true
304 ; CHECK-NEXT: highBitsOf32BitAddress: 0
305 ; CHECK-NEXT: occupancy: 5
306 ; CHECK-NEXT: scavengeFI: '%fixed-stack.0'
307 ; CHECK-NEXT: vgprForAGPRCopy: ''
308 ; CHECK-NEXT: sgprForEXECCopy: '$sgpr100_sgpr101'
309 ; CHECK-NEXT: longBranchReservedReg: ''
311 define amdgpu_kernel void @long_branch_high_num_sgprs_used(ptr addrspace(1) %arg, i32 %cnd) #0 {
313 %long_branch_used_all_sgprs.kernarg.segment = call nonnull align 16 dereferenceable(48) ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr()
314 %cnd.kernarg.offset = getelementptr inbounds i8, ptr addrspace(4) %long_branch_used_all_sgprs.kernarg.segment, i64 44, !amdgpu.uniform !0
315 %cnd.load = load i32, ptr addrspace(4) %cnd.kernarg.offset, align 4, !invariant.load !0
316 %sgpr0 = tail call i32 asm sideeffect "s_mov_b32 s0, 0", "={s0}"() #1
317 %sgpr1 = tail call i32 asm sideeffect "s_mov_b32 s1, 0", "={s1}"() #1
318 %sgpr2 = tail call i32 asm sideeffect "s_mov_b32 s2, 0", "={s2}"() #1
319 %sgpr3 = tail call i32 asm sideeffect "s_mov_b32 s3, 0", "={s3}"() #1
320 %sgpr4 = tail call i32 asm sideeffect "s_mov_b32 s4, 0", "={s4}"() #1
321 %sgpr5 = tail call i32 asm sideeffect "s_mov_b32 s5, 0", "={s5}"() #1
322 %sgpr6 = tail call i32 asm sideeffect "s_mov_b32 s6, 0", "={s6}"() #1
323 %sgpr7 = tail call i32 asm sideeffect "s_mov_b32 s7, 0", "={s7}"() #1
324 %sgpr8 = tail call i32 asm sideeffect "s_mov_b32 s8, 0", "={s8}"() #1
325 %sgpr9 = tail call i32 asm sideeffect "s_mov_b32 s9, 0", "={s9}"() #1
326 %sgpr10 = tail call i32 asm sideeffect "s_mov_b32 s10, 0", "={s10}"() #1
327 %sgpr11 = tail call i32 asm sideeffect "s_mov_b32 s11, 0", "={s11}"() #1
328 %sgpr12 = tail call i32 asm sideeffect "s_mov_b32 s12, 0", "={s12}"() #1
329 %sgpr13 = tail call i32 asm sideeffect "s_mov_b32 s13, 0", "={s13}"() #1
330 %sgpr14 = tail call i32 asm sideeffect "s_mov_b32 s14, 0", "={s14}"() #1
331 %sgpr15 = tail call i32 asm sideeffect "s_mov_b32 s15, 0", "={s15}"() #1
332 %sgpr16 = tail call i32 asm sideeffect "s_mov_b32 s16, 0", "={s16}"() #1
333 %sgpr17 = tail call i32 asm sideeffect "s_mov_b32 s17, 0", "={s17}"() #1
334 %sgpr18 = tail call i32 asm sideeffect "s_mov_b32 s18, 0", "={s18}"() #1
335 %sgpr19 = tail call i32 asm sideeffect "s_mov_b32 s19, 0", "={s19}"() #1
336 %sgpr20 = tail call i32 asm sideeffect "s_mov_b32 s20, 0", "={s20}"() #1
337 %sgpr21 = tail call i32 asm sideeffect "s_mov_b32 s21, 0", "={s21}"() #1
338 %sgpr22 = tail call i32 asm sideeffect "s_mov_b32 s22, 0", "={s22}"() #1
339 %sgpr23 = tail call i32 asm sideeffect "s_mov_b32 s23, 0", "={s23}"() #1
340 %sgpr24 = tail call i32 asm sideeffect "s_mov_b32 s24, 0", "={s24}"() #1
341 %sgpr25 = tail call i32 asm sideeffect "s_mov_b32 s25, 0", "={s25}"() #1
342 %sgpr26 = tail call i32 asm sideeffect "s_mov_b32 s26, 0", "={s26}"() #1
343 %sgpr27 = tail call i32 asm sideeffect "s_mov_b32 s27, 0", "={s27}"() #1
344 %sgpr28 = tail call i32 asm sideeffect "s_mov_b32 s28, 0", "={s28}"() #1
345 %sgpr29 = tail call i32 asm sideeffect "s_mov_b32 s29, 0", "={s29}"() #1
346 %sgpr30 = tail call i32 asm sideeffect "s_mov_b32 s30, 0", "={s30}"() #1
347 %sgpr31 = tail call i32 asm sideeffect "s_mov_b32 s31, 0", "={s31}"() #1
348 %sgpr32 = tail call i32 asm sideeffect "s_mov_b32 s32, 0", "={s32}"() #1
349 %sgpr33 = tail call i32 asm sideeffect "s_mov_b32 s33, 0", "={s33}"() #1
350 %sgpr34 = tail call i32 asm sideeffect "s_mov_b32 s34, 0", "={s34}"() #1
351 %sgpr35 = tail call i32 asm sideeffect "s_mov_b32 s35, 0", "={s35}"() #1
352 %sgpr36 = tail call i32 asm sideeffect "s_mov_b32 s36, 0", "={s36}"() #1
353 %sgpr37 = tail call i32 asm sideeffect "s_mov_b32 s37, 0", "={s37}"() #1
354 %sgpr38 = tail call i32 asm sideeffect "s_mov_b32 s38, 0", "={s38}"() #1
355 %sgpr39 = tail call i32 asm sideeffect "s_mov_b32 s39, 0", "={s39}"() #1
356 %sgpr40 = tail call i32 asm sideeffect "s_mov_b32 s40, 0", "={s40}"() #1
357 %sgpr41 = tail call i32 asm sideeffect "s_mov_b32 s41, 0", "={s41}"() #1
358 %sgpr42 = tail call i32 asm sideeffect "s_mov_b32 s42, 0", "={s42}"() #1
359 %sgpr43 = tail call i32 asm sideeffect "s_mov_b32 s43, 0", "={s43}"() #1
360 %sgpr44 = tail call i32 asm sideeffect "s_mov_b32 s44, 0", "={s44}"() #1
361 %sgpr45 = tail call i32 asm sideeffect "s_mov_b32 s45, 0", "={s45}"() #1
362 %sgpr46 = tail call i32 asm sideeffect "s_mov_b32 s46, 0", "={s46}"() #1
363 %sgpr47 = tail call i32 asm sideeffect "s_mov_b32 s47, 0", "={s47}"() #1
364 %sgpr48 = tail call i32 asm sideeffect "s_mov_b32 s48, 0", "={s48}"() #1
365 %sgpr49 = tail call i32 asm sideeffect "s_mov_b32 s49, 0", "={s49}"() #1
366 %sgpr50 = tail call i32 asm sideeffect "s_mov_b32 s50, 0", "={s50}"() #1
367 %sgpr51 = tail call i32 asm sideeffect "s_mov_b32 s51, 0", "={s51}"() #1
368 %sgpr52 = tail call i32 asm sideeffect "s_mov_b32 s52, 0", "={s52}"() #1
369 %sgpr53 = tail call i32 asm sideeffect "s_mov_b32 s53, 0", "={s53}"() #1
370 %sgpr54 = tail call i32 asm sideeffect "s_mov_b32 s54, 0", "={s54}"() #1
371 %sgpr55 = tail call i32 asm sideeffect "s_mov_b32 s55, 0", "={s55}"() #1
372 %sgpr56 = tail call i32 asm sideeffect "s_mov_b32 s56, 0", "={s56}"() #1
373 %sgpr57 = tail call i32 asm sideeffect "s_mov_b32 s57, 0", "={s57}"() #1
374 %sgpr58 = tail call i32 asm sideeffect "s_mov_b32 s58, 0", "={s58}"() #1
375 %sgpr59 = tail call i32 asm sideeffect "s_mov_b32 s59, 0", "={s59}"() #1
376 %sgpr60 = tail call i32 asm sideeffect "s_mov_b32 s60, 0", "={s60}"() #1
377 %sgpr61 = tail call i32 asm sideeffect "s_mov_b32 s61, 0", "={s61}"() #1
378 %sgpr62 = tail call i32 asm sideeffect "s_mov_b32 s62, 0", "={s62}"() #1
379 %sgpr63 = tail call i32 asm sideeffect "s_mov_b32 s63, 0", "={s63}"() #1
380 %sgpr64 = tail call i32 asm sideeffect "s_mov_b32 s64, 0", "={s64}"() #1
381 %sgpr65 = tail call i32 asm sideeffect "s_mov_b32 s65, 0", "={s65}"() #1
382 %sgpr66 = tail call i32 asm sideeffect "s_mov_b32 s66, 0", "={s66}"() #1
383 %sgpr67 = tail call i32 asm sideeffect "s_mov_b32 s67, 0", "={s67}"() #1
384 %sgpr68 = tail call i32 asm sideeffect "s_mov_b32 s68, 0", "={s68}"() #1
385 %sgpr69 = tail call i32 asm sideeffect "s_mov_b32 s69, 0", "={s69}"() #1
386 %sgpr70 = tail call i32 asm sideeffect "s_mov_b32 s70, 0", "={s70}"() #1
387 %sgpr71 = tail call i32 asm sideeffect "s_mov_b32 s71, 0", "={s71}"() #1
388 %sgpr72 = tail call i32 asm sideeffect "s_mov_b32 s72, 0", "={s72}"() #1
389 %sgpr73 = tail call i32 asm sideeffect "s_mov_b32 s73, 0", "={s73}"() #1
390 %sgpr74 = tail call i32 asm sideeffect "s_mov_b32 s74, 0", "={s74}"() #1
391 %sgpr75 = tail call i32 asm sideeffect "s_mov_b32 s75, 0", "={s75}"() #1
392 %sgpr76 = tail call i32 asm sideeffect "s_mov_b32 s76, 0", "={s76}"() #1
393 %sgpr77 = tail call i32 asm sideeffect "s_mov_b32 s77, 0", "={s77}"() #1
394 %sgpr78 = tail call i32 asm sideeffect "s_mov_b32 s78, 0", "={s78}"() #1
395 %sgpr79 = tail call i32 asm sideeffect "s_mov_b32 s79, 0", "={s79}"() #1
396 %sgpr80 = tail call i32 asm sideeffect "s_mov_b32 s80, 0", "={s80}"() #1
397 %sgpr81 = tail call i32 asm sideeffect "s_mov_b32 s81, 0", "={s81}"() #1
398 %sgpr82 = tail call i32 asm sideeffect "s_mov_b32 s82, 0", "={s82}"() #1
399 %sgpr83 = tail call i32 asm sideeffect "s_mov_b32 s83, 0", "={s83}"() #1
400 %sgpr84 = tail call i32 asm sideeffect "s_mov_b32 s84, 0", "={s84}"() #1
401 %sgpr85 = tail call i32 asm sideeffect "s_mov_b32 s85, 0", "={s85}"() #1
402 %sgpr86 = tail call i32 asm sideeffect "s_mov_b32 s86, 0", "={s86}"() #1
403 %sgpr87 = tail call i32 asm sideeffect "s_mov_b32 s87, 0", "={s87}"() #1
404 %sgpr88 = tail call i32 asm sideeffect "s_mov_b32 s88, 0", "={s88}"() #1
405 %sgpr89 = tail call i32 asm sideeffect "s_mov_b32 s89, 0", "={s89}"() #1
406 %sgpr90 = tail call i32 asm sideeffect "s_mov_b32 s90, 0", "={s90}"() #1
407 %sgpr91 = tail call i32 asm sideeffect "s_mov_b32 s91, 0", "={s91}"() #1
408 %sgpr92 = tail call i32 asm sideeffect "s_mov_b32 s92, 0", "={s92}"() #1
409 %sgpr93 = tail call i32 asm sideeffect "s_mov_b32 s93, 0", "={s93}"() #1
410 %sgpr94 = tail call i32 asm sideeffect "s_mov_b32 s94, 0", "={s94}"() #1
411 %sgpr95 = tail call i32 asm sideeffect "s_mov_b32 s95, 0", "={s95}"() #1
412 %sgpr96 = tail call i32 asm sideeffect "s_mov_b32 s96, 0", "={s96}"() #1
413 %sgpr97 = tail call i32 asm sideeffect "s_mov_b32 s97, 0", "={s97}"() #1
414 %vcc_lo = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_lo}"() #1
415 %vcc_hi = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_hi}"() #1
416 %cmp = icmp ne i32 %cnd.load, 0
417 br i1 %cmp, label %bb2, label %bb3, !amdgpu.uniform !0
419 bb2: ; preds = %entry
420 call void asm sideeffect "v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64\0A v_nop_e64", ""() #1
421 br label %bb3, !amdgpu.uniform !0
423 bb3: ; preds = %bb2, %entry
424 tail call void asm sideeffect "; reg use $0", "{s0}"(i32 %sgpr0) #1
425 tail call void asm sideeffect "; reg use $0", "{s1}"(i32 %sgpr1) #1
426 tail call void asm sideeffect "; reg use $0", "{s2}"(i32 %sgpr2) #1
427 tail call void asm sideeffect "; reg use $0", "{s3}"(i32 %sgpr3) #1
428 tail call void asm sideeffect "; reg use $0", "{s4}"(i32 %sgpr4) #1
429 tail call void asm sideeffect "; reg use $0", "{s5}"(i32 %sgpr5) #1
430 tail call void asm sideeffect "; reg use $0", "{s6}"(i32 %sgpr6) #1
431 tail call void asm sideeffect "; reg use $0", "{s7}"(i32 %sgpr7) #1
432 tail call void asm sideeffect "; reg use $0", "{s8}"(i32 %sgpr8) #1
433 tail call void asm sideeffect "; reg use $0", "{s9}"(i32 %sgpr9) #1
434 tail call void asm sideeffect "; reg use $0", "{s10}"(i32 %sgpr10) #1
435 tail call void asm sideeffect "; reg use $0", "{s11}"(i32 %sgpr11) #1
436 tail call void asm sideeffect "; reg use $0", "{s12}"(i32 %sgpr12) #1
437 tail call void asm sideeffect "; reg use $0", "{s13}"(i32 %sgpr13) #1
438 tail call void asm sideeffect "; reg use $0", "{s14}"(i32 %sgpr14) #1
439 tail call void asm sideeffect "; reg use $0", "{s15}"(i32 %sgpr15) #1
440 tail call void asm sideeffect "; reg use $0", "{s16}"(i32 %sgpr16) #1
441 tail call void asm sideeffect "; reg use $0", "{s17}"(i32 %sgpr17) #1
442 tail call void asm sideeffect "; reg use $0", "{s18}"(i32 %sgpr18) #1
443 tail call void asm sideeffect "; reg use $0", "{s19}"(i32 %sgpr19) #1
444 tail call void asm sideeffect "; reg use $0", "{s20}"(i32 %sgpr20) #1
445 tail call void asm sideeffect "; reg use $0", "{s21}"(i32 %sgpr21) #1
446 tail call void asm sideeffect "; reg use $0", "{s22}"(i32 %sgpr22) #1
447 tail call void asm sideeffect "; reg use $0", "{s23}"(i32 %sgpr23) #1
448 tail call void asm sideeffect "; reg use $0", "{s24}"(i32 %sgpr24) #1
449 tail call void asm sideeffect "; reg use $0", "{s25}"(i32 %sgpr25) #1
450 tail call void asm sideeffect "; reg use $0", "{s26}"(i32 %sgpr26) #1
451 tail call void asm sideeffect "; reg use $0", "{s27}"(i32 %sgpr27) #1
452 tail call void asm sideeffect "; reg use $0", "{s28}"(i32 %sgpr28) #1
453 tail call void asm sideeffect "; reg use $0", "{s29}"(i32 %sgpr29) #1
454 tail call void asm sideeffect "; reg use $0", "{s30}"(i32 %sgpr30) #1
455 tail call void asm sideeffect "; reg use $0", "{s31}"(i32 %sgpr31) #1
456 tail call void asm sideeffect "; reg use $0", "{s32}"(i32 %sgpr32) #1
457 tail call void asm sideeffect "; reg use $0", "{s33}"(i32 %sgpr33) #1
458 tail call void asm sideeffect "; reg use $0", "{s34}"(i32 %sgpr34) #1
459 tail call void asm sideeffect "; reg use $0", "{s35}"(i32 %sgpr35) #1
460 tail call void asm sideeffect "; reg use $0", "{s36}"(i32 %sgpr36) #1
461 tail call void asm sideeffect "; reg use $0", "{s37}"(i32 %sgpr37) #1
462 tail call void asm sideeffect "; reg use $0", "{s38}"(i32 %sgpr38) #1
463 tail call void asm sideeffect "; reg use $0", "{s39}"(i32 %sgpr39) #1
464 tail call void asm sideeffect "; reg use $0", "{s40}"(i32 %sgpr40) #1
465 tail call void asm sideeffect "; reg use $0", "{s41}"(i32 %sgpr41) #1
466 tail call void asm sideeffect "; reg use $0", "{s42}"(i32 %sgpr42) #1
467 tail call void asm sideeffect "; reg use $0", "{s43}"(i32 %sgpr43) #1
468 tail call void asm sideeffect "; reg use $0", "{s44}"(i32 %sgpr44) #1
469 tail call void asm sideeffect "; reg use $0", "{s45}"(i32 %sgpr45) #1
470 tail call void asm sideeffect "; reg use $0", "{s46}"(i32 %sgpr46) #1
471 tail call void asm sideeffect "; reg use $0", "{s47}"(i32 %sgpr47) #1
472 tail call void asm sideeffect "; reg use $0", "{s48}"(i32 %sgpr48) #1
473 tail call void asm sideeffect "; reg use $0", "{s49}"(i32 %sgpr49) #1
474 tail call void asm sideeffect "; reg use $0", "{s50}"(i32 %sgpr50) #1
475 tail call void asm sideeffect "; reg use $0", "{s51}"(i32 %sgpr51) #1
476 tail call void asm sideeffect "; reg use $0", "{s52}"(i32 %sgpr52) #1
477 tail call void asm sideeffect "; reg use $0", "{s53}"(i32 %sgpr53) #1
478 tail call void asm sideeffect "; reg use $0", "{s54}"(i32 %sgpr54) #1
479 tail call void asm sideeffect "; reg use $0", "{s55}"(i32 %sgpr55) #1
480 tail call void asm sideeffect "; reg use $0", "{s56}"(i32 %sgpr56) #1
481 tail call void asm sideeffect "; reg use $0", "{s57}"(i32 %sgpr57) #1
482 tail call void asm sideeffect "; reg use $0", "{s58}"(i32 %sgpr58) #1
483 tail call void asm sideeffect "; reg use $0", "{s59}"(i32 %sgpr59) #1
484 tail call void asm sideeffect "; reg use $0", "{s60}"(i32 %sgpr60) #1
485 tail call void asm sideeffect "; reg use $0", "{s61}"(i32 %sgpr61) #1
486 tail call void asm sideeffect "; reg use $0", "{s62}"(i32 %sgpr62) #1
487 tail call void asm sideeffect "; reg use $0", "{s63}"(i32 %sgpr63) #1
488 tail call void asm sideeffect "; reg use $0", "{s64}"(i32 %sgpr64) #1
489 tail call void asm sideeffect "; reg use $0", "{s65}"(i32 %sgpr65) #1
490 tail call void asm sideeffect "; reg use $0", "{s66}"(i32 %sgpr66) #1
491 tail call void asm sideeffect "; reg use $0", "{s67}"(i32 %sgpr67) #1
492 tail call void asm sideeffect "; reg use $0", "{s68}"(i32 %sgpr68) #1
493 tail call void asm sideeffect "; reg use $0", "{s69}"(i32 %sgpr69) #1
494 tail call void asm sideeffect "; reg use $0", "{s70}"(i32 %sgpr70) #1
495 tail call void asm sideeffect "; reg use $0", "{s71}"(i32 %sgpr71) #1
496 tail call void asm sideeffect "; reg use $0", "{s72}"(i32 %sgpr72) #1
497 tail call void asm sideeffect "; reg use $0", "{s73}"(i32 %sgpr73) #1
498 tail call void asm sideeffect "; reg use $0", "{s74}"(i32 %sgpr74) #1
499 tail call void asm sideeffect "; reg use $0", "{s75}"(i32 %sgpr75) #1
500 tail call void asm sideeffect "; reg use $0", "{s76}"(i32 %sgpr76) #1
501 tail call void asm sideeffect "; reg use $0", "{s77}"(i32 %sgpr77) #1
502 tail call void asm sideeffect "; reg use $0", "{s78}"(i32 %sgpr78) #1
503 tail call void asm sideeffect "; reg use $0", "{s79}"(i32 %sgpr79) #1
504 tail call void asm sideeffect "; reg use $0", "{s80}"(i32 %sgpr80) #1
505 tail call void asm sideeffect "; reg use $0", "{s81}"(i32 %sgpr81) #1
506 tail call void asm sideeffect "; reg use $0", "{s82}"(i32 %sgpr82) #1
507 tail call void asm sideeffect "; reg use $0", "{s83}"(i32 %sgpr83) #1
508 tail call void asm sideeffect "; reg use $0", "{s84}"(i32 %sgpr84) #1
509 tail call void asm sideeffect "; reg use $0", "{s85}"(i32 %sgpr85) #1
510 tail call void asm sideeffect "; reg use $0", "{s86}"(i32 %sgpr86) #1
511 tail call void asm sideeffect "; reg use $0", "{s87}"(i32 %sgpr87) #1
512 tail call void asm sideeffect "; reg use $0", "{s88}"(i32 %sgpr88) #1
513 tail call void asm sideeffect "; reg use $0", "{s89}"(i32 %sgpr89) #1
514 tail call void asm sideeffect "; reg use $0", "{s90}"(i32 %sgpr90) #1
515 tail call void asm sideeffect "; reg use $0", "{s91}"(i32 %sgpr91) #1
516 tail call void asm sideeffect "; reg use $0", "{s92}"(i32 %sgpr92) #1
517 tail call void asm sideeffect "; reg use $0", "{s93}"(i32 %sgpr93) #1
518 tail call void asm sideeffect "; reg use $0", "{s94}"(i32 %sgpr94) #1
519 tail call void asm sideeffect "; reg use $0", "{s95}"(i32 %sgpr95) #1
520 tail call void asm sideeffect "; reg use $0", "{s96}"(i32 %sgpr96) #1
521 tail call void asm sideeffect "; reg use $0", "{s97}"(i32 %sgpr97) #1
522 tail call void asm sideeffect "; reg use $0", "{vcc_lo}"(i32 %vcc_lo) #1
523 tail call void asm sideeffect "; reg use $0", "{vcc_hi}"(i32 %vcc_hi) #1
526 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
527 declare align 4 ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr() #2
528 attributes #1 = { nounwind }
529 attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }