brintos

brintos / llvm-project-archived public Read only

0
0
Text · 36.7 KiB · d1fae8a Raw
549 lines · plain
1; RUN: llc -mtriple=amdgcn -verify-machineinstrs -amdgpu-s-branch-bits=5 -stop-after=branch-relaxation  %s -o - | FileCheck %s2 3; Test long branch reserved register pass when all4; SGPRs are used5 6; CHECK-LABEL: {{^}}name: long_branch_used_all_sgprs7; CHECK: machineFunctionInfo:8; CHECK-NEXT:   explicitKernArgSize: 129; CHECK-NEXT:   maxKernArgAlign: 810; CHECK-NEXT:   ldsSize:         011; CHECK-NEXT:   gdsSize:         012; CHECK-NEXT:   dynLDSAlign:     113; CHECK-NEXT:   isEntryFunction: true14; CHECK-NEXT:   isChainFunction: false15; CHECK-NEXT:   noSignedZerosFPMath: false16; CHECK-NEXT:   memoryBound:     false17; CHECK-NEXT:   waveLimiter:     false18; CHECK-NEXT:   hasSpilledSGPRs: false19; CHECK-NEXT:   hasSpilledVGPRs: false20; CHECK-NEXT:   numWaveDispatchSGPRs: 021; CHECK-NEXT:   numWaveDispatchVGPRs: 022; CHECK-NEXT:   scratchRSrcReg:  '$sgpr96_sgpr97_sgpr98_sgpr99'23; CHECK-NEXT:   frameOffsetReg:  '$fp_reg'24; CHECK-NEXT:   stackPtrOffsetReg: '$sgpr32'25; CHECK-NEXT:   bytesInStackArgArea: 026; CHECK-NEXT:   returnsVoid:     true27; CHECK-NEXT:   argumentInfo:28; CHECK-NEXT:     kernargSegmentPtr: { reg: '$sgpr0_sgpr1' }29; CHECK-NEXT:     workGroupIDX:    { reg: '$sgpr2' }30; CHECK-NEXT:     privateSegmentWaveByteOffset: { reg: '$sgpr3' }31; CHECK-NEXT:     workItemIDX:     { reg: '$vgpr0' }32; CHECK-NEXT:   psInputAddr:     033; CHECK-NEXT:   psInputEnable:   034; CHECK-NEXT:   maxMemoryClusterDWords: 835; CHECK-NEXT:   mode:36; CHECK-NEXT:     ieee:            true37; CHECK-NEXT:     dx10-clamp:      true38; CHECK-NEXT:     fp32-input-denormals: true39; CHECK-NEXT:     fp32-output-denormals: true40; CHECK-NEXT:     fp64-fp16-input-denormals: true41; CHECK-NEXT:     fp64-fp16-output-denormals: true42; CHECK-NEXT:   highBitsOf32BitAddress: 043; CHECK-NEXT:   occupancy:       544; CHECK-NEXT:   scavengeFI:      '%stack.0'45; CHECK-NEXT:   vgprForAGPRCopy: ''46; CHECK-NEXT:   sgprForEXECCopy: '$sgpr100_sgpr101'47; CHECK-NEXT:   longBranchReservedReg: ''48; CHECK-NEXT:   hasInitWholeWave: false49; CHECK-NEXT:   dynamicVGPRBlockSize: 050; CHECK-NEXT:   scratchReservedForDynamicVGPRs: 051; CHECK-NEXT:   numKernargPreloadSGPRs: 052; CHECK-NEXT:   isWholeWaveFunction: false53; CHECK-NEXT: body:54  define amdgpu_kernel void @long_branch_used_all_sgprs(ptr addrspace(1) %arg, i32 %cnd) #0 {55  entry:56    %long_branch_used_all_sgprs.kernarg.segment = call nonnull align 16 dereferenceable(48) ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr()57    %cnd.kernarg.offset = getelementptr inbounds i8, ptr addrspace(4) %long_branch_used_all_sgprs.kernarg.segment, i64 44, !amdgpu.uniform !058    %cnd.load = load i32, ptr addrspace(4) %cnd.kernarg.offset, align 4, !invariant.load !059    %sgpr0 = tail call i32 asm sideeffect "s_mov_b32 s0, 0", "={s0}"() #160    %sgpr1 = tail call i32 asm sideeffect "s_mov_b32 s1, 0", "={s1}"() #161    %sgpr2 = tail call i32 asm sideeffect "s_mov_b32 s2, 0", "={s2}"() #162    %sgpr3 = tail call i32 asm sideeffect "s_mov_b32 s3, 0", "={s3}"() #163    %sgpr4 = tail call i32 asm sideeffect "s_mov_b32 s4, 0", "={s4}"() #164    %sgpr5 = tail call i32 asm sideeffect "s_mov_b32 s5, 0", "={s5}"() #165    %sgpr6 = tail call i32 asm sideeffect "s_mov_b32 s6, 0", "={s6}"() #166    %sgpr7 = tail call i32 asm sideeffect "s_mov_b32 s7, 0", "={s7}"() #167    %sgpr8 = tail call i32 asm sideeffect "s_mov_b32 s8, 0", "={s8}"() #168    %sgpr9 = tail call i32 asm sideeffect "s_mov_b32 s9, 0", "={s9}"() #169    %sgpr10 = tail call i32 asm sideeffect "s_mov_b32 s10, 0", "={s10}"() #170    %sgpr11 = tail call i32 asm sideeffect "s_mov_b32 s11, 0", "={s11}"() #171    %sgpr12 = tail call i32 asm sideeffect "s_mov_b32 s12, 0", "={s12}"() #172    %sgpr13 = tail call i32 asm sideeffect "s_mov_b32 s13, 0", "={s13}"() #173    %sgpr14 = tail call i32 asm sideeffect "s_mov_b32 s14, 0", "={s14}"() #174    %sgpr15 = tail call i32 asm sideeffect "s_mov_b32 s15, 0", "={s15}"() #175    %sgpr16 = tail call i32 asm sideeffect "s_mov_b32 s16, 0", "={s16}"() #176    %sgpr17 = tail call i32 asm sideeffect "s_mov_b32 s17, 0", "={s17}"() #177    %sgpr18 = tail call i32 asm sideeffect "s_mov_b32 s18, 0", "={s18}"() #178    %sgpr19 = tail call i32 asm sideeffect "s_mov_b32 s19, 0", "={s19}"() #179    %sgpr20 = tail call i32 asm sideeffect "s_mov_b32 s20, 0", "={s20}"() #180    %sgpr21 = tail call i32 asm sideeffect "s_mov_b32 s21, 0", "={s21}"() #181    %sgpr22 = tail call i32 asm sideeffect "s_mov_b32 s22, 0", "={s22}"() #182    %sgpr23 = tail call i32 asm sideeffect "s_mov_b32 s23, 0", "={s23}"() #183    %sgpr24 = tail call i32 asm sideeffect "s_mov_b32 s24, 0", "={s24}"() #184    %sgpr25 = tail call i32 asm sideeffect "s_mov_b32 s25, 0", "={s25}"() #185    %sgpr26 = tail call i32 asm sideeffect "s_mov_b32 s26, 0", "={s26}"() #186    %sgpr27 = tail call i32 asm sideeffect "s_mov_b32 s27, 0", "={s27}"() #187    %sgpr28 = tail call i32 asm sideeffect "s_mov_b32 s28, 0", "={s28}"() #188    %sgpr29 = tail call i32 asm sideeffect "s_mov_b32 s29, 0", "={s29}"() #189    %sgpr30 = tail call i32 asm sideeffect "s_mov_b32 s30, 0", "={s30}"() #190    %sgpr31 = tail call i32 asm sideeffect "s_mov_b32 s31, 0", "={s31}"() #191    %sgpr32 = tail call i32 asm sideeffect "s_mov_b32 s32, 0", "={s32}"() #192    %sgpr33 = tail call i32 asm sideeffect "s_mov_b32 s33, 0", "={s33}"() #193    %sgpr34 = tail call i32 asm sideeffect "s_mov_b32 s34, 0", "={s34}"() #194    %sgpr35 = tail call i32 asm sideeffect "s_mov_b32 s35, 0", "={s35}"() #195    %sgpr36 = tail call i32 asm sideeffect "s_mov_b32 s36, 0", "={s36}"() #196    %sgpr37 = tail call i32 asm sideeffect "s_mov_b32 s37, 0", "={s37}"() #197    %sgpr38 = tail call i32 asm sideeffect "s_mov_b32 s38, 0", "={s38}"() #198    %sgpr39 = tail call i32 asm sideeffect "s_mov_b32 s39, 0", "={s39}"() #199    %sgpr40 = tail call i32 asm sideeffect "s_mov_b32 s40, 0", "={s40}"() #1100    %sgpr41 = tail call i32 asm sideeffect "s_mov_b32 s41, 0", "={s41}"() #1101    %sgpr42 = tail call i32 asm sideeffect "s_mov_b32 s42, 0", "={s42}"() #1102    %sgpr43 = tail call i32 asm sideeffect "s_mov_b32 s43, 0", "={s43}"() #1103    %sgpr44 = tail call i32 asm sideeffect "s_mov_b32 s44, 0", "={s44}"() #1104    %sgpr45 = tail call i32 asm sideeffect "s_mov_b32 s45, 0", "={s45}"() #1105    %sgpr46 = tail call i32 asm sideeffect "s_mov_b32 s46, 0", "={s46}"() #1106    %sgpr47 = tail call i32 asm sideeffect "s_mov_b32 s47, 0", "={s47}"() #1107    %sgpr48 = tail call i32 asm sideeffect "s_mov_b32 s48, 0", "={s48}"() #1108    %sgpr49 = tail call i32 asm sideeffect "s_mov_b32 s49, 0", "={s49}"() #1109    %sgpr50 = tail call i32 asm sideeffect "s_mov_b32 s50, 0", "={s50}"() #1110    %sgpr51 = tail call i32 asm sideeffect "s_mov_b32 s51, 0", "={s51}"() #1111    %sgpr52 = tail call i32 asm sideeffect "s_mov_b32 s52, 0", "={s52}"() #1112    %sgpr53 = tail call i32 asm sideeffect "s_mov_b32 s53, 0", "={s53}"() #1113    %sgpr54 = tail call i32 asm sideeffect "s_mov_b32 s54, 0", "={s54}"() #1114    %sgpr55 = tail call i32 asm sideeffect "s_mov_b32 s55, 0", "={s55}"() #1115    %sgpr56 = tail call i32 asm sideeffect "s_mov_b32 s56, 0", "={s56}"() #1116    %sgpr57 = tail call i32 asm sideeffect "s_mov_b32 s57, 0", "={s57}"() #1117    %sgpr58 = tail call i32 asm sideeffect "s_mov_b32 s58, 0", "={s58}"() #1118    %sgpr59 = tail call i32 asm sideeffect "s_mov_b32 s59, 0", "={s59}"() #1119    %sgpr60 = tail call i32 asm sideeffect "s_mov_b32 s60, 0", "={s60}"() #1120    %sgpr61 = tail call i32 asm sideeffect "s_mov_b32 s61, 0", "={s61}"() #1121    %sgpr62 = tail call i32 asm sideeffect "s_mov_b32 s62, 0", "={s62}"() #1122    %sgpr63 = tail call i32 asm sideeffect "s_mov_b32 s63, 0", "={s63}"() #1123    %sgpr64 = tail call i32 asm sideeffect "s_mov_b32 s64, 0", "={s64}"() #1124    %sgpr65 = tail call i32 asm sideeffect "s_mov_b32 s65, 0", "={s65}"() #1125    %sgpr66 = tail call i32 asm sideeffect "s_mov_b32 s66, 0", "={s66}"() #1126    %sgpr67 = tail call i32 asm sideeffect "s_mov_b32 s67, 0", "={s67}"() #1127    %sgpr68 = tail call i32 asm sideeffect "s_mov_b32 s68, 0", "={s68}"() #1128    %sgpr69 = tail call i32 asm sideeffect "s_mov_b32 s69, 0", "={s69}"() #1129    %sgpr70 = tail call i32 asm sideeffect "s_mov_b32 s70, 0", "={s70}"() #1130    %sgpr71 = tail call i32 asm sideeffect "s_mov_b32 s71, 0", "={s71}"() #1131    %sgpr72 = tail call i32 asm sideeffect "s_mov_b32 s72, 0", "={s72}"() #1132    %sgpr73 = tail call i32 asm sideeffect "s_mov_b32 s73, 0", "={s73}"() #1133    %sgpr74 = tail call i32 asm sideeffect "s_mov_b32 s74, 0", "={s74}"() #1134    %sgpr75 = tail call i32 asm sideeffect "s_mov_b32 s75, 0", "={s75}"() #1135    %sgpr76 = tail call i32 asm sideeffect "s_mov_b32 s76, 0", "={s76}"() #1136    %sgpr77 = tail call i32 asm sideeffect "s_mov_b32 s77, 0", "={s77}"() #1137    %sgpr78 = tail call i32 asm sideeffect "s_mov_b32 s78, 0", "={s78}"() #1138    %sgpr79 = tail call i32 asm sideeffect "s_mov_b32 s79, 0", "={s79}"() #1139    %sgpr80 = tail call i32 asm sideeffect "s_mov_b32 s80, 0", "={s80}"() #1140    %sgpr81 = tail call i32 asm sideeffect "s_mov_b32 s81, 0", "={s81}"() #1141    %sgpr82 = tail call i32 asm sideeffect "s_mov_b32 s82, 0", "={s82}"() #1142    %sgpr83 = tail call i32 asm sideeffect "s_mov_b32 s83, 0", "={s83}"() #1143    %sgpr84 = tail call i32 asm sideeffect "s_mov_b32 s84, 0", "={s84}"() #1144    %sgpr85 = tail call i32 asm sideeffect "s_mov_b32 s85, 0", "={s85}"() #1145    %sgpr86 = tail call i32 asm sideeffect "s_mov_b32 s86, 0", "={s86}"() #1146    %sgpr87 = tail call i32 asm sideeffect "s_mov_b32 s87, 0", "={s87}"() #1147    %sgpr88 = tail call i32 asm sideeffect "s_mov_b32 s88, 0", "={s88}"() #1148    %sgpr89 = tail call i32 asm sideeffect "s_mov_b32 s89, 0", "={s89}"() #1149    %sgpr90 = tail call i32 asm sideeffect "s_mov_b32 s90, 0", "={s90}"() #1150    %sgpr91 = tail call i32 asm sideeffect "s_mov_b32 s91, 0", "={s91}"() #1151    %sgpr92 = tail call i32 asm sideeffect "s_mov_b32 s92, 0", "={s92}"() #1152    %sgpr93 = tail call i32 asm sideeffect "s_mov_b32 s93, 0", "={s93}"() #1153    %sgpr94 = tail call i32 asm sideeffect "s_mov_b32 s94, 0", "={s94}"() #1154    %sgpr95 = tail call i32 asm sideeffect "s_mov_b32 s95, 0", "={s95}"() #1155    %sgpr96 = tail call i32 asm sideeffect "s_mov_b32 s96, 0", "={s96}"() #1156    %sgpr97 = tail call i32 asm sideeffect "s_mov_b32 s97, 0", "={s97}"() #1157    %sgpr98 = tail call i32 asm sideeffect "s_mov_b32 s98, 0", "={s98}"() #1158    %sgpr99 = tail call i32 asm sideeffect "s_mov_b32 s99, 0", "={s99}"() #1159    %sgpr100 = tail call i32 asm sideeffect "s_mov_b32 s100, 0", "={s100}"() #1160    %sgpr101 = tail call i32 asm sideeffect "s_mov_b32 s101, 0", "={s101}"() #1161    %vcc_lo = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_lo}"() #1162    %vcc_hi = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_hi}"() #1163    %cmp = icmp ne i32 %cnd.load, 0164    br i1 %cmp, label %bb2, label %bb3, !amdgpu.uniform !0165 166  bb2:                                              ; preds = %entry167    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", ""() #1168    br label %bb3, !amdgpu.uniform !0169 170  bb3:                                              ; preds = %bb2, %entry171    tail call void asm sideeffect "; reg use $0", "{s0}"(i32 %sgpr0) #1172    tail call void asm sideeffect "; reg use $0", "{s1}"(i32 %sgpr1) #1173    tail call void asm sideeffect "; reg use $0", "{s2}"(i32 %sgpr2) #1174    tail call void asm sideeffect "; reg use $0", "{s3}"(i32 %sgpr3) #1175    tail call void asm sideeffect "; reg use $0", "{s4}"(i32 %sgpr4) #1176    tail call void asm sideeffect "; reg use $0", "{s5}"(i32 %sgpr5) #1177    tail call void asm sideeffect "; reg use $0", "{s6}"(i32 %sgpr6) #1178    tail call void asm sideeffect "; reg use $0", "{s7}"(i32 %sgpr7) #1179    tail call void asm sideeffect "; reg use $0", "{s8}"(i32 %sgpr8) #1180    tail call void asm sideeffect "; reg use $0", "{s9}"(i32 %sgpr9) #1181    tail call void asm sideeffect "; reg use $0", "{s10}"(i32 %sgpr10) #1182    tail call void asm sideeffect "; reg use $0", "{s11}"(i32 %sgpr11) #1183    tail call void asm sideeffect "; reg use $0", "{s12}"(i32 %sgpr12) #1184    tail call void asm sideeffect "; reg use $0", "{s13}"(i32 %sgpr13) #1185    tail call void asm sideeffect "; reg use $0", "{s14}"(i32 %sgpr14) #1186    tail call void asm sideeffect "; reg use $0", "{s15}"(i32 %sgpr15) #1187    tail call void asm sideeffect "; reg use $0", "{s16}"(i32 %sgpr16) #1188    tail call void asm sideeffect "; reg use $0", "{s17}"(i32 %sgpr17) #1189    tail call void asm sideeffect "; reg use $0", "{s18}"(i32 %sgpr18) #1190    tail call void asm sideeffect "; reg use $0", "{s19}"(i32 %sgpr19) #1191    tail call void asm sideeffect "; reg use $0", "{s20}"(i32 %sgpr20) #1192    tail call void asm sideeffect "; reg use $0", "{s21}"(i32 %sgpr21) #1193    tail call void asm sideeffect "; reg use $0", "{s22}"(i32 %sgpr22) #1194    tail call void asm sideeffect "; reg use $0", "{s23}"(i32 %sgpr23) #1195    tail call void asm sideeffect "; reg use $0", "{s24}"(i32 %sgpr24) #1196    tail call void asm sideeffect "; reg use $0", "{s25}"(i32 %sgpr25) #1197    tail call void asm sideeffect "; reg use $0", "{s26}"(i32 %sgpr26) #1198    tail call void asm sideeffect "; reg use $0", "{s27}"(i32 %sgpr27) #1199    tail call void asm sideeffect "; reg use $0", "{s28}"(i32 %sgpr28) #1200    tail call void asm sideeffect "; reg use $0", "{s29}"(i32 %sgpr29) #1201    tail call void asm sideeffect "; reg use $0", "{s30}"(i32 %sgpr30) #1202    tail call void asm sideeffect "; reg use $0", "{s31}"(i32 %sgpr31) #1203    tail call void asm sideeffect "; reg use $0", "{s32}"(i32 %sgpr32) #1204    tail call void asm sideeffect "; reg use $0", "{s33}"(i32 %sgpr33) #1205    tail call void asm sideeffect "; reg use $0", "{s34}"(i32 %sgpr34) #1206    tail call void asm sideeffect "; reg use $0", "{s35}"(i32 %sgpr35) #1207    tail call void asm sideeffect "; reg use $0", "{s36}"(i32 %sgpr36) #1208    tail call void asm sideeffect "; reg use $0", "{s37}"(i32 %sgpr37) #1209    tail call void asm sideeffect "; reg use $0", "{s38}"(i32 %sgpr38) #1210    tail call void asm sideeffect "; reg use $0", "{s39}"(i32 %sgpr39) #1211    tail call void asm sideeffect "; reg use $0", "{s40}"(i32 %sgpr40) #1212    tail call void asm sideeffect "; reg use $0", "{s41}"(i32 %sgpr41) #1213    tail call void asm sideeffect "; reg use $0", "{s42}"(i32 %sgpr42) #1214    tail call void asm sideeffect "; reg use $0", "{s43}"(i32 %sgpr43) #1215    tail call void asm sideeffect "; reg use $0", "{s44}"(i32 %sgpr44) #1216    tail call void asm sideeffect "; reg use $0", "{s45}"(i32 %sgpr45) #1217    tail call void asm sideeffect "; reg use $0", "{s46}"(i32 %sgpr46) #1218    tail call void asm sideeffect "; reg use $0", "{s47}"(i32 %sgpr47) #1219    tail call void asm sideeffect "; reg use $0", "{s48}"(i32 %sgpr48) #1220    tail call void asm sideeffect "; reg use $0", "{s49}"(i32 %sgpr49) #1221    tail call void asm sideeffect "; reg use $0", "{s50}"(i32 %sgpr50) #1222    tail call void asm sideeffect "; reg use $0", "{s51}"(i32 %sgpr51) #1223    tail call void asm sideeffect "; reg use $0", "{s52}"(i32 %sgpr52) #1224    tail call void asm sideeffect "; reg use $0", "{s53}"(i32 %sgpr53) #1225    tail call void asm sideeffect "; reg use $0", "{s54}"(i32 %sgpr54) #1226    tail call void asm sideeffect "; reg use $0", "{s55}"(i32 %sgpr55) #1227    tail call void asm sideeffect "; reg use $0", "{s56}"(i32 %sgpr56) #1228    tail call void asm sideeffect "; reg use $0", "{s57}"(i32 %sgpr57) #1229    tail call void asm sideeffect "; reg use $0", "{s58}"(i32 %sgpr58) #1230    tail call void asm sideeffect "; reg use $0", "{s59}"(i32 %sgpr59) #1231    tail call void asm sideeffect "; reg use $0", "{s60}"(i32 %sgpr60) #1232    tail call void asm sideeffect "; reg use $0", "{s61}"(i32 %sgpr61) #1233    tail call void asm sideeffect "; reg use $0", "{s62}"(i32 %sgpr62) #1234    tail call void asm sideeffect "; reg use $0", "{s63}"(i32 %sgpr63) #1235    tail call void asm sideeffect "; reg use $0", "{s64}"(i32 %sgpr64) #1236    tail call void asm sideeffect "; reg use $0", "{s65}"(i32 %sgpr65) #1237    tail call void asm sideeffect "; reg use $0", "{s66}"(i32 %sgpr66) #1238    tail call void asm sideeffect "; reg use $0", "{s67}"(i32 %sgpr67) #1239    tail call void asm sideeffect "; reg use $0", "{s68}"(i32 %sgpr68) #1240    tail call void asm sideeffect "; reg use $0", "{s69}"(i32 %sgpr69) #1241    tail call void asm sideeffect "; reg use $0", "{s70}"(i32 %sgpr70) #1242    tail call void asm sideeffect "; reg use $0", "{s71}"(i32 %sgpr71) #1243    tail call void asm sideeffect "; reg use $0", "{s72}"(i32 %sgpr72) #1244    tail call void asm sideeffect "; reg use $0", "{s73}"(i32 %sgpr73) #1245    tail call void asm sideeffect "; reg use $0", "{s74}"(i32 %sgpr74) #1246    tail call void asm sideeffect "; reg use $0", "{s75}"(i32 %sgpr75) #1247    tail call void asm sideeffect "; reg use $0", "{s76}"(i32 %sgpr76) #1248    tail call void asm sideeffect "; reg use $0", "{s77}"(i32 %sgpr77) #1249    tail call void asm sideeffect "; reg use $0", "{s78}"(i32 %sgpr78) #1250    tail call void asm sideeffect "; reg use $0", "{s79}"(i32 %sgpr79) #1251    tail call void asm sideeffect "; reg use $0", "{s80}"(i32 %sgpr80) #1252    tail call void asm sideeffect "; reg use $0", "{s81}"(i32 %sgpr81) #1253    tail call void asm sideeffect "; reg use $0", "{s82}"(i32 %sgpr82) #1254    tail call void asm sideeffect "; reg use $0", "{s83}"(i32 %sgpr83) #1255    tail call void asm sideeffect "; reg use $0", "{s84}"(i32 %sgpr84) #1256    tail call void asm sideeffect "; reg use $0", "{s85}"(i32 %sgpr85) #1257    tail call void asm sideeffect "; reg use $0", "{s86}"(i32 %sgpr86) #1258    tail call void asm sideeffect "; reg use $0", "{s87}"(i32 %sgpr87) #1259    tail call void asm sideeffect "; reg use $0", "{s88}"(i32 %sgpr88) #1260    tail call void asm sideeffect "; reg use $0", "{s89}"(i32 %sgpr89) #1261    tail call void asm sideeffect "; reg use $0", "{s90}"(i32 %sgpr90) #1262    tail call void asm sideeffect "; reg use $0", "{s91}"(i32 %sgpr91) #1263    tail call void asm sideeffect "; reg use $0", "{s92}"(i32 %sgpr92) #1264    tail call void asm sideeffect "; reg use $0", "{s93}"(i32 %sgpr93) #1265    tail call void asm sideeffect "; reg use $0", "{s94}"(i32 %sgpr94) #1266    tail call void asm sideeffect "; reg use $0", "{s95}"(i32 %sgpr95) #1267    tail call void asm sideeffect "; reg use $0", "{s96}"(i32 %sgpr96) #1268    tail call void asm sideeffect "; reg use $0", "{s97}"(i32 %sgpr97) #1269    tail call void asm sideeffect "; reg use $0", "{s98}"(i32 %sgpr98) #1270    tail call void asm sideeffect "; reg use $0", "{s99}"(i32 %sgpr99) #1271    tail call void asm sideeffect "; reg use $0", "{s100}"(i32 %sgpr100) #1272    tail call void asm sideeffect "; reg use $0", "{s101}"(i32 %sgpr101) #1273    tail call void asm sideeffect "; reg use $0", "{vcc_lo}"(i32 %vcc_lo) #1274    tail call void asm sideeffect "; reg use $0", "{vcc_hi}"(i32 %vcc_hi) #1275    ret void276  }277 278; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)279; CHECK-LABEL: {{^}}name: long_branch_high_num_sgprs_used280; CHECK: machineFunctionInfo:281; CHECK-NEXT:   explicitKernArgSize: 12282; CHECK-NEXT:   maxKernArgAlign: 8283; CHECK-NEXT:   ldsSize:         0284; CHECK-NEXT:   gdsSize:         0285; CHECK-NEXT:   dynLDSAlign:     1286; CHECK-NEXT:   isEntryFunction: true287; CHECK-NEXT:   isChainFunction: false288; CHECK-NEXT:   noSignedZerosFPMath: false289; CHECK-NEXT:   memoryBound:     false290; CHECK-NEXT:   waveLimiter:     false291; CHECK-NEXT:   hasSpilledSGPRs: false292; CHECK-NEXT:   hasSpilledVGPRs: false293; CHECK-NEXT:   numWaveDispatchSGPRs: 0294; CHECK-NEXT:   numWaveDispatchVGPRs: 0295; CHECK-NEXT:   scratchRSrcReg:  '$sgpr96_sgpr97_sgpr98_sgpr99'296; CHECK-NEXT:   frameOffsetReg:  '$fp_reg'297; CHECK-NEXT:   stackPtrOffsetReg: '$sgpr32'298; CHECK-NEXT:   bytesInStackArgArea: 0299; CHECK-NEXT:   returnsVoid:     true300; CHECK-NEXT:   argumentInfo:301; CHECK-NEXT:     kernargSegmentPtr: { reg: '$sgpr0_sgpr1' }302; CHECK-NEXT:     workGroupIDX:    { reg: '$sgpr2' }303; CHECK-NEXT:     privateSegmentWaveByteOffset: { reg: '$sgpr3' }304; CHECK-NEXT:     workItemIDX:     { reg: '$vgpr0' }305; CHECK-NEXT:   psInputAddr:     0306; CHECK-NEXT:   psInputEnable:   0307; CHECK-NEXT:   maxMemoryClusterDWords: 8308; CHECK-NEXT:   mode:309; CHECK-NEXT:     ieee:            true310; CHECK-NEXT:     dx10-clamp:      true311; CHECK-NEXT:     fp32-input-denormals: true312; CHECK-NEXT:     fp32-output-denormals: true313; CHECK-NEXT:     fp64-fp16-input-denormals: true314; CHECK-NEXT:     fp64-fp16-output-denormals: true315; CHECK-NEXT:   highBitsOf32BitAddress: 0316; CHECK-NEXT:   occupancy:       5317; CHECK-NEXT:   scavengeFI:      '%stack.0'318; CHECK-NEXT:   vgprForAGPRCopy: ''319; CHECK-NEXT:   sgprForEXECCopy: '$sgpr100_sgpr101'320; CHECK-NEXT:   longBranchReservedReg: ''321; CHECK-NEXT:   hasInitWholeWave: false322; CHECK-NEXT:   dynamicVGPRBlockSize: 0323; CHECK-NEXT:   scratchReservedForDynamicVGPRs: 0324; CHECK-NEXT:   numKernargPreloadSGPRs: 0325; CHECK-NEXT:   isWholeWaveFunction: false326; CHECK-NEXT: body:327  define amdgpu_kernel void @long_branch_high_num_sgprs_used(ptr addrspace(1) %arg, i32 %cnd) #0 {328  entry:329    %long_branch_used_all_sgprs.kernarg.segment = call nonnull align 16 dereferenceable(48) ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr()330    %cnd.kernarg.offset = getelementptr inbounds i8, ptr addrspace(4) %long_branch_used_all_sgprs.kernarg.segment, i64 44, !amdgpu.uniform !0331    %cnd.load = load i32, ptr addrspace(4) %cnd.kernarg.offset, align 4, !invariant.load !0332    %sgpr0 = tail call i32 asm sideeffect "s_mov_b32 s0, 0", "={s0}"() #1333    %sgpr1 = tail call i32 asm sideeffect "s_mov_b32 s1, 0", "={s1}"() #1334    %sgpr2 = tail call i32 asm sideeffect "s_mov_b32 s2, 0", "={s2}"() #1335    %sgpr3 = tail call i32 asm sideeffect "s_mov_b32 s3, 0", "={s3}"() #1336    %sgpr4 = tail call i32 asm sideeffect "s_mov_b32 s4, 0", "={s4}"() #1337    %sgpr5 = tail call i32 asm sideeffect "s_mov_b32 s5, 0", "={s5}"() #1338    %sgpr6 = tail call i32 asm sideeffect "s_mov_b32 s6, 0", "={s6}"() #1339    %sgpr7 = tail call i32 asm sideeffect "s_mov_b32 s7, 0", "={s7}"() #1340    %sgpr8 = tail call i32 asm sideeffect "s_mov_b32 s8, 0", "={s8}"() #1341    %sgpr9 = tail call i32 asm sideeffect "s_mov_b32 s9, 0", "={s9}"() #1342    %sgpr10 = tail call i32 asm sideeffect "s_mov_b32 s10, 0", "={s10}"() #1343    %sgpr11 = tail call i32 asm sideeffect "s_mov_b32 s11, 0", "={s11}"() #1344    %sgpr12 = tail call i32 asm sideeffect "s_mov_b32 s12, 0", "={s12}"() #1345    %sgpr13 = tail call i32 asm sideeffect "s_mov_b32 s13, 0", "={s13}"() #1346    %sgpr14 = tail call i32 asm sideeffect "s_mov_b32 s14, 0", "={s14}"() #1347    %sgpr15 = tail call i32 asm sideeffect "s_mov_b32 s15, 0", "={s15}"() #1348    %sgpr16 = tail call i32 asm sideeffect "s_mov_b32 s16, 0", "={s16}"() #1349    %sgpr17 = tail call i32 asm sideeffect "s_mov_b32 s17, 0", "={s17}"() #1350    %sgpr18 = tail call i32 asm sideeffect "s_mov_b32 s18, 0", "={s18}"() #1351    %sgpr19 = tail call i32 asm sideeffect "s_mov_b32 s19, 0", "={s19}"() #1352    %sgpr20 = tail call i32 asm sideeffect "s_mov_b32 s20, 0", "={s20}"() #1353    %sgpr21 = tail call i32 asm sideeffect "s_mov_b32 s21, 0", "={s21}"() #1354    %sgpr22 = tail call i32 asm sideeffect "s_mov_b32 s22, 0", "={s22}"() #1355    %sgpr23 = tail call i32 asm sideeffect "s_mov_b32 s23, 0", "={s23}"() #1356    %sgpr24 = tail call i32 asm sideeffect "s_mov_b32 s24, 0", "={s24}"() #1357    %sgpr25 = tail call i32 asm sideeffect "s_mov_b32 s25, 0", "={s25}"() #1358    %sgpr26 = tail call i32 asm sideeffect "s_mov_b32 s26, 0", "={s26}"() #1359    %sgpr27 = tail call i32 asm sideeffect "s_mov_b32 s27, 0", "={s27}"() #1360    %sgpr28 = tail call i32 asm sideeffect "s_mov_b32 s28, 0", "={s28}"() #1361    %sgpr29 = tail call i32 asm sideeffect "s_mov_b32 s29, 0", "={s29}"() #1362    %sgpr30 = tail call i32 asm sideeffect "s_mov_b32 s30, 0", "={s30}"() #1363    %sgpr31 = tail call i32 asm sideeffect "s_mov_b32 s31, 0", "={s31}"() #1364    %sgpr32 = tail call i32 asm sideeffect "s_mov_b32 s32, 0", "={s32}"() #1365    %sgpr33 = tail call i32 asm sideeffect "s_mov_b32 s33, 0", "={s33}"() #1366    %sgpr34 = tail call i32 asm sideeffect "s_mov_b32 s34, 0", "={s34}"() #1367    %sgpr35 = tail call i32 asm sideeffect "s_mov_b32 s35, 0", "={s35}"() #1368    %sgpr36 = tail call i32 asm sideeffect "s_mov_b32 s36, 0", "={s36}"() #1369    %sgpr37 = tail call i32 asm sideeffect "s_mov_b32 s37, 0", "={s37}"() #1370    %sgpr38 = tail call i32 asm sideeffect "s_mov_b32 s38, 0", "={s38}"() #1371    %sgpr39 = tail call i32 asm sideeffect "s_mov_b32 s39, 0", "={s39}"() #1372    %sgpr40 = tail call i32 asm sideeffect "s_mov_b32 s40, 0", "={s40}"() #1373    %sgpr41 = tail call i32 asm sideeffect "s_mov_b32 s41, 0", "={s41}"() #1374    %sgpr42 = tail call i32 asm sideeffect "s_mov_b32 s42, 0", "={s42}"() #1375    %sgpr43 = tail call i32 asm sideeffect "s_mov_b32 s43, 0", "={s43}"() #1376    %sgpr44 = tail call i32 asm sideeffect "s_mov_b32 s44, 0", "={s44}"() #1377    %sgpr45 = tail call i32 asm sideeffect "s_mov_b32 s45, 0", "={s45}"() #1378    %sgpr46 = tail call i32 asm sideeffect "s_mov_b32 s46, 0", "={s46}"() #1379    %sgpr47 = tail call i32 asm sideeffect "s_mov_b32 s47, 0", "={s47}"() #1380    %sgpr48 = tail call i32 asm sideeffect "s_mov_b32 s48, 0", "={s48}"() #1381    %sgpr49 = tail call i32 asm sideeffect "s_mov_b32 s49, 0", "={s49}"() #1382    %sgpr50 = tail call i32 asm sideeffect "s_mov_b32 s50, 0", "={s50}"() #1383    %sgpr51 = tail call i32 asm sideeffect "s_mov_b32 s51, 0", "={s51}"() #1384    %sgpr52 = tail call i32 asm sideeffect "s_mov_b32 s52, 0", "={s52}"() #1385    %sgpr53 = tail call i32 asm sideeffect "s_mov_b32 s53, 0", "={s53}"() #1386    %sgpr54 = tail call i32 asm sideeffect "s_mov_b32 s54, 0", "={s54}"() #1387    %sgpr55 = tail call i32 asm sideeffect "s_mov_b32 s55, 0", "={s55}"() #1388    %sgpr56 = tail call i32 asm sideeffect "s_mov_b32 s56, 0", "={s56}"() #1389    %sgpr57 = tail call i32 asm sideeffect "s_mov_b32 s57, 0", "={s57}"() #1390    %sgpr58 = tail call i32 asm sideeffect "s_mov_b32 s58, 0", "={s58}"() #1391    %sgpr59 = tail call i32 asm sideeffect "s_mov_b32 s59, 0", "={s59}"() #1392    %sgpr60 = tail call i32 asm sideeffect "s_mov_b32 s60, 0", "={s60}"() #1393    %sgpr61 = tail call i32 asm sideeffect "s_mov_b32 s61, 0", "={s61}"() #1394    %sgpr62 = tail call i32 asm sideeffect "s_mov_b32 s62, 0", "={s62}"() #1395    %sgpr63 = tail call i32 asm sideeffect "s_mov_b32 s63, 0", "={s63}"() #1396    %sgpr64 = tail call i32 asm sideeffect "s_mov_b32 s64, 0", "={s64}"() #1397    %sgpr65 = tail call i32 asm sideeffect "s_mov_b32 s65, 0", "={s65}"() #1398    %sgpr66 = tail call i32 asm sideeffect "s_mov_b32 s66, 0", "={s66}"() #1399    %sgpr67 = tail call i32 asm sideeffect "s_mov_b32 s67, 0", "={s67}"() #1400    %sgpr68 = tail call i32 asm sideeffect "s_mov_b32 s68, 0", "={s68}"() #1401    %sgpr69 = tail call i32 asm sideeffect "s_mov_b32 s69, 0", "={s69}"() #1402    %sgpr70 = tail call i32 asm sideeffect "s_mov_b32 s70, 0", "={s70}"() #1403    %sgpr71 = tail call i32 asm sideeffect "s_mov_b32 s71, 0", "={s71}"() #1404    %sgpr72 = tail call i32 asm sideeffect "s_mov_b32 s72, 0", "={s72}"() #1405    %sgpr73 = tail call i32 asm sideeffect "s_mov_b32 s73, 0", "={s73}"() #1406    %sgpr74 = tail call i32 asm sideeffect "s_mov_b32 s74, 0", "={s74}"() #1407    %sgpr75 = tail call i32 asm sideeffect "s_mov_b32 s75, 0", "={s75}"() #1408    %sgpr76 = tail call i32 asm sideeffect "s_mov_b32 s76, 0", "={s76}"() #1409    %sgpr77 = tail call i32 asm sideeffect "s_mov_b32 s77, 0", "={s77}"() #1410    %sgpr78 = tail call i32 asm sideeffect "s_mov_b32 s78, 0", "={s78}"() #1411    %sgpr79 = tail call i32 asm sideeffect "s_mov_b32 s79, 0", "={s79}"() #1412    %sgpr80 = tail call i32 asm sideeffect "s_mov_b32 s80, 0", "={s80}"() #1413    %sgpr81 = tail call i32 asm sideeffect "s_mov_b32 s81, 0", "={s81}"() #1414    %sgpr82 = tail call i32 asm sideeffect "s_mov_b32 s82, 0", "={s82}"() #1415    %sgpr83 = tail call i32 asm sideeffect "s_mov_b32 s83, 0", "={s83}"() #1416    %sgpr84 = tail call i32 asm sideeffect "s_mov_b32 s84, 0", "={s84}"() #1417    %sgpr85 = tail call i32 asm sideeffect "s_mov_b32 s85, 0", "={s85}"() #1418    %sgpr86 = tail call i32 asm sideeffect "s_mov_b32 s86, 0", "={s86}"() #1419    %sgpr87 = tail call i32 asm sideeffect "s_mov_b32 s87, 0", "={s87}"() #1420    %sgpr88 = tail call i32 asm sideeffect "s_mov_b32 s88, 0", "={s88}"() #1421    %sgpr89 = tail call i32 asm sideeffect "s_mov_b32 s89, 0", "={s89}"() #1422    %sgpr90 = tail call i32 asm sideeffect "s_mov_b32 s90, 0", "={s90}"() #1423    %sgpr91 = tail call i32 asm sideeffect "s_mov_b32 s91, 0", "={s91}"() #1424    %sgpr92 = tail call i32 asm sideeffect "s_mov_b32 s92, 0", "={s92}"() #1425    %sgpr93 = tail call i32 asm sideeffect "s_mov_b32 s93, 0", "={s93}"() #1426    %sgpr94 = tail call i32 asm sideeffect "s_mov_b32 s94, 0", "={s94}"() #1427    %sgpr95 = tail call i32 asm sideeffect "s_mov_b32 s95, 0", "={s95}"() #1428    %sgpr96 = tail call i32 asm sideeffect "s_mov_b32 s96, 0", "={s96}"() #1429    %sgpr97 = tail call i32 asm sideeffect "s_mov_b32 s97, 0", "={s97}"() #1430    %vcc_lo = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_lo}"() #1431    %vcc_hi = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_hi}"() #1432    %cmp = icmp ne i32 %cnd.load, 0433    br i1 %cmp, label %bb2, label %bb3, !amdgpu.uniform !0434 435  bb2:                                              ; preds = %entry436    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", ""() #1437    br label %bb3, !amdgpu.uniform !0438 439  bb3:                                              ; preds = %bb2, %entry440    tail call void asm sideeffect "; reg use $0", "{s0}"(i32 %sgpr0) #1441    tail call void asm sideeffect "; reg use $0", "{s1}"(i32 %sgpr1) #1442    tail call void asm sideeffect "; reg use $0", "{s2}"(i32 %sgpr2) #1443    tail call void asm sideeffect "; reg use $0", "{s3}"(i32 %sgpr3) #1444    tail call void asm sideeffect "; reg use $0", "{s4}"(i32 %sgpr4) #1445    tail call void asm sideeffect "; reg use $0", "{s5}"(i32 %sgpr5) #1446    tail call void asm sideeffect "; reg use $0", "{s6}"(i32 %sgpr6) #1447    tail call void asm sideeffect "; reg use $0", "{s7}"(i32 %sgpr7) #1448    tail call void asm sideeffect "; reg use $0", "{s8}"(i32 %sgpr8) #1449    tail call void asm sideeffect "; reg use $0", "{s9}"(i32 %sgpr9) #1450    tail call void asm sideeffect "; reg use $0", "{s10}"(i32 %sgpr10) #1451    tail call void asm sideeffect "; reg use $0", "{s11}"(i32 %sgpr11) #1452    tail call void asm sideeffect "; reg use $0", "{s12}"(i32 %sgpr12) #1453    tail call void asm sideeffect "; reg use $0", "{s13}"(i32 %sgpr13) #1454    tail call void asm sideeffect "; reg use $0", "{s14}"(i32 %sgpr14) #1455    tail call void asm sideeffect "; reg use $0", "{s15}"(i32 %sgpr15) #1456    tail call void asm sideeffect "; reg use $0", "{s16}"(i32 %sgpr16) #1457    tail call void asm sideeffect "; reg use $0", "{s17}"(i32 %sgpr17) #1458    tail call void asm sideeffect "; reg use $0", "{s18}"(i32 %sgpr18) #1459    tail call void asm sideeffect "; reg use $0", "{s19}"(i32 %sgpr19) #1460    tail call void asm sideeffect "; reg use $0", "{s20}"(i32 %sgpr20) #1461    tail call void asm sideeffect "; reg use $0", "{s21}"(i32 %sgpr21) #1462    tail call void asm sideeffect "; reg use $0", "{s22}"(i32 %sgpr22) #1463    tail call void asm sideeffect "; reg use $0", "{s23}"(i32 %sgpr23) #1464    tail call void asm sideeffect "; reg use $0", "{s24}"(i32 %sgpr24) #1465    tail call void asm sideeffect "; reg use $0", "{s25}"(i32 %sgpr25) #1466    tail call void asm sideeffect "; reg use $0", "{s26}"(i32 %sgpr26) #1467    tail call void asm sideeffect "; reg use $0", "{s27}"(i32 %sgpr27) #1468    tail call void asm sideeffect "; reg use $0", "{s28}"(i32 %sgpr28) #1469    tail call void asm sideeffect "; reg use $0", "{s29}"(i32 %sgpr29) #1470    tail call void asm sideeffect "; reg use $0", "{s30}"(i32 %sgpr30) #1471    tail call void asm sideeffect "; reg use $0", "{s31}"(i32 %sgpr31) #1472    tail call void asm sideeffect "; reg use $0", "{s32}"(i32 %sgpr32) #1473    tail call void asm sideeffect "; reg use $0", "{s33}"(i32 %sgpr33) #1474    tail call void asm sideeffect "; reg use $0", "{s34}"(i32 %sgpr34) #1475    tail call void asm sideeffect "; reg use $0", "{s35}"(i32 %sgpr35) #1476    tail call void asm sideeffect "; reg use $0", "{s36}"(i32 %sgpr36) #1477    tail call void asm sideeffect "; reg use $0", "{s37}"(i32 %sgpr37) #1478    tail call void asm sideeffect "; reg use $0", "{s38}"(i32 %sgpr38) #1479    tail call void asm sideeffect "; reg use $0", "{s39}"(i32 %sgpr39) #1480    tail call void asm sideeffect "; reg use $0", "{s40}"(i32 %sgpr40) #1481    tail call void asm sideeffect "; reg use $0", "{s41}"(i32 %sgpr41) #1482    tail call void asm sideeffect "; reg use $0", "{s42}"(i32 %sgpr42) #1483    tail call void asm sideeffect "; reg use $0", "{s43}"(i32 %sgpr43) #1484    tail call void asm sideeffect "; reg use $0", "{s44}"(i32 %sgpr44) #1485    tail call void asm sideeffect "; reg use $0", "{s45}"(i32 %sgpr45) #1486    tail call void asm sideeffect "; reg use $0", "{s46}"(i32 %sgpr46) #1487    tail call void asm sideeffect "; reg use $0", "{s47}"(i32 %sgpr47) #1488    tail call void asm sideeffect "; reg use $0", "{s48}"(i32 %sgpr48) #1489    tail call void asm sideeffect "; reg use $0", "{s49}"(i32 %sgpr49) #1490    tail call void asm sideeffect "; reg use $0", "{s50}"(i32 %sgpr50) #1491    tail call void asm sideeffect "; reg use $0", "{s51}"(i32 %sgpr51) #1492    tail call void asm sideeffect "; reg use $0", "{s52}"(i32 %sgpr52) #1493    tail call void asm sideeffect "; reg use $0", "{s53}"(i32 %sgpr53) #1494    tail call void asm sideeffect "; reg use $0", "{s54}"(i32 %sgpr54) #1495    tail call void asm sideeffect "; reg use $0", "{s55}"(i32 %sgpr55) #1496    tail call void asm sideeffect "; reg use $0", "{s56}"(i32 %sgpr56) #1497    tail call void asm sideeffect "; reg use $0", "{s57}"(i32 %sgpr57) #1498    tail call void asm sideeffect "; reg use $0", "{s58}"(i32 %sgpr58) #1499    tail call void asm sideeffect "; reg use $0", "{s59}"(i32 %sgpr59) #1500    tail call void asm sideeffect "; reg use $0", "{s60}"(i32 %sgpr60) #1501    tail call void asm sideeffect "; reg use $0", "{s61}"(i32 %sgpr61) #1502    tail call void asm sideeffect "; reg use $0", "{s62}"(i32 %sgpr62) #1503    tail call void asm sideeffect "; reg use $0", "{s63}"(i32 %sgpr63) #1504    tail call void asm sideeffect "; reg use $0", "{s64}"(i32 %sgpr64) #1505    tail call void asm sideeffect "; reg use $0", "{s65}"(i32 %sgpr65) #1506    tail call void asm sideeffect "; reg use $0", "{s66}"(i32 %sgpr66) #1507    tail call void asm sideeffect "; reg use $0", "{s67}"(i32 %sgpr67) #1508    tail call void asm sideeffect "; reg use $0", "{s68}"(i32 %sgpr68) #1509    tail call void asm sideeffect "; reg use $0", "{s69}"(i32 %sgpr69) #1510    tail call void asm sideeffect "; reg use $0", "{s70}"(i32 %sgpr70) #1511    tail call void asm sideeffect "; reg use $0", "{s71}"(i32 %sgpr71) #1512    tail call void asm sideeffect "; reg use $0", "{s72}"(i32 %sgpr72) #1513    tail call void asm sideeffect "; reg use $0", "{s73}"(i32 %sgpr73) #1514    tail call void asm sideeffect "; reg use $0", "{s74}"(i32 %sgpr74) #1515    tail call void asm sideeffect "; reg use $0", "{s75}"(i32 %sgpr75) #1516    tail call void asm sideeffect "; reg use $0", "{s76}"(i32 %sgpr76) #1517    tail call void asm sideeffect "; reg use $0", "{s77}"(i32 %sgpr77) #1518    tail call void asm sideeffect "; reg use $0", "{s78}"(i32 %sgpr78) #1519    tail call void asm sideeffect "; reg use $0", "{s79}"(i32 %sgpr79) #1520    tail call void asm sideeffect "; reg use $0", "{s80}"(i32 %sgpr80) #1521    tail call void asm sideeffect "; reg use $0", "{s81}"(i32 %sgpr81) #1522    tail call void asm sideeffect "; reg use $0", "{s82}"(i32 %sgpr82) #1523    tail call void asm sideeffect "; reg use $0", "{s83}"(i32 %sgpr83) #1524    tail call void asm sideeffect "; reg use $0", "{s84}"(i32 %sgpr84) #1525    tail call void asm sideeffect "; reg use $0", "{s85}"(i32 %sgpr85) #1526    tail call void asm sideeffect "; reg use $0", "{s86}"(i32 %sgpr86) #1527    tail call void asm sideeffect "; reg use $0", "{s87}"(i32 %sgpr87) #1528    tail call void asm sideeffect "; reg use $0", "{s88}"(i32 %sgpr88) #1529    tail call void asm sideeffect "; reg use $0", "{s89}"(i32 %sgpr89) #1530    tail call void asm sideeffect "; reg use $0", "{s90}"(i32 %sgpr90) #1531    tail call void asm sideeffect "; reg use $0", "{s91}"(i32 %sgpr91) #1532    tail call void asm sideeffect "; reg use $0", "{s92}"(i32 %sgpr92) #1533    tail call void asm sideeffect "; reg use $0", "{s93}"(i32 %sgpr93) #1534    tail call void asm sideeffect "; reg use $0", "{s94}"(i32 %sgpr94) #1535    tail call void asm sideeffect "; reg use $0", "{s95}"(i32 %sgpr95) #1536    tail call void asm sideeffect "; reg use $0", "{s96}"(i32 %sgpr96) #1537    tail call void asm sideeffect "; reg use $0", "{s97}"(i32 %sgpr97) #1538    tail call void asm sideeffect "; reg use $0", "{vcc_lo}"(i32 %vcc_lo) #1539    tail call void asm sideeffect "; reg use $0", "{vcc_hi}"(i32 %vcc_hi) #1540    ret void541  }542; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)543declare align 4 ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr() #2544 545attributes #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-cluster-id-x" "amdgpu-no-workgroup-id-y" "amdgpu-no-cluster-id-y" "amdgpu-no-workgroup-id-z" "amdgpu-no-cluster-id-z" "amdgpu-no-workitem-id-x" "amdgpu-no-workitem-id-y" "amdgpu-no-workitem-id-z" }546attributes #1 = { nounwind }547attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }548!0 = !{}549