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