brintos

brintos / llvm-project-archived public Read only

0
0
Text · 36.2 KiB · e7bc851 Raw
764 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -greedy-regclass-priority-trumps-globalness=1 -o - %s | FileCheck -check-prefixes=GFX90A,GLOBALNESS1 %s3; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -greedy-regclass-priority-trumps-globalness=0 -o - %s | FileCheck -check-prefixes=GFX90A,GLOBALNESS0 %s4 5declare void @wobble()6 7define internal fastcc void @widget() {8; GFX90A-LABEL: widget:9; GFX90A:       ; %bb.0: ; %bb10; GFX90A-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11; GFX90A-NEXT:    s_mov_b32 s16, s3312; GFX90A-NEXT:    s_mov_b32 s33, s3213; GFX90A-NEXT:    s_or_saveexec_b64 s[18:19], -114; GFX90A-NEXT:    buffer_store_dword v40, off, s[0:3], s33 ; 4-byte Folded Spill15; GFX90A-NEXT:    s_mov_b64 exec, s[18:19]16; GFX90A-NEXT:    s_addk_i32 s32, 0x40017; GFX90A-NEXT:    v_writelane_b32 v40, s16, 218; GFX90A-NEXT:    s_getpc_b64 s[16:17]19; GFX90A-NEXT:    s_add_u32 s16, s16, wobble@gotpcrel32@lo+420; GFX90A-NEXT:    s_addc_u32 s17, s17, wobble@gotpcrel32@hi+1221; GFX90A-NEXT:    s_load_dwordx2 s[16:17], s[16:17], 0x022; GFX90A-NEXT:    v_writelane_b32 v40, s30, 023; GFX90A-NEXT:    v_writelane_b32 v40, s31, 124; GFX90A-NEXT:    s_waitcnt lgkmcnt(0)25; GFX90A-NEXT:    s_swappc_b64 s[30:31], s[16:17]26bb:27  tail call void @wobble()28  unreachable29}30 31define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i32 %tmp5.i.i, i32 %tmp427.i, i1 %tmp438.i, double %tmp27.i, i1 %tmp48.i) {32; GLOBALNESS1-LABEL: kernel:33; GLOBALNESS1:       ; %bb.0: ; %bb34; GLOBALNESS1-NEXT:    s_mov_b64 s[36:37], s[6:7]35; GLOBALNESS1-NEXT:    s_load_dwordx4 s[52:55], s[8:9], 0x036; GLOBALNESS1-NEXT:    s_load_dword s6, s[8:9], 0x1437; GLOBALNESS1-NEXT:    v_mov_b32_e32 v42, 038; GLOBALNESS1-NEXT:    v_pk_mov_b32 v[44:45], 0, 039; GLOBALNESS1-NEXT:    global_store_dword v[44:45], v42, off40; GLOBALNESS1-NEXT:    s_waitcnt lgkmcnt(0)41; GLOBALNESS1-NEXT:    global_load_dword v2, v42, s[52:53]42; GLOBALNESS1-NEXT:    s_mov_b64 s[48:49], s[4:5]43; GLOBALNESS1-NEXT:    s_load_dwordx2 s[4:5], s[8:9], 0x1844; GLOBALNESS1-NEXT:    s_load_dword s7, s[8:9], 0x2045; GLOBALNESS1-NEXT:    s_add_u32 flat_scratch_lo, s12, s1746; GLOBALNESS1-NEXT:    s_addc_u32 flat_scratch_hi, s13, 047; GLOBALNESS1-NEXT:    s_add_u32 s0, s0, s1748; GLOBALNESS1-NEXT:    v_mov_b32_e32 v41, v049; GLOBALNESS1-NEXT:    v_mov_b32_e32 v0, 050; GLOBALNESS1-NEXT:    s_addc_u32 s1, s1, 051; GLOBALNESS1-NEXT:    v_mov_b32_e32 v1, 0x4099440052; GLOBALNESS1-NEXT:    s_bitcmp1_b32 s54, 053; GLOBALNESS1-NEXT:    s_waitcnt lgkmcnt(0)54; GLOBALNESS1-NEXT:    v_cmp_ngt_f64_e32 vcc, s[4:5], v[0:1]55; GLOBALNESS1-NEXT:    v_cmp_ngt_f64_e64 s[4:5], s[4:5], 056; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v1, 0, 1, s[4:5]57; GLOBALNESS1-NEXT:    s_cselect_b64 s[4:5], -1, 058; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v3, 0, 1, s[4:5]59; GLOBALNESS1-NEXT:    s_xor_b64 s[4:5], s[4:5], -160; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v0, 0, 1, vcc61; GLOBALNESS1-NEXT:    s_bitcmp1_b32 s6, 062; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[50:51], 1, v063; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v0, 0, 1, s[4:5]64; GLOBALNESS1-NEXT:    s_cselect_b64 s[4:5], -1, 065; GLOBALNESS1-NEXT:    s_xor_b64 s[4:5], s[4:5], -166; GLOBALNESS1-NEXT:    s_bitcmp1_b32 s7, 067; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[64:65], 1, v068; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v0, 0, 1, s[4:5]69; GLOBALNESS1-NEXT:    s_cselect_b64 s[4:5], -1, 070; GLOBALNESS1-NEXT:    s_xor_b64 s[4:5], s[4:5], -171; GLOBALNESS1-NEXT:    s_mov_b64 s[38:39], s[8:9]72; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[8:9], 1, v173; GLOBALNESS1-NEXT:    ; implicit-def: $vgpr57 : SGPR spill to VGPR lane74; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[66:67], 1, v075; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v0, 0, 1, s[4:5]76; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s8, 077; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[68:69], 1, v078; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s9, 179; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[70:71], 1, v380; GLOBALNESS1-NEXT:    v_mov_b32_e32 v46, 0x8081; GLOBALNESS1-NEXT:    s_mov_b32 s82, s1682; GLOBALNESS1-NEXT:    s_mov_b32 s83, s1583; GLOBALNESS1-NEXT:    s_mov_b32 s84, s1484; GLOBALNESS1-NEXT:    s_mov_b64 s[34:35], s[10:11]85; GLOBALNESS1-NEXT:    v_mov_b32_e32 v47, 086; GLOBALNESS1-NEXT:    v_mov_b32_e32 v43, v4287; GLOBALNESS1-NEXT:    s_mov_b32 s32, 088; GLOBALNESS1-NEXT:    ; implicit-def: $vgpr58_vgpr5989; GLOBALNESS1-NEXT:    s_waitcnt vmcnt(0)90; GLOBALNESS1-NEXT:    v_cmp_gt_i32_e32 vcc, 0, v291; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v0, 0, 1, vcc92; GLOBALNESS1-NEXT:    v_cmp_gt_i32_e32 vcc, 1, v293; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v1, 0, 1, vcc94; GLOBALNESS1-NEXT:    v_cmp_eq_u32_e32 vcc, 1, v295; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[4:5], 1, v096; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v3, 0, 1, vcc97; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s4, 298; GLOBALNESS1-NEXT:    v_cmp_eq_u32_e32 vcc, 0, v299; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s5, 3100; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[4:5], 1, v3101; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v2, 0, 1, vcc102; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s4, 4103; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s5, 5104; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[4:5], 1, v2105; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s4, 6106; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s5, 7107; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[80:81], 1, v1108; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s70, 8109; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s71, 9110; GLOBALNESS1-NEXT:    s_branch .LBB1_4111; GLOBALNESS1-NEXT:  .LBB1_1: ; %bb70.i112; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1113; GLOBALNESS1-NEXT:    v_readlane_b32 s6, v57, 6114; GLOBALNESS1-NEXT:    v_readlane_b32 s7, v57, 7115; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[6:7]116; GLOBALNESS1-NEXT:    s_cbranch_vccz .LBB1_3117; GLOBALNESS1-NEXT:  .LBB1_2: ; %Flow15118; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1119; GLOBALNESS1-NEXT:    s_or_b64 exec, exec, s[4:5]120; GLOBALNESS1-NEXT:    v_pk_mov_b32 v[58:59], v[0:1], v[0:1] op_sel:[0,1]121; GLOBALNESS1-NEXT:    s_branch .LBB1_4122; GLOBALNESS1-NEXT:  .LBB1_3: ; %bb73.i123; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1124; GLOBALNESS1-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off125; GLOBALNESS1-NEXT:    s_branch .LBB1_2126; GLOBALNESS1-NEXT:  .LBB1_4: ; %bb5127; GLOBALNESS1-NEXT:    ; =>This Loop Header: Depth=1128; GLOBALNESS1-NEXT:    ; Child Loop BB1_16 Depth 2129; GLOBALNESS1-NEXT:    flat_load_dword v40, v[46:47]130; GLOBALNESS1-NEXT:    s_add_u32 s8, s38, 40131; GLOBALNESS1-NEXT:    buffer_store_dword v42, off, s[0:3], 0132; GLOBALNESS1-NEXT:    flat_load_dword v56, v[46:47]133; GLOBALNESS1-NEXT:    s_addc_u32 s9, s39, 0134; GLOBALNESS1-NEXT:    s_getpc_b64 s[4:5]135; GLOBALNESS1-NEXT:    s_add_u32 s4, s4, wobble@gotpcrel32@lo+4136; GLOBALNESS1-NEXT:    s_addc_u32 s5, s5, wobble@gotpcrel32@hi+12137; GLOBALNESS1-NEXT:    s_load_dwordx2 s[16:17], s[4:5], 0x0138; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], s[48:49]139; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], s[36:37]140; GLOBALNESS1-NEXT:    s_mov_b64 s[10:11], s[34:35]141; GLOBALNESS1-NEXT:    s_mov_b32 s12, s84142; GLOBALNESS1-NEXT:    s_mov_b32 s13, s83143; GLOBALNESS1-NEXT:    s_mov_b32 s14, s82144; GLOBALNESS1-NEXT:    v_mov_b32_e32 v31, v41145; GLOBALNESS1-NEXT:    s_waitcnt lgkmcnt(0)146; GLOBALNESS1-NEXT:    s_swappc_b64 s[30:31], s[16:17]147; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[70:71]148; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], -1149; GLOBALNESS1-NEXT:    ; implicit-def: $sgpr8_sgpr9150; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_9151; GLOBALNESS1-NEXT:  ; %bb.5: ; %NodeBlock152; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1153; GLOBALNESS1-NEXT:    s_mov_b64 s[8:9], -1154; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], 0155; GLOBALNESS1-NEXT:    s_cmp_lt_i32 s55, 1156; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], -1157; GLOBALNESS1-NEXT:    s_cbranch_scc1 .LBB1_7158; GLOBALNESS1-NEXT:  ; %bb.6: ; %LeafBlock12159; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1160; GLOBALNESS1-NEXT:    s_cmp_lg_u32 s55, 1161; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], 0162; GLOBALNESS1-NEXT:    s_cselect_b64 s[4:5], -1, 0163; GLOBALNESS1-NEXT:  .LBB1_7: ; %Flow26164; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1165; GLOBALNESS1-NEXT:    s_andn2_b64 vcc, exec, s[6:7]166; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_9167; GLOBALNESS1-NEXT:  ; %bb.8: ; %LeafBlock168; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1169; GLOBALNESS1-NEXT:    s_cmp_lg_u32 s55, 0170; GLOBALNESS1-NEXT:    s_mov_b64 s[8:9], 0171; GLOBALNESS1-NEXT:    s_cselect_b64 s[4:5], -1, 0172; GLOBALNESS1-NEXT:  .LBB1_9: ; %Flow25173; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1174; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[4:5]175; GLOBALNESS1-NEXT:    s_cbranch_vccz .LBB1_24176; GLOBALNESS1-NEXT:  ; %bb.10: ; %baz.exit.i177; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1178; GLOBALNESS1-NEXT:    flat_load_dword v0, v[44:45]179; GLOBALNESS1-NEXT:    s_waitcnt vmcnt(0) lgkmcnt(0)180; GLOBALNESS1-NEXT:    v_cmp_gt_i32_e64 s[86:87], 0, v0181; GLOBALNESS1-NEXT:    v_mov_b32_e32 v0, 0182; GLOBALNESS1-NEXT:    v_mov_b32_e32 v1, 0x3ff00000183; GLOBALNESS1-NEXT:    s_and_saveexec_b64 s[52:53], s[86:87]184; GLOBALNESS1-NEXT:    s_cbranch_execz .LBB1_26185; GLOBALNESS1-NEXT:  ; %bb.11: ; %bb33.i186; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1187; GLOBALNESS1-NEXT:    global_load_dwordx2 v[0:1], v[44:45], off188; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s8, 10189; GLOBALNESS1-NEXT:    v_writelane_b32 v57, s9, 11190; GLOBALNESS1-NEXT:    v_readlane_b32 s4, v57, 2191; GLOBALNESS1-NEXT:    v_readlane_b32 s5, v57, 3192; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[4:5]193; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_13194; GLOBALNESS1-NEXT:  ; %bb.12: ; %bb39.i195; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1196; GLOBALNESS1-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off197; GLOBALNESS1-NEXT:  .LBB1_13: ; %bb44.lr.ph.i198; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1199; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e32 vcc, 0, v56200; GLOBALNESS1-NEXT:    v_cndmask_b32_e32 v2, 0, v40, vcc201; GLOBALNESS1-NEXT:    s_waitcnt vmcnt(0)202; GLOBALNESS1-NEXT:    v_cmp_nlt_f64_e32 vcc, 0, v[0:1]203; GLOBALNESS1-NEXT:    v_cndmask_b32_e64 v0, 0, 1, vcc204; GLOBALNESS1-NEXT:    v_cmp_eq_u32_e64 s[96:97], 0, v2205; GLOBALNESS1-NEXT:    v_cmp_ne_u32_e64 s[98:99], 1, v0206; GLOBALNESS1-NEXT:    s_branch .LBB1_16207; GLOBALNESS1-NEXT:  .LBB1_14: ; %Flow16208; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2209; GLOBALNESS1-NEXT:    s_or_b64 exec, exec, s[4:5]210; GLOBALNESS1-NEXT:  .LBB1_15: ; %bb63.i211; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2212; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[68:69]213; GLOBALNESS1-NEXT:    s_cbranch_vccz .LBB1_25214; GLOBALNESS1-NEXT:  .LBB1_16: ; %bb44.i215; GLOBALNESS1-NEXT:    ; Parent Loop BB1_4 Depth=1216; GLOBALNESS1-NEXT:    ; => This Inner Loop Header: Depth=2217; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[64:65]218; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_15219; GLOBALNESS1-NEXT:  ; %bb.17: ; %bb46.i220; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2221; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[66:67]222; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_15223; GLOBALNESS1-NEXT:  ; %bb.18: ; %bb50.i224; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2225; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[50:51]226; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_21227; GLOBALNESS1-NEXT:  ; %bb.19: ; %bb3.i.i228; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2229; GLOBALNESS1-NEXT:    v_readlane_b32 s4, v57, 0230; GLOBALNESS1-NEXT:    v_readlane_b32 s5, v57, 1231; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[4:5]232; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_21233; GLOBALNESS1-NEXT:  ; %bb.20: ; %bb6.i.i234; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2235; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[98:99]236; GLOBALNESS1-NEXT:  .LBB1_21: ; %spam.exit.i237; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2238; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[80:81]239; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_15240; GLOBALNESS1-NEXT:  ; %bb.22: ; %bb55.i241; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2242; GLOBALNESS1-NEXT:    s_add_u32 s70, s38, 40243; GLOBALNESS1-NEXT:    s_addc_u32 s71, s39, 0244; GLOBALNESS1-NEXT:    s_getpc_b64 s[4:5]245; GLOBALNESS1-NEXT:    s_add_u32 s4, s4, wobble@gotpcrel32@lo+4246; GLOBALNESS1-NEXT:    s_addc_u32 s5, s5, wobble@gotpcrel32@hi+12247; GLOBALNESS1-NEXT:    s_load_dwordx2 s[54:55], s[4:5], 0x0248; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], s[48:49]249; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], s[36:37]250; GLOBALNESS1-NEXT:    s_mov_b64 s[8:9], s[70:71]251; GLOBALNESS1-NEXT:    s_mov_b64 s[10:11], s[34:35]252; GLOBALNESS1-NEXT:    s_mov_b32 s12, s84253; GLOBALNESS1-NEXT:    s_mov_b32 s13, s83254; GLOBALNESS1-NEXT:    s_mov_b32 s14, s82255; GLOBALNESS1-NEXT:    v_mov_b32_e32 v31, v41256; GLOBALNESS1-NEXT:    s_waitcnt lgkmcnt(0)257; GLOBALNESS1-NEXT:    s_swappc_b64 s[30:31], s[54:55]258; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], s[48:49]259; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], s[36:37]260; GLOBALNESS1-NEXT:    s_mov_b64 s[8:9], s[70:71]261; GLOBALNESS1-NEXT:    s_mov_b64 s[10:11], s[34:35]262; GLOBALNESS1-NEXT:    s_mov_b32 s12, s84263; GLOBALNESS1-NEXT:    s_mov_b32 s13, s83264; GLOBALNESS1-NEXT:    s_mov_b32 s14, s82265; GLOBALNESS1-NEXT:    v_mov_b32_e32 v31, v41266; GLOBALNESS1-NEXT:    global_store_dwordx2 v[44:45], v[58:59], off267; GLOBALNESS1-NEXT:    s_swappc_b64 s[30:31], s[54:55]268; GLOBALNESS1-NEXT:    s_and_saveexec_b64 s[4:5], s[96:97]269; GLOBALNESS1-NEXT:    s_cbranch_execz .LBB1_14270; GLOBALNESS1-NEXT:  ; %bb.23: ; %bb62.i271; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_16 Depth=2272; GLOBALNESS1-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off273; GLOBALNESS1-NEXT:    s_branch .LBB1_14274; GLOBALNESS1-NEXT:  .LBB1_24: ; in Loop: Header=BB1_4 Depth=1275; GLOBALNESS1-NEXT:    ; implicit-def: $vgpr58_vgpr59276; GLOBALNESS1-NEXT:    s_cbranch_execz .LBB1_4277; GLOBALNESS1-NEXT:    s_branch .LBB1_29278; GLOBALNESS1-NEXT:  .LBB1_25: ; %Flow23279; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1280; GLOBALNESS1-NEXT:    s_load_dwordx4 s[4:7], s[38:39], 0x0281; GLOBALNESS1-NEXT:    v_readlane_b32 s70, v57, 8282; GLOBALNESS1-NEXT:    v_readlane_b32 s8, v57, 10283; GLOBALNESS1-NEXT:    v_pk_mov_b32 v[0:1], 0, 0284; GLOBALNESS1-NEXT:    v_readlane_b32 s71, v57, 9285; GLOBALNESS1-NEXT:    s_waitcnt lgkmcnt(0)286; GLOBALNESS1-NEXT:    s_mov_b32 s55, s7287; GLOBALNESS1-NEXT:    v_readlane_b32 s9, v57, 11288; GLOBALNESS1-NEXT:  .LBB1_26: ; %Flow24289; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1290; GLOBALNESS1-NEXT:    s_or_b64 exec, exec, s[52:53]291; GLOBALNESS1-NEXT:    s_and_saveexec_b64 s[4:5], s[86:87]292; GLOBALNESS1-NEXT:    s_cbranch_execz .LBB1_2293; GLOBALNESS1-NEXT:  ; %bb.27: ; %bb67.i294; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1295; GLOBALNESS1-NEXT:    v_readlane_b32 s6, v57, 4296; GLOBALNESS1-NEXT:    v_readlane_b32 s7, v57, 5297; GLOBALNESS1-NEXT:    s_and_b64 vcc, exec, s[6:7]298; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_1299; GLOBALNESS1-NEXT:  ; %bb.28: ; %bb69.i300; GLOBALNESS1-NEXT:    ; in Loop: Header=BB1_4 Depth=1301; GLOBALNESS1-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off302; GLOBALNESS1-NEXT:    s_branch .LBB1_1303; GLOBALNESS1-NEXT:  .LBB1_29: ; %loop.exit.guard304; GLOBALNESS1-NEXT:    s_andn2_b64 vcc, exec, s[8:9]305; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], -1306; GLOBALNESS1-NEXT:    s_cbranch_vccz .LBB1_31307; GLOBALNESS1-NEXT:  ; %bb.30: ; %bb7.i.i308; GLOBALNESS1-NEXT:    s_add_u32 s8, s38, 40309; GLOBALNESS1-NEXT:    s_addc_u32 s9, s39, 0310; GLOBALNESS1-NEXT:    s_getpc_b64 s[16:17]311; GLOBALNESS1-NEXT:    s_add_u32 s16, s16, widget@rel32@lo+4312; GLOBALNESS1-NEXT:    s_addc_u32 s17, s17, widget@rel32@hi+12313; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], s[48:49]314; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], s[36:37]315; GLOBALNESS1-NEXT:    s_mov_b64 s[10:11], s[34:35]316; GLOBALNESS1-NEXT:    s_mov_b32 s12, s84317; GLOBALNESS1-NEXT:    s_mov_b32 s13, s83318; GLOBALNESS1-NEXT:    s_mov_b32 s14, s82319; GLOBALNESS1-NEXT:    v_mov_b32_e32 v31, v41320; GLOBALNESS1-NEXT:    s_swappc_b64 s[30:31], s[16:17]321; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], 0322; GLOBALNESS1-NEXT:  .LBB1_31: ; %Flow323; GLOBALNESS1-NEXT:    s_andn2_b64 vcc, exec, s[4:5]324; GLOBALNESS1-NEXT:    s_cbranch_vccnz .LBB1_33325; GLOBALNESS1-NEXT:  ; %bb.32: ; %bb11.i.i326; GLOBALNESS1-NEXT:    s_add_u32 s8, s38, 40327; GLOBALNESS1-NEXT:    s_addc_u32 s9, s39, 0328; GLOBALNESS1-NEXT:    s_getpc_b64 s[16:17]329; GLOBALNESS1-NEXT:    s_add_u32 s16, s16, widget@rel32@lo+4330; GLOBALNESS1-NEXT:    s_addc_u32 s17, s17, widget@rel32@hi+12331; GLOBALNESS1-NEXT:    s_mov_b64 s[4:5], s[48:49]332; GLOBALNESS1-NEXT:    s_mov_b64 s[6:7], s[36:37]333; GLOBALNESS1-NEXT:    s_mov_b64 s[10:11], s[34:35]334; GLOBALNESS1-NEXT:    s_mov_b32 s12, s84335; GLOBALNESS1-NEXT:    s_mov_b32 s13, s83336; GLOBALNESS1-NEXT:    s_mov_b32 s14, s82337; GLOBALNESS1-NEXT:    v_mov_b32_e32 v31, v41338; GLOBALNESS1-NEXT:    s_swappc_b64 s[30:31], s[16:17]339; GLOBALNESS1-NEXT:  .LBB1_33: ; %UnifiedUnreachableBlock340;341; GLOBALNESS0-LABEL: kernel:342; GLOBALNESS0:       ; %bb.0: ; %bb343; GLOBALNESS0-NEXT:    s_mov_b64 s[36:37], s[6:7]344; GLOBALNESS0-NEXT:    s_load_dwordx4 s[52:55], s[8:9], 0x0345; GLOBALNESS0-NEXT:    s_load_dword s6, s[8:9], 0x14346; GLOBALNESS0-NEXT:    v_mov_b32_e32 v42, 0347; GLOBALNESS0-NEXT:    v_pk_mov_b32 v[44:45], 0, 0348; GLOBALNESS0-NEXT:    global_store_dword v[44:45], v42, off349; GLOBALNESS0-NEXT:    s_waitcnt lgkmcnt(0)350; GLOBALNESS0-NEXT:    global_load_dword v2, v42, s[52:53]351; GLOBALNESS0-NEXT:    s_mov_b64 s[48:49], s[4:5]352; GLOBALNESS0-NEXT:    s_load_dwordx2 s[4:5], s[8:9], 0x18353; GLOBALNESS0-NEXT:    s_load_dword s7, s[8:9], 0x20354; GLOBALNESS0-NEXT:    s_add_u32 flat_scratch_lo, s12, s17355; GLOBALNESS0-NEXT:    s_addc_u32 flat_scratch_hi, s13, 0356; GLOBALNESS0-NEXT:    s_add_u32 s0, s0, s17357; GLOBALNESS0-NEXT:    v_mov_b32_e32 v41, v0358; GLOBALNESS0-NEXT:    v_mov_b32_e32 v0, 0359; GLOBALNESS0-NEXT:    s_addc_u32 s1, s1, 0360; GLOBALNESS0-NEXT:    v_mov_b32_e32 v1, 0x40994400361; GLOBALNESS0-NEXT:    s_bitcmp1_b32 s54, 0362; GLOBALNESS0-NEXT:    s_waitcnt lgkmcnt(0)363; GLOBALNESS0-NEXT:    v_cmp_ngt_f64_e32 vcc, s[4:5], v[0:1]364; GLOBALNESS0-NEXT:    v_cmp_ngt_f64_e64 s[4:5], s[4:5], 0365; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v1, 0, 1, s[4:5]366; GLOBALNESS0-NEXT:    s_cselect_b64 s[4:5], -1, 0367; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v3, 0, 1, s[4:5]368; GLOBALNESS0-NEXT:    s_xor_b64 s[4:5], s[4:5], -1369; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v0, 0, 1, vcc370; GLOBALNESS0-NEXT:    s_bitcmp1_b32 s6, 0371; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[50:51], 1, v0372; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v0, 0, 1, s[4:5]373; GLOBALNESS0-NEXT:    s_cselect_b64 s[4:5], -1, 0374; GLOBALNESS0-NEXT:    s_xor_b64 s[4:5], s[4:5], -1375; GLOBALNESS0-NEXT:    s_bitcmp1_b32 s7, 0376; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[64:65], 1, v0377; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v0, 0, 1, s[4:5]378; GLOBALNESS0-NEXT:    s_cselect_b64 s[4:5], -1, 0379; GLOBALNESS0-NEXT:    s_xor_b64 s[4:5], s[4:5], -1380; GLOBALNESS0-NEXT:    s_mov_b64 s[38:39], s[8:9]381; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[8:9], 1, v1382; GLOBALNESS0-NEXT:    ; implicit-def: $vgpr57 : SGPR spill to VGPR lane383; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[66:67], 1, v0384; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v0, 0, 1, s[4:5]385; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s8, 0386; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[68:69], 1, v0387; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s9, 1388; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[84:85], 1, v3389; GLOBALNESS0-NEXT:    v_mov_b32_e32 v46, 0x80390; GLOBALNESS0-NEXT:    s_mov_b32 s70, s16391; GLOBALNESS0-NEXT:    s_mov_b32 s71, s15392; GLOBALNESS0-NEXT:    s_mov_b32 s82, s14393; GLOBALNESS0-NEXT:    s_mov_b64 s[34:35], s[10:11]394; GLOBALNESS0-NEXT:    v_mov_b32_e32 v47, 0395; GLOBALNESS0-NEXT:    v_mov_b32_e32 v43, v42396; GLOBALNESS0-NEXT:    s_mov_b32 s32, 0397; GLOBALNESS0-NEXT:    ; implicit-def: $vgpr58_vgpr59398; GLOBALNESS0-NEXT:    s_waitcnt vmcnt(0)399; GLOBALNESS0-NEXT:    v_cmp_gt_i32_e32 vcc, 0, v2400; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v0, 0, 1, vcc401; GLOBALNESS0-NEXT:    v_cmp_gt_i32_e32 vcc, 1, v2402; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v1, 0, 1, vcc403; GLOBALNESS0-NEXT:    v_cmp_eq_u32_e32 vcc, 1, v2404; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[4:5], 1, v0405; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v3, 0, 1, vcc406; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s4, 2407; GLOBALNESS0-NEXT:    v_cmp_eq_u32_e32 vcc, 0, v2408; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s5, 3409; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[4:5], 1, v3410; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v2, 0, 1, vcc411; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s4, 4412; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s5, 5413; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[4:5], 1, v2414; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s4, 6415; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s5, 7416; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[80:81], 1, v1417; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s84, 8418; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s85, 9419; GLOBALNESS0-NEXT:    s_branch .LBB1_4420; GLOBALNESS0-NEXT:  .LBB1_1: ; %bb70.i421; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1422; GLOBALNESS0-NEXT:    v_readlane_b32 s6, v57, 6423; GLOBALNESS0-NEXT:    v_readlane_b32 s7, v57, 7424; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[6:7]425; GLOBALNESS0-NEXT:    s_cbranch_vccz .LBB1_3426; GLOBALNESS0-NEXT:  .LBB1_2: ; %Flow15427; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1428; GLOBALNESS0-NEXT:    s_or_b64 exec, exec, s[4:5]429; GLOBALNESS0-NEXT:    v_pk_mov_b32 v[58:59], v[0:1], v[0:1] op_sel:[0,1]430; GLOBALNESS0-NEXT:    s_branch .LBB1_4431; GLOBALNESS0-NEXT:  .LBB1_3: ; %bb73.i432; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1433; GLOBALNESS0-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off434; GLOBALNESS0-NEXT:    s_branch .LBB1_2435; GLOBALNESS0-NEXT:  .LBB1_4: ; %bb5436; GLOBALNESS0-NEXT:    ; =>This Loop Header: Depth=1437; GLOBALNESS0-NEXT:    ; Child Loop BB1_16 Depth 2438; GLOBALNESS0-NEXT:    flat_load_dword v40, v[46:47]439; GLOBALNESS0-NEXT:    s_add_u32 s8, s38, 40440; GLOBALNESS0-NEXT:    buffer_store_dword v42, off, s[0:3], 0441; GLOBALNESS0-NEXT:    flat_load_dword v56, v[46:47]442; GLOBALNESS0-NEXT:    s_addc_u32 s9, s39, 0443; GLOBALNESS0-NEXT:    s_getpc_b64 s[4:5]444; GLOBALNESS0-NEXT:    s_add_u32 s4, s4, wobble@gotpcrel32@lo+4445; GLOBALNESS0-NEXT:    s_addc_u32 s5, s5, wobble@gotpcrel32@hi+12446; GLOBALNESS0-NEXT:    s_load_dwordx2 s[16:17], s[4:5], 0x0447; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], s[48:49]448; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], s[36:37]449; GLOBALNESS0-NEXT:    s_mov_b64 s[10:11], s[34:35]450; GLOBALNESS0-NEXT:    s_mov_b32 s12, s82451; GLOBALNESS0-NEXT:    s_mov_b32 s13, s71452; GLOBALNESS0-NEXT:    s_mov_b32 s14, s70453; GLOBALNESS0-NEXT:    v_mov_b32_e32 v31, v41454; GLOBALNESS0-NEXT:    s_waitcnt lgkmcnt(0)455; GLOBALNESS0-NEXT:    s_swappc_b64 s[30:31], s[16:17]456; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[84:85]457; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], -1458; GLOBALNESS0-NEXT:    ; implicit-def: $sgpr8_sgpr9459; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_9460; GLOBALNESS0-NEXT:  ; %bb.5: ; %NodeBlock461; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1462; GLOBALNESS0-NEXT:    s_mov_b64 s[8:9], -1463; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], 0464; GLOBALNESS0-NEXT:    s_cmp_lt_i32 s55, 1465; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], -1466; GLOBALNESS0-NEXT:    s_cbranch_scc1 .LBB1_7467; GLOBALNESS0-NEXT:  ; %bb.6: ; %LeafBlock12468; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1469; GLOBALNESS0-NEXT:    s_cmp_lg_u32 s55, 1470; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], 0471; GLOBALNESS0-NEXT:    s_cselect_b64 s[4:5], -1, 0472; GLOBALNESS0-NEXT:  .LBB1_7: ; %Flow26473; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1474; GLOBALNESS0-NEXT:    s_andn2_b64 vcc, exec, s[6:7]475; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_9476; GLOBALNESS0-NEXT:  ; %bb.8: ; %LeafBlock477; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1478; GLOBALNESS0-NEXT:    s_cmp_lg_u32 s55, 0479; GLOBALNESS0-NEXT:    s_mov_b64 s[8:9], 0480; GLOBALNESS0-NEXT:    s_cselect_b64 s[4:5], -1, 0481; GLOBALNESS0-NEXT:  .LBB1_9: ; %Flow25482; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1483; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[4:5]484; GLOBALNESS0-NEXT:    s_cbranch_vccz .LBB1_24485; GLOBALNESS0-NEXT:  ; %bb.10: ; %baz.exit.i486; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1487; GLOBALNESS0-NEXT:    flat_load_dword v0, v[44:45]488; GLOBALNESS0-NEXT:    s_waitcnt vmcnt(0) lgkmcnt(0)489; GLOBALNESS0-NEXT:    v_cmp_gt_i32_e64 s[86:87], 0, v0490; GLOBALNESS0-NEXT:    v_mov_b32_e32 v0, 0491; GLOBALNESS0-NEXT:    v_mov_b32_e32 v1, 0x3ff00000492; GLOBALNESS0-NEXT:    s_and_saveexec_b64 s[52:53], s[86:87]493; GLOBALNESS0-NEXT:    s_cbranch_execz .LBB1_26494; GLOBALNESS0-NEXT:  ; %bb.11: ; %bb33.i495; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1496; GLOBALNESS0-NEXT:    global_load_dwordx2 v[0:1], v[44:45], off497; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s8, 10498; GLOBALNESS0-NEXT:    v_writelane_b32 v57, s9, 11499; GLOBALNESS0-NEXT:    v_readlane_b32 s4, v57, 2500; GLOBALNESS0-NEXT:    v_readlane_b32 s5, v57, 3501; GLOBALNESS0-NEXT:    s_mov_b32 s83, s55502; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[4:5]503; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_13504; GLOBALNESS0-NEXT:  ; %bb.12: ; %bb39.i505; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1506; GLOBALNESS0-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off507; GLOBALNESS0-NEXT:  .LBB1_13: ; %bb44.lr.ph.i508; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1509; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e32 vcc, 0, v56510; GLOBALNESS0-NEXT:    v_cndmask_b32_e32 v2, 0, v40, vcc511; GLOBALNESS0-NEXT:    s_waitcnt vmcnt(0)512; GLOBALNESS0-NEXT:    v_cmp_nlt_f64_e32 vcc, 0, v[0:1]513; GLOBALNESS0-NEXT:    v_cndmask_b32_e64 v0, 0, 1, vcc514; GLOBALNESS0-NEXT:    v_cmp_eq_u32_e64 s[96:97], 0, v2515; GLOBALNESS0-NEXT:    v_cmp_ne_u32_e64 s[98:99], 1, v0516; GLOBALNESS0-NEXT:    s_branch .LBB1_16517; GLOBALNESS0-NEXT:  .LBB1_14: ; %Flow16518; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2519; GLOBALNESS0-NEXT:    s_or_b64 exec, exec, s[4:5]520; GLOBALNESS0-NEXT:  .LBB1_15: ; %bb63.i521; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2522; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[68:69]523; GLOBALNESS0-NEXT:    s_cbranch_vccz .LBB1_25524; GLOBALNESS0-NEXT:  .LBB1_16: ; %bb44.i525; GLOBALNESS0-NEXT:    ; Parent Loop BB1_4 Depth=1526; GLOBALNESS0-NEXT:    ; => This Inner Loop Header: Depth=2527; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[64:65]528; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_15529; GLOBALNESS0-NEXT:  ; %bb.17: ; %bb46.i530; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2531; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[66:67]532; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_15533; GLOBALNESS0-NEXT:  ; %bb.18: ; %bb50.i534; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2535; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[50:51]536; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_21537; GLOBALNESS0-NEXT:  ; %bb.19: ; %bb3.i.i538; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2539; GLOBALNESS0-NEXT:    v_readlane_b32 s4, v57, 0540; GLOBALNESS0-NEXT:    v_readlane_b32 s5, v57, 1541; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[4:5]542; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_21543; GLOBALNESS0-NEXT:  ; %bb.20: ; %bb6.i.i544; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2545; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[98:99]546; GLOBALNESS0-NEXT:  .LBB1_21: ; %spam.exit.i547; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2548; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[80:81]549; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_15550; GLOBALNESS0-NEXT:  ; %bb.22: ; %bb55.i551; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2552; GLOBALNESS0-NEXT:    s_add_u32 s84, s38, 40553; GLOBALNESS0-NEXT:    s_addc_u32 s85, s39, 0554; GLOBALNESS0-NEXT:    s_getpc_b64 s[4:5]555; GLOBALNESS0-NEXT:    s_add_u32 s4, s4, wobble@gotpcrel32@lo+4556; GLOBALNESS0-NEXT:    s_addc_u32 s5, s5, wobble@gotpcrel32@hi+12557; GLOBALNESS0-NEXT:    s_load_dwordx2 s[54:55], s[4:5], 0x0558; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], s[48:49]559; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], s[36:37]560; GLOBALNESS0-NEXT:    s_mov_b64 s[8:9], s[84:85]561; GLOBALNESS0-NEXT:    s_mov_b64 s[10:11], s[34:35]562; GLOBALNESS0-NEXT:    s_mov_b32 s12, s82563; GLOBALNESS0-NEXT:    s_mov_b32 s13, s71564; GLOBALNESS0-NEXT:    s_mov_b32 s14, s70565; GLOBALNESS0-NEXT:    v_mov_b32_e32 v31, v41566; GLOBALNESS0-NEXT:    s_waitcnt lgkmcnt(0)567; GLOBALNESS0-NEXT:    s_swappc_b64 s[30:31], s[54:55]568; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], s[48:49]569; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], s[36:37]570; GLOBALNESS0-NEXT:    s_mov_b64 s[8:9], s[84:85]571; GLOBALNESS0-NEXT:    s_mov_b64 s[10:11], s[34:35]572; GLOBALNESS0-NEXT:    s_mov_b32 s12, s82573; GLOBALNESS0-NEXT:    s_mov_b32 s13, s71574; GLOBALNESS0-NEXT:    s_mov_b32 s14, s70575; GLOBALNESS0-NEXT:    v_mov_b32_e32 v31, v41576; GLOBALNESS0-NEXT:    global_store_dwordx2 v[44:45], v[58:59], off577; GLOBALNESS0-NEXT:    s_swappc_b64 s[30:31], s[54:55]578; GLOBALNESS0-NEXT:    s_and_saveexec_b64 s[4:5], s[96:97]579; GLOBALNESS0-NEXT:    s_cbranch_execz .LBB1_14580; GLOBALNESS0-NEXT:  ; %bb.23: ; %bb62.i581; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_16 Depth=2582; GLOBALNESS0-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off583; GLOBALNESS0-NEXT:    s_branch .LBB1_14584; GLOBALNESS0-NEXT:  .LBB1_24: ; in Loop: Header=BB1_4 Depth=1585; GLOBALNESS0-NEXT:    ; implicit-def: $vgpr58_vgpr59586; GLOBALNESS0-NEXT:    s_cbranch_execz .LBB1_4587; GLOBALNESS0-NEXT:    s_branch .LBB1_29588; GLOBALNESS0-NEXT:  .LBB1_25: ; %Flow23589; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1590; GLOBALNESS0-NEXT:    v_readlane_b32 s84, v57, 8591; GLOBALNESS0-NEXT:    v_readlane_b32 s8, v57, 10592; GLOBALNESS0-NEXT:    v_pk_mov_b32 v[0:1], 0, 0593; GLOBALNESS0-NEXT:    s_mov_b32 s55, s83594; GLOBALNESS0-NEXT:    v_readlane_b32 s85, v57, 9595; GLOBALNESS0-NEXT:    v_readlane_b32 s9, v57, 11596; GLOBALNESS0-NEXT:  .LBB1_26: ; %Flow24597; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1598; GLOBALNESS0-NEXT:    s_or_b64 exec, exec, s[52:53]599; GLOBALNESS0-NEXT:    s_and_saveexec_b64 s[4:5], s[86:87]600; GLOBALNESS0-NEXT:    s_cbranch_execz .LBB1_2601; GLOBALNESS0-NEXT:  ; %bb.27: ; %bb67.i602; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1603; GLOBALNESS0-NEXT:    v_readlane_b32 s6, v57, 4604; GLOBALNESS0-NEXT:    v_readlane_b32 s7, v57, 5605; GLOBALNESS0-NEXT:    s_and_b64 vcc, exec, s[6:7]606; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_1607; GLOBALNESS0-NEXT:  ; %bb.28: ; %bb69.i608; GLOBALNESS0-NEXT:    ; in Loop: Header=BB1_4 Depth=1609; GLOBALNESS0-NEXT:    global_store_dwordx2 v[44:45], v[42:43], off610; GLOBALNESS0-NEXT:    s_branch .LBB1_1611; GLOBALNESS0-NEXT:  .LBB1_29: ; %loop.exit.guard612; GLOBALNESS0-NEXT:    s_andn2_b64 vcc, exec, s[8:9]613; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], -1614; GLOBALNESS0-NEXT:    s_cbranch_vccz .LBB1_31615; GLOBALNESS0-NEXT:  ; %bb.30: ; %bb7.i.i616; GLOBALNESS0-NEXT:    s_add_u32 s8, s38, 40617; GLOBALNESS0-NEXT:    s_addc_u32 s9, s39, 0618; GLOBALNESS0-NEXT:    s_getpc_b64 s[16:17]619; GLOBALNESS0-NEXT:    s_add_u32 s16, s16, widget@rel32@lo+4620; GLOBALNESS0-NEXT:    s_addc_u32 s17, s17, widget@rel32@hi+12621; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], s[48:49]622; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], s[36:37]623; GLOBALNESS0-NEXT:    s_mov_b64 s[10:11], s[34:35]624; GLOBALNESS0-NEXT:    s_mov_b32 s12, s82625; GLOBALNESS0-NEXT:    s_mov_b32 s13, s71626; GLOBALNESS0-NEXT:    s_mov_b32 s14, s70627; GLOBALNESS0-NEXT:    v_mov_b32_e32 v31, v41628; GLOBALNESS0-NEXT:    s_swappc_b64 s[30:31], s[16:17]629; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], 0630; GLOBALNESS0-NEXT:  .LBB1_31: ; %Flow631; GLOBALNESS0-NEXT:    s_andn2_b64 vcc, exec, s[4:5]632; GLOBALNESS0-NEXT:    s_cbranch_vccnz .LBB1_33633; GLOBALNESS0-NEXT:  ; %bb.32: ; %bb11.i.i634; GLOBALNESS0-NEXT:    s_add_u32 s8, s38, 40635; GLOBALNESS0-NEXT:    s_addc_u32 s9, s39, 0636; GLOBALNESS0-NEXT:    s_getpc_b64 s[16:17]637; GLOBALNESS0-NEXT:    s_add_u32 s16, s16, widget@rel32@lo+4638; GLOBALNESS0-NEXT:    s_addc_u32 s17, s17, widget@rel32@hi+12639; GLOBALNESS0-NEXT:    s_mov_b64 s[4:5], s[48:49]640; GLOBALNESS0-NEXT:    s_mov_b64 s[6:7], s[36:37]641; GLOBALNESS0-NEXT:    s_mov_b64 s[10:11], s[34:35]642; GLOBALNESS0-NEXT:    s_mov_b32 s12, s82643; GLOBALNESS0-NEXT:    s_mov_b32 s13, s71644; GLOBALNESS0-NEXT:    s_mov_b32 s14, s70645; GLOBALNESS0-NEXT:    v_mov_b32_e32 v31, v41646; GLOBALNESS0-NEXT:    s_swappc_b64 s[30:31], s[16:17]647; GLOBALNESS0-NEXT:  .LBB1_33: ; %UnifiedUnreachableBlock648bb:649  store i32 0, ptr addrspace(1) null, align 4650  %tmp4 = load i32, ptr addrspace(1) %arg1.global, align 4651  br label %bb5652 653bb5:                                              ; preds = %bb5.backedge, %bb654  %tmp4.i.sroa.0.0 = phi <9 x double> [ poison, %bb ], [ %tmp4.i.sroa.0.1, %bb5.backedge ]655  %tmp14.1.i = load i32, ptr inttoptr (i64 128 to ptr), align 128656  store i32 0, ptr addrspace(5) null, align 4657  %tmp14.2.i = load i32, ptr inttoptr (i64 128 to ptr), align 128658  %tmp15.2.i = icmp eq i32 %tmp14.2.i, 0659  %spec.select.2.i = select i1 %tmp15.2.i, i32 0, i32 %tmp14.1.i660  tail call void @wobble()661  br i1 %tmp3.i.i, label %bb4.i.i, label %baz.exit.i662 663bb4.i.i:                                          ; preds = %bb5664  switch i32 %tmp5.i.i, label %baz.exit.i [665    i32 0, label %bb7.i.i666    i32 1, label %bb11.i.i667  ]668 669bb7.i.i:                                          ; preds = %bb4.i.i670  tail call fastcc void @widget()671  unreachable672 673bb11.i.i:                                         ; preds = %bb4.i.i674  tail call fastcc void @widget()675  unreachable676 677baz.exit.i:                                       ; preds = %bb4.i.i, %bb5678  %tmp26.i = load i32, ptr null, align 4679  %tmp27.i4 = load double, ptr addrspace(1) null, align 8680  %tmp31.i = icmp slt i32 %tmp26.i, 0681  br i1 %tmp31.i, label %bb33.i, label %bb64.i682 683bb33.i:                                           ; preds = %baz.exit.i684  %tmp38.i = icmp slt i32 %tmp4, 0685  br i1 %tmp38.i, label %bb39.i, label %bb44.lr.ph.i686 687bb39.i:                                           ; preds = %bb33.i688  store double 0.000000e+00, ptr addrspace(1) null, align 8689  br label %bb44.lr.ph.i690 691bb44.lr.ph.i:                                     ; preds = %bb39.i, %bb33.i692  br label %bb44.i693 694bb44.i:                                           ; preds = %bb63.i, %bb44.lr.ph.i695  br i1 %tmp3.i.i, label %bb63.i, label %bb46.i696 697bb46.i:                                           ; preds = %bb44.i698  br i1 %tmp438.i, label %bb63.i, label %bb50.i699 700bb50.i:                                           ; preds = %bb46.i701  switch i32 0, label %spam.exit.i [702    i32 0, label %bb1.i.i703  ]704 705bb1.i.i:                                          ; preds = %bb50.i706  %tmp2.i.i = fcmp ogt double %tmp27.i, 1.617000e+03707  br i1 %tmp2.i.i, label %spam.exit.i, label %bb3.i.i708 709bb3.i.i:                                          ; preds = %bb1.i.i710  %tmp4.i.i = fcmp ogt double %tmp27.i, 0.000000e+00711  br i1 %tmp4.i.i, label %spam.exit.i, label %bb6.i.i712 713bb6.i.i:                                          ; preds = %bb3.i.i714  %tmp7.i.i = fcmp ogt double %tmp27.i4, 0.000000e+00715  br i1 %tmp7.i.i, label %spam.exit.i, label %bb8.i.i716 717bb8.i.i:                                          ; preds = %bb6.i.i718  tail call void null()719  br label %spam.exit.i720 721spam.exit.i:                                      ; preds = %bb8.i.i, %bb6.i.i, %bb3.i.i, %bb1.i.i, %bb50.i722  %tmp22.i = icmp sgt i32 %tmp4, 0723  br i1 %tmp22.i, label %bb63.i, label %bb55.i724 725bb55.i:                                           ; preds = %spam.exit.i726  tail call void @wobble()727  %tmp0 = extractelement <9 x double> %tmp4.i.sroa.0.0, i32 0728  store double %tmp0, ptr addrspace(1) null, align 8729  tail call void @wobble()730  %tmp61.i = icmp eq i32 %spec.select.2.i, 0731  br i1 %tmp61.i, label %bb62.i, label %bb63.i732 733bb62.i:                                           ; preds = %bb55.i734  store double 0.000000e+00, ptr addrspace(1) null, align 8735  br label %bb63.i736 737bb63.i:                                           ; preds = %bb62.i, %bb55.i, %spam.exit.i, %bb46.i, %bb44.i738  br i1 %tmp48.i, label %bb44.i, label %bb64.i739 740bb64.i:                                           ; preds = %bb63.i, %baz.exit.i741  %tmp4.i.sroa.0.1 = phi <9 x double> [ <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>, %baz.exit.i ], [ zeroinitializer, %bb63.i ]742  br i1 %tmp31.i, label %bb67.i, label %bb5.backedge743 744bb5.backedge:                                     ; preds = %bb73.i, %bb70.i, %bb64.i745  br label %bb5746 747bb67.i:                                           ; preds = %bb64.i748  %tmp68.i = icmp eq i32 %tmp4, 1749  br i1 %tmp68.i, label %bb69.i, label %bb70.i750 751bb69.i:                                           ; preds = %bb67.i752  store double 0.000000e+00, ptr addrspace(1) null, align 8753  br label %bb70.i754 755bb70.i:                                           ; preds = %bb69.i, %bb67.i756  %tmp3.i.i2 = icmp eq i32 %tmp4, 0757  br i1 %tmp3.i.i2, label %bb73.i, label %bb5.backedge758 759bb73.i:                                           ; preds = %bb70.i760  store double 0.000000e+00, ptr addrspace(1) null, align 8761  br label %bb5.backedge762}763 764