4454 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -o - %s | FileCheck -check-prefixes=GFX9 %s3; RUN: llc -O0 -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -o - %s | FileCheck -check-prefixes=GFX9-O0 %s4 5; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -o - %s | FileCheck -check-prefixes=GFX9-G %s6; RUN: llc -O0 -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -o - %s | FileCheck -check-prefixes=GFX9-G-O0 %s7 8define i128 @v_sdiv_i128_vv(i128 %lhs, i128 %rhs) {9; GFX9-LABEL: v_sdiv_i128_vv:10; GFX9: ; %bb.0: ; %_udiv-special-cases11; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12; GFX9-NEXT: v_sub_co_u32_e32 v8, vcc, 0, v013; GFX9-NEXT: v_subb_co_u32_e32 v9, vcc, 0, v1, vcc14; GFX9-NEXT: v_subb_co_u32_e32 v10, vcc, 0, v2, vcc15; GFX9-NEXT: v_subb_co_u32_e32 v11, vcc, 0, v3, vcc16; GFX9-NEXT: v_cmp_gt_i64_e32 vcc, 0, v[2:3]17; GFX9-NEXT: v_ashrrev_i32_e32 v16, 31, v318; GFX9-NEXT: v_cndmask_b32_e32 v9, v1, v9, vcc19; GFX9-NEXT: v_cndmask_b32_e32 v8, v0, v8, vcc20; GFX9-NEXT: v_cndmask_b32_e32 v11, v3, v11, vcc21; GFX9-NEXT: v_cndmask_b32_e32 v10, v2, v10, vcc22; GFX9-NEXT: v_sub_co_u32_e32 v0, vcc, 0, v423; GFX9-NEXT: v_subb_co_u32_e32 v1, vcc, 0, v5, vcc24; GFX9-NEXT: v_subb_co_u32_e32 v2, vcc, 0, v6, vcc25; GFX9-NEXT: v_subb_co_u32_e32 v3, vcc, 0, v7, vcc26; GFX9-NEXT: v_cmp_gt_i64_e32 vcc, 0, v[6:7]27; GFX9-NEXT: v_ashrrev_i32_e32 v17, 31, v728; GFX9-NEXT: v_cndmask_b32_e32 v20, v5, v1, vcc29; GFX9-NEXT: v_cndmask_b32_e32 v21, v4, v0, vcc30; GFX9-NEXT: v_cndmask_b32_e32 v1, v7, v3, vcc31; GFX9-NEXT: v_cndmask_b32_e32 v0, v6, v2, vcc32; GFX9-NEXT: v_or_b32_e32 v3, v20, v133; GFX9-NEXT: v_or_b32_e32 v2, v21, v034; GFX9-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[2:3]35; GFX9-NEXT: v_or_b32_e32 v3, v9, v1136; GFX9-NEXT: v_or_b32_e32 v2, v8, v1037; GFX9-NEXT: v_cmp_eq_u64_e64 s[4:5], 0, v[2:3]38; GFX9-NEXT: v_ffbh_u32_e32 v2, v039; GFX9-NEXT: v_add_u32_e32 v2, 32, v240; GFX9-NEXT: v_ffbh_u32_e32 v3, v141; GFX9-NEXT: v_min_u32_e32 v2, v2, v342; GFX9-NEXT: v_ffbh_u32_e32 v3, v2143; GFX9-NEXT: v_add_u32_e32 v3, 32, v344; GFX9-NEXT: v_ffbh_u32_e32 v4, v2045; GFX9-NEXT: v_min_u32_e32 v3, v3, v446; GFX9-NEXT: s_or_b64 s[4:5], vcc, s[4:5]47; GFX9-NEXT: v_add_co_u32_e32 v3, vcc, 64, v348; GFX9-NEXT: v_addc_co_u32_e64 v4, s[6:7], 0, 0, vcc49; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[0:1]50; GFX9-NEXT: v_ffbh_u32_e32 v6, v1151; GFX9-NEXT: v_cndmask_b32_e32 v2, v3, v2, vcc52; GFX9-NEXT: v_ffbh_u32_e32 v3, v1053; GFX9-NEXT: v_add_u32_e32 v3, 32, v354; GFX9-NEXT: v_min_u32_e32 v3, v3, v655; GFX9-NEXT: v_ffbh_u32_e32 v6, v856; GFX9-NEXT: v_add_u32_e32 v6, 32, v657; GFX9-NEXT: v_ffbh_u32_e32 v7, v958; GFX9-NEXT: v_min_u32_e32 v6, v6, v759; GFX9-NEXT: v_cndmask_b32_e64 v4, v4, 0, vcc60; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 64, v661; GFX9-NEXT: v_addc_co_u32_e64 v7, s[6:7], 0, 0, vcc62; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[10:11]63; GFX9-NEXT: v_mov_b32_e32 v5, 064; GFX9-NEXT: v_cndmask_b32_e32 v3, v6, v3, vcc65; GFX9-NEXT: v_cndmask_b32_e64 v7, v7, 0, vcc66; GFX9-NEXT: v_sub_co_u32_e32 v2, vcc, v2, v367; GFX9-NEXT: v_subb_co_u32_e32 v3, vcc, v4, v7, vcc68; GFX9-NEXT: v_subb_co_u32_e32 v4, vcc, 0, v5, vcc69; GFX9-NEXT: v_subb_co_u32_e32 v5, vcc, 0, v5, vcc70; GFX9-NEXT: s_mov_b64 s[6:7], 0x7f71; GFX9-NEXT: v_cmp_lt_u64_e32 vcc, s[6:7], v[2:3]72; GFX9-NEXT: v_mov_b32_e32 v18, v1673; GFX9-NEXT: v_cndmask_b32_e64 v6, 0, 1, vcc74; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[4:5]75; GFX9-NEXT: v_mov_b32_e32 v19, v1776; GFX9-NEXT: v_cndmask_b32_e64 v7, 0, 1, vcc77; GFX9-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[4:5]78; GFX9-NEXT: v_cndmask_b32_e32 v6, v7, v6, vcc79; GFX9-NEXT: v_and_b32_e32 v6, 1, v680; GFX9-NEXT: v_cmp_eq_u32_e32 vcc, 1, v681; GFX9-NEXT: v_xor_b32_e32 v6, 0x7f, v282; GFX9-NEXT: v_or_b32_e32 v7, v3, v583; GFX9-NEXT: v_or_b32_e32 v6, v6, v484; GFX9-NEXT: s_or_b64 s[4:5], s[4:5], vcc85; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[6:7]86; GFX9-NEXT: s_xor_b64 s[6:7], s[4:5], -187; GFX9-NEXT: v_cndmask_b32_e64 v13, v11, 0, s[4:5]88; GFX9-NEXT: v_cndmask_b32_e64 v12, v10, 0, s[4:5]89; GFX9-NEXT: v_cndmask_b32_e64 v7, v9, 0, s[4:5]90; GFX9-NEXT: v_cndmask_b32_e64 v6, v8, 0, s[4:5]91; GFX9-NEXT: s_and_b64 s[4:5], s[6:7], vcc92; GFX9-NEXT: s_and_saveexec_b64 s[8:9], s[4:5]93; GFX9-NEXT: s_cbranch_execz .LBB0_694; GFX9-NEXT: ; %bb.1: ; %udiv-bb195; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 1, v296; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v3, vcc97; GFX9-NEXT: v_addc_co_u32_e32 v24, vcc, 0, v4, vcc98; GFX9-NEXT: v_sub_u32_e32 v7, 0x7f, v299; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v5, vcc100; GFX9-NEXT: v_sub_u32_e32 v12, 64, v7101; GFX9-NEXT: v_or_b32_e32 v4, v23, v25102; GFX9-NEXT: v_or_b32_e32 v3, v22, v24103; GFX9-NEXT: v_lshlrev_b64 v[5:6], v7, v[10:11]104; GFX9-NEXT: v_lshrrev_b64 v[12:13], v12, v[8:9]105; GFX9-NEXT: v_sub_u32_e32 v2, 63, v2106; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[3:4]107; GFX9-NEXT: v_lshlrev_b64 v[2:3], v2, v[8:9]108; GFX9-NEXT: v_or_b32_e32 v4, v6, v13109; GFX9-NEXT: v_or_b32_e32 v5, v5, v12110; GFX9-NEXT: v_cmp_gt_u32_e64 s[4:5], 64, v7111; GFX9-NEXT: v_cndmask_b32_e64 v3, v3, v4, s[4:5]112; GFX9-NEXT: v_cndmask_b32_e64 v2, v2, v5, s[4:5]113; GFX9-NEXT: v_lshlrev_b64 v[4:5], v7, v[8:9]114; GFX9-NEXT: v_cmp_eq_u32_e64 s[6:7], 0, v7115; GFX9-NEXT: v_mov_b32_e32 v6, 0116; GFX9-NEXT: v_mov_b32_e32 v12, 0117; GFX9-NEXT: v_cndmask_b32_e64 v3, v3, v11, s[6:7]118; GFX9-NEXT: v_cndmask_b32_e64 v2, v2, v10, s[6:7]119; GFX9-NEXT: v_cndmask_b32_e64 v5, 0, v5, s[4:5]120; GFX9-NEXT: v_mov_b32_e32 v7, 0121; GFX9-NEXT: v_mov_b32_e32 v13, 0122; GFX9-NEXT: v_cndmask_b32_e64 v4, 0, v4, s[4:5]123; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc124; GFX9-NEXT: s_xor_b64 s[6:7], exec, s[4:5]125; GFX9-NEXT: s_cbranch_execz .LBB0_5126; GFX9-NEXT: ; %bb.2: ; %udiv-preheader127; GFX9-NEXT: v_sub_u32_e32 v12, 64, v22128; GFX9-NEXT: v_lshrrev_b64 v[6:7], v22, v[8:9]129; GFX9-NEXT: v_lshlrev_b64 v[12:13], v12, v[10:11]130; GFX9-NEXT: v_cmp_gt_u32_e32 vcc, 64, v22131; GFX9-NEXT: v_or_b32_e32 v12, v6, v12132; GFX9-NEXT: v_subrev_u32_e32 v6, 64, v22133; GFX9-NEXT: v_or_b32_e32 v13, v7, v13134; GFX9-NEXT: v_lshrrev_b64 v[6:7], v6, v[10:11]135; GFX9-NEXT: v_cmp_eq_u32_e64 s[4:5], 0, v22136; GFX9-NEXT: v_cndmask_b32_e32 v7, v7, v13, vcc137; GFX9-NEXT: v_cndmask_b32_e64 v9, v7, v9, s[4:5]138; GFX9-NEXT: v_cndmask_b32_e32 v12, v6, v12, vcc139; GFX9-NEXT: v_lshrrev_b64 v[6:7], v22, v[10:11]140; GFX9-NEXT: v_cndmask_b32_e64 v8, v12, v8, s[4:5]141; GFX9-NEXT: v_cndmask_b32_e32 v11, 0, v7, vcc142; GFX9-NEXT: v_cndmask_b32_e32 v10, 0, v6, vcc143; GFX9-NEXT: v_add_co_u32_e32 v26, vcc, -1, v21144; GFX9-NEXT: v_addc_co_u32_e32 v27, vcc, -1, v20, vcc145; GFX9-NEXT: v_addc_co_u32_e32 v28, vcc, -1, v0, vcc146; GFX9-NEXT: v_mov_b32_e32 v12, 0147; GFX9-NEXT: v_mov_b32_e32 v14, 0148; GFX9-NEXT: v_addc_co_u32_e32 v29, vcc, -1, v1, vcc149; GFX9-NEXT: v_mov_b32_e32 v13, 0150; GFX9-NEXT: s_mov_b64 s[4:5], 0151; GFX9-NEXT: v_mov_b32_e32 v15, 0152; GFX9-NEXT: v_mov_b32_e32 v7, 0153; GFX9-NEXT: .LBB0_3: ; %udiv-do-while154; GFX9-NEXT: ; =>This Inner Loop Header: Depth=1155; GFX9-NEXT: v_lshlrev_b64 v[30:31], 1, v[4:5]156; GFX9-NEXT: v_lshrrev_b32_e32 v6, 31, v5157; GFX9-NEXT: v_or_b32_e32 v4, v14, v30158; GFX9-NEXT: v_lshrrev_b32_e32 v14, 31, v9159; GFX9-NEXT: v_lshlrev_b64 v[8:9], 1, v[8:9]160; GFX9-NEXT: v_or_b32_e32 v5, v15, v31161; GFX9-NEXT: v_lshlrev_b64 v[10:11], 1, v[10:11]162; GFX9-NEXT: v_lshrrev_b32_e32 v15, 31, v3163; GFX9-NEXT: v_or_b32_e32 v8, v8, v15164; GFX9-NEXT: v_or_b32_e32 v10, v10, v14165; GFX9-NEXT: v_sub_co_u32_e32 v14, vcc, v26, v8166; GFX9-NEXT: v_subb_co_u32_e32 v14, vcc, v27, v9, vcc167; GFX9-NEXT: v_subb_co_u32_e32 v14, vcc, v28, v10, vcc168; GFX9-NEXT: v_subb_co_u32_e32 v14, vcc, v29, v11, vcc169; GFX9-NEXT: v_ashrrev_i32_e32 v30, 31, v14170; GFX9-NEXT: v_and_b32_e32 v14, v30, v21171; GFX9-NEXT: v_lshlrev_b64 v[2:3], 1, v[2:3]172; GFX9-NEXT: v_sub_co_u32_e32 v8, vcc, v8, v14173; GFX9-NEXT: v_and_b32_e32 v14, v30, v20174; GFX9-NEXT: v_subb_co_u32_e32 v9, vcc, v9, v14, vcc175; GFX9-NEXT: v_or3_b32 v2, v2, v6, v12176; GFX9-NEXT: v_and_b32_e32 v6, v30, v0177; GFX9-NEXT: v_and_b32_e32 v14, v30, v1178; GFX9-NEXT: v_subb_co_u32_e32 v10, vcc, v10, v6, vcc179; GFX9-NEXT: v_subb_co_u32_e32 v11, vcc, v11, v14, vcc180; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, -1, v22181; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, -1, v23, vcc182; GFX9-NEXT: v_addc_co_u32_e32 v24, vcc, -1, v24, vcc183; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, -1, v25, vcc184; GFX9-NEXT: v_or_b32_e32 v14, v22, v24185; GFX9-NEXT: v_or_b32_e32 v15, v23, v25186; GFX9-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[14:15]187; GFX9-NEXT: v_and_b32_e32 v6, 1, v30188; GFX9-NEXT: v_mov_b32_e32 v15, v7189; GFX9-NEXT: v_or3_b32 v3, v3, 0, v13190; GFX9-NEXT: s_or_b64 s[4:5], vcc, s[4:5]191; GFX9-NEXT: v_mov_b32_e32 v14, v6192; GFX9-NEXT: s_andn2_b64 exec, exec, s[4:5]193; GFX9-NEXT: s_cbranch_execnz .LBB0_3194; GFX9-NEXT: ; %bb.4: ; %Flow195; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]196; GFX9-NEXT: .LBB0_5: ; %Flow2197; GFX9-NEXT: s_or_b64 exec, exec, s[6:7]198; GFX9-NEXT: v_lshlrev_b64 v[0:1], 1, v[4:5]199; GFX9-NEXT: v_lshlrev_b64 v[2:3], 1, v[2:3]200; GFX9-NEXT: v_lshrrev_b32_e32 v4, 31, v5201; GFX9-NEXT: v_or3_b32 v13, v3, 0, v13202; GFX9-NEXT: v_or3_b32 v12, v2, v4, v12203; GFX9-NEXT: v_or_b32_e32 v7, v7, v1204; GFX9-NEXT: v_or_b32_e32 v6, v6, v0205; GFX9-NEXT: .LBB0_6: ; %Flow3206; GFX9-NEXT: s_or_b64 exec, exec, s[8:9]207; GFX9-NEXT: v_xor_b32_e32 v2, v17, v16208; GFX9-NEXT: v_xor_b32_e32 v3, v19, v18209; GFX9-NEXT: v_xor_b32_e32 v0, v6, v2210; GFX9-NEXT: v_xor_b32_e32 v1, v7, v3211; GFX9-NEXT: v_sub_co_u32_e32 v0, vcc, v0, v2212; GFX9-NEXT: v_xor_b32_e32 v5, v12, v2213; GFX9-NEXT: v_subb_co_u32_e32 v1, vcc, v1, v3, vcc214; GFX9-NEXT: v_xor_b32_e32 v4, v13, v3215; GFX9-NEXT: v_subb_co_u32_e32 v2, vcc, v5, v2, vcc216; GFX9-NEXT: v_subb_co_u32_e32 v3, vcc, v4, v3, vcc217; GFX9-NEXT: s_setpc_b64 s[30:31]218;219; GFX9-O0-LABEL: v_sdiv_i128_vv:220; GFX9-O0: ; %bb.0: ; %_udiv-special-cases221; GFX9-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)222; GFX9-O0-NEXT: s_xor_saveexec_b64 s[4:5], -1223; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill224; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]225; GFX9-O0-NEXT: v_mov_b32_e32 v20, v6226; GFX9-O0-NEXT: v_mov_b32_e32 v8, v4227; GFX9-O0-NEXT: v_mov_b32_e32 v10, v2228; GFX9-O0-NEXT: v_mov_b32_e32 v2, v0229; GFX9-O0-NEXT: ; kill: def $vgpr20 killed $vgpr20 def $vgpr20_vgpr21 killed $exec230; GFX9-O0-NEXT: v_mov_b32_e32 v21, v7231; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec232; GFX9-O0-NEXT: v_mov_b32_e32 v9, v5233; GFX9-O0-NEXT: ; kill: def $vgpr10 killed $vgpr10 def $vgpr10_vgpr11 killed $exec234; GFX9-O0-NEXT: v_mov_b32_e32 v11, v3235; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec236; GFX9-O0-NEXT: v_mov_b32_e32 v3, v1237; GFX9-O0-NEXT: v_mov_b32_e32 v1, v2238; GFX9-O0-NEXT: v_mov_b32_e32 v2, v3239; GFX9-O0-NEXT: v_mov_b32_e32 v14, v10240; GFX9-O0-NEXT: v_mov_b32_e32 v19, v11241; GFX9-O0-NEXT: s_mov_b64 s[6:7], 0242; GFX9-O0-NEXT: ; implicit-def: $vgpr30 : SGPR spill to VGPR lane243; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 0244; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 1245; GFX9-O0-NEXT: s_mov_b32 s10, s6246; GFX9-O0-NEXT: v_writelane_b32 v30, s10, 2247; GFX9-O0-NEXT: s_mov_b32 s11, s7248; GFX9-O0-NEXT: v_writelane_b32 v30, s11, 3249; GFX9-O0-NEXT: v_sub_co_u32_e32 v5, vcc, s10, v1250; GFX9-O0-NEXT: v_mov_b32_e32 v0, s11251; GFX9-O0-NEXT: v_subb_co_u32_e32 v3, vcc, v0, v2, vcc252; GFX9-O0-NEXT: v_mov_b32_e32 v0, s10253; GFX9-O0-NEXT: v_subb_co_u32_e32 v4, vcc, v0, v14, vcc254; GFX9-O0-NEXT: v_mov_b32_e32 v0, s11255; GFX9-O0-NEXT: v_subb_co_u32_e32 v0, vcc, v0, v19, vcc256; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec257; GFX9-O0-NEXT: v_mov_b32_e32 v6, v3258; GFX9-O0-NEXT: v_mov_b32_e32 v3, v6259; GFX9-O0-NEXT: s_mov_b64 s[4:5], s[6:7]260; GFX9-O0-NEXT: v_cmp_lt_i64_e64 s[4:5], v[10:11], s[4:5]261; GFX9-O0-NEXT: v_cndmask_b32_e64 v3, v2, v3, s[4:5]262; GFX9-O0-NEXT: v_mov_b32_e32 v2, v5263; GFX9-O0-NEXT: v_cndmask_b32_e64 v2, v1, v2, s[4:5]264; GFX9-O0-NEXT: v_mov_b32_e32 v15, v2265; GFX9-O0-NEXT: v_mov_b32_e32 v16, v3266; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec267; GFX9-O0-NEXT: v_mov_b32_e32 v5, v0268; GFX9-O0-NEXT: v_mov_b32_e32 v0, v5269; GFX9-O0-NEXT: v_cndmask_b32_e64 v1, v19, v0, s[4:5]270; GFX9-O0-NEXT: v_mov_b32_e32 v0, v4271; GFX9-O0-NEXT: v_cndmask_b32_e64 v0, v14, v0, s[4:5]272; GFX9-O0-NEXT: v_mov_b32_e32 v5, v0273; GFX9-O0-NEXT: v_mov_b32_e32 v6, v1274; GFX9-O0-NEXT: v_mov_b32_e32 v7, v8275; GFX9-O0-NEXT: v_mov_b32_e32 v8, v9276; GFX9-O0-NEXT: v_mov_b32_e32 v13, v20277; GFX9-O0-NEXT: v_mov_b32_e32 v9, v21278; GFX9-O0-NEXT: v_sub_co_u32_e32 v17, vcc, s10, v7279; GFX9-O0-NEXT: v_mov_b32_e32 v4, s11280; GFX9-O0-NEXT: v_subb_co_u32_e32 v10, vcc, v4, v8, vcc281; GFX9-O0-NEXT: v_mov_b32_e32 v4, s10282; GFX9-O0-NEXT: v_subb_co_u32_e32 v11, vcc, v4, v13, vcc283; GFX9-O0-NEXT: v_mov_b32_e32 v4, s11284; GFX9-O0-NEXT: v_subb_co_u32_e32 v4, vcc, v4, v9, vcc285; GFX9-O0-NEXT: ; kill: def $vgpr17 killed $vgpr17 def $vgpr17_vgpr18 killed $exec286; GFX9-O0-NEXT: v_mov_b32_e32 v18, v10287; GFX9-O0-NEXT: v_mov_b32_e32 v10, v18288; GFX9-O0-NEXT: s_mov_b64 s[4:5], s[6:7]289; GFX9-O0-NEXT: v_cmp_lt_i64_e64 s[4:5], v[20:21], s[4:5]290; GFX9-O0-NEXT: v_cndmask_b32_e64 v10, v8, v10, s[4:5]291; GFX9-O0-NEXT: v_mov_b32_e32 v8, v17292; GFX9-O0-NEXT: v_cndmask_b32_e64 v7, v7, v8, s[4:5]293; GFX9-O0-NEXT: v_mov_b32_e32 v17, v7294; GFX9-O0-NEXT: v_mov_b32_e32 v18, v10295; GFX9-O0-NEXT: ; kill: def $vgpr11 killed $vgpr11 def $vgpr11_vgpr12 killed $exec296; GFX9-O0-NEXT: v_mov_b32_e32 v12, v4297; GFX9-O0-NEXT: v_mov_b32_e32 v4, v12298; GFX9-O0-NEXT: v_cndmask_b32_e64 v8, v9, v4, s[4:5]299; GFX9-O0-NEXT: v_mov_b32_e32 v4, v11300; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v13, v4, s[4:5]301; GFX9-O0-NEXT: v_mov_b32_e32 v11, v4302; GFX9-O0-NEXT: v_mov_b32_e32 v12, v8303; GFX9-O0-NEXT: v_xor_b32_e64 v9, v9, v19304; GFX9-O0-NEXT: v_xor_b32_e64 v13, v13, v14305; GFX9-O0-NEXT: ; kill: def $vgpr13 killed $vgpr13 def $vgpr13_vgpr14 killed $exec306; GFX9-O0-NEXT: v_mov_b32_e32 v14, v9307; GFX9-O0-NEXT: s_mov_b32 s4, 63308; GFX9-O0-NEXT: v_ashrrev_i64 v[13:14], s4, v[13:14]309; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill310; GFX9-O0-NEXT: s_nop 0311; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill312; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill313; GFX9-O0-NEXT: s_nop 0314; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill315; GFX9-O0-NEXT: v_mov_b32_e32 v14, v12316; GFX9-O0-NEXT: v_mov_b32_e32 v13, v11317; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill318; GFX9-O0-NEXT: s_nop 0319; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill320; GFX9-O0-NEXT: v_mov_b32_e32 v13, v17321; GFX9-O0-NEXT: v_mov_b32_e32 v14, v18322; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill323; GFX9-O0-NEXT: s_nop 0324; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill325; GFX9-O0-NEXT: v_mov_b32_e32 v14, v6326; GFX9-O0-NEXT: v_mov_b32_e32 v13, v5327; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill328; GFX9-O0-NEXT: s_nop 0329; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill330; GFX9-O0-NEXT: v_mov_b32_e32 v13, v15331; GFX9-O0-NEXT: v_mov_b32_e32 v14, v16332; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill333; GFX9-O0-NEXT: s_nop 0334; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill335; GFX9-O0-NEXT: v_mov_b32_e32 v13, v12336; GFX9-O0-NEXT: v_mov_b32_e32 v9, v18337; GFX9-O0-NEXT: v_or_b32_e64 v9, v9, v13338; GFX9-O0-NEXT: v_mov_b32_e32 v14, v11339; GFX9-O0-NEXT: v_mov_b32_e32 v13, v17340; GFX9-O0-NEXT: v_or_b32_e64 v13, v13, v14341; GFX9-O0-NEXT: ; kill: def $vgpr13 killed $vgpr13 def $vgpr13_vgpr14 killed $exec342; GFX9-O0-NEXT: v_mov_b32_e32 v14, v9343; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[13:14], s[6:7]344; GFX9-O0-NEXT: v_mov_b32_e32 v13, v6345; GFX9-O0-NEXT: v_mov_b32_e32 v9, v16346; GFX9-O0-NEXT: v_or_b32_e64 v9, v9, v13347; GFX9-O0-NEXT: v_mov_b32_e32 v14, v5348; GFX9-O0-NEXT: v_mov_b32_e32 v13, v15349; GFX9-O0-NEXT: v_or_b32_e64 v13, v13, v14350; GFX9-O0-NEXT: ; kill: def $vgpr13 killed $vgpr13 def $vgpr13_vgpr14 killed $exec351; GFX9-O0-NEXT: v_mov_b32_e32 v14, v9352; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[13:14], s[6:7]353; GFX9-O0-NEXT: s_or_b64 s[4:5], s[4:5], s[8:9]354; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[8:9], v[11:12], s[6:7]355; GFX9-O0-NEXT: v_ffbh_u32_e64 v4, v4356; GFX9-O0-NEXT: s_mov_b32 s12, 32357; GFX9-O0-NEXT: v_add_u32_e64 v4, v4, s12358; GFX9-O0-NEXT: v_ffbh_u32_e64 v8, v8359; GFX9-O0-NEXT: v_min_u32_e64 v8, v4, v8360; GFX9-O0-NEXT: v_mov_b32_e32 v4, 0361; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec362; GFX9-O0-NEXT: v_mov_b32_e32 v9, v4363; GFX9-O0-NEXT: v_mov_b32_e32 v12, v9364; GFX9-O0-NEXT: v_ffbh_u32_e64 v7, v7365; GFX9-O0-NEXT: v_add_u32_e64 v7, v7, s12366; GFX9-O0-NEXT: v_ffbh_u32_e64 v10, v10367; GFX9-O0-NEXT: v_min_u32_e64 v13, v7, v10368; GFX9-O0-NEXT: ; kill: def $vgpr13 killed $vgpr13 def $vgpr13_vgpr14 killed $exec369; GFX9-O0-NEXT: v_mov_b32_e32 v14, v4370; GFX9-O0-NEXT: s_mov_b64 s[14:15], 64371; GFX9-O0-NEXT: v_mov_b32_e32 v10, v13372; GFX9-O0-NEXT: s_mov_b32 s16, s14373; GFX9-O0-NEXT: v_mov_b32_e32 v7, v14374; GFX9-O0-NEXT: s_mov_b32 s13, s15375; GFX9-O0-NEXT: v_add_co_u32_e64 v10, s[16:17], v10, s16376; GFX9-O0-NEXT: v_mov_b32_e32 v11, s13377; GFX9-O0-NEXT: v_addc_co_u32_e64 v7, s[16:17], v7, v11, s[16:17]378; GFX9-O0-NEXT: ; kill: def $vgpr10 killed $vgpr10 def $vgpr10_vgpr11 killed $exec379; GFX9-O0-NEXT: v_mov_b32_e32 v11, v7380; GFX9-O0-NEXT: v_mov_b32_e32 v7, v11381; GFX9-O0-NEXT: v_cndmask_b32_e64 v7, v7, v12, s[8:9]382; GFX9-O0-NEXT: v_mov_b32_e32 v9, v8383; GFX9-O0-NEXT: v_mov_b32_e32 v8, v10384; GFX9-O0-NEXT: v_cndmask_b32_e64 v8, v8, v9, s[8:9]385; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec386; GFX9-O0-NEXT: v_mov_b32_e32 v9, v7387; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[8:9], v[5:6], s[6:7]388; GFX9-O0-NEXT: v_ffbh_u32_e64 v5, v0389; GFX9-O0-NEXT: v_add_u32_e64 v5, v5, s12390; GFX9-O0-NEXT: v_ffbh_u32_e64 v6, v1391; GFX9-O0-NEXT: v_min_u32_e64 v5, v5, v6392; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec393; GFX9-O0-NEXT: v_mov_b32_e32 v6, v4394; GFX9-O0-NEXT: v_mov_b32_e32 v7, v6395; GFX9-O0-NEXT: v_ffbh_u32_e64 v10, v2396; GFX9-O0-NEXT: v_add_u32_e64 v10, v10, s12397; GFX9-O0-NEXT: v_ffbh_u32_e64 v11, v3398; GFX9-O0-NEXT: v_min_u32_e64 v11, v10, v11399; GFX9-O0-NEXT: ; kill: def $vgpr11 killed $vgpr11 def $vgpr11_vgpr12 killed $exec400; GFX9-O0-NEXT: v_mov_b32_e32 v12, v4401; GFX9-O0-NEXT: v_mov_b32_e32 v10, v11402; GFX9-O0-NEXT: s_mov_b32 s12, s14403; GFX9-O0-NEXT: v_mov_b32_e32 v4, v12404; GFX9-O0-NEXT: s_mov_b32 s14, s15405; GFX9-O0-NEXT: v_add_co_u32_e64 v10, s[12:13], v10, s12406; GFX9-O0-NEXT: v_mov_b32_e32 v11, s14407; GFX9-O0-NEXT: v_addc_co_u32_e64 v4, s[12:13], v4, v11, s[12:13]408; GFX9-O0-NEXT: ; kill: def $vgpr10 killed $vgpr10 def $vgpr10_vgpr11 killed $exec409; GFX9-O0-NEXT: v_mov_b32_e32 v11, v4410; GFX9-O0-NEXT: v_mov_b32_e32 v4, v11411; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v7, s[8:9]412; GFX9-O0-NEXT: v_mov_b32_e32 v6, v5413; GFX9-O0-NEXT: v_mov_b32_e32 v5, v10414; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[8:9]415; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec416; GFX9-O0-NEXT: v_mov_b32_e32 v6, v4417; GFX9-O0-NEXT: v_mov_b32_e32 v7, v5418; GFX9-O0-NEXT: v_mov_b32_e32 v4, v8419; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 killed $vgpr5_vgpr6 killed $exec420; GFX9-O0-NEXT: v_mov_b32_e32 v5, v9421; GFX9-O0-NEXT: v_sub_co_u32_e32 v4, vcc, v4, v7422; GFX9-O0-NEXT: v_subb_co_u32_e32 v8, vcc, v5, v6, vcc423; GFX9-O0-NEXT: v_mov_b32_e32 v6, s10424; GFX9-O0-NEXT: v_mov_b32_e32 v5, s10425; GFX9-O0-NEXT: v_subb_co_u32_e32 v7, vcc, v5, v6, vcc426; GFX9-O0-NEXT: v_mov_b32_e32 v6, s11427; GFX9-O0-NEXT: v_mov_b32_e32 v5, s11428; GFX9-O0-NEXT: v_subb_co_u32_e32 v6, vcc, v5, v6, vcc429; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec430; GFX9-O0-NEXT: v_mov_b32_e32 v5, v8431; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill432; GFX9-O0-NEXT: s_nop 0433; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill434; GFX9-O0-NEXT: ; kill: def $vgpr7 killed $vgpr7 def $vgpr7_vgpr8 killed $exec435; GFX9-O0-NEXT: v_mov_b32_e32 v8, v6436; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill437; GFX9-O0-NEXT: s_nop 0438; GFX9-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill439; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[7:8], s[6:7]440; GFX9-O0-NEXT: s_mov_b64 s[12:13], 0x7f441; GFX9-O0-NEXT: v_cmp_gt_u64_e64 s[14:15], v[4:5], s[12:13]442; GFX9-O0-NEXT: v_cndmask_b32_e64 v9, 0, 1, s[14:15]443; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[14:15], v[7:8], s[6:7]444; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, 0, 1, s[14:15]445; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v6, v9, s[8:9]446; GFX9-O0-NEXT: v_and_b32_e64 v6, 1, v6447; GFX9-O0-NEXT: v_cmp_eq_u32_e64 s[8:9], v6, 1448; GFX9-O0-NEXT: s_or_b64 s[8:9], s[4:5], s[8:9]449; GFX9-O0-NEXT: s_mov_b64 s[14:15], -1450; GFX9-O0-NEXT: s_mov_b64 s[4:5], s[8:9]451; GFX9-O0-NEXT: s_xor_b64 s[4:5], s[4:5], s[14:15]452; GFX9-O0-NEXT: v_mov_b32_e32 v6, v5453; GFX9-O0-NEXT: s_mov_b32 s14, s13454; GFX9-O0-NEXT: v_xor_b32_e64 v6, v6, s14455; GFX9-O0-NEXT: ; kill: def $sgpr12 killed $sgpr12 killed $sgpr12_sgpr13456; GFX9-O0-NEXT: v_xor_b32_e64 v4, v4, s12457; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec458; GFX9-O0-NEXT: v_mov_b32_e32 v5, v6459; GFX9-O0-NEXT: v_mov_b32_e32 v6, v5460; GFX9-O0-NEXT: v_mov_b32_e32 v9, v8461; GFX9-O0-NEXT: v_or_b32_e64 v6, v6, v9462; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 killed $vgpr4_vgpr5 killed $exec463; GFX9-O0-NEXT: v_mov_b32_e32 v5, v7464; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v5465; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec466; GFX9-O0-NEXT: v_mov_b32_e32 v5, v6467; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[6:7], v[4:5], s[6:7]468; GFX9-O0-NEXT: s_mov_b64 s[12:13], s[8:9]469; GFX9-O0-NEXT: v_mov_b32_e32 v4, s11470; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v1, v4, s[12:13]471; GFX9-O0-NEXT: s_mov_b64 s[12:13], s[8:9]472; GFX9-O0-NEXT: v_mov_b32_e32 v1, s10473; GFX9-O0-NEXT: v_cndmask_b32_e64 v0, v0, v1, s[12:13]474; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec475; GFX9-O0-NEXT: v_mov_b32_e32 v1, v4476; GFX9-O0-NEXT: s_mov_b64 s[12:13], s[8:9]477; GFX9-O0-NEXT: v_mov_b32_e32 v4, s11478; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v3, v4, s[12:13]479; GFX9-O0-NEXT: v_mov_b32_e32 v3, s10480; GFX9-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[8:9]481; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec482; GFX9-O0-NEXT: v_mov_b32_e32 v3, v4483; GFX9-O0-NEXT: s_and_b64 s[6:7], s[4:5], s[6:7]484; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill485; GFX9-O0-NEXT: s_nop 0486; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill487; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill488; GFX9-O0-NEXT: s_nop 0489; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill490; GFX9-O0-NEXT: s_mov_b64 s[4:5], exec491; GFX9-O0-NEXT: v_writelane_b32 v30, s4, 4492; GFX9-O0-NEXT: v_writelane_b32 v30, s5, 5493; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1494; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill495; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]496; GFX9-O0-NEXT: s_and_b64 s[4:5], s[4:5], s[6:7]497; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]498; GFX9-O0-NEXT: s_cbranch_execz .LBB0_3499; GFX9-O0-NEXT: s_branch .LBB0_8500; GFX9-O0-NEXT: .LBB0_1: ; %Flow501; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1502; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload503; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]504; GFX9-O0-NEXT: s_waitcnt vmcnt(0)505; GFX9-O0-NEXT: v_readlane_b32 s4, v30, 6506; GFX9-O0-NEXT: v_readlane_b32 s5, v30, 7507; GFX9-O0-NEXT: s_or_b64 exec, exec, s[4:5]508; GFX9-O0-NEXT: ; %bb.2: ; %Flow509; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload510; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload511; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload512; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload513; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload514; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload515; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload516; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload517; GFX9-O0-NEXT: s_waitcnt vmcnt(7)518; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill519; GFX9-O0-NEXT: s_waitcnt vmcnt(7)520; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill521; GFX9-O0-NEXT: s_waitcnt vmcnt(7)522; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill523; GFX9-O0-NEXT: s_waitcnt vmcnt(7)524; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill525; GFX9-O0-NEXT: s_waitcnt vmcnt(7)526; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill527; GFX9-O0-NEXT: s_waitcnt vmcnt(7)528; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill529; GFX9-O0-NEXT: s_waitcnt vmcnt(7)530; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill531; GFX9-O0-NEXT: s_waitcnt vmcnt(7)532; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill533; GFX9-O0-NEXT: s_branch .LBB0_5534; GFX9-O0-NEXT: .LBB0_3: ; %Flow2535; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1536; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload537; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]538; GFX9-O0-NEXT: s_waitcnt vmcnt(0)539; GFX9-O0-NEXT: v_readlane_b32 s4, v30, 4540; GFX9-O0-NEXT: v_readlane_b32 s5, v30, 5541; GFX9-O0-NEXT: s_or_b64 exec, exec, s[4:5]542; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload543; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload544; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload545; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload546; GFX9-O0-NEXT: s_waitcnt vmcnt(1)547; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill548; GFX9-O0-NEXT: s_waitcnt vmcnt(1)549; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill550; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill551; GFX9-O0-NEXT: s_nop 0552; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill553; GFX9-O0-NEXT: s_branch .LBB0_9554; GFX9-O0-NEXT: .LBB0_4: ; %udiv-loop-exit555; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload556; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload557; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload558; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload559; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload560; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload561; GFX9-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload562; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload563; GFX9-O0-NEXT: s_mov_b32 s4, 1564; GFX9-O0-NEXT: s_waitcnt vmcnt(2)565; GFX9-O0-NEXT: v_lshlrev_b64 v[2:3], s4, v[0:1]566; GFX9-O0-NEXT: s_waitcnt vmcnt(0)567; GFX9-O0-NEXT: v_lshlrev_b64 v[9:10], s4, v[9:10]568; GFX9-O0-NEXT: s_mov_b32 s4, 63569; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[0:1]570; GFX9-O0-NEXT: v_mov_b32_e32 v11, v1571; GFX9-O0-NEXT: v_mov_b32_e32 v4, v10572; GFX9-O0-NEXT: v_mov_b32_e32 v12, v8573; GFX9-O0-NEXT: v_or3_b32 v4, v4, v11, v12574; GFX9-O0-NEXT: v_mov_b32_e32 v1, v0575; GFX9-O0-NEXT: v_mov_b32_e32 v0, v9576; GFX9-O0-NEXT: v_or3_b32 v0, v0, v1, v7577; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec578; GFX9-O0-NEXT: v_mov_b32_e32 v1, v4579; GFX9-O0-NEXT: v_mov_b32_e32 v7, v3580; GFX9-O0-NEXT: v_mov_b32_e32 v4, v6581; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v7582; GFX9-O0-NEXT: v_mov_b32_e32 v3, v2583; GFX9-O0-NEXT: v_mov_b32_e32 v2, v5584; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v3585; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec586; GFX9-O0-NEXT: v_mov_b32_e32 v3, v4587; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill588; GFX9-O0-NEXT: s_nop 0589; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill590; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill591; GFX9-O0-NEXT: s_nop 0592; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill593; GFX9-O0-NEXT: s_branch .LBB0_3594; GFX9-O0-NEXT: .LBB0_5: ; %Flow1595; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1596; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload597; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]598; GFX9-O0-NEXT: s_waitcnt vmcnt(0)599; GFX9-O0-NEXT: v_readlane_b32 s4, v30, 8600; GFX9-O0-NEXT: v_readlane_b32 s5, v30, 9601; GFX9-O0-NEXT: s_or_b64 exec, exec, s[4:5]602; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload603; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload604; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload605; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload606; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload607; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload608; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload609; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload610; GFX9-O0-NEXT: s_waitcnt vmcnt(1)611; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill612; GFX9-O0-NEXT: s_waitcnt vmcnt(1)613; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill614; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill615; GFX9-O0-NEXT: s_nop 0616; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill617; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill618; GFX9-O0-NEXT: s_nop 0619; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill620; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill621; GFX9-O0-NEXT: s_nop 0622; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill623; GFX9-O0-NEXT: s_branch .LBB0_4624; GFX9-O0-NEXT: .LBB0_6: ; %udiv-do-while625; GFX9-O0-NEXT: ; =>This Inner Loop Header: Depth=1626; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1627; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload628; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]629; GFX9-O0-NEXT: s_waitcnt vmcnt(0)630; GFX9-O0-NEXT: v_readlane_b32 s6, v30, 10631; GFX9-O0-NEXT: v_readlane_b32 s7, v30, 11632; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload633; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload634; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload635; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload636; GFX9-O0-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload637; GFX9-O0-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload638; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload639; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload640; GFX9-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload641; GFX9-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload642; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload643; GFX9-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload644; GFX9-O0-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload645; GFX9-O0-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload646; GFX9-O0-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload647; GFX9-O0-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload648; GFX9-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload649; GFX9-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload650; GFX9-O0-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload651; GFX9-O0-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload652; GFX9-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload653; GFX9-O0-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload654; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload655; GFX9-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload656; GFX9-O0-NEXT: s_mov_b32 s4, 63657; GFX9-O0-NEXT: s_waitcnt vmcnt(16)658; GFX9-O0-NEXT: v_lshrrev_b64 v[28:29], s4, v[2:3]659; GFX9-O0-NEXT: v_mov_b32_e32 v5, v29660; GFX9-O0-NEXT: s_mov_b32 s5, 1661; GFX9-O0-NEXT: v_lshlrev_b64 v[22:23], s5, v[22:23]662; GFX9-O0-NEXT: v_mov_b32_e32 v4, v23663; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v5664; GFX9-O0-NEXT: v_mov_b32_e32 v10, v28665; GFX9-O0-NEXT: v_mov_b32_e32 v5, v22666; GFX9-O0-NEXT: v_or_b32_e64 v22, v5, v10667; GFX9-O0-NEXT: ; kill: def $vgpr22 killed $vgpr22 def $vgpr22_vgpr23 killed $exec668; GFX9-O0-NEXT: v_mov_b32_e32 v23, v4669; GFX9-O0-NEXT: v_lshlrev_b64 v[28:29], s5, v[2:3]670; GFX9-O0-NEXT: v_lshrrev_b64 v[4:5], s4, v[6:7]671; GFX9-O0-NEXT: v_mov_b32_e32 v2, v29672; GFX9-O0-NEXT: v_mov_b32_e32 v3, v5673; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v3674; GFX9-O0-NEXT: v_mov_b32_e32 v3, v28675; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 killed $vgpr4_vgpr5 killed $exec676; GFX9-O0-NEXT: v_or_b32_e64 v4, v3, v4677; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec678; GFX9-O0-NEXT: v_mov_b32_e32 v5, v2679; GFX9-O0-NEXT: v_lshlrev_b64 v[2:3], s5, v[0:1]680; GFX9-O0-NEXT: v_lshlrev_b64 v[28:29], s5, v[6:7]681; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[0:1]682; GFX9-O0-NEXT: v_mov_b32_e32 v7, v1683; GFX9-O0-NEXT: v_mov_b32_e32 v6, v29684; GFX9-O0-NEXT: s_waitcnt vmcnt(10)685; GFX9-O0-NEXT: v_mov_b32_e32 v10, v27686; GFX9-O0-NEXT: v_or3_b32 v6, v6, v7, v10687; GFX9-O0-NEXT: v_mov_b32_e32 v1, v0688; GFX9-O0-NEXT: v_mov_b32_e32 v0, v28689; GFX9-O0-NEXT: v_mov_b32_e32 v7, v26690; GFX9-O0-NEXT: v_or3_b32 v0, v0, v1, v7691; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec692; GFX9-O0-NEXT: v_mov_b32_e32 v1, v6693; GFX9-O0-NEXT: v_mov_b32_e32 v7, v3694; GFX9-O0-NEXT: s_waitcnt vmcnt(8)695; GFX9-O0-NEXT: v_mov_b32_e32 v6, v25696; GFX9-O0-NEXT: v_or_b32_e64 v6, v6, v7697; GFX9-O0-NEXT: v_mov_b32_e32 v3, v2698; GFX9-O0-NEXT: v_mov_b32_e32 v2, v24699; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v3700; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec701; GFX9-O0-NEXT: v_mov_b32_e32 v3, v6702; GFX9-O0-NEXT: v_mov_b32_e32 v6, v4703; GFX9-O0-NEXT: v_mov_b32_e32 v10, v5704; GFX9-O0-NEXT: v_mov_b32_e32 v4, v22705; GFX9-O0-NEXT: v_mov_b32_e32 v5, v23706; GFX9-O0-NEXT: s_waitcnt vmcnt(1)707; GFX9-O0-NEXT: v_mov_b32_e32 v13, v11708; GFX9-O0-NEXT: v_mov_b32_e32 v11, v14709; GFX9-O0-NEXT: v_mov_b32_e32 v7, v15710; GFX9-O0-NEXT: v_sub_co_u32_e32 v13, vcc, v13, v6711; GFX9-O0-NEXT: s_waitcnt vmcnt(0)712; GFX9-O0-NEXT: v_subb_co_u32_e32 v12, vcc, v12, v10, vcc713; GFX9-O0-NEXT: v_subb_co_u32_e32 v11, vcc, v11, v4, vcc714; GFX9-O0-NEXT: v_subb_co_u32_e32 v7, vcc, v7, v5, vcc715; GFX9-O0-NEXT: ; kill: def $vgpr11 killed $vgpr11 def $vgpr11_vgpr12 killed $exec716; GFX9-O0-NEXT: v_mov_b32_e32 v12, v7717; GFX9-O0-NEXT: v_ashrrev_i64 v[13:14], s4, v[11:12]718; GFX9-O0-NEXT: v_mov_b32_e32 v7, v14719; GFX9-O0-NEXT: s_mov_b64 s[4:5], 1720; GFX9-O0-NEXT: s_mov_b32 s8, s5721; GFX9-O0-NEXT: v_and_b32_e64 v12, v7, s8722; GFX9-O0-NEXT: v_mov_b32_e32 v11, v13723; GFX9-O0-NEXT: ; kill: def $sgpr4 killed $sgpr4 killed $sgpr4_sgpr5724; GFX9-O0-NEXT: v_and_b32_e64 v14, v11, s4725; GFX9-O0-NEXT: ; kill: def $vgpr14 killed $vgpr14 def $vgpr14_vgpr15 killed $exec726; GFX9-O0-NEXT: v_mov_b32_e32 v15, v12727; GFX9-O0-NEXT: v_mov_b32_e32 v12, 0728; GFX9-O0-NEXT: v_mov_b32_e32 v13, 0729; GFX9-O0-NEXT: v_mov_b32_e32 v22, v21730; GFX9-O0-NEXT: v_and_b32_e64 v22, v7, v22731; GFX9-O0-NEXT: v_and_b32_e64 v20, v11, v20732; GFX9-O0-NEXT: ; kill: def $vgpr20 killed $vgpr20 def $vgpr20_vgpr21 killed $exec733; GFX9-O0-NEXT: v_mov_b32_e32 v21, v22734; GFX9-O0-NEXT: v_mov_b32_e32 v22, v19735; GFX9-O0-NEXT: v_and_b32_e64 v7, v7, v22736; GFX9-O0-NEXT: v_and_b32_e64 v22, v11, v18737; GFX9-O0-NEXT: ; kill: def $vgpr22 killed $vgpr22 def $vgpr22_vgpr23 killed $exec738; GFX9-O0-NEXT: v_mov_b32_e32 v23, v7739; GFX9-O0-NEXT: v_mov_b32_e32 v19, v22740; GFX9-O0-NEXT: v_mov_b32_e32 v18, v23741; GFX9-O0-NEXT: v_mov_b32_e32 v11, v20742; GFX9-O0-NEXT: v_mov_b32_e32 v7, v21743; GFX9-O0-NEXT: v_sub_co_u32_e32 v6, vcc, v6, v19744; GFX9-O0-NEXT: v_subb_co_u32_e32 v10, vcc, v10, v18, vcc745; GFX9-O0-NEXT: v_subb_co_u32_e32 v4, vcc, v4, v11, vcc746; GFX9-O0-NEXT: v_subb_co_u32_e32 v7, vcc, v5, v7, vcc747; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec748; GFX9-O0-NEXT: v_mov_b32_e32 v5, v7749; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec750; GFX9-O0-NEXT: v_mov_b32_e32 v7, v10751; GFX9-O0-NEXT: v_mov_b32_e32 v11, v8752; GFX9-O0-NEXT: ; kill: def $vgpr9 killed $vgpr9 killed $vgpr8_vgpr9 killed $exec753; GFX9-O0-NEXT: s_mov_b64 s[8:9], -1754; GFX9-O0-NEXT: s_mov_b32 s5, s8755; GFX9-O0-NEXT: s_mov_b32 s4, s9756; GFX9-O0-NEXT: v_mov_b32_e32 v10, v16757; GFX9-O0-NEXT: v_mov_b32_e32 v8, v17758; GFX9-O0-NEXT: v_mov_b32_e32 v16, s5759; GFX9-O0-NEXT: v_add_co_u32_e32 v19, vcc, v11, v16760; GFX9-O0-NEXT: v_mov_b32_e32 v11, s4761; GFX9-O0-NEXT: v_addc_co_u32_e32 v9, vcc, v9, v11, vcc762; GFX9-O0-NEXT: v_mov_b32_e32 v11, s5763; GFX9-O0-NEXT: v_addc_co_u32_e32 v16, vcc, v10, v11, vcc764; GFX9-O0-NEXT: v_mov_b32_e32 v10, s4765; GFX9-O0-NEXT: v_addc_co_u32_e32 v8, vcc, v8, v10, vcc766; GFX9-O0-NEXT: ; kill: def $vgpr19 killed $vgpr19 def $vgpr19_vgpr20 killed $exec767; GFX9-O0-NEXT: v_mov_b32_e32 v20, v9768; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec769; GFX9-O0-NEXT: v_mov_b32_e32 v17, v8770; GFX9-O0-NEXT: v_mov_b32_e32 v8, v16771; GFX9-O0-NEXT: v_mov_b32_e32 v9, v17772; GFX9-O0-NEXT: v_mov_b32_e32 v10, v19773; GFX9-O0-NEXT: v_mov_b32_e32 v11, v20774; GFX9-O0-NEXT: v_mov_b32_e32 v21, v17775; GFX9-O0-NEXT: v_mov_b32_e32 v18, v20776; GFX9-O0-NEXT: v_or_b32_e64 v18, v18, v21777; GFX9-O0-NEXT: v_mov_b32_e32 v17, v16778; GFX9-O0-NEXT: v_mov_b32_e32 v16, v19779; GFX9-O0-NEXT: v_or_b32_e64 v16, v16, v17780; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec781; GFX9-O0-NEXT: v_mov_b32_e32 v17, v18782; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[16:17], v[12:13]783; GFX9-O0-NEXT: s_or_b64 s[4:5], s[4:5], s[6:7]784; GFX9-O0-NEXT: v_mov_b32_e32 v17, v3785; GFX9-O0-NEXT: v_mov_b32_e32 v16, v2786; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill787; GFX9-O0-NEXT: s_nop 0788; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill789; GFX9-O0-NEXT: v_mov_b32_e32 v17, v1790; GFX9-O0-NEXT: v_mov_b32_e32 v16, v0791; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill792; GFX9-O0-NEXT: s_nop 0793; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill794; GFX9-O0-NEXT: v_mov_b32_e32 v17, v15795; GFX9-O0-NEXT: v_mov_b32_e32 v16, v14796; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill797; GFX9-O0-NEXT: s_nop 0798; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill799; GFX9-O0-NEXT: v_mov_b32_e32 v17, v13800; GFX9-O0-NEXT: v_mov_b32_e32 v16, v12801; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill802; GFX9-O0-NEXT: s_nop 0803; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill804; GFX9-O0-NEXT: s_mov_b64 s[6:7], s[4:5]805; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 6806; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 7807; GFX9-O0-NEXT: s_mov_b64 s[6:7], s[4:5]808; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 10809; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 11810; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1811; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill812; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]813; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill814; GFX9-O0-NEXT: s_nop 0815; GFX9-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill816; GFX9-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill817; GFX9-O0-NEXT: s_nop 0818; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill819; GFX9-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill820; GFX9-O0-NEXT: s_nop 0821; GFX9-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill822; GFX9-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill823; GFX9-O0-NEXT: s_nop 0824; GFX9-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill825; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill826; GFX9-O0-NEXT: s_nop 0827; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill828; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill829; GFX9-O0-NEXT: s_nop 0830; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill831; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill832; GFX9-O0-NEXT: s_nop 0833; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill834; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill835; GFX9-O0-NEXT: s_nop 0836; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill837; GFX9-O0-NEXT: s_andn2_b64 exec, exec, s[4:5]838; GFX9-O0-NEXT: s_cbranch_execnz .LBB0_6839; GFX9-O0-NEXT: s_branch .LBB0_1840; GFX9-O0-NEXT: .LBB0_7: ; %udiv-preheader841; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1842; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload843; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]844; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload845; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload846; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload847; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload848; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload849; GFX9-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload850; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload851; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload852; GFX9-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload853; GFX9-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload854; GFX9-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload855; GFX9-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload856; GFX9-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload857; GFX9-O0-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload858; GFX9-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload859; GFX9-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload860; GFX9-O0-NEXT: s_waitcnt vmcnt(9)861; GFX9-O0-NEXT: v_mov_b32_e32 v4, v10862; GFX9-O0-NEXT: s_waitcnt vmcnt(0)863; GFX9-O0-NEXT: v_lshrrev_b64 v[6:7], v4, v[18:19]864; GFX9-O0-NEXT: v_mov_b32_e32 v5, v7865; GFX9-O0-NEXT: s_mov_b32 s4, 64866; GFX9-O0-NEXT: v_sub_u32_e64 v20, s4, v4867; GFX9-O0-NEXT: v_lshlrev_b64 v[20:21], v20, v[14:15]868; GFX9-O0-NEXT: v_mov_b32_e32 v22, v21869; GFX9-O0-NEXT: v_or_b32_e64 v5, v5, v22870; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 killed $vgpr6_vgpr7 killed $exec871; GFX9-O0-NEXT: v_mov_b32_e32 v7, v20872; GFX9-O0-NEXT: v_or_b32_e64 v6, v6, v7873; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec874; GFX9-O0-NEXT: v_mov_b32_e32 v7, v5875; GFX9-O0-NEXT: v_mov_b32_e32 v22, v7876; GFX9-O0-NEXT: v_cmp_lt_u32_e64 s[6:7], v4, s4877; GFX9-O0-NEXT: v_sub_u32_e64 v5, v4, s4878; GFX9-O0-NEXT: v_lshrrev_b64 v[20:21], v5, v[14:15]879; GFX9-O0-NEXT: v_mov_b32_e32 v5, v21880; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v22, s[6:7]881; GFX9-O0-NEXT: s_mov_b32 s4, 0882; GFX9-O0-NEXT: v_cmp_eq_u32_e64 s[4:5], v4, s4883; GFX9-O0-NEXT: v_mov_b32_e32 v22, v19884; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v22, s[4:5]885; GFX9-O0-NEXT: v_mov_b32_e32 v7, v6886; GFX9-O0-NEXT: v_mov_b32_e32 v6, v20887; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v6, v7, s[6:7]888; GFX9-O0-NEXT: v_mov_b32_e32 v7, v18889; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v6, v7, s[4:5]890; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec891; GFX9-O0-NEXT: v_mov_b32_e32 v7, v5892; GFX9-O0-NEXT: v_lshrrev_b64 v[4:5], v4, v[14:15]893; GFX9-O0-NEXT: v_mov_b32_e32 v15, v5894; GFX9-O0-NEXT: s_mov_b64 s[4:5], 0895; GFX9-O0-NEXT: s_mov_b32 s8, s5896; GFX9-O0-NEXT: v_mov_b32_e32 v14, s8897; GFX9-O0-NEXT: v_cndmask_b32_e64 v14, v14, v15, s[6:7]898; GFX9-O0-NEXT: v_mov_b32_e32 v5, v4899; GFX9-O0-NEXT: s_mov_b32 s8, s4900; GFX9-O0-NEXT: v_mov_b32_e32 v4, s8901; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[6:7]902; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec903; GFX9-O0-NEXT: v_mov_b32_e32 v5, v14904; GFX9-O0-NEXT: v_mov_b32_e32 v15, v12905; GFX9-O0-NEXT: v_mov_b32_e32 v12, v13906; GFX9-O0-NEXT: s_mov_b64 s[8:9], -1907; GFX9-O0-NEXT: s_mov_b32 s7, s8908; GFX9-O0-NEXT: s_mov_b32 s6, s9909; GFX9-O0-NEXT: v_mov_b32_e32 v14, v16910; GFX9-O0-NEXT: v_mov_b32_e32 v13, v17911; GFX9-O0-NEXT: v_mov_b32_e32 v16, s7912; GFX9-O0-NEXT: v_add_co_u32_e32 v16, vcc, v15, v16913; GFX9-O0-NEXT: v_mov_b32_e32 v15, s6914; GFX9-O0-NEXT: v_addc_co_u32_e32 v12, vcc, v12, v15, vcc915; GFX9-O0-NEXT: v_mov_b32_e32 v15, s7916; GFX9-O0-NEXT: v_addc_co_u32_e32 v18, vcc, v14, v15, vcc917; GFX9-O0-NEXT: v_mov_b32_e32 v14, s6918; GFX9-O0-NEXT: v_addc_co_u32_e32 v13, vcc, v13, v14, vcc919; GFX9-O0-NEXT: ; kill: def $vgpr18 killed $vgpr18 def $vgpr18_vgpr19 killed $exec920; GFX9-O0-NEXT: v_mov_b32_e32 v19, v13921; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec922; GFX9-O0-NEXT: v_mov_b32_e32 v17, v12923; GFX9-O0-NEXT: v_mov_b32_e32 v13, s5924; GFX9-O0-NEXT: v_mov_b32_e32 v12, s4925; GFX9-O0-NEXT: v_mov_b32_e32 v15, s5926; GFX9-O0-NEXT: v_mov_b32_e32 v14, s4927; GFX9-O0-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill928; GFX9-O0-NEXT: s_nop 0929; GFX9-O0-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill930; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill931; GFX9-O0-NEXT: s_nop 0932; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill933; GFX9-O0-NEXT: v_writelane_b32 v30, s4, 10934; GFX9-O0-NEXT: v_writelane_b32 v30, s5, 11935; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1936; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill937; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]938; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill939; GFX9-O0-NEXT: s_nop 0940; GFX9-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill941; GFX9-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill942; GFX9-O0-NEXT: s_nop 0943; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill944; GFX9-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill945; GFX9-O0-NEXT: s_nop 0946; GFX9-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill947; GFX9-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill948; GFX9-O0-NEXT: s_nop 0949; GFX9-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill950; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill951; GFX9-O0-NEXT: s_nop 0952; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill953; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill954; GFX9-O0-NEXT: s_nop 0955; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill956; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill957; GFX9-O0-NEXT: s_nop 0958; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill959; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill960; GFX9-O0-NEXT: s_nop 0961; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill962; GFX9-O0-NEXT: s_branch .LBB0_6963; GFX9-O0-NEXT: .LBB0_8: ; %udiv-bb1964; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -1965; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload966; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]967; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload968; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload969; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload970; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload971; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload972; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload973; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload974; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload975; GFX9-O0-NEXT: s_mov_b64 s[6:7], 1976; GFX9-O0-NEXT: s_mov_b32 s5, s6977; GFX9-O0-NEXT: s_waitcnt vmcnt(1)978; GFX9-O0-NEXT: v_mov_b32_e32 v3, v0979; GFX9-O0-NEXT: s_mov_b32 s4, s7980; GFX9-O0-NEXT: s_mov_b64 s[6:7], 0981; GFX9-O0-NEXT: s_mov_b32 s8, s6982; GFX9-O0-NEXT: s_mov_b32 s9, s7983; GFX9-O0-NEXT: v_mov_b32_e32 v0, v4984; GFX9-O0-NEXT: v_mov_b32_e32 v2, v5985; GFX9-O0-NEXT: v_mov_b32_e32 v4, s5986; GFX9-O0-NEXT: v_add_co_u32_e32 v8, vcc, v3, v4987; GFX9-O0-NEXT: v_mov_b32_e32 v4, s4988; GFX9-O0-NEXT: s_waitcnt vmcnt(0)989; GFX9-O0-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v4, vcc990; GFX9-O0-NEXT: v_mov_b32_e32 v4, s8991; GFX9-O0-NEXT: v_addc_co_u32_e32 v0, vcc, v0, v4, vcc992; GFX9-O0-NEXT: v_mov_b32_e32 v4, s9993; GFX9-O0-NEXT: v_addc_co_u32_e32 v2, vcc, v2, v4, vcc994; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec995; GFX9-O0-NEXT: v_mov_b32_e32 v9, v1996; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec997; GFX9-O0-NEXT: v_mov_b32_e32 v1, v2998; GFX9-O0-NEXT: v_mov_b32_e32 v5, v1999; GFX9-O0-NEXT: v_mov_b32_e32 v4, v01000; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill1001; GFX9-O0-NEXT: s_nop 01002; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill1003; GFX9-O0-NEXT: v_mov_b32_e32 v4, v81004; GFX9-O0-NEXT: v_mov_b32_e32 v5, v91005; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill1006; GFX9-O0-NEXT: s_nop 01007; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill1008; GFX9-O0-NEXT: s_mov_b32 s4, 0x7f1009; GFX9-O0-NEXT: v_sub_u32_e64 v2, s4, v31010; GFX9-O0-NEXT: v_lshlrev_b64 v[4:5], v2, v[10:11]1011; GFX9-O0-NEXT: v_mov_b32_e32 v12, v51012; GFX9-O0-NEXT: s_mov_b32 s4, 641013; GFX9-O0-NEXT: v_sub_u32_e64 v13, s4, v21014; GFX9-O0-NEXT: v_lshrrev_b64 v[13:14], v13, v[6:7]1015; GFX9-O0-NEXT: v_mov_b32_e32 v15, v141016; GFX9-O0-NEXT: v_or_b32_e64 v12, v12, v151017; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 killed $vgpr4_vgpr5 killed $exec1018; GFX9-O0-NEXT: v_mov_b32_e32 v5, v131019; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v51020; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec1021; GFX9-O0-NEXT: v_mov_b32_e32 v5, v121022; GFX9-O0-NEXT: v_mov_b32_e32 v14, v51023; GFX9-O0-NEXT: v_cmp_lt_u32_e64 s[4:5], v2, s41024; GFX9-O0-NEXT: s_mov_b32 s10, 631025; GFX9-O0-NEXT: v_sub_u32_e64 v3, s10, v31026; GFX9-O0-NEXT: v_lshlrev_b64 v[12:13], v3, v[6:7]1027; GFX9-O0-NEXT: v_mov_b32_e32 v3, v131028; GFX9-O0-NEXT: v_cndmask_b32_e64 v3, v3, v14, s[4:5]1029; GFX9-O0-NEXT: s_mov_b32 s10, 01030; GFX9-O0-NEXT: v_cmp_eq_u32_e64 s[10:11], v2, s101031; GFX9-O0-NEXT: v_mov_b32_e32 v14, v111032; GFX9-O0-NEXT: v_cndmask_b32_e64 v3, v3, v14, s[10:11]1033; GFX9-O0-NEXT: v_mov_b32_e32 v5, v41034; GFX9-O0-NEXT: v_mov_b32_e32 v4, v121035; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[4:5]1036; GFX9-O0-NEXT: v_mov_b32_e32 v5, v101037; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[10:11]1038; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec1039; GFX9-O0-NEXT: v_mov_b32_e32 v5, v31040; GFX9-O0-NEXT: v_lshlrev_b64 v[6:7], v2, v[6:7]1041; GFX9-O0-NEXT: v_mov_b32_e32 v3, v71042; GFX9-O0-NEXT: v_mov_b32_e32 v2, s91043; GFX9-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[4:5]1044; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 killed $vgpr6_vgpr7 killed $exec1045; GFX9-O0-NEXT: v_mov_b32_e32 v3, s81046; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v3, v6, s[4:5]1047; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec1048; GFX9-O0-NEXT: v_mov_b32_e32 v7, v21049; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill1050; GFX9-O0-NEXT: s_nop 01051; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill1052; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill1053; GFX9-O0-NEXT: s_nop 01054; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill1055; GFX9-O0-NEXT: v_mov_b32_e32 v3, v11056; GFX9-O0-NEXT: v_mov_b32_e32 v2, v91057; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v31058; GFX9-O0-NEXT: v_mov_b32_e32 v1, v01059; GFX9-O0-NEXT: v_mov_b32_e32 v0, v81060; GFX9-O0-NEXT: v_or_b32_e64 v0, v0, v11061; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec1062; GFX9-O0-NEXT: v_mov_b32_e32 v1, v21063; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[4:5], v[0:1], s[6:7]1064; GFX9-O0-NEXT: v_mov_b32_e32 v0, s61065; GFX9-O0-NEXT: v_mov_b32_e32 v1, s71066; GFX9-O0-NEXT: v_mov_b32_e32 v2, s61067; GFX9-O0-NEXT: v_mov_b32_e32 v3, s71068; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill1069; GFX9-O0-NEXT: s_nop 01070; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill1071; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill1072; GFX9-O0-NEXT: s_nop 01073; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill1074; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill1075; GFX9-O0-NEXT: s_nop 01076; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill1077; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill1078; GFX9-O0-NEXT: s_nop 01079; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill1080; GFX9-O0-NEXT: s_mov_b64 s[6:7], exec1081; GFX9-O0-NEXT: s_and_b64 s[4:5], s[6:7], s[4:5]1082; GFX9-O0-NEXT: s_xor_b64 s[6:7], s[4:5], s[6:7]1083; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 81084; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 91085; GFX9-O0-NEXT: s_or_saveexec_b64 s[20:21], -11086; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill1087; GFX9-O0-NEXT: s_mov_b64 exec, s[20:21]1088; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]1089; GFX9-O0-NEXT: s_cbranch_execz .LBB0_51090; GFX9-O0-NEXT: s_branch .LBB0_71091; GFX9-O0-NEXT: .LBB0_9: ; %udiv-end1092; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload1093; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload1094; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload1095; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload1096; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload1097; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload1098; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload1099; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload1100; GFX9-O0-NEXT: s_waitcnt vmcnt(0)1101; GFX9-O0-NEXT: v_mov_b32_e32 v2, v81102; GFX9-O0-NEXT: v_mov_b32_e32 v3, v61103; GFX9-O0-NEXT: v_xor_b32_e64 v3, v3, v21104; GFX9-O0-NEXT: v_mov_b32_e32 v4, v71105; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 killed $vgpr5_vgpr6 killed $exec1106; GFX9-O0-NEXT: v_xor_b32_e64 v8, v5, v41107; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec1108; GFX9-O0-NEXT: v_mov_b32_e32 v9, v31109; GFX9-O0-NEXT: v_mov_b32_e32 v6, v111110; GFX9-O0-NEXT: v_mov_b32_e32 v3, v11111; GFX9-O0-NEXT: v_xor_b32_e64 v3, v3, v61112; GFX9-O0-NEXT: v_mov_b32_e32 v7, v101113; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 killed $vgpr0_vgpr1 killed $exec1114; GFX9-O0-NEXT: v_xor_b32_e64 v0, v0, v71115; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec1116; GFX9-O0-NEXT: v_mov_b32_e32 v1, v31117; GFX9-O0-NEXT: v_mov_b32_e32 v5, v01118; GFX9-O0-NEXT: v_mov_b32_e32 v0, v11119; GFX9-O0-NEXT: v_mov_b32_e32 v3, v81120; GFX9-O0-NEXT: v_mov_b32_e32 v1, v91121; GFX9-O0-NEXT: v_sub_co_u32_e32 v5, vcc, v5, v71122; GFX9-O0-NEXT: v_subb_co_u32_e32 v0, vcc, v0, v6, vcc1123; GFX9-O0-NEXT: v_subb_co_u32_e32 v3, vcc, v3, v4, vcc1124; GFX9-O0-NEXT: v_subb_co_u32_e32 v1, vcc, v1, v2, vcc1125; GFX9-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 def $vgpr3_vgpr4 killed $exec1126; GFX9-O0-NEXT: v_mov_b32_e32 v4, v11127; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec1128; GFX9-O0-NEXT: v_mov_b32_e32 v6, v01129; GFX9-O0-NEXT: v_mov_b32_e32 v0, v51130; GFX9-O0-NEXT: v_mov_b32_e32 v2, v31131; GFX9-O0-NEXT: s_mov_b32 s4, 321132; GFX9-O0-NEXT: v_lshrrev_b64 v[5:6], s4, v[5:6]1133; GFX9-O0-NEXT: v_mov_b32_e32 v1, v51134; GFX9-O0-NEXT: v_lshrrev_b64 v[3:4], s4, v[3:4]1135; GFX9-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 killed $vgpr3_vgpr4 killed $exec1136; GFX9-O0-NEXT: s_xor_saveexec_b64 s[4:5], -11137; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload1138; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]1139; GFX9-O0-NEXT: s_waitcnt vmcnt(0)1140; GFX9-O0-NEXT: s_setpc_b64 s[30:31]1141;1142; GFX9-G-LABEL: v_sdiv_i128_vv:1143; GFX9-G: ; %bb.0: ; %_udiv-special-cases1144; GFX9-G-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1145; GFX9-G-NEXT: v_ashrrev_i32_e32 v16, 31, v31146; GFX9-G-NEXT: v_xor_b32_e32 v0, v16, v01147; GFX9-G-NEXT: v_xor_b32_e32 v1, v16, v11148; GFX9-G-NEXT: v_sub_co_u32_e32 v8, vcc, v0, v161149; GFX9-G-NEXT: v_xor_b32_e32 v2, v16, v21150; GFX9-G-NEXT: v_subb_co_u32_e32 v9, vcc, v1, v16, vcc1151; GFX9-G-NEXT: v_ashrrev_i32_e32 v17, 31, v71152; GFX9-G-NEXT: v_xor_b32_e32 v3, v16, v31153; GFX9-G-NEXT: v_subb_co_u32_e32 v10, vcc, v2, v16, vcc1154; GFX9-G-NEXT: v_subb_co_u32_e32 v11, vcc, v3, v16, vcc1155; GFX9-G-NEXT: v_xor_b32_e32 v0, v17, v41156; GFX9-G-NEXT: v_xor_b32_e32 v1, v17, v51157; GFX9-G-NEXT: v_sub_co_u32_e32 v18, vcc, v0, v171158; GFX9-G-NEXT: v_xor_b32_e32 v2, v17, v61159; GFX9-G-NEXT: v_subb_co_u32_e32 v19, vcc, v1, v17, vcc1160; GFX9-G-NEXT: v_xor_b32_e32 v3, v17, v71161; GFX9-G-NEXT: v_subb_co_u32_e32 v4, vcc, v2, v17, vcc1162; GFX9-G-NEXT: v_subb_co_u32_e32 v5, vcc, v3, v17, vcc1163; GFX9-G-NEXT: v_or_b32_e32 v0, v18, v41164; GFX9-G-NEXT: v_or_b32_e32 v1, v19, v51165; GFX9-G-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[0:1]1166; GFX9-G-NEXT: v_or_b32_e32 v0, v8, v101167; GFX9-G-NEXT: v_or_b32_e32 v1, v9, v111168; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[4:5], 0, v[0:1]1169; GFX9-G-NEXT: v_ffbh_u32_e32 v1, v181170; GFX9-G-NEXT: v_ffbh_u32_e32 v0, v191171; GFX9-G-NEXT: v_add_u32_e32 v1, 32, v11172; GFX9-G-NEXT: v_ffbh_u32_e32 v2, v41173; GFX9-G-NEXT: v_min_u32_e32 v0, v0, v11174; GFX9-G-NEXT: v_ffbh_u32_e32 v1, v51175; GFX9-G-NEXT: v_add_u32_e32 v2, 32, v21176; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[6:7], 0, v[4:5]1177; GFX9-G-NEXT: v_add_u32_e32 v0, 64, v01178; GFX9-G-NEXT: v_min_u32_e32 v1, v1, v21179; GFX9-G-NEXT: v_ffbh_u32_e32 v2, v81180; GFX9-G-NEXT: v_cndmask_b32_e64 v0, v1, v0, s[6:7]1181; GFX9-G-NEXT: v_ffbh_u32_e32 v1, v91182; GFX9-G-NEXT: v_add_u32_e32 v2, 32, v21183; GFX9-G-NEXT: v_ffbh_u32_e32 v3, v101184; GFX9-G-NEXT: v_min_u32_e32 v1, v1, v21185; GFX9-G-NEXT: v_ffbh_u32_e32 v2, v111186; GFX9-G-NEXT: v_add_u32_e32 v3, 32, v31187; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[6:7], 0, v[10:11]1188; GFX9-G-NEXT: v_add_u32_e32 v1, 64, v11189; GFX9-G-NEXT: v_min_u32_e32 v2, v2, v31190; GFX9-G-NEXT: v_cndmask_b32_e64 v1, v2, v1, s[6:7]1191; GFX9-G-NEXT: v_sub_co_u32_e64 v0, s[6:7], v0, v11192; GFX9-G-NEXT: v_subb_co_u32_e64 v1, s[6:7], 0, 0, s[6:7]1193; GFX9-G-NEXT: v_mov_b32_e32 v6, 0x7f1194; GFX9-G-NEXT: v_subb_co_u32_e64 v2, s[6:7], 0, 0, s[6:7]1195; GFX9-G-NEXT: v_mov_b32_e32 v7, 01196; GFX9-G-NEXT: v_subb_co_u32_e64 v3, s[6:7], 0, 0, s[6:7]1197; GFX9-G-NEXT: v_cmp_gt_u64_e64 s[6:7], v[0:1], v[6:7]1198; GFX9-G-NEXT: s_or_b64 s[4:5], vcc, s[4:5]1199; GFX9-G-NEXT: v_cndmask_b32_e64 v6, 0, 1, s[6:7]1200; GFX9-G-NEXT: v_cmp_lt_u64_e64 s[6:7], 0, v[2:3]1201; GFX9-G-NEXT: v_or_b32_e32 v15, v1, v31202; GFX9-G-NEXT: v_cndmask_b32_e64 v7, 0, 1, s[6:7]1203; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[6:7], 0, v[2:3]1204; GFX9-G-NEXT: s_mov_b64 s[8:9], 01205; GFX9-G-NEXT: v_cndmask_b32_e64 v6, v7, v6, s[6:7]1206; GFX9-G-NEXT: v_cndmask_b32_e64 v7, 0, 1, s[4:5]1207; GFX9-G-NEXT: v_or_b32_e32 v20, v7, v61208; GFX9-G-NEXT: v_xor_b32_e32 v6, 0x7f, v01209; GFX9-G-NEXT: v_or_b32_e32 v14, v6, v21210; GFX9-G-NEXT: v_and_b32_e32 v6, 1, v201211; GFX9-G-NEXT: v_cmp_ne_u32_e32 vcc, 0, v61212; GFX9-G-NEXT: v_cndmask_b32_e64 v6, v8, 0, vcc1213; GFX9-G-NEXT: v_cndmask_b32_e64 v7, v9, 0, vcc1214; GFX9-G-NEXT: v_cndmask_b32_e64 v12, v10, 0, vcc1215; GFX9-G-NEXT: v_cndmask_b32_e64 v13, v11, 0, vcc1216; GFX9-G-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[14:15]1217; GFX9-G-NEXT: v_cndmask_b32_e64 v14, 0, 1, vcc1218; GFX9-G-NEXT: v_or_b32_e32 v14, v20, v141219; GFX9-G-NEXT: v_and_b32_e32 v14, 1, v141220; GFX9-G-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141221; GFX9-G-NEXT: s_xor_b64 s[4:5], vcc, -11222; GFX9-G-NEXT: s_and_saveexec_b64 s[6:7], s[4:5]1223; GFX9-G-NEXT: s_cbranch_execz .LBB0_61224; GFX9-G-NEXT: ; %bb.1: ; %udiv-bb11225; GFX9-G-NEXT: v_add_co_u32_e32 v20, vcc, 1, v01226; GFX9-G-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v1, vcc1227; GFX9-G-NEXT: v_addc_co_u32_e32 v22, vcc, 0, v2, vcc1228; GFX9-G-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v3, vcc1229; GFX9-G-NEXT: s_xor_b64 s[4:5], vcc, -11230; GFX9-G-NEXT: v_sub_co_u32_e32 v12, vcc, 0x7f, v01231; GFX9-G-NEXT: v_sub_u32_e32 v0, 64, v121232; GFX9-G-NEXT: v_lshrrev_b64 v[0:1], v0, v[8:9]1233; GFX9-G-NEXT: v_lshlrev_b64 v[2:3], v12, v[10:11]1234; GFX9-G-NEXT: v_add_u32_e32 v13, 0xffffffc0, v121235; GFX9-G-NEXT: v_lshlrev_b64 v[6:7], v12, v[8:9]1236; GFX9-G-NEXT: v_or_b32_e32 v2, v0, v21237; GFX9-G-NEXT: v_or_b32_e32 v3, v1, v31238; GFX9-G-NEXT: v_lshlrev_b64 v[0:1], v13, v[8:9]1239; GFX9-G-NEXT: v_cmp_gt_u32_e32 vcc, 64, v121240; GFX9-G-NEXT: v_cndmask_b32_e32 v6, 0, v6, vcc1241; GFX9-G-NEXT: v_cndmask_b32_e32 v7, 0, v7, vcc1242; GFX9-G-NEXT: v_cndmask_b32_e32 v0, v0, v2, vcc1243; GFX9-G-NEXT: v_cndmask_b32_e32 v1, v1, v3, vcc1244; GFX9-G-NEXT: v_cmp_eq_u32_e32 vcc, 0, v121245; GFX9-G-NEXT: v_cndmask_b32_e32 v12, v0, v10, vcc1246; GFX9-G-NEXT: v_cndmask_b32_e32 v13, v1, v11, vcc1247; GFX9-G-NEXT: s_mov_b64 s[10:11], s[8:9]1248; GFX9-G-NEXT: v_mov_b32_e32 v0, s81249; GFX9-G-NEXT: v_mov_b32_e32 v1, s91250; GFX9-G-NEXT: v_mov_b32_e32 v2, s101251; GFX9-G-NEXT: v_mov_b32_e32 v3, s111252; GFX9-G-NEXT: s_and_saveexec_b64 s[8:9], s[4:5]1253; GFX9-G-NEXT: s_xor_b64 s[12:13], exec, s[8:9]1254; GFX9-G-NEXT: s_cbranch_execz .LBB0_51255; GFX9-G-NEXT: ; %bb.2: ; %udiv-preheader1256; GFX9-G-NEXT: v_sub_u32_e32 v2, 64, v201257; GFX9-G-NEXT: v_lshrrev_b64 v[0:1], v20, v[8:9]1258; GFX9-G-NEXT: v_lshlrev_b64 v[2:3], v2, v[10:11]1259; GFX9-G-NEXT: v_add_u32_e32 v24, 0xffffffc0, v201260; GFX9-G-NEXT: v_lshrrev_b64 v[14:15], v20, v[10:11]1261; GFX9-G-NEXT: v_or_b32_e32 v2, v0, v21262; GFX9-G-NEXT: v_or_b32_e32 v3, v1, v31263; GFX9-G-NEXT: v_lshrrev_b64 v[0:1], v24, v[10:11]1264; GFX9-G-NEXT: v_cmp_gt_u32_e32 vcc, 64, v201265; GFX9-G-NEXT: v_cndmask_b32_e32 v0, v0, v2, vcc1266; GFX9-G-NEXT: v_cndmask_b32_e32 v1, v1, v3, vcc1267; GFX9-G-NEXT: v_cndmask_b32_e32 v14, 0, v14, vcc1268; GFX9-G-NEXT: v_cndmask_b32_e32 v15, 0, v15, vcc1269; GFX9-G-NEXT: v_add_co_u32_e32 v24, vcc, -1, v181270; GFX9-G-NEXT: s_mov_b64 s[8:9], 01271; GFX9-G-NEXT: v_cmp_eq_u32_e64 s[4:5], 0, v201272; GFX9-G-NEXT: v_addc_co_u32_e32 v25, vcc, -1, v19, vcc1273; GFX9-G-NEXT: v_cndmask_b32_e64 v10, v0, v8, s[4:5]1274; GFX9-G-NEXT: v_cndmask_b32_e64 v11, v1, v9, s[4:5]1275; GFX9-G-NEXT: v_addc_co_u32_e32 v26, vcc, -1, v4, vcc1276; GFX9-G-NEXT: s_mov_b64 s[10:11], s[8:9]1277; GFX9-G-NEXT: v_mov_b32_e32 v0, s81278; GFX9-G-NEXT: v_addc_co_u32_e32 v27, vcc, -1, v5, vcc1279; GFX9-G-NEXT: v_mov_b32_e32 v9, 01280; GFX9-G-NEXT: v_mov_b32_e32 v1, s91281; GFX9-G-NEXT: v_mov_b32_e32 v2, s101282; GFX9-G-NEXT: v_mov_b32_e32 v3, s111283; GFX9-G-NEXT: .LBB0_3: ; %udiv-do-while1284; GFX9-G-NEXT: ; =>This Inner Loop Header: Depth=11285; GFX9-G-NEXT: v_lshlrev_b64 v[2:3], 1, v[6:7]1286; GFX9-G-NEXT: v_lshrrev_b32_e32 v8, 31, v71287; GFX9-G-NEXT: v_or_b32_e32 v6, v0, v21288; GFX9-G-NEXT: v_or_b32_e32 v7, v1, v31289; GFX9-G-NEXT: v_lshlrev_b64 v[2:3], 1, v[10:11]1290; GFX9-G-NEXT: v_lshrrev_b32_e32 v10, 31, v131291; GFX9-G-NEXT: v_lshlrev_b64 v[0:1], 1, v[14:15]1292; GFX9-G-NEXT: v_or_b32_e32 v2, v2, v101293; GFX9-G-NEXT: v_lshrrev_b32_e32 v14, 31, v111294; GFX9-G-NEXT: v_sub_co_u32_e32 v10, vcc, v24, v21295; GFX9-G-NEXT: v_or_b32_e32 v0, v0, v141296; GFX9-G-NEXT: v_subb_co_u32_e32 v10, vcc, v25, v3, vcc1297; GFX9-G-NEXT: v_subb_co_u32_e32 v10, vcc, v26, v0, vcc1298; GFX9-G-NEXT: v_subb_co_u32_e32 v10, vcc, v27, v1, vcc1299; GFX9-G-NEXT: v_ashrrev_i32_e32 v28, 31, v101300; GFX9-G-NEXT: v_and_b32_e32 v10, v28, v181301; GFX9-G-NEXT: v_and_b32_e32 v11, v28, v191302; GFX9-G-NEXT: v_sub_co_u32_e32 v10, vcc, v2, v101303; GFX9-G-NEXT: v_subb_co_u32_e32 v11, vcc, v3, v11, vcc1304; GFX9-G-NEXT: v_and_b32_e32 v2, v28, v41305; GFX9-G-NEXT: v_and_b32_e32 v3, v28, v51306; GFX9-G-NEXT: v_subb_co_u32_e32 v14, vcc, v0, v2, vcc1307; GFX9-G-NEXT: v_subb_co_u32_e32 v15, vcc, v1, v3, vcc1308; GFX9-G-NEXT: v_add_co_u32_e32 v20, vcc, -1, v201309; GFX9-G-NEXT: v_addc_co_u32_e32 v21, vcc, -1, v21, vcc1310; GFX9-G-NEXT: v_addc_co_u32_e32 v22, vcc, -1, v22, vcc1311; GFX9-G-NEXT: v_addc_co_u32_e32 v23, vcc, -1, v23, vcc1312; GFX9-G-NEXT: v_lshlrev_b64 v[12:13], 1, v[12:13]1313; GFX9-G-NEXT: v_or_b32_e32 v0, v20, v221314; GFX9-G-NEXT: v_or_b32_e32 v1, v21, v231315; GFX9-G-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[0:1]1316; GFX9-G-NEXT: v_or_b32_e32 v12, v12, v81317; GFX9-G-NEXT: v_and_b32_e32 v8, 1, v281318; GFX9-G-NEXT: v_mov_b32_e32 v0, v81319; GFX9-G-NEXT: s_or_b64 s[8:9], vcc, s[8:9]1320; GFX9-G-NEXT: v_mov_b32_e32 v1, v91321; GFX9-G-NEXT: s_andn2_b64 exec, exec, s[8:9]1322; GFX9-G-NEXT: s_cbranch_execnz .LBB0_31323; GFX9-G-NEXT: ; %bb.4: ; %Flow1324; GFX9-G-NEXT: s_or_b64 exec, exec, s[8:9]1325; GFX9-G-NEXT: .LBB0_5: ; %Flow21326; GFX9-G-NEXT: s_or_b64 exec, exec, s[12:13]1327; GFX9-G-NEXT: v_lshlrev_b64 v[2:3], 1, v[6:7]1328; GFX9-G-NEXT: v_lshlrev_b64 v[12:13], 1, v[12:13]1329; GFX9-G-NEXT: v_lshrrev_b32_e32 v4, 31, v71330; GFX9-G-NEXT: v_or_b32_e32 v12, v12, v41331; GFX9-G-NEXT: v_or_b32_e32 v6, v0, v21332; GFX9-G-NEXT: v_or_b32_e32 v7, v1, v31333; GFX9-G-NEXT: .LBB0_6: ; %Flow31334; GFX9-G-NEXT: s_or_b64 exec, exec, s[6:7]1335; GFX9-G-NEXT: v_xor_b32_e32 v3, v17, v161336; GFX9-G-NEXT: v_xor_b32_e32 v0, v6, v31337; GFX9-G-NEXT: v_xor_b32_e32 v1, v7, v31338; GFX9-G-NEXT: v_sub_co_u32_e32 v0, vcc, v0, v31339; GFX9-G-NEXT: v_xor_b32_e32 v2, v12, v31340; GFX9-G-NEXT: v_subb_co_u32_e32 v1, vcc, v1, v3, vcc1341; GFX9-G-NEXT: v_xor_b32_e32 v4, v13, v31342; GFX9-G-NEXT: v_subb_co_u32_e32 v2, vcc, v2, v3, vcc1343; GFX9-G-NEXT: v_subb_co_u32_e32 v3, vcc, v4, v3, vcc1344; GFX9-G-NEXT: s_setpc_b64 s[30:31]1345;1346; GFX9-G-O0-LABEL: v_sdiv_i128_vv:1347; GFX9-G-O0: ; %bb.0: ; %_udiv-special-cases1348; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1349; GFX9-G-O0-NEXT: s_xor_saveexec_b64 s[4:5], -11350; GFX9-G-O0-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill1351; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]1352; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v11353; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v21354; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v31355; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec1356; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v101357; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v91358; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v81359; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill1360; GFX9-G-O0-NEXT: s_nop 01361; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill1362; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill1363; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill1364; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v41365; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v51366; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v61367; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload1368; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload1369; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload1370; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload1371; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13_vgpr14_vgpr15 killed $exec1372; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v11373; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v01374; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v71375; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], 01376; GFX9-G-O0-NEXT: s_mov_b64 s[8:9], 0x7f1377; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr3_vgpr4 killed $exec1378; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1379; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v51380; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v61381; GFX9-G-O0-NEXT: ; kill: def $vgpr2 killed $vgpr0 killed $exec1382; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v11383; GFX9-G-O0-NEXT: s_mov_b32 s6, 311384; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s61385; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v11, v2, v71386; GFX9-G-O0-NEXT: ; kill: def $vgpr2 killed $vgpr0 killed $exec1387; GFX9-G-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 killed $vgpr0_vgpr1 killed $exec1388; GFX9-G-O0-NEXT: s_mov_b32 s6, 311389; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s61390; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v9, v0, v11391; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr12_vgpr13 killed $exec1392; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v141393; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v151394; GFX9-G-O0-NEXT: ; kill: def $vgpr2 killed $vgpr0 killed $exec1395; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v11396; GFX9-G-O0-NEXT: s_mov_b32 s6, 311397; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s61398; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v10, v2, v71399; GFX9-G-O0-NEXT: ; kill: def $vgpr2 killed $vgpr0 killed $exec1400; GFX9-G-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 killed $vgpr0_vgpr1 killed $exec1401; GFX9-G-O0-NEXT: s_mov_b32 s6, 311402; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s61403; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v8, v0, v11404; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v31405; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v41406; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v51407; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v61408; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v11409; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v21410; GFX9-G-O0-NEXT: v_xor_b32_e64 v0, v11, v01411; GFX9-G-O0-NEXT: v_xor_b32_e64 v1, v11, v11412; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v41413; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v51414; GFX9-G-O0-NEXT: v_xor_b32_e64 v3, v9, v31415; GFX9-G-O0-NEXT: v_xor_b32_e64 v2, v9, v21416; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v0, s[6:7], v0, v111417; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill1418; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v1, s[6:7], v1, v11, s[6:7]1419; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill1420; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v5, s[6:7], v3, v9, s[6:7]1421; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill1422; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v2, s[6:7], v2, v9, s[6:7]1423; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill1424; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v121425; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v131426; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v141427; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v151428; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v61429; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v71430; GFX9-G-O0-NEXT: v_xor_b32_e64 v7, v10, v41431; GFX9-G-O0-NEXT: v_xor_b32_e64 v4, v10, v31432; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v121433; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v131434; GFX9-G-O0-NEXT: v_xor_b32_e64 v6, v8, v61435; GFX9-G-O0-NEXT: v_xor_b32_e64 v3, v8, v31436; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v7, s[6:7], v7, v101437; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill1438; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v4, s[6:7], v4, v10, s[6:7]1439; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill1440; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v6, s[6:7], v6, v8, s[6:7]1441; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill1442; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v3, s[6:7], v3, v8, s[6:7]1443; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill1444; GFX9-G-O0-NEXT: v_xor_b32_e64 v12, v10, v111445; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill1446; GFX9-G-O0-NEXT: v_xor_b32_e64 v10, v10, v111447; GFX9-G-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill1448; GFX9-G-O0-NEXT: v_xor_b32_e64 v10, v8, v91449; GFX9-G-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill1450; GFX9-G-O0-NEXT: v_xor_b32_e64 v8, v8, v91451; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill1452; GFX9-G-O0-NEXT: v_or_b32_e64 v8, v7, v61453; GFX9-G-O0-NEXT: v_or_b32_e64 v10, v4, v31454; GFX9-G-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec1455; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v101456; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s51457; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s41458; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[6:7], v[8:9], v[10:11]1459; GFX9-G-O0-NEXT: v_or_b32_e64 v8, v0, v51460; GFX9-G-O0-NEXT: v_or_b32_e64 v10, v1, v21461; GFX9-G-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec1462; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v101463; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s51464; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s41465; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[10:11], v[8:9], v[10:11]1466; GFX9-G-O0-NEXT: s_or_b64 s[6:7], s[6:7], s[10:11]1467; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v61468; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v31469; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s51470; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s41471; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[10:11], v[8:9], v[10:11]1472; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v4, v41473; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v7, v71474; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, 321475; GFX9-G-O0-NEXT: v_add_u32_e64 v7, v7, v81476; GFX9-G-O0-NEXT: v_min_u32_e64 v4, v4, v71477; GFX9-G-O0-NEXT: s_mov_b32 s12, 641478; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s121479; GFX9-G-O0-NEXT: v_add_u32_e64 v4, v4, v71480; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v3, v31481; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v6, v61482; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, 321483; GFX9-G-O0-NEXT: v_add_u32_e64 v6, v6, v71484; GFX9-G-O0-NEXT: v_min_u32_e64 v3, v3, v61485; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v3, v3, v4, s[10:11]1486; GFX9-G-O0-NEXT: s_mov_b32 s16, 01487; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v51488; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v21489; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, s51490; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, s41491; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[10:11], v[6:7], v[8:9]1492; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v4, v11493; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v6, v01494; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, 321495; GFX9-G-O0-NEXT: v_add_u32_e64 v6, v6, v71496; GFX9-G-O0-NEXT: v_min_u32_e64 v4, v4, v61497; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s121498; GFX9-G-O0-NEXT: v_add_u32_e64 v6, v4, v61499; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v4, v21500; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v7, v51501; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, 321502; GFX9-G-O0-NEXT: v_add_u32_e64 v7, v7, v81503; GFX9-G-O0-NEXT: v_min_u32_e64 v4, v4, v71504; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v6, s[10:11]1505; GFX9-G-O0-NEXT: s_mov_b32 s15, 01506; GFX9-G-O0-NEXT: s_mov_b32 s13, 01507; GFX9-G-O0-NEXT: s_mov_b32 s14, 01508; GFX9-G-O0-NEXT: s_mov_b32 s12, 01509; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v6, s[10:11], v3, v41510; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill1511; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, s161512; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s161513; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v3, s[10:11], v3, v4, s[10:11]1514; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill1515; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s151516; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s141517; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v8, s[10:11], v4, v7, s[10:11]1518; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill1519; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s131520; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s121521; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v7, s[10:11], v4, v7, s[10:11]1522; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill1523; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v61524; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v31525; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v81526; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v71527; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, s91528; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, s81529; GFX9-G-O0-NEXT: v_cmp_gt_u64_e64 s[12:13], v[11:12], v[13:14]1530; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, s51531; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s41532; GFX9-G-O0-NEXT: v_cmp_gt_u64_e64 s[10:11], v[9:10], v[11:12]1533; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, s51534; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s41535; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[9:10], v[11:12]1536; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, 11537; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, 01538; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v9, v4, v9, s[12:13]1539; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, 11540; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, 01541; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v10, s[10:11]1542; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v9, v4, v9, s[8:9]1543; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, 11544; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, 01545; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v10, s[6:7]1546; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v4, v91547; GFX9-G-O0-NEXT: s_mov_b32 s6, 0x7f1548; GFX9-G-O0-NEXT: v_xor_b32_e64 v6, v6, s61549; GFX9-G-O0-NEXT: v_or_b32_e64 v6, v6, v81550; GFX9-G-O0-NEXT: v_or_b32_e64 v3, v3, v71551; GFX9-G-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec1552; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v31553; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, s51554; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, s41555; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[6:7], v[8:9]1556; GFX9-G-O0-NEXT: v_and_b32_e32 v3, 1, v41557; GFX9-G-O0-NEXT: v_cmp_ne_u32_e64 s[6:7], 0, v31558; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 01559; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, 01560; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v0, v0, v6, s[6:7]1561; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v3, v1, v3, s[6:7]1562; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec1563; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v31564; GFX9-G-O0-NEXT: v_and_b32_e32 v3, 1, v41565; GFX9-G-O0-NEXT: v_cmp_ne_u32_e64 s[6:7], 0, v31566; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 01567; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, 01568; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[6:7]1569; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[6:7]1570; GFX9-G-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec1571; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v21572; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec1573; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v51574; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v61575; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 11576; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, 01577; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[4:5]1578; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v4, v51579; GFX9-G-O0-NEXT: v_and_b32_e32 v4, 1, v41580; GFX9-G-O0-NEXT: v_cmp_ne_u32_e64 s[4:5], 0, v41581; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], -11582; GFX9-G-O0-NEXT: s_xor_b64 s[6:7], s[4:5], s[6:7]1583; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill1584; GFX9-G-O0-NEXT: s_nop 01585; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill1586; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill1587; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill1588; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], exec1589; GFX9-G-O0-NEXT: ; implicit-def: $vgpr31 : SGPR spill to VGPR lane1590; GFX9-G-O0-NEXT: v_writelane_b32 v31, s4, 01591; GFX9-G-O0-NEXT: v_writelane_b32 v31, s5, 11592; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11593; GFX9-G-O0-NEXT: buffer_store_dword v31, off, s[0:3], s32 ; 4-byte Folded Spill1594; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1595; GFX9-G-O0-NEXT: s_and_b64 s[4:5], s[4:5], s[6:7]1596; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]1597; GFX9-G-O0-NEXT: s_cbranch_execz .LBB0_31598; GFX9-G-O0-NEXT: s_branch .LBB0_81599; GFX9-G-O0-NEXT: .LBB0_1: ; %Flow1600; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11601; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 ; 4-byte Folded Reload1602; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1603; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1604; GFX9-G-O0-NEXT: v_readlane_b32 s4, v31, 21605; GFX9-G-O0-NEXT: v_readlane_b32 s5, v31, 31606; GFX9-G-O0-NEXT: s_or_b64 exec, exec, s[4:5]1607; GFX9-G-O0-NEXT: ; %bb.2: ; %Flow1608; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload1609; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload1610; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload1611; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload1612; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload1613; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload1614; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload1615; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload1616; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1617; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill1618; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1619; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill1620; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1621; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill1622; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1623; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill1624; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1625; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill1626; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1627; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill1628; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1629; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill1630; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)1631; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill1632; GFX9-G-O0-NEXT: s_branch .LBB0_51633; GFX9-G-O0-NEXT: .LBB0_3: ; %Flow21634; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11635; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 ; 4-byte Folded Reload1636; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1637; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1638; GFX9-G-O0-NEXT: v_readlane_b32 s4, v31, 01639; GFX9-G-O0-NEXT: v_readlane_b32 s5, v31, 11640; GFX9-G-O0-NEXT: s_or_b64 exec, exec, s[4:5]1641; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload1642; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload1643; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload1644; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload1645; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1646; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill1647; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1648; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill1649; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1650; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill1651; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1652; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill1653; GFX9-G-O0-NEXT: s_branch .LBB0_91654; GFX9-G-O0-NEXT: .LBB0_4: ; %udiv-loop-exit1655; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload1656; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload1657; GFX9-G-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload1658; GFX9-G-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload1659; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload1660; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload1661; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload1662; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload1663; GFX9-G-O0-NEXT: s_waitcnt vmcnt(2)1664; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v41665; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v51666; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1667; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v61668; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v71669; GFX9-G-O0-NEXT: s_mov_b32 s4, 11670; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s41671; GFX9-G-O0-NEXT: v_lshlrev_b64 v[9:10], v0, v[2:3]1672; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s41673; GFX9-G-O0-NEXT: v_lshlrev_b64 v[0:1], v0, v[4:5]1674; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr2 killed $exec1675; GFX9-G-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 killed $vgpr2_vgpr3 killed $exec1676; GFX9-G-O0-NEXT: s_mov_b32 s4, 311677; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s41678; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v5, v2, v31679; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v01680; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v11681; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v111682; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v121683; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v131684; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v141685; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v11686; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v21687; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v91688; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v101689; GFX9-G-O0-NEXT: v_or_b32_e64 v0, v0, v61690; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v1, v21691; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec1692; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v21693; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v71694; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v81695; GFX9-G-O0-NEXT: v_or3_b32 v4, v4, v5, v61696; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v2, v31697; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec1698; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v21699; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec1700; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v41701; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v51702; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill1703; GFX9-G-O0-NEXT: s_nop 01704; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill1705; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill1706; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill1707; GFX9-G-O0-NEXT: s_branch .LBB0_31708; GFX9-G-O0-NEXT: .LBB0_5: ; %Flow11709; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11710; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 ; 4-byte Folded Reload1711; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1712; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1713; GFX9-G-O0-NEXT: v_readlane_b32 s4, v31, 41714; GFX9-G-O0-NEXT: v_readlane_b32 s5, v31, 51715; GFX9-G-O0-NEXT: s_or_b64 exec, exec, s[4:5]1716; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload1717; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload1718; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload1719; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload1720; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload1721; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload1722; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload1723; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload1724; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1725; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill1726; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1727; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill1728; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1729; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill1730; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1731; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill1732; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill1733; GFX9-G-O0-NEXT: s_nop 01734; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill1735; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill1736; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill1737; GFX9-G-O0-NEXT: s_branch .LBB0_41738; GFX9-G-O0-NEXT: .LBB0_6: ; %udiv-do-while1739; GFX9-G-O0-NEXT: ; =>This Inner Loop Header: Depth=11740; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11741; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 ; 4-byte Folded Reload1742; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1743; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1744; GFX9-G-O0-NEXT: v_readlane_b32 s6, v31, 61745; GFX9-G-O0-NEXT: v_readlane_b32 s7, v31, 71746; GFX9-G-O0-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload1747; GFX9-G-O0-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload1748; GFX9-G-O0-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload1749; GFX9-G-O0-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload1750; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload1751; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload1752; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload1753; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload1754; GFX9-G-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload1755; GFX9-G-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload1756; GFX9-G-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload1757; GFX9-G-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload1758; GFX9-G-O0-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload1759; GFX9-G-O0-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload1760; GFX9-G-O0-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload1761; GFX9-G-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload1762; GFX9-G-O0-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload1763; GFX9-G-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload1764; GFX9-G-O0-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload1765; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload1766; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload1767; GFX9-G-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload1768; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload1769; GFX9-G-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload1770; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], 01771; GFX9-G-O0-NEXT: s_waitcnt vmcnt(18)1772; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v21773; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v31774; GFX9-G-O0-NEXT: s_waitcnt vmcnt(16)1775; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v51776; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v41777; GFX9-G-O0-NEXT: s_mov_b32 s8, 11778; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s81779; GFX9-G-O0-NEXT: v_lshlrev_b64 v[2:3], v2, v[0:1]1780; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s81781; GFX9-G-O0-NEXT: v_lshlrev_b64 v[4:5], v4, v[14:15]1782; GFX9-G-O0-NEXT: ; kill: def $vgpr7 killed $vgpr0 killed $exec1783; GFX9-G-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 killed $vgpr0_vgpr1 killed $exec1784; GFX9-G-O0-NEXT: s_mov_b32 s9, 311785; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s91786; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v1, v0, v11787; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v41788; GFX9-G-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 killed $vgpr4_vgpr5 killed $exec1789; GFX9-G-O0-NEXT: v_or_b32_e64 v7, v0, v11790; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr22_vgpr23 killed $exec1791; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v241792; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v251793; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr0 killed $exec1794; GFX9-G-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 killed $vgpr0_vgpr1 killed $exec1795; GFX9-G-O0-NEXT: s_mov_b32 s9, 311796; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s91797; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v1, v0, v11798; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v21799; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v31800; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v0, v11801; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v221802; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v231803; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v241804; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v251805; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s81806; GFX9-G-O0-NEXT: v_lshlrev_b64 v[25:26], v0, v[2:3]1807; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s81808; GFX9-G-O0-NEXT: v_lshlrev_b64 v[0:1], v0, v[14:15]1809; GFX9-G-O0-NEXT: ; kill: def $vgpr14 killed $vgpr2 killed $exec1810; GFX9-G-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 killed $vgpr2_vgpr3 killed $exec1811; GFX9-G-O0-NEXT: s_mov_b32 s8, 311812; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s81813; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v15, v2, v31814; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v01815; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v11816; GFX9-G-O0-NEXT: s_waitcnt vmcnt(10)1817; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v271818; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v281819; GFX9-G-O0-NEXT: s_waitcnt vmcnt(8)1820; GFX9-G-O0-NEXT: v_mov_b32_e32 v23, v291821; GFX9-G-O0-NEXT: v_mov_b32_e32 v24, v301822; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v11823; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v21824; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, v251825; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v261826; GFX9-G-O0-NEXT: v_or_b32_e64 v0, v0, v221827; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v1, v21828; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec1829; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v21830; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, v231831; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v241832; GFX9-G-O0-NEXT: v_or3_b32 v14, v14, v15, v221833; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v2, v31834; GFX9-G-O0-NEXT: ; kill: def $vgpr14 killed $vgpr14 def $vgpr14_vgpr15 killed $exec1835; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v21836; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec1837; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v141838; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v151839; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1840; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v13, s[8:9], v13, v41841; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v12, s[8:9], v12, v9, s[8:9]1842; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v10, s[8:9], v10, v7, s[8:9]1843; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v12, s[8:9], v6, v5, s[8:9]1844; GFX9-G-O0-NEXT: s_mov_b32 s8, 311845; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s81846; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v10, v6, v121847; GFX9-G-O0-NEXT: s_mov_b32 s8, 311848; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s81849; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v6, v6, v121850; GFX9-G-O0-NEXT: s_mov_b32 s9, 11851; GFX9-G-O0-NEXT: s_mov_b32 s8, 01852; GFX9-G-O0-NEXT: v_and_b32_e64 v12, v10, s91853; GFX9-G-O0-NEXT: v_and_b32_e64 v14, v10, s81854; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13 killed $exec1855; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v141856; GFX9-G-O0-NEXT: v_mov_b32_e32 v23, s51857; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, s41858; GFX9-G-O0-NEXT: ; kill: def $vgpr12_vgpr13 killed $vgpr12_vgpr13 def $vgpr12_vgpr13_vgpr14_vgpr15 killed $exec1859; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v221860; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v231861; GFX9-G-O0-NEXT: v_and_b32_e64 v11, v10, v111862; GFX9-G-O0-NEXT: v_and_b32_e64 v10, v10, v211863; GFX9-G-O0-NEXT: v_and_b32_e64 v8, v6, v81864; GFX9-G-O0-NEXT: v_and_b32_e64 v6, v6, v201865; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v4, s[8:9], v4, v111866; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v10, s[8:9], v9, v10, s[8:9]1867; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v9, s[8:9], v7, v8, s[8:9]1868; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v8, s[8:9], v5, v6, s[8:9]1869; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5_vgpr6_vgpr7 killed $exec1870; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v101871; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v91872; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v81873; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v161874; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v171875; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v181876; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v191877; GFX9-G-O0-NEXT: s_mov_b32 s8, -11878; GFX9-G-O0-NEXT: s_mov_b32 s12, -11879; GFX9-G-O0-NEXT: s_mov_b32 s11, -11880; GFX9-G-O0-NEXT: s_mov_b32 s10, -11881; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, s81882; GFX9-G-O0-NEXT: v_add_co_u32_e64 v16, s[8:9], v11, v161883; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s121884; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v17, s[8:9], v10, v11, s[8:9]1885; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s111886; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v19, s[8:9], v9, v10, s[8:9]1887; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, s101888; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v18, s[8:9], v8, v9, s[8:9]1889; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v161890; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v171891; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v191892; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v181893; GFX9-G-O0-NEXT: v_or_b32_e64 v16, v16, v191894; GFX9-G-O0-NEXT: v_or_b32_e64 v18, v17, v181895; GFX9-G-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec1896; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v181897; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, s51898; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, s41899; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[16:17], v[18:19]1900; GFX9-G-O0-NEXT: s_or_b64 s[4:5], s[4:5], s[6:7]1901; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, v31902; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, v21903; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v11904; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, v01905; GFX9-G-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill1906; GFX9-G-O0-NEXT: s_nop 01907; GFX9-G-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill1908; GFX9-G-O0-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill1909; GFX9-G-O0-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill1910; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, v151911; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, v141912; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v131913; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, v121914; GFX9-G-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill1915; GFX9-G-O0-NEXT: s_nop 01916; GFX9-G-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill1917; GFX9-G-O0-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill1918; GFX9-G-O0-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill1919; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], s[4:5]1920; GFX9-G-O0-NEXT: v_writelane_b32 v31, s6, 21921; GFX9-G-O0-NEXT: v_writelane_b32 v31, s7, 31922; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], s[4:5]1923; GFX9-G-O0-NEXT: v_writelane_b32 v31, s6, 61924; GFX9-G-O0-NEXT: v_writelane_b32 v31, s7, 71925; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11926; GFX9-G-O0-NEXT: buffer_store_dword v31, off, s[0:3], s32 ; 4-byte Folded Spill1927; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1928; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill1929; GFX9-G-O0-NEXT: s_nop 01930; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill1931; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill1932; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill1933; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill1934; GFX9-G-O0-NEXT: s_nop 01935; GFX9-G-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill1936; GFX9-G-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill1937; GFX9-G-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill1938; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill1939; GFX9-G-O0-NEXT: s_nop 01940; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill1941; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill1942; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill1943; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill1944; GFX9-G-O0-NEXT: s_nop 01945; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill1946; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill1947; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill1948; GFX9-G-O0-NEXT: s_andn2_b64 exec, exec, s[4:5]1949; GFX9-G-O0-NEXT: s_cbranch_execnz .LBB0_61950; GFX9-G-O0-NEXT: s_branch .LBB0_11951; GFX9-G-O0-NEXT: .LBB0_7: ; %udiv-preheader1952; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -11953; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 ; 4-byte Folded Reload1954; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]1955; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload1956; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload1957; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload1958; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload1959; GFX9-G-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload1960; GFX9-G-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload1961; GFX9-G-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload1962; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload1963; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload1964; GFX9-G-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload1965; GFX9-G-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload1966; GFX9-G-O0-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload1967; GFX9-G-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload1968; GFX9-G-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload1969; GFX9-G-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload1970; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload1971; GFX9-G-O0-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload1972; GFX9-G-O0-NEXT: s_mov_b32 s4, 641973; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)1974; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, v171975; GFX9-G-O0-NEXT: v_mov_b32_e32 v23, v161976; GFX9-G-O0-NEXT: ; kill: def $vgpr20 killed $vgpr20 def $vgpr20_vgpr21 killed $exec1977; GFX9-G-O0-NEXT: s_waitcnt vmcnt(1)1978; GFX9-G-O0-NEXT: v_mov_b32_e32 v21, v41979; GFX9-G-O0-NEXT: s_mov_b32 s5, 0xffffffc01980; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s51981; GFX9-G-O0-NEXT: v_add_u32_e64 v4, v18, v41982; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, s41983; GFX9-G-O0-NEXT: v_sub_u32_e64 v5, v5, v181984; GFX9-G-O0-NEXT: s_mov_b32 s6, 01985; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s41986; GFX9-G-O0-NEXT: v_cmp_lt_u32_e64 s[4:5], v18, v61987; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s61988; GFX9-G-O0-NEXT: v_cmp_eq_u32_e64 s[6:7], v18, v61989; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)1990; GFX9-G-O0-NEXT: v_lshrrev_b64 v[6:7], v18, v[20:21]1991; GFX9-G-O0-NEXT: v_lshrrev_b64 v[25:26], v18, v[22:23]1992; GFX9-G-O0-NEXT: v_lshlrev_b64 v[23:24], v5, v[20:21]1993; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, v251994; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v261995; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, v231996; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, v241997; GFX9-G-O0-NEXT: v_or_b32_e64 v19, v19, v221998; GFX9-G-O0-NEXT: v_or_b32_e64 v18, v5, v181999; GFX9-G-O0-NEXT: s_mov_b64 s[8:9], 02000; GFX9-G-O0-NEXT: v_lshrrev_b64 v[20:21], v4, v[20:21]2001; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v202002; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v212003; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v19, s[4:5]2004; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v18, s[4:5]2005; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v17, s[6:7]2006; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v16, v5, v16, s[6:7]2007; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2008; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v162009; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v62010; GFX9-G-O0-NEXT: ; kill: def $vgpr7 killed $vgpr7 killed $vgpr6_vgpr7 killed $exec2011; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, 02012; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 02013; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v16, v16, v17, s[4:5]2014; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v6, v6, v7, s[4:5]2015; GFX9-G-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec2016; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v62017; GFX9-G-O0-NEXT: ; kill: def $vgpr4_vgpr5 killed $vgpr4_vgpr5 def $vgpr4_vgpr5_vgpr6_vgpr7 killed $exec2018; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v162019; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v172020; GFX9-G-O0-NEXT: s_mov_b32 s4, -12021; GFX9-G-O0-NEXT: s_mov_b32 s10, -12022; GFX9-G-O0-NEXT: s_mov_b32 s7, -12023; GFX9-G-O0-NEXT: s_mov_b32 s6, -12024; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, s42025; GFX9-G-O0-NEXT: v_add_co_u32_e64 v15, s[4:5], v15, v162026; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill2027; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, s102028; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v14, s[4:5], v14, v15, s[4:5]2029; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill2030; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, s72031; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v13, s[4:5], v13, v14, s[4:5]2032; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill2033; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, s62034; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v12, s[4:5], v12, v13, s[4:5]2035; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill2036; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], s[8:9]2037; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], s[8:9]2038; GFX9-G-O0-NEXT: v_writelane_b32 v31, s8, 62039; GFX9-G-O0-NEXT: v_writelane_b32 v31, s9, 72040; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -12041; GFX9-G-O0-NEXT: buffer_store_dword v31, off, s[0:3], s32 ; 4-byte Folded Spill2042; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]2043; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, s72044; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, s62045; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, s52046; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, s42047; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill2048; GFX9-G-O0-NEXT: s_nop 02049; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill2050; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill2051; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill2052; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill2053; GFX9-G-O0-NEXT: s_nop 02054; GFX9-G-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill2055; GFX9-G-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill2056; GFX9-G-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill2057; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill2058; GFX9-G-O0-NEXT: s_nop 02059; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill2060; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill2061; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill2062; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill2063; GFX9-G-O0-NEXT: s_nop 02064; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill2065; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill2066; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill2067; GFX9-G-O0-NEXT: s_branch .LBB0_62068; GFX9-G-O0-NEXT: .LBB0_8: ; %udiv-bb12069; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -12070; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 ; 4-byte Folded Reload2071; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]2072; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload2073; GFX9-G-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload2074; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload2075; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload2076; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload2077; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload2078; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload2079; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload2080; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], 02081; GFX9-G-O0-NEXT: s_mov_b32 s6, 12082; GFX9-G-O0-NEXT: s_mov_b32 s10, 02083; GFX9-G-O0-NEXT: s_mov_b32 s9, 02084; GFX9-G-O0-NEXT: s_mov_b32 s8, 02085; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s62086; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)2087; GFX9-G-O0-NEXT: v_add_co_u32_e64 v4, s[6:7], v2, v42088; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill2089; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s102090; GFX9-G-O0-NEXT: s_waitcnt vmcnt(1)2091; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v5, s[6:7], v5, v7, s[6:7]2092; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s92093; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v7, s[6:7], v6, v7, s[6:7]2094; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s82095; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v6, s[6:7], v1, v6, s[6:7]2096; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v42097; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v52098; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v72099; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, v62100; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill2101; GFX9-G-O0-NEXT: s_nop 02102; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill2103; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill2104; GFX9-G-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill2105; GFX9-G-O0-NEXT: s_mov_b32 s6, 0x7f2106; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, s62107; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v8, s[6:7], v1, v22108; GFX9-G-O0-NEXT: s_mov_b32 s7, 642109; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13 killed $exec2110; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v02111; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v92112; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v32113; GFX9-G-O0-NEXT: s_mov_b32 s6, 0xffffffc02114; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s62115; GFX9-G-O0-NEXT: v_add_u32_e64 v2, v8, v02116; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s72117; GFX9-G-O0-NEXT: v_sub_u32_e64 v14, v0, v82118; GFX9-G-O0-NEXT: s_mov_b32 s6, 02119; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s72120; GFX9-G-O0-NEXT: v_cmp_lt_u32_e64 s[8:9], v8, v02121; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s62122; GFX9-G-O0-NEXT: v_cmp_eq_u32_e64 s[6:7], v8, v02123; GFX9-G-O0-NEXT: v_lshlrev_b64 v[0:1], v8, v[12:13]2124; GFX9-G-O0-NEXT: v_lshrrev_b64 v[17:18], v14, v[12:13]2125; GFX9-G-O0-NEXT: v_lshlrev_b64 v[15:16], v8, v[10:11]2126; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v172127; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v182128; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v152129; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v162130; GFX9-G-O0-NEXT: v_or_b32_e64 v11, v11, v142131; GFX9-G-O0-NEXT: v_or_b32_e64 v10, v8, v102132; GFX9-G-O0-NEXT: v_lshlrev_b64 v[12:13], v2, v[12:13]2133; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v02134; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v12135; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, 02136; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, 02137; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v0, v0, v8, s[8:9]2138; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v1, v2, s[8:9]2139; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec2140; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v22141; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v122142; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v132143; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v8, v8, v11, s[8:9]2144; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v2, v10, s[8:9]2145; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v8, v8, v9, s[6:7]2146; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[6:7]2147; GFX9-G-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec2148; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v22149; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec2150; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v82151; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v92152; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill2153; GFX9-G-O0-NEXT: s_nop 02154; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill2155; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill2156; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill2157; GFX9-G-O0-NEXT: s_mov_b64 s[8:9], s[4:5]2158; GFX9-G-O0-NEXT: s_mov_b64 s[10:11], s[4:5]2159; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v4, v72160; GFX9-G-O0-NEXT: v_or_b32_e64 v6, v5, v62161; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2162; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v62163; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s52164; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s42165; GFX9-G-O0-NEXT: v_cmp_ne_u64_e64 s[4:5], v[4:5], v[6:7]2166; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill2167; GFX9-G-O0-NEXT: s_nop 02168; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill2169; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill2170; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill2171; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s82172; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, s92173; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s102174; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, s112175; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill2176; GFX9-G-O0-NEXT: s_nop 02177; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill2178; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill2179; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill2180; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], exec2181; GFX9-G-O0-NEXT: s_and_b64 s[4:5], s[6:7], s[4:5]2182; GFX9-G-O0-NEXT: s_xor_b64 s[6:7], s[4:5], s[6:7]2183; GFX9-G-O0-NEXT: v_writelane_b32 v31, s6, 42184; GFX9-G-O0-NEXT: v_writelane_b32 v31, s7, 52185; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[20:21], -12186; GFX9-G-O0-NEXT: buffer_store_dword v31, off, s[0:3], s32 ; 4-byte Folded Spill2187; GFX9-G-O0-NEXT: s_mov_b64 exec, s[20:21]2188; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]2189; GFX9-G-O0-NEXT: s_cbranch_execz .LBB0_52190; GFX9-G-O0-NEXT: s_branch .LBB0_72191; GFX9-G-O0-NEXT: .LBB0_9: ; %udiv-end2192; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload2193; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload2194; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload2195; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload2196; GFX9-G-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload2197; GFX9-G-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload2198; GFX9-G-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload2199; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload2200; GFX9-G-O0-NEXT: s_waitcnt vmcnt(2)2201; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v82202; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v92203; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)2204; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v102205; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v112206; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v12207; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v22208; GFX9-G-O0-NEXT: v_xor_b32_e64 v0, v0, v72209; GFX9-G-O0-NEXT: v_xor_b32_e64 v1, v1, v62210; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v82211; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v92212; GFX9-G-O0-NEXT: v_xor_b32_e64 v2, v2, v52213; GFX9-G-O0-NEXT: v_xor_b32_e64 v3, v3, v42214; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v0, s[4:5], v0, v72215; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v1, s[4:5], v1, v6, s[4:5]2216; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v2, s[4:5], v2, v5, s[4:5]2217; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v3, s[4:5], v3, v4, s[4:5]2218; GFX9-G-O0-NEXT: s_xor_saveexec_b64 s[4:5], -12219; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload2220; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]2221; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)2222; GFX9-G-O0-NEXT: s_setpc_b64 s[30:31]2223 %div = sdiv i128 %lhs, %rhs2224 ret i128 %div2225}2226 2227define i128 @v_udiv_i128_vv(i128 %lhs, i128 %rhs) {2228; GFX9-LABEL: v_udiv_i128_vv:2229; GFX9: ; %bb.0: ; %_udiv-special-cases2230; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2231; GFX9-NEXT: v_or_b32_e32 v9, v5, v72232; GFX9-NEXT: v_or_b32_e32 v8, v4, v62233; GFX9-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[8:9]2234; GFX9-NEXT: v_or_b32_e32 v9, v1, v32235; GFX9-NEXT: v_or_b32_e32 v8, v0, v22236; GFX9-NEXT: v_cmp_eq_u64_e64 s[4:5], 0, v[8:9]2237; GFX9-NEXT: v_ffbh_u32_e32 v8, v62238; GFX9-NEXT: v_add_u32_e32 v8, 32, v82239; GFX9-NEXT: v_ffbh_u32_e32 v9, v72240; GFX9-NEXT: v_min_u32_e32 v8, v8, v92241; GFX9-NEXT: v_ffbh_u32_e32 v9, v42242; GFX9-NEXT: v_add_u32_e32 v9, 32, v92243; GFX9-NEXT: v_ffbh_u32_e32 v10, v52244; GFX9-NEXT: v_min_u32_e32 v9, v9, v102245; GFX9-NEXT: s_or_b64 s[4:5], vcc, s[4:5]2246; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, 64, v92247; GFX9-NEXT: v_addc_co_u32_e64 v10, s[6:7], 0, 0, vcc2248; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[6:7]2249; GFX9-NEXT: v_ffbh_u32_e32 v11, v32250; GFX9-NEXT: v_cndmask_b32_e32 v8, v9, v8, vcc2251; GFX9-NEXT: v_ffbh_u32_e32 v9, v22252; GFX9-NEXT: v_add_u32_e32 v9, 32, v92253; GFX9-NEXT: v_min_u32_e32 v9, v9, v112254; GFX9-NEXT: v_ffbh_u32_e32 v11, v02255; GFX9-NEXT: v_add_u32_e32 v11, 32, v112256; GFX9-NEXT: v_ffbh_u32_e32 v12, v12257; GFX9-NEXT: v_min_u32_e32 v11, v11, v122258; GFX9-NEXT: v_cndmask_b32_e64 v10, v10, 0, vcc2259; GFX9-NEXT: v_add_co_u32_e32 v11, vcc, 64, v112260; GFX9-NEXT: v_addc_co_u32_e64 v12, s[6:7], 0, 0, vcc2261; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[2:3]2262; GFX9-NEXT: s_mov_b64 s[6:7], 0x7f2263; GFX9-NEXT: v_cndmask_b32_e32 v9, v11, v9, vcc2264; GFX9-NEXT: v_cndmask_b32_e64 v13, v12, 0, vcc2265; GFX9-NEXT: v_sub_co_u32_e32 v12, vcc, v8, v92266; GFX9-NEXT: v_subb_co_u32_e32 v13, vcc, v10, v13, vcc2267; GFX9-NEXT: v_mov_b32_e32 v8, 02268; GFX9-NEXT: v_subb_co_u32_e32 v14, vcc, 0, v8, vcc2269; GFX9-NEXT: v_subb_co_u32_e32 v15, vcc, 0, v8, vcc2270; GFX9-NEXT: v_cmp_lt_u64_e32 vcc, s[6:7], v[12:13]2271; GFX9-NEXT: v_or_b32_e32 v10, v13, v152272; GFX9-NEXT: v_cndmask_b32_e64 v8, 0, 1, vcc2273; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[14:15]2274; GFX9-NEXT: v_cndmask_b32_e64 v9, 0, 1, vcc2275; GFX9-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[14:15]2276; GFX9-NEXT: v_cndmask_b32_e32 v8, v9, v8, vcc2277; GFX9-NEXT: v_and_b32_e32 v8, 1, v82278; GFX9-NEXT: v_xor_b32_e32 v9, 0x7f, v122279; GFX9-NEXT: v_cmp_eq_u32_e32 vcc, 1, v82280; GFX9-NEXT: v_or_b32_e32 v9, v9, v142281; GFX9-NEXT: s_or_b64 s[4:5], s[4:5], vcc2282; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[9:10]2283; GFX9-NEXT: s_xor_b64 s[6:7], s[4:5], -12284; GFX9-NEXT: v_cndmask_b32_e64 v8, v3, 0, s[4:5]2285; GFX9-NEXT: v_cndmask_b32_e64 v9, v2, 0, s[4:5]2286; GFX9-NEXT: v_cndmask_b32_e64 v10, v1, 0, s[4:5]2287; GFX9-NEXT: v_cndmask_b32_e64 v11, v0, 0, s[4:5]2288; GFX9-NEXT: s_and_b64 s[4:5], s[6:7], vcc2289; GFX9-NEXT: s_and_saveexec_b64 s[8:9], s[4:5]2290; GFX9-NEXT: s_cbranch_execz .LBB1_62291; GFX9-NEXT: ; %bb.1: ; %udiv-bb12292; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 1, v122293; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v13, vcc2294; GFX9-NEXT: v_addc_co_u32_e32 v20, vcc, 0, v14, vcc2295; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v15, vcc2296; GFX9-NEXT: v_sub_u32_e32 v15, 0x7f, v122297; GFX9-NEXT: v_or_b32_e32 v9, v19, v212298; GFX9-NEXT: v_or_b32_e32 v8, v18, v202299; GFX9-NEXT: v_sub_u32_e32 v13, 64, v152300; GFX9-NEXT: v_lshlrev_b64 v[10:11], v15, v[2:3]2301; GFX9-NEXT: v_lshrrev_b64 v[13:14], v13, v[0:1]2302; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[8:9]2303; GFX9-NEXT: v_sub_u32_e32 v8, 63, v122304; GFX9-NEXT: v_lshlrev_b64 v[8:9], v8, v[0:1]2305; GFX9-NEXT: v_or_b32_e32 v11, v11, v142306; GFX9-NEXT: v_or_b32_e32 v10, v10, v132307; GFX9-NEXT: v_cmp_gt_u32_e64 s[4:5], 64, v152308; GFX9-NEXT: v_cndmask_b32_e64 v9, v9, v11, s[4:5]2309; GFX9-NEXT: v_cndmask_b32_e64 v8, v8, v10, s[4:5]2310; GFX9-NEXT: v_lshlrev_b64 v[10:11], v15, v[0:1]2311; GFX9-NEXT: v_cmp_eq_u32_e64 s[6:7], 0, v152312; GFX9-NEXT: v_mov_b32_e32 v12, 02313; GFX9-NEXT: v_mov_b32_e32 v14, 02314; GFX9-NEXT: v_cndmask_b32_e64 v9, v9, v3, s[6:7]2315; GFX9-NEXT: v_cndmask_b32_e64 v8, v8, v2, s[6:7]2316; GFX9-NEXT: v_cndmask_b32_e64 v11, 0, v11, s[4:5]2317; GFX9-NEXT: v_mov_b32_e32 v13, 02318; GFX9-NEXT: v_mov_b32_e32 v15, 02319; GFX9-NEXT: v_cndmask_b32_e64 v10, 0, v10, s[4:5]2320; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc2321; GFX9-NEXT: s_xor_b64 s[6:7], exec, s[4:5]2322; GFX9-NEXT: s_cbranch_execz .LBB1_52323; GFX9-NEXT: ; %bb.2: ; %udiv-preheader2324; GFX9-NEXT: v_sub_u32_e32 v14, 64, v182325; GFX9-NEXT: v_lshrrev_b64 v[12:13], v18, v[0:1]2326; GFX9-NEXT: v_lshlrev_b64 v[14:15], v14, v[2:3]2327; GFX9-NEXT: v_cmp_gt_u32_e32 vcc, 64, v182328; GFX9-NEXT: v_or_b32_e32 v14, v12, v142329; GFX9-NEXT: v_subrev_u32_e32 v12, 64, v182330; GFX9-NEXT: v_or_b32_e32 v15, v13, v152331; GFX9-NEXT: v_lshrrev_b64 v[12:13], v12, v[2:3]2332; GFX9-NEXT: v_lshrrev_b64 v[2:3], v18, v[2:3]2333; GFX9-NEXT: v_cndmask_b32_e32 v13, v13, v15, vcc2334; GFX9-NEXT: v_cndmask_b32_e32 v12, v12, v14, vcc2335; GFX9-NEXT: v_cndmask_b32_e32 v3, 0, v3, vcc2336; GFX9-NEXT: v_cndmask_b32_e32 v2, 0, v2, vcc2337; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, -1, v42338; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, -1, v5, vcc2339; GFX9-NEXT: v_cmp_eq_u32_e64 s[4:5], 0, v182340; GFX9-NEXT: v_addc_co_u32_e32 v24, vcc, -1, v6, vcc2341; GFX9-NEXT: v_mov_b32_e32 v14, 02342; GFX9-NEXT: v_mov_b32_e32 v16, 02343; GFX9-NEXT: v_cndmask_b32_e64 v1, v13, v1, s[4:5]2344; GFX9-NEXT: v_cndmask_b32_e64 v0, v12, v0, s[4:5]2345; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, -1, v7, vcc2346; GFX9-NEXT: v_mov_b32_e32 v15, 02347; GFX9-NEXT: s_mov_b64 s[4:5], 02348; GFX9-NEXT: v_mov_b32_e32 v17, 02349; GFX9-NEXT: v_mov_b32_e32 v13, 02350; GFX9-NEXT: .LBB1_3: ; %udiv-do-while2351; GFX9-NEXT: ; =>This Inner Loop Header: Depth=12352; GFX9-NEXT: v_lshrrev_b32_e32 v12, 31, v112353; GFX9-NEXT: v_lshlrev_b64 v[10:11], 1, v[10:11]2354; GFX9-NEXT: v_lshlrev_b64 v[2:3], 1, v[2:3]2355; GFX9-NEXT: v_or_b32_e32 v10, v16, v102356; GFX9-NEXT: v_lshrrev_b32_e32 v16, 31, v12357; GFX9-NEXT: v_lshlrev_b64 v[0:1], 1, v[0:1]2358; GFX9-NEXT: v_or_b32_e32 v2, v2, v162359; GFX9-NEXT: v_lshrrev_b32_e32 v16, 31, v92360; GFX9-NEXT: v_or_b32_e32 v0, v0, v162361; GFX9-NEXT: v_sub_co_u32_e32 v16, vcc, v22, v02362; GFX9-NEXT: v_subb_co_u32_e32 v16, vcc, v23, v1, vcc2363; GFX9-NEXT: v_subb_co_u32_e32 v16, vcc, v24, v2, vcc2364; GFX9-NEXT: v_subb_co_u32_e32 v16, vcc, v25, v3, vcc2365; GFX9-NEXT: v_ashrrev_i32_e32 v26, 31, v162366; GFX9-NEXT: v_and_b32_e32 v16, v26, v42367; GFX9-NEXT: v_sub_co_u32_e32 v0, vcc, v0, v162368; GFX9-NEXT: v_and_b32_e32 v16, v26, v52369; GFX9-NEXT: v_subb_co_u32_e32 v1, vcc, v1, v16, vcc2370; GFX9-NEXT: v_and_b32_e32 v16, v26, v62371; GFX9-NEXT: v_subb_co_u32_e32 v2, vcc, v2, v16, vcc2372; GFX9-NEXT: v_and_b32_e32 v16, v26, v72373; GFX9-NEXT: v_subb_co_u32_e32 v3, vcc, v3, v16, vcc2374; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, -1, v182375; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, -1, v19, vcc2376; GFX9-NEXT: v_addc_co_u32_e32 v20, vcc, -1, v20, vcc2377; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, -1, v21, vcc2378; GFX9-NEXT: v_or_b32_e32 v11, v17, v112379; GFX9-NEXT: v_lshlrev_b64 v[8:9], 1, v[8:9]2380; GFX9-NEXT: v_or_b32_e32 v16, v18, v202381; GFX9-NEXT: v_or_b32_e32 v17, v19, v212382; GFX9-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[16:17]2383; GFX9-NEXT: v_or3_b32 v8, v8, v12, v142384; GFX9-NEXT: v_and_b32_e32 v12, 1, v262385; GFX9-NEXT: v_mov_b32_e32 v17, v132386; GFX9-NEXT: v_or3_b32 v9, v9, 0, v152387; GFX9-NEXT: s_or_b64 s[4:5], vcc, s[4:5]2388; GFX9-NEXT: v_mov_b32_e32 v16, v122389; GFX9-NEXT: s_andn2_b64 exec, exec, s[4:5]2390; GFX9-NEXT: s_cbranch_execnz .LBB1_32391; GFX9-NEXT: ; %bb.4: ; %Flow2392; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]2393; GFX9-NEXT: .LBB1_5: ; %Flow22394; GFX9-NEXT: s_or_b64 exec, exec, s[6:7]2395; GFX9-NEXT: v_lshlrev_b64 v[0:1], 1, v[10:11]2396; GFX9-NEXT: v_lshlrev_b64 v[2:3], 1, v[8:9]2397; GFX9-NEXT: v_lshrrev_b32_e32 v4, 31, v112398; GFX9-NEXT: v_or3_b32 v8, v3, 0, v152399; GFX9-NEXT: v_or3_b32 v9, v2, v4, v142400; GFX9-NEXT: v_or_b32_e32 v10, v13, v12401; GFX9-NEXT: v_or_b32_e32 v11, v12, v02402; GFX9-NEXT: .LBB1_6: ; %Flow32403; GFX9-NEXT: s_or_b64 exec, exec, s[8:9]2404; GFX9-NEXT: v_mov_b32_e32 v0, v112405; GFX9-NEXT: v_mov_b32_e32 v1, v102406; GFX9-NEXT: v_mov_b32_e32 v2, v92407; GFX9-NEXT: v_mov_b32_e32 v3, v82408; GFX9-NEXT: s_setpc_b64 s[30:31]2409;2410; GFX9-O0-LABEL: v_udiv_i128_vv:2411; GFX9-O0: ; %bb.0: ; %_udiv-special-cases2412; GFX9-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2413; GFX9-O0-NEXT: s_xor_saveexec_b64 s[4:5], -12414; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill2415; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]2416; GFX9-O0-NEXT: v_mov_b32_e32 v14, v62417; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill2418; GFX9-O0-NEXT: v_mov_b32_e32 v12, v22419; GFX9-O0-NEXT: v_mov_b32_e32 v9, v02420; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload2421; GFX9-O0-NEXT: ; kill: def $vgpr9 killed $vgpr9 def $vgpr9_vgpr10 killed $exec2422; GFX9-O0-NEXT: v_mov_b32_e32 v10, v12423; GFX9-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13 killed $exec2424; GFX9-O0-NEXT: v_mov_b32_e32 v13, v32425; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec2426; GFX9-O0-NEXT: v_mov_b32_e32 v1, v52427; GFX9-O0-NEXT: ; kill: def $vgpr14 killed $vgpr14 def $vgpr14_vgpr15 killed $exec2428; GFX9-O0-NEXT: v_mov_b32_e32 v15, v72429; GFX9-O0-NEXT: v_mov_b32_e32 v2, v142430; GFX9-O0-NEXT: v_mov_b32_e32 v3, v152431; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill2432; GFX9-O0-NEXT: s_nop 02433; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill2434; GFX9-O0-NEXT: s_waitcnt vmcnt(2)2435; GFX9-O0-NEXT: v_mov_b32_e32 v3, v12436; GFX9-O0-NEXT: v_mov_b32_e32 v2, v02437; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill2438; GFX9-O0-NEXT: s_nop 02439; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill2440; GFX9-O0-NEXT: v_mov_b32_e32 v2, v122441; GFX9-O0-NEXT: v_mov_b32_e32 v3, v132442; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill2443; GFX9-O0-NEXT: s_nop 02444; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill2445; GFX9-O0-NEXT: v_mov_b32_e32 v2, v92446; GFX9-O0-NEXT: v_mov_b32_e32 v3, v102447; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill2448; GFX9-O0-NEXT: s_nop 02449; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill2450; GFX9-O0-NEXT: v_mov_b32_e32 v6, v152451; GFX9-O0-NEXT: v_mov_b32_e32 v8, v12452; GFX9-O0-NEXT: v_or_b32_e64 v2, v8, v62453; GFX9-O0-NEXT: v_mov_b32_e32 v4, v142454; GFX9-O0-NEXT: v_mov_b32_e32 v5, v02455; GFX9-O0-NEXT: v_or_b32_e64 v0, v5, v42456; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec2457; GFX9-O0-NEXT: v_mov_b32_e32 v1, v22458; GFX9-O0-NEXT: s_mov_b64 s[6:7], 02459; GFX9-O0-NEXT: ; implicit-def: $vgpr30 : SGPR spill to VGPR lane2460; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 02461; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 12462; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[0:1], s[6:7]2463; GFX9-O0-NEXT: v_mov_b32_e32 v1, v132464; GFX9-O0-NEXT: v_mov_b32_e32 v3, v102465; GFX9-O0-NEXT: v_or_b32_e64 v7, v3, v12466; GFX9-O0-NEXT: v_mov_b32_e32 v0, v122467; GFX9-O0-NEXT: v_mov_b32_e32 v2, v92468; GFX9-O0-NEXT: v_or_b32_e64 v9, v2, v02469; GFX9-O0-NEXT: ; kill: def $vgpr9 killed $vgpr9 def $vgpr9_vgpr10 killed $exec2470; GFX9-O0-NEXT: v_mov_b32_e32 v10, v72471; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[9:10], s[6:7]2472; GFX9-O0-NEXT: s_or_b64 s[4:5], s[4:5], s[8:9]2473; GFX9-O0-NEXT: v_ffbh_u32_e64 v4, v42474; GFX9-O0-NEXT: s_mov_b32 s8, 322475; GFX9-O0-NEXT: v_add_u32_e64 v4, v4, s82476; GFX9-O0-NEXT: v_ffbh_u32_e64 v6, v62477; GFX9-O0-NEXT: v_min_u32_e64 v6, v4, v62478; GFX9-O0-NEXT: v_mov_b32_e32 v4, 02479; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec2480; GFX9-O0-NEXT: v_mov_b32_e32 v7, v42481; GFX9-O0-NEXT: v_mov_b32_e32 v10, v72482; GFX9-O0-NEXT: v_ffbh_u32_e64 v5, v52483; GFX9-O0-NEXT: v_add_u32_e64 v5, v5, s82484; GFX9-O0-NEXT: v_ffbh_u32_e64 v8, v82485; GFX9-O0-NEXT: v_min_u32_e64 v16, v5, v82486; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec2487; GFX9-O0-NEXT: v_mov_b32_e32 v17, v42488; GFX9-O0-NEXT: s_mov_b64 s[10:11], 642489; GFX9-O0-NEXT: v_mov_b32_e32 v8, v162490; GFX9-O0-NEXT: s_mov_b32 s12, s102491; GFX9-O0-NEXT: v_mov_b32_e32 v5, v172492; GFX9-O0-NEXT: s_mov_b32 s9, s112493; GFX9-O0-NEXT: v_add_co_u32_e64 v8, s[12:13], v8, s122494; GFX9-O0-NEXT: v_mov_b32_e32 v9, s92495; GFX9-O0-NEXT: v_addc_co_u32_e64 v5, s[12:13], v5, v9, s[12:13]2496; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec2497; GFX9-O0-NEXT: v_mov_b32_e32 v9, v52498; GFX9-O0-NEXT: v_mov_b32_e32 v5, v92499; GFX9-O0-NEXT: s_mov_b64 s[12:13], s[6:7]2500; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[12:13], v[14:15], s[12:13]2501; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v10, s[12:13]2502; GFX9-O0-NEXT: v_mov_b32_e32 v7, v62503; GFX9-O0-NEXT: v_mov_b32_e32 v6, v82504; GFX9-O0-NEXT: v_cndmask_b32_e64 v8, v6, v7, s[12:13]2505; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec2506; GFX9-O0-NEXT: v_mov_b32_e32 v9, v52507; GFX9-O0-NEXT: v_ffbh_u32_e64 v5, v02508; GFX9-O0-NEXT: v_add_u32_e64 v5, v5, s82509; GFX9-O0-NEXT: v_ffbh_u32_e64 v6, v12510; GFX9-O0-NEXT: v_min_u32_e64 v5, v5, v62511; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec2512; GFX9-O0-NEXT: v_mov_b32_e32 v6, v42513; GFX9-O0-NEXT: v_mov_b32_e32 v7, v62514; GFX9-O0-NEXT: v_ffbh_u32_e64 v10, v22515; GFX9-O0-NEXT: v_add_u32_e64 v10, v10, s82516; GFX9-O0-NEXT: v_ffbh_u32_e64 v11, v32517; GFX9-O0-NEXT: v_min_u32_e64 v14, v10, v112518; GFX9-O0-NEXT: ; kill: def $vgpr14 killed $vgpr14 def $vgpr14_vgpr15 killed $exec2519; GFX9-O0-NEXT: v_mov_b32_e32 v15, v42520; GFX9-O0-NEXT: v_mov_b32_e32 v10, v142521; GFX9-O0-NEXT: s_mov_b32 s8, s102522; GFX9-O0-NEXT: v_mov_b32_e32 v4, v152523; GFX9-O0-NEXT: s_mov_b32 s10, s112524; GFX9-O0-NEXT: v_add_co_u32_e64 v10, s[8:9], v10, s82525; GFX9-O0-NEXT: v_mov_b32_e32 v11, s102526; GFX9-O0-NEXT: v_addc_co_u32_e64 v4, s[8:9], v4, v11, s[8:9]2527; GFX9-O0-NEXT: ; kill: def $vgpr10 killed $vgpr10 def $vgpr10_vgpr11 killed $exec2528; GFX9-O0-NEXT: v_mov_b32_e32 v11, v42529; GFX9-O0-NEXT: v_mov_b32_e32 v4, v112530; GFX9-O0-NEXT: s_mov_b64 s[8:9], s[6:7]2531; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[8:9], v[12:13], s[8:9]2532; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v7, s[8:9]2533; GFX9-O0-NEXT: v_mov_b32_e32 v6, v52534; GFX9-O0-NEXT: v_mov_b32_e32 v5, v102535; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[8:9]2536; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec2537; GFX9-O0-NEXT: v_mov_b32_e32 v6, v42538; GFX9-O0-NEXT: v_mov_b32_e32 v7, v52539; GFX9-O0-NEXT: v_mov_b32_e32 v4, v82540; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 killed $vgpr5_vgpr6 killed $exec2541; GFX9-O0-NEXT: v_mov_b32_e32 v5, v92542; GFX9-O0-NEXT: s_mov_b32 s10, s62543; GFX9-O0-NEXT: s_mov_b32 s11, s72544; GFX9-O0-NEXT: v_sub_co_u32_e32 v4, vcc, v4, v72545; GFX9-O0-NEXT: v_subb_co_u32_e32 v8, vcc, v5, v6, vcc2546; GFX9-O0-NEXT: v_mov_b32_e32 v6, s102547; GFX9-O0-NEXT: v_mov_b32_e32 v5, s102548; GFX9-O0-NEXT: v_subb_co_u32_e32 v7, vcc, v5, v6, vcc2549; GFX9-O0-NEXT: v_mov_b32_e32 v6, s112550; GFX9-O0-NEXT: v_mov_b32_e32 v5, s112551; GFX9-O0-NEXT: v_subb_co_u32_e32 v6, vcc, v5, v6, vcc2552; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2553; GFX9-O0-NEXT: v_mov_b32_e32 v5, v82554; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill2555; GFX9-O0-NEXT: s_nop 02556; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill2557; GFX9-O0-NEXT: ; kill: def $vgpr7 killed $vgpr7 def $vgpr7_vgpr8 killed $exec2558; GFX9-O0-NEXT: v_mov_b32_e32 v8, v62559; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill2560; GFX9-O0-NEXT: s_nop 02561; GFX9-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill2562; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[7:8], s[6:7]2563; GFX9-O0-NEXT: s_mov_b64 s[12:13], 0x7f2564; GFX9-O0-NEXT: v_cmp_gt_u64_e64 s[14:15], v[4:5], s[12:13]2565; GFX9-O0-NEXT: v_cndmask_b32_e64 v9, 0, 1, s[14:15]2566; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[14:15], v[7:8], s[6:7]2567; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, 0, 1, s[14:15]2568; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v6, v9, s[8:9]2569; GFX9-O0-NEXT: v_and_b32_e64 v6, 1, v62570; GFX9-O0-NEXT: v_cmp_eq_u32_e64 s[8:9], v6, 12571; GFX9-O0-NEXT: s_or_b64 s[8:9], s[4:5], s[8:9]2572; GFX9-O0-NEXT: s_mov_b64 s[4:5], -12573; GFX9-O0-NEXT: s_xor_b64 s[4:5], s[8:9], s[4:5]2574; GFX9-O0-NEXT: v_mov_b32_e32 v6, v52575; GFX9-O0-NEXT: s_mov_b32 s14, s132576; GFX9-O0-NEXT: v_xor_b32_e64 v6, v6, s142577; GFX9-O0-NEXT: ; kill: def $sgpr12 killed $sgpr12 killed $sgpr12_sgpr132578; GFX9-O0-NEXT: v_xor_b32_e64 v4, v4, s122579; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2580; GFX9-O0-NEXT: v_mov_b32_e32 v5, v62581; GFX9-O0-NEXT: v_mov_b32_e32 v6, v52582; GFX9-O0-NEXT: v_mov_b32_e32 v9, v82583; GFX9-O0-NEXT: v_or_b32_e64 v6, v6, v92584; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 killed $vgpr4_vgpr5 killed $exec2585; GFX9-O0-NEXT: v_mov_b32_e32 v5, v72586; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v52587; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2588; GFX9-O0-NEXT: v_mov_b32_e32 v5, v62589; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[6:7], v[4:5], s[6:7]2590; GFX9-O0-NEXT: v_mov_b32_e32 v4, s112591; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v1, v4, s[8:9]2592; GFX9-O0-NEXT: v_mov_b32_e32 v1, s102593; GFX9-O0-NEXT: v_cndmask_b32_e64 v0, v0, v1, s[8:9]2594; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec2595; GFX9-O0-NEXT: v_mov_b32_e32 v1, v42596; GFX9-O0-NEXT: v_mov_b32_e32 v4, s112597; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v3, v4, s[8:9]2598; GFX9-O0-NEXT: v_mov_b32_e32 v3, s102599; GFX9-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[8:9]2600; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec2601; GFX9-O0-NEXT: v_mov_b32_e32 v3, v42602; GFX9-O0-NEXT: s_and_b64 s[6:7], s[4:5], s[6:7]2603; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill2604; GFX9-O0-NEXT: s_nop 02605; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill2606; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill2607; GFX9-O0-NEXT: s_nop 02608; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill2609; GFX9-O0-NEXT: s_mov_b64 s[4:5], exec2610; GFX9-O0-NEXT: v_writelane_b32 v30, s4, 22611; GFX9-O0-NEXT: v_writelane_b32 v30, s5, 32612; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12613; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill2614; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2615; GFX9-O0-NEXT: s_and_b64 s[4:5], s[4:5], s[6:7]2616; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]2617; GFX9-O0-NEXT: s_cbranch_execz .LBB1_32618; GFX9-O0-NEXT: s_branch .LBB1_82619; GFX9-O0-NEXT: .LBB1_1: ; %Flow2620; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12621; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload2622; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2623; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2624; GFX9-O0-NEXT: v_readlane_b32 s4, v30, 42625; GFX9-O0-NEXT: v_readlane_b32 s5, v30, 52626; GFX9-O0-NEXT: s_or_b64 exec, exec, s[4:5]2627; GFX9-O0-NEXT: ; %bb.2: ; %Flow2628; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload2629; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload2630; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload2631; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload2632; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload2633; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload2634; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload2635; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload2636; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2637; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill2638; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2639; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill2640; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2641; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill2642; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2643; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill2644; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2645; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill2646; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2647; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill2648; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2649; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill2650; GFX9-O0-NEXT: s_waitcnt vmcnt(7)2651; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill2652; GFX9-O0-NEXT: s_branch .LBB1_52653; GFX9-O0-NEXT: .LBB1_3: ; %Flow22654; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12655; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload2656; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2657; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2658; GFX9-O0-NEXT: v_readlane_b32 s4, v30, 22659; GFX9-O0-NEXT: v_readlane_b32 s5, v30, 32660; GFX9-O0-NEXT: s_or_b64 exec, exec, s[4:5]2661; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload2662; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload2663; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload2664; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload2665; GFX9-O0-NEXT: s_waitcnt vmcnt(1)2666; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill2667; GFX9-O0-NEXT: s_waitcnt vmcnt(1)2668; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill2669; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill2670; GFX9-O0-NEXT: s_nop 02671; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill2672; GFX9-O0-NEXT: s_branch .LBB1_92673; GFX9-O0-NEXT: .LBB1_4: ; %udiv-loop-exit2674; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload2675; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload2676; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload2677; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload2678; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload2679; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload2680; GFX9-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload2681; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload2682; GFX9-O0-NEXT: s_mov_b32 s4, 12683; GFX9-O0-NEXT: s_waitcnt vmcnt(2)2684; GFX9-O0-NEXT: v_lshlrev_b64 v[2:3], s4, v[0:1]2685; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2686; GFX9-O0-NEXT: v_lshlrev_b64 v[9:10], s4, v[9:10]2687; GFX9-O0-NEXT: s_mov_b32 s4, 632688; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[0:1]2689; GFX9-O0-NEXT: v_mov_b32_e32 v11, v12690; GFX9-O0-NEXT: v_mov_b32_e32 v4, v102691; GFX9-O0-NEXT: v_mov_b32_e32 v12, v82692; GFX9-O0-NEXT: v_or3_b32 v4, v4, v11, v122693; GFX9-O0-NEXT: v_mov_b32_e32 v1, v02694; GFX9-O0-NEXT: v_mov_b32_e32 v0, v92695; GFX9-O0-NEXT: v_or3_b32 v0, v0, v1, v72696; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec2697; GFX9-O0-NEXT: v_mov_b32_e32 v1, v42698; GFX9-O0-NEXT: v_mov_b32_e32 v7, v32699; GFX9-O0-NEXT: v_mov_b32_e32 v4, v62700; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v72701; GFX9-O0-NEXT: v_mov_b32_e32 v3, v22702; GFX9-O0-NEXT: v_mov_b32_e32 v2, v52703; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v32704; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec2705; GFX9-O0-NEXT: v_mov_b32_e32 v3, v42706; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill2707; GFX9-O0-NEXT: s_nop 02708; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill2709; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill2710; GFX9-O0-NEXT: s_nop 02711; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill2712; GFX9-O0-NEXT: s_branch .LBB1_32713; GFX9-O0-NEXT: .LBB1_5: ; %Flow12714; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12715; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload2716; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2717; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2718; GFX9-O0-NEXT: v_readlane_b32 s4, v30, 62719; GFX9-O0-NEXT: v_readlane_b32 s5, v30, 72720; GFX9-O0-NEXT: s_or_b64 exec, exec, s[4:5]2721; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload2722; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload2723; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload2724; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload2725; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload2726; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload2727; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload2728; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload2729; GFX9-O0-NEXT: s_waitcnt vmcnt(1)2730; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill2731; GFX9-O0-NEXT: s_waitcnt vmcnt(1)2732; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill2733; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill2734; GFX9-O0-NEXT: s_nop 02735; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill2736; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill2737; GFX9-O0-NEXT: s_nop 02738; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill2739; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill2740; GFX9-O0-NEXT: s_nop 02741; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill2742; GFX9-O0-NEXT: s_branch .LBB1_42743; GFX9-O0-NEXT: .LBB1_6: ; %udiv-do-while2744; GFX9-O0-NEXT: ; =>This Inner Loop Header: Depth=12745; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12746; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload2747; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2748; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2749; GFX9-O0-NEXT: v_readlane_b32 s6, v30, 82750; GFX9-O0-NEXT: v_readlane_b32 s7, v30, 92751; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload2752; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload2753; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload2754; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload2755; GFX9-O0-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload2756; GFX9-O0-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload2757; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload2758; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload2759; GFX9-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload2760; GFX9-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload2761; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload2762; GFX9-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload2763; GFX9-O0-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload2764; GFX9-O0-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload2765; GFX9-O0-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload2766; GFX9-O0-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload2767; GFX9-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload2768; GFX9-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload2769; GFX9-O0-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload2770; GFX9-O0-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload2771; GFX9-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload2772; GFX9-O0-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload2773; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload2774; GFX9-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload2775; GFX9-O0-NEXT: s_mov_b32 s4, 632776; GFX9-O0-NEXT: s_waitcnt vmcnt(16)2777; GFX9-O0-NEXT: v_lshrrev_b64 v[28:29], s4, v[2:3]2778; GFX9-O0-NEXT: v_mov_b32_e32 v5, v292779; GFX9-O0-NEXT: s_mov_b32 s5, 12780; GFX9-O0-NEXT: v_lshlrev_b64 v[22:23], s5, v[22:23]2781; GFX9-O0-NEXT: v_mov_b32_e32 v4, v232782; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v52783; GFX9-O0-NEXT: v_mov_b32_e32 v10, v282784; GFX9-O0-NEXT: v_mov_b32_e32 v5, v222785; GFX9-O0-NEXT: v_or_b32_e64 v22, v5, v102786; GFX9-O0-NEXT: ; kill: def $vgpr22 killed $vgpr22 def $vgpr22_vgpr23 killed $exec2787; GFX9-O0-NEXT: v_mov_b32_e32 v23, v42788; GFX9-O0-NEXT: v_lshlrev_b64 v[28:29], s5, v[2:3]2789; GFX9-O0-NEXT: v_lshrrev_b64 v[4:5], s4, v[6:7]2790; GFX9-O0-NEXT: v_mov_b32_e32 v2, v292791; GFX9-O0-NEXT: v_mov_b32_e32 v3, v52792; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v32793; GFX9-O0-NEXT: v_mov_b32_e32 v3, v282794; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 killed $vgpr4_vgpr5 killed $exec2795; GFX9-O0-NEXT: v_or_b32_e64 v4, v3, v42796; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2797; GFX9-O0-NEXT: v_mov_b32_e32 v5, v22798; GFX9-O0-NEXT: v_lshlrev_b64 v[2:3], s5, v[0:1]2799; GFX9-O0-NEXT: v_lshlrev_b64 v[28:29], s5, v[6:7]2800; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[0:1]2801; GFX9-O0-NEXT: v_mov_b32_e32 v7, v12802; GFX9-O0-NEXT: v_mov_b32_e32 v6, v292803; GFX9-O0-NEXT: s_waitcnt vmcnt(10)2804; GFX9-O0-NEXT: v_mov_b32_e32 v10, v272805; GFX9-O0-NEXT: v_or3_b32 v6, v6, v7, v102806; GFX9-O0-NEXT: v_mov_b32_e32 v1, v02807; GFX9-O0-NEXT: v_mov_b32_e32 v0, v282808; GFX9-O0-NEXT: v_mov_b32_e32 v7, v262809; GFX9-O0-NEXT: v_or3_b32 v0, v0, v1, v72810; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec2811; GFX9-O0-NEXT: v_mov_b32_e32 v1, v62812; GFX9-O0-NEXT: v_mov_b32_e32 v7, v32813; GFX9-O0-NEXT: s_waitcnt vmcnt(8)2814; GFX9-O0-NEXT: v_mov_b32_e32 v6, v252815; GFX9-O0-NEXT: v_or_b32_e64 v6, v6, v72816; GFX9-O0-NEXT: v_mov_b32_e32 v3, v22817; GFX9-O0-NEXT: v_mov_b32_e32 v2, v242818; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v32819; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 def $vgpr2_vgpr3 killed $exec2820; GFX9-O0-NEXT: v_mov_b32_e32 v3, v62821; GFX9-O0-NEXT: v_mov_b32_e32 v6, v42822; GFX9-O0-NEXT: v_mov_b32_e32 v10, v52823; GFX9-O0-NEXT: v_mov_b32_e32 v4, v222824; GFX9-O0-NEXT: v_mov_b32_e32 v5, v232825; GFX9-O0-NEXT: s_waitcnt vmcnt(1)2826; GFX9-O0-NEXT: v_mov_b32_e32 v13, v112827; GFX9-O0-NEXT: v_mov_b32_e32 v11, v142828; GFX9-O0-NEXT: v_mov_b32_e32 v7, v152829; GFX9-O0-NEXT: v_sub_co_u32_e32 v13, vcc, v13, v62830; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2831; GFX9-O0-NEXT: v_subb_co_u32_e32 v12, vcc, v12, v10, vcc2832; GFX9-O0-NEXT: v_subb_co_u32_e32 v11, vcc, v11, v4, vcc2833; GFX9-O0-NEXT: v_subb_co_u32_e32 v7, vcc, v7, v5, vcc2834; GFX9-O0-NEXT: ; kill: def $vgpr11 killed $vgpr11 def $vgpr11_vgpr12 killed $exec2835; GFX9-O0-NEXT: v_mov_b32_e32 v12, v72836; GFX9-O0-NEXT: v_ashrrev_i64 v[13:14], s4, v[11:12]2837; GFX9-O0-NEXT: v_mov_b32_e32 v7, v142838; GFX9-O0-NEXT: s_mov_b64 s[4:5], 12839; GFX9-O0-NEXT: s_mov_b32 s8, s52840; GFX9-O0-NEXT: v_and_b32_e64 v12, v7, s82841; GFX9-O0-NEXT: v_mov_b32_e32 v11, v132842; GFX9-O0-NEXT: ; kill: def $sgpr4 killed $sgpr4 killed $sgpr4_sgpr52843; GFX9-O0-NEXT: v_and_b32_e64 v14, v11, s42844; GFX9-O0-NEXT: ; kill: def $vgpr14 killed $vgpr14 def $vgpr14_vgpr15 killed $exec2845; GFX9-O0-NEXT: v_mov_b32_e32 v15, v122846; GFX9-O0-NEXT: v_mov_b32_e32 v12, 02847; GFX9-O0-NEXT: v_mov_b32_e32 v13, 02848; GFX9-O0-NEXT: v_mov_b32_e32 v22, v212849; GFX9-O0-NEXT: v_and_b32_e64 v22, v7, v222850; GFX9-O0-NEXT: v_and_b32_e64 v20, v11, v202851; GFX9-O0-NEXT: ; kill: def $vgpr20 killed $vgpr20 def $vgpr20_vgpr21 killed $exec2852; GFX9-O0-NEXT: v_mov_b32_e32 v21, v222853; GFX9-O0-NEXT: v_mov_b32_e32 v22, v192854; GFX9-O0-NEXT: v_and_b32_e64 v7, v7, v222855; GFX9-O0-NEXT: v_and_b32_e64 v22, v11, v182856; GFX9-O0-NEXT: ; kill: def $vgpr22 killed $vgpr22 def $vgpr22_vgpr23 killed $exec2857; GFX9-O0-NEXT: v_mov_b32_e32 v23, v72858; GFX9-O0-NEXT: v_mov_b32_e32 v19, v222859; GFX9-O0-NEXT: v_mov_b32_e32 v18, v232860; GFX9-O0-NEXT: v_mov_b32_e32 v11, v202861; GFX9-O0-NEXT: v_mov_b32_e32 v7, v212862; GFX9-O0-NEXT: v_sub_co_u32_e32 v6, vcc, v6, v192863; GFX9-O0-NEXT: v_subb_co_u32_e32 v10, vcc, v10, v18, vcc2864; GFX9-O0-NEXT: v_subb_co_u32_e32 v4, vcc, v4, v11, vcc2865; GFX9-O0-NEXT: v_subb_co_u32_e32 v7, vcc, v5, v7, vcc2866; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec2867; GFX9-O0-NEXT: v_mov_b32_e32 v5, v72868; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec2869; GFX9-O0-NEXT: v_mov_b32_e32 v7, v102870; GFX9-O0-NEXT: v_mov_b32_e32 v11, v82871; GFX9-O0-NEXT: ; kill: def $vgpr9 killed $vgpr9 killed $vgpr8_vgpr9 killed $exec2872; GFX9-O0-NEXT: s_mov_b64 s[8:9], -12873; GFX9-O0-NEXT: s_mov_b32 s5, s82874; GFX9-O0-NEXT: s_mov_b32 s4, s92875; GFX9-O0-NEXT: v_mov_b32_e32 v10, v162876; GFX9-O0-NEXT: v_mov_b32_e32 v8, v172877; GFX9-O0-NEXT: v_mov_b32_e32 v16, s52878; GFX9-O0-NEXT: v_add_co_u32_e32 v19, vcc, v11, v162879; GFX9-O0-NEXT: v_mov_b32_e32 v11, s42880; GFX9-O0-NEXT: v_addc_co_u32_e32 v9, vcc, v9, v11, vcc2881; GFX9-O0-NEXT: v_mov_b32_e32 v11, s52882; GFX9-O0-NEXT: v_addc_co_u32_e32 v16, vcc, v10, v11, vcc2883; GFX9-O0-NEXT: v_mov_b32_e32 v10, s42884; GFX9-O0-NEXT: v_addc_co_u32_e32 v8, vcc, v8, v10, vcc2885; GFX9-O0-NEXT: ; kill: def $vgpr19 killed $vgpr19 def $vgpr19_vgpr20 killed $exec2886; GFX9-O0-NEXT: v_mov_b32_e32 v20, v92887; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec2888; GFX9-O0-NEXT: v_mov_b32_e32 v17, v82889; GFX9-O0-NEXT: v_mov_b32_e32 v8, v162890; GFX9-O0-NEXT: v_mov_b32_e32 v9, v172891; GFX9-O0-NEXT: v_mov_b32_e32 v10, v192892; GFX9-O0-NEXT: v_mov_b32_e32 v11, v202893; GFX9-O0-NEXT: v_mov_b32_e32 v21, v172894; GFX9-O0-NEXT: v_mov_b32_e32 v18, v202895; GFX9-O0-NEXT: v_or_b32_e64 v18, v18, v212896; GFX9-O0-NEXT: v_mov_b32_e32 v17, v162897; GFX9-O0-NEXT: v_mov_b32_e32 v16, v192898; GFX9-O0-NEXT: v_or_b32_e64 v16, v16, v172899; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec2900; GFX9-O0-NEXT: v_mov_b32_e32 v17, v182901; GFX9-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[16:17], v[12:13]2902; GFX9-O0-NEXT: s_or_b64 s[4:5], s[4:5], s[6:7]2903; GFX9-O0-NEXT: v_mov_b32_e32 v17, v32904; GFX9-O0-NEXT: v_mov_b32_e32 v16, v22905; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill2906; GFX9-O0-NEXT: s_nop 02907; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill2908; GFX9-O0-NEXT: v_mov_b32_e32 v17, v12909; GFX9-O0-NEXT: v_mov_b32_e32 v16, v02910; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill2911; GFX9-O0-NEXT: s_nop 02912; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill2913; GFX9-O0-NEXT: v_mov_b32_e32 v17, v152914; GFX9-O0-NEXT: v_mov_b32_e32 v16, v142915; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill2916; GFX9-O0-NEXT: s_nop 02917; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill2918; GFX9-O0-NEXT: v_mov_b32_e32 v17, v132919; GFX9-O0-NEXT: v_mov_b32_e32 v16, v122920; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill2921; GFX9-O0-NEXT: s_nop 02922; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill2923; GFX9-O0-NEXT: s_mov_b64 s[6:7], s[4:5]2924; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 42925; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 52926; GFX9-O0-NEXT: s_mov_b64 s[6:7], s[4:5]2927; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 82928; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 92929; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12930; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill2931; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2932; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill2933; GFX9-O0-NEXT: s_nop 02934; GFX9-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill2935; GFX9-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill2936; GFX9-O0-NEXT: s_nop 02937; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill2938; GFX9-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill2939; GFX9-O0-NEXT: s_nop 02940; GFX9-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill2941; GFX9-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill2942; GFX9-O0-NEXT: s_nop 02943; GFX9-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill2944; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill2945; GFX9-O0-NEXT: s_nop 02946; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill2947; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill2948; GFX9-O0-NEXT: s_nop 02949; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill2950; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill2951; GFX9-O0-NEXT: s_nop 02952; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill2953; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill2954; GFX9-O0-NEXT: s_nop 02955; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill2956; GFX9-O0-NEXT: s_andn2_b64 exec, exec, s[4:5]2957; GFX9-O0-NEXT: s_cbranch_execnz .LBB1_62958; GFX9-O0-NEXT: s_branch .LBB1_12959; GFX9-O0-NEXT: .LBB1_7: ; %udiv-preheader2960; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -12961; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload2962; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]2963; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload2964; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload2965; GFX9-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload2966; GFX9-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload2967; GFX9-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload2968; GFX9-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload2969; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload2970; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload2971; GFX9-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload2972; GFX9-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload2973; GFX9-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload2974; GFX9-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload2975; GFX9-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload2976; GFX9-O0-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload2977; GFX9-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload2978; GFX9-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload2979; GFX9-O0-NEXT: s_waitcnt vmcnt(9)2980; GFX9-O0-NEXT: v_mov_b32_e32 v4, v102981; GFX9-O0-NEXT: s_waitcnt vmcnt(0)2982; GFX9-O0-NEXT: v_lshrrev_b64 v[6:7], v4, v[18:19]2983; GFX9-O0-NEXT: v_mov_b32_e32 v5, v72984; GFX9-O0-NEXT: s_mov_b32 s4, 642985; GFX9-O0-NEXT: v_sub_u32_e64 v20, s4, v42986; GFX9-O0-NEXT: v_lshlrev_b64 v[20:21], v20, v[14:15]2987; GFX9-O0-NEXT: v_mov_b32_e32 v22, v212988; GFX9-O0-NEXT: v_or_b32_e64 v5, v5, v222989; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 killed $vgpr6_vgpr7 killed $exec2990; GFX9-O0-NEXT: v_mov_b32_e32 v7, v202991; GFX9-O0-NEXT: v_or_b32_e64 v6, v6, v72992; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec2993; GFX9-O0-NEXT: v_mov_b32_e32 v7, v52994; GFX9-O0-NEXT: v_mov_b32_e32 v22, v72995; GFX9-O0-NEXT: v_cmp_lt_u32_e64 s[6:7], v4, s42996; GFX9-O0-NEXT: v_sub_u32_e64 v5, v4, s42997; GFX9-O0-NEXT: v_lshrrev_b64 v[20:21], v5, v[14:15]2998; GFX9-O0-NEXT: v_mov_b32_e32 v5, v212999; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v22, s[6:7]3000; GFX9-O0-NEXT: s_mov_b32 s4, 03001; GFX9-O0-NEXT: v_cmp_eq_u32_e64 s[4:5], v4, s43002; GFX9-O0-NEXT: v_mov_b32_e32 v22, v193003; GFX9-O0-NEXT: v_cndmask_b32_e64 v5, v5, v22, s[4:5]3004; GFX9-O0-NEXT: v_mov_b32_e32 v7, v63005; GFX9-O0-NEXT: v_mov_b32_e32 v6, v203006; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v6, v7, s[6:7]3007; GFX9-O0-NEXT: v_mov_b32_e32 v7, v183008; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v6, v7, s[4:5]3009; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec3010; GFX9-O0-NEXT: v_mov_b32_e32 v7, v53011; GFX9-O0-NEXT: v_lshrrev_b64 v[4:5], v4, v[14:15]3012; GFX9-O0-NEXT: v_mov_b32_e32 v15, v53013; GFX9-O0-NEXT: s_mov_b64 s[4:5], 03014; GFX9-O0-NEXT: s_mov_b32 s8, s53015; GFX9-O0-NEXT: v_mov_b32_e32 v14, s83016; GFX9-O0-NEXT: v_cndmask_b32_e64 v14, v14, v15, s[6:7]3017; GFX9-O0-NEXT: v_mov_b32_e32 v5, v43018; GFX9-O0-NEXT: s_mov_b32 s8, s43019; GFX9-O0-NEXT: v_mov_b32_e32 v4, s83020; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[6:7]3021; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec3022; GFX9-O0-NEXT: v_mov_b32_e32 v5, v143023; GFX9-O0-NEXT: v_mov_b32_e32 v15, v123024; GFX9-O0-NEXT: v_mov_b32_e32 v12, v133025; GFX9-O0-NEXT: s_mov_b64 s[8:9], -13026; GFX9-O0-NEXT: s_mov_b32 s7, s83027; GFX9-O0-NEXT: s_mov_b32 s6, s93028; GFX9-O0-NEXT: v_mov_b32_e32 v14, v163029; GFX9-O0-NEXT: v_mov_b32_e32 v13, v173030; GFX9-O0-NEXT: v_mov_b32_e32 v16, s73031; GFX9-O0-NEXT: v_add_co_u32_e32 v16, vcc, v15, v163032; GFX9-O0-NEXT: v_mov_b32_e32 v15, s63033; GFX9-O0-NEXT: v_addc_co_u32_e32 v12, vcc, v12, v15, vcc3034; GFX9-O0-NEXT: v_mov_b32_e32 v15, s73035; GFX9-O0-NEXT: v_addc_co_u32_e32 v18, vcc, v14, v15, vcc3036; GFX9-O0-NEXT: v_mov_b32_e32 v14, s63037; GFX9-O0-NEXT: v_addc_co_u32_e32 v13, vcc, v13, v14, vcc3038; GFX9-O0-NEXT: ; kill: def $vgpr18 killed $vgpr18 def $vgpr18_vgpr19 killed $exec3039; GFX9-O0-NEXT: v_mov_b32_e32 v19, v133040; GFX9-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec3041; GFX9-O0-NEXT: v_mov_b32_e32 v17, v123042; GFX9-O0-NEXT: v_mov_b32_e32 v13, s53043; GFX9-O0-NEXT: v_mov_b32_e32 v12, s43044; GFX9-O0-NEXT: v_mov_b32_e32 v15, s53045; GFX9-O0-NEXT: v_mov_b32_e32 v14, s43046; GFX9-O0-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill3047; GFX9-O0-NEXT: s_nop 03048; GFX9-O0-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill3049; GFX9-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill3050; GFX9-O0-NEXT: s_nop 03051; GFX9-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill3052; GFX9-O0-NEXT: v_writelane_b32 v30, s4, 83053; GFX9-O0-NEXT: v_writelane_b32 v30, s5, 93054; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -13055; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill3056; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]3057; GFX9-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill3058; GFX9-O0-NEXT: s_nop 03059; GFX9-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill3060; GFX9-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill3061; GFX9-O0-NEXT: s_nop 03062; GFX9-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill3063; GFX9-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill3064; GFX9-O0-NEXT: s_nop 03065; GFX9-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill3066; GFX9-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill3067; GFX9-O0-NEXT: s_nop 03068; GFX9-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill3069; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill3070; GFX9-O0-NEXT: s_nop 03071; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill3072; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill3073; GFX9-O0-NEXT: s_nop 03074; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill3075; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill3076; GFX9-O0-NEXT: s_nop 03077; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill3078; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill3079; GFX9-O0-NEXT: s_nop 03080; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill3081; GFX9-O0-NEXT: s_branch .LBB1_63082; GFX9-O0-NEXT: .LBB1_8: ; %udiv-bb13083; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -13084; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 ; 4-byte Folded Reload3085; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]3086; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload3087; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload3088; GFX9-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload3089; GFX9-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload3090; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload3091; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload3092; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload3093; GFX9-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload3094; GFX9-O0-NEXT: s_mov_b64 s[6:7], 13095; GFX9-O0-NEXT: s_mov_b32 s5, s63096; GFX9-O0-NEXT: s_waitcnt vmcnt(1)3097; GFX9-O0-NEXT: v_mov_b32_e32 v3, v03098; GFX9-O0-NEXT: s_mov_b32 s4, s73099; GFX9-O0-NEXT: s_mov_b64 s[6:7], 03100; GFX9-O0-NEXT: s_mov_b32 s8, s63101; GFX9-O0-NEXT: s_mov_b32 s9, s73102; GFX9-O0-NEXT: v_mov_b32_e32 v0, v43103; GFX9-O0-NEXT: v_mov_b32_e32 v2, v53104; GFX9-O0-NEXT: v_mov_b32_e32 v4, s53105; GFX9-O0-NEXT: v_add_co_u32_e32 v8, vcc, v3, v43106; GFX9-O0-NEXT: v_mov_b32_e32 v4, s43107; GFX9-O0-NEXT: s_waitcnt vmcnt(0)3108; GFX9-O0-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v4, vcc3109; GFX9-O0-NEXT: v_mov_b32_e32 v4, s83110; GFX9-O0-NEXT: v_addc_co_u32_e32 v0, vcc, v0, v4, vcc3111; GFX9-O0-NEXT: v_mov_b32_e32 v4, s93112; GFX9-O0-NEXT: v_addc_co_u32_e32 v2, vcc, v2, v4, vcc3113; GFX9-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec3114; GFX9-O0-NEXT: v_mov_b32_e32 v9, v13115; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec3116; GFX9-O0-NEXT: v_mov_b32_e32 v1, v23117; GFX9-O0-NEXT: v_mov_b32_e32 v5, v13118; GFX9-O0-NEXT: v_mov_b32_e32 v4, v03119; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill3120; GFX9-O0-NEXT: s_nop 03121; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill3122; GFX9-O0-NEXT: v_mov_b32_e32 v4, v83123; GFX9-O0-NEXT: v_mov_b32_e32 v5, v93124; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill3125; GFX9-O0-NEXT: s_nop 03126; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill3127; GFX9-O0-NEXT: s_mov_b32 s4, 0x7f3128; GFX9-O0-NEXT: v_sub_u32_e64 v2, s4, v33129; GFX9-O0-NEXT: v_lshlrev_b64 v[4:5], v2, v[10:11]3130; GFX9-O0-NEXT: v_mov_b32_e32 v12, v53131; GFX9-O0-NEXT: s_mov_b32 s4, 643132; GFX9-O0-NEXT: v_sub_u32_e64 v13, s4, v23133; GFX9-O0-NEXT: v_lshrrev_b64 v[13:14], v13, v[6:7]3134; GFX9-O0-NEXT: v_mov_b32_e32 v15, v143135; GFX9-O0-NEXT: v_or_b32_e64 v12, v12, v153136; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 killed $vgpr4_vgpr5 killed $exec3137; GFX9-O0-NEXT: v_mov_b32_e32 v5, v133138; GFX9-O0-NEXT: v_or_b32_e64 v4, v4, v53139; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec3140; GFX9-O0-NEXT: v_mov_b32_e32 v5, v123141; GFX9-O0-NEXT: v_mov_b32_e32 v14, v53142; GFX9-O0-NEXT: v_cmp_lt_u32_e64 s[4:5], v2, s43143; GFX9-O0-NEXT: s_mov_b32 s10, 633144; GFX9-O0-NEXT: v_sub_u32_e64 v3, s10, v33145; GFX9-O0-NEXT: v_lshlrev_b64 v[12:13], v3, v[6:7]3146; GFX9-O0-NEXT: v_mov_b32_e32 v3, v133147; GFX9-O0-NEXT: v_cndmask_b32_e64 v3, v3, v14, s[4:5]3148; GFX9-O0-NEXT: s_mov_b32 s10, 03149; GFX9-O0-NEXT: v_cmp_eq_u32_e64 s[10:11], v2, s103150; GFX9-O0-NEXT: v_mov_b32_e32 v14, v113151; GFX9-O0-NEXT: v_cndmask_b32_e64 v3, v3, v14, s[10:11]3152; GFX9-O0-NEXT: v_mov_b32_e32 v5, v43153; GFX9-O0-NEXT: v_mov_b32_e32 v4, v123154; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[4:5]3155; GFX9-O0-NEXT: v_mov_b32_e32 v5, v103156; GFX9-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[10:11]3157; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec3158; GFX9-O0-NEXT: v_mov_b32_e32 v5, v33159; GFX9-O0-NEXT: v_lshlrev_b64 v[6:7], v2, v[6:7]3160; GFX9-O0-NEXT: v_mov_b32_e32 v3, v73161; GFX9-O0-NEXT: v_mov_b32_e32 v2, s93162; GFX9-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[4:5]3163; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 killed $vgpr6_vgpr7 killed $exec3164; GFX9-O0-NEXT: v_mov_b32_e32 v3, s83165; GFX9-O0-NEXT: v_cndmask_b32_e64 v6, v3, v6, s[4:5]3166; GFX9-O0-NEXT: ; kill: def $vgpr6 killed $vgpr6 def $vgpr6_vgpr7 killed $exec3167; GFX9-O0-NEXT: v_mov_b32_e32 v7, v23168; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill3169; GFX9-O0-NEXT: s_nop 03170; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill3171; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill3172; GFX9-O0-NEXT: s_nop 03173; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill3174; GFX9-O0-NEXT: v_mov_b32_e32 v3, v13175; GFX9-O0-NEXT: v_mov_b32_e32 v2, v93176; GFX9-O0-NEXT: v_or_b32_e64 v2, v2, v33177; GFX9-O0-NEXT: v_mov_b32_e32 v1, v03178; GFX9-O0-NEXT: v_mov_b32_e32 v0, v83179; GFX9-O0-NEXT: v_or_b32_e64 v0, v0, v13180; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec3181; GFX9-O0-NEXT: v_mov_b32_e32 v1, v23182; GFX9-O0-NEXT: v_cmp_ne_u64_e64 s[4:5], v[0:1], s[6:7]3183; GFX9-O0-NEXT: v_mov_b32_e32 v0, s63184; GFX9-O0-NEXT: v_mov_b32_e32 v1, s73185; GFX9-O0-NEXT: v_mov_b32_e32 v2, s63186; GFX9-O0-NEXT: v_mov_b32_e32 v3, s73187; GFX9-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill3188; GFX9-O0-NEXT: s_nop 03189; GFX9-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill3190; GFX9-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill3191; GFX9-O0-NEXT: s_nop 03192; GFX9-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill3193; GFX9-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill3194; GFX9-O0-NEXT: s_nop 03195; GFX9-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill3196; GFX9-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill3197; GFX9-O0-NEXT: s_nop 03198; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill3199; GFX9-O0-NEXT: s_mov_b64 s[6:7], exec3200; GFX9-O0-NEXT: s_and_b64 s[4:5], s[6:7], s[4:5]3201; GFX9-O0-NEXT: s_xor_b64 s[6:7], s[4:5], s[6:7]3202; GFX9-O0-NEXT: v_writelane_b32 v30, s6, 63203; GFX9-O0-NEXT: v_writelane_b32 v30, s7, 73204; GFX9-O0-NEXT: s_or_saveexec_b64 s[18:19], -13205; GFX9-O0-NEXT: buffer_store_dword v30, off, s[0:3], s32 ; 4-byte Folded Spill3206; GFX9-O0-NEXT: s_mov_b64 exec, s[18:19]3207; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]3208; GFX9-O0-NEXT: s_cbranch_execz .LBB1_53209; GFX9-O0-NEXT: s_branch .LBB1_73210; GFX9-O0-NEXT: .LBB1_9: ; %udiv-end3211; GFX9-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload3212; GFX9-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload3213; GFX9-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload3214; GFX9-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload3215; GFX9-O0-NEXT: s_mov_b32 s4, 323216; GFX9-O0-NEXT: s_waitcnt vmcnt(0)3217; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[6:7]3218; GFX9-O0-NEXT: v_mov_b32_e32 v1, v03219; GFX9-O0-NEXT: v_lshrrev_b64 v[2:3], s4, v[4:5]3220; GFX9-O0-NEXT: v_mov_b32_e32 v3, v23221; GFX9-O0-NEXT: v_mov_b32_e32 v0, v63222; GFX9-O0-NEXT: v_mov_b32_e32 v2, v43223; GFX9-O0-NEXT: s_xor_saveexec_b64 s[4:5], -13224; GFX9-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload3225; GFX9-O0-NEXT: s_mov_b64 exec, s[4:5]3226; GFX9-O0-NEXT: s_waitcnt vmcnt(0)3227; GFX9-O0-NEXT: s_setpc_b64 s[30:31]3228;3229; GFX9-G-LABEL: v_udiv_i128_vv:3230; GFX9-G: ; %bb.0: ; %_udiv-special-cases3231; GFX9-G-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3232; GFX9-G-NEXT: v_or_b32_e32 v8, v4, v63233; GFX9-G-NEXT: v_or_b32_e32 v9, v5, v73234; GFX9-G-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[8:9]3235; GFX9-G-NEXT: v_or_b32_e32 v8, v0, v23236; GFX9-G-NEXT: v_or_b32_e32 v9, v1, v33237; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[4:5], 0, v[8:9]3238; GFX9-G-NEXT: v_ffbh_u32_e32 v9, v43239; GFX9-G-NEXT: v_ffbh_u32_e32 v8, v53240; GFX9-G-NEXT: v_add_u32_e32 v9, 32, v93241; GFX9-G-NEXT: v_ffbh_u32_e32 v10, v63242; GFX9-G-NEXT: v_min_u32_e32 v8, v8, v93243; GFX9-G-NEXT: v_ffbh_u32_e32 v9, v73244; GFX9-G-NEXT: v_add_u32_e32 v10, 32, v103245; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[6:7], 0, v[6:7]3246; GFX9-G-NEXT: v_add_u32_e32 v8, 64, v83247; GFX9-G-NEXT: v_min_u32_e32 v9, v9, v103248; GFX9-G-NEXT: v_ffbh_u32_e32 v10, v03249; GFX9-G-NEXT: v_cndmask_b32_e64 v8, v9, v8, s[6:7]3250; GFX9-G-NEXT: v_ffbh_u32_e32 v9, v13251; GFX9-G-NEXT: v_add_u32_e32 v10, 32, v103252; GFX9-G-NEXT: v_ffbh_u32_e32 v11, v23253; GFX9-G-NEXT: v_min_u32_e32 v9, v9, v103254; GFX9-G-NEXT: v_ffbh_u32_e32 v10, v33255; GFX9-G-NEXT: v_add_u32_e32 v11, 32, v113256; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[6:7], 0, v[2:3]3257; GFX9-G-NEXT: v_add_u32_e32 v9, 64, v93258; GFX9-G-NEXT: v_min_u32_e32 v10, v10, v113259; GFX9-G-NEXT: v_cndmask_b32_e64 v9, v10, v9, s[6:7]3260; GFX9-G-NEXT: v_sub_co_u32_e64 v12, s[6:7], v8, v93261; GFX9-G-NEXT: v_subb_co_u32_e64 v13, s[6:7], 0, 0, s[6:7]3262; GFX9-G-NEXT: v_mov_b32_e32 v8, 0x7f3263; GFX9-G-NEXT: v_subb_co_u32_e64 v14, s[6:7], 0, 0, s[6:7]3264; GFX9-G-NEXT: v_mov_b32_e32 v9, 03265; GFX9-G-NEXT: v_subb_co_u32_e64 v15, s[6:7], 0, 0, s[6:7]3266; GFX9-G-NEXT: v_cmp_gt_u64_e64 s[6:7], v[12:13], v[8:9]3267; GFX9-G-NEXT: s_or_b64 s[4:5], vcc, s[4:5]3268; GFX9-G-NEXT: v_cndmask_b32_e64 v8, 0, 1, s[6:7]3269; GFX9-G-NEXT: v_cmp_lt_u64_e64 s[6:7], 0, v[14:15]3270; GFX9-G-NEXT: v_or_b32_e32 v17, v13, v153271; GFX9-G-NEXT: v_cndmask_b32_e64 v9, 0, 1, s[6:7]3272; GFX9-G-NEXT: v_cmp_eq_u64_e64 s[6:7], 0, v[14:15]3273; GFX9-G-NEXT: s_mov_b64 s[8:9], 03274; GFX9-G-NEXT: v_cndmask_b32_e64 v8, v9, v8, s[6:7]3275; GFX9-G-NEXT: v_cndmask_b32_e64 v9, 0, 1, s[4:5]3276; GFX9-G-NEXT: v_or_b32_e32 v18, v9, v83277; GFX9-G-NEXT: v_xor_b32_e32 v8, 0x7f, v123278; GFX9-G-NEXT: v_or_b32_e32 v16, v8, v143279; GFX9-G-NEXT: v_and_b32_e32 v8, 1, v183280; GFX9-G-NEXT: v_cmp_ne_u32_e32 vcc, 0, v83281; GFX9-G-NEXT: v_cndmask_b32_e64 v10, v0, 0, vcc3282; GFX9-G-NEXT: v_cndmask_b32_e64 v11, v1, 0, vcc3283; GFX9-G-NEXT: v_cndmask_b32_e64 v8, v2, 0, vcc3284; GFX9-G-NEXT: v_cndmask_b32_e64 v9, v3, 0, vcc3285; GFX9-G-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[16:17]3286; GFX9-G-NEXT: v_cndmask_b32_e64 v16, 0, 1, vcc3287; GFX9-G-NEXT: v_or_b32_e32 v16, v18, v163288; GFX9-G-NEXT: v_and_b32_e32 v16, 1, v163289; GFX9-G-NEXT: v_cmp_ne_u32_e32 vcc, 0, v163290; GFX9-G-NEXT: s_xor_b64 s[4:5], vcc, -13291; GFX9-G-NEXT: s_and_saveexec_b64 s[6:7], s[4:5]3292; GFX9-G-NEXT: s_cbranch_execz .LBB1_63293; GFX9-G-NEXT: ; %bb.1: ; %udiv-bb13294; GFX9-G-NEXT: v_add_co_u32_e32 v18, vcc, 1, v123295; GFX9-G-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v13, vcc3296; GFX9-G-NEXT: v_addc_co_u32_e32 v20, vcc, 0, v14, vcc3297; GFX9-G-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v15, vcc3298; GFX9-G-NEXT: s_xor_b64 s[4:5], vcc, -13299; GFX9-G-NEXT: v_sub_co_u32_e32 v16, vcc, 0x7f, v123300; GFX9-G-NEXT: v_sub_u32_e32 v8, 64, v163301; GFX9-G-NEXT: v_lshrrev_b64 v[8:9], v8, v[0:1]3302; GFX9-G-NEXT: v_lshlrev_b64 v[10:11], v16, v[2:3]3303; GFX9-G-NEXT: v_add_u32_e32 v14, 0xffffffc0, v163304; GFX9-G-NEXT: v_lshlrev_b64 v[12:13], v16, v[0:1]3305; GFX9-G-NEXT: v_or_b32_e32 v10, v8, v103306; GFX9-G-NEXT: v_or_b32_e32 v11, v9, v113307; GFX9-G-NEXT: v_lshlrev_b64 v[8:9], v14, v[0:1]3308; GFX9-G-NEXT: v_cmp_gt_u32_e32 vcc, 64, v163309; GFX9-G-NEXT: s_mov_b64 s[10:11], s[8:9]3310; GFX9-G-NEXT: v_cndmask_b32_e32 v14, 0, v12, vcc3311; GFX9-G-NEXT: v_cndmask_b32_e32 v15, 0, v13, vcc3312; GFX9-G-NEXT: v_cndmask_b32_e32 v8, v8, v10, vcc3313; GFX9-G-NEXT: v_cndmask_b32_e32 v9, v9, v11, vcc3314; GFX9-G-NEXT: v_cmp_eq_u32_e32 vcc, 0, v163315; GFX9-G-NEXT: v_mov_b32_e32 v13, s113316; GFX9-G-NEXT: v_cndmask_b32_e32 v8, v8, v2, vcc3317; GFX9-G-NEXT: v_cndmask_b32_e32 v9, v9, v3, vcc3318; GFX9-G-NEXT: v_mov_b32_e32 v11, s93319; GFX9-G-NEXT: v_mov_b32_e32 v10, s83320; GFX9-G-NEXT: v_mov_b32_e32 v12, s103321; GFX9-G-NEXT: s_and_saveexec_b64 s[8:9], s[4:5]3322; GFX9-G-NEXT: s_xor_b64 s[12:13], exec, s[8:9]3323; GFX9-G-NEXT: s_cbranch_execz .LBB1_53324; GFX9-G-NEXT: ; %bb.2: ; %udiv-preheader3325; GFX9-G-NEXT: v_sub_u32_e32 v12, 64, v183326; GFX9-G-NEXT: v_add_u32_e32 v22, 0xffffffc0, v183327; GFX9-G-NEXT: v_lshrrev_b64 v[10:11], v18, v[0:1]3328; GFX9-G-NEXT: v_lshlrev_b64 v[12:13], v12, v[2:3]3329; GFX9-G-NEXT: v_lshrrev_b64 v[16:17], v18, v[2:3]3330; GFX9-G-NEXT: v_lshrrev_b64 v[2:3], v22, v[2:3]3331; GFX9-G-NEXT: v_or_b32_e32 v10, v10, v123332; GFX9-G-NEXT: v_or_b32_e32 v11, v11, v133333; GFX9-G-NEXT: v_cmp_gt_u32_e32 vcc, 64, v183334; GFX9-G-NEXT: s_mov_b64 s[8:9], 03335; GFX9-G-NEXT: v_cndmask_b32_e32 v2, v2, v10, vcc3336; GFX9-G-NEXT: v_cndmask_b32_e32 v3, v3, v11, vcc3337; GFX9-G-NEXT: v_cndmask_b32_e32 v16, 0, v16, vcc3338; GFX9-G-NEXT: v_cndmask_b32_e32 v17, 0, v17, vcc3339; GFX9-G-NEXT: v_add_co_u32_e32 v22, vcc, -1, v43340; GFX9-G-NEXT: v_addc_co_u32_e32 v23, vcc, -1, v5, vcc3341; GFX9-G-NEXT: s_mov_b64 s[10:11], s[8:9]3342; GFX9-G-NEXT: v_cmp_eq_u32_e64 s[4:5], 0, v183343; GFX9-G-NEXT: v_addc_co_u32_e32 v24, vcc, -1, v6, vcc3344; GFX9-G-NEXT: v_mov_b32_e32 v13, s113345; GFX9-G-NEXT: v_cndmask_b32_e64 v2, v2, v0, s[4:5]3346; GFX9-G-NEXT: v_cndmask_b32_e64 v3, v3, v1, s[4:5]3347; GFX9-G-NEXT: v_addc_co_u32_e32 v25, vcc, -1, v7, vcc3348; GFX9-G-NEXT: v_mov_b32_e32 v1, 03349; GFX9-G-NEXT: v_mov_b32_e32 v11, s93350; GFX9-G-NEXT: v_mov_b32_e32 v10, s83351; GFX9-G-NEXT: v_mov_b32_e32 v12, s103352; GFX9-G-NEXT: .LBB1_3: ; %udiv-do-while3353; GFX9-G-NEXT: ; =>This Inner Loop Header: Depth=13354; GFX9-G-NEXT: v_lshlrev_b64 v[12:13], 1, v[14:15]3355; GFX9-G-NEXT: v_lshrrev_b32_e32 v0, 31, v153356; GFX9-G-NEXT: v_or_b32_e32 v14, v10, v123357; GFX9-G-NEXT: v_or_b32_e32 v15, v11, v133358; GFX9-G-NEXT: v_lshlrev_b64 v[10:11], 1, v[16:17]3359; GFX9-G-NEXT: v_lshrrev_b32_e32 v12, 31, v33360; GFX9-G-NEXT: v_lshlrev_b64 v[2:3], 1, v[2:3]3361; GFX9-G-NEXT: v_or_b32_e32 v10, v10, v123362; GFX9-G-NEXT: v_lshrrev_b32_e32 v12, 31, v93363; GFX9-G-NEXT: v_or_b32_e32 v2, v2, v123364; GFX9-G-NEXT: v_sub_co_u32_e32 v12, vcc, v22, v23365; GFX9-G-NEXT: v_subb_co_u32_e32 v12, vcc, v23, v3, vcc3366; GFX9-G-NEXT: v_subb_co_u32_e32 v12, vcc, v24, v10, vcc3367; GFX9-G-NEXT: v_subb_co_u32_e32 v12, vcc, v25, v11, vcc3368; GFX9-G-NEXT: v_ashrrev_i32_e32 v12, 31, v123369; GFX9-G-NEXT: v_and_b32_e32 v13, v12, v43370; GFX9-G-NEXT: v_and_b32_e32 v16, v12, v53371; GFX9-G-NEXT: v_sub_co_u32_e32 v2, vcc, v2, v133372; GFX9-G-NEXT: v_subb_co_u32_e32 v3, vcc, v3, v16, vcc3373; GFX9-G-NEXT: v_and_b32_e32 v13, v12, v63374; GFX9-G-NEXT: v_and_b32_e32 v17, v12, v73375; GFX9-G-NEXT: v_subb_co_u32_e32 v16, vcc, v10, v13, vcc3376; GFX9-G-NEXT: v_subb_co_u32_e32 v17, vcc, v11, v17, vcc3377; GFX9-G-NEXT: v_add_co_u32_e32 v18, vcc, -1, v183378; GFX9-G-NEXT: v_addc_co_u32_e32 v19, vcc, -1, v19, vcc3379; GFX9-G-NEXT: v_addc_co_u32_e32 v20, vcc, -1, v20, vcc3380; GFX9-G-NEXT: v_addc_co_u32_e32 v21, vcc, -1, v21, vcc3381; GFX9-G-NEXT: v_or_b32_e32 v10, v18, v203382; GFX9-G-NEXT: v_or_b32_e32 v11, v19, v213383; GFX9-G-NEXT: v_lshlrev_b64 v[8:9], 1, v[8:9]3384; GFX9-G-NEXT: v_cmp_eq_u64_e32 vcc, 0, v[10:11]3385; GFX9-G-NEXT: v_or_b32_e32 v8, v8, v03386; GFX9-G-NEXT: v_and_b32_e32 v0, 1, v123387; GFX9-G-NEXT: v_mov_b32_e32 v11, v13388; GFX9-G-NEXT: s_or_b64 s[8:9], vcc, s[8:9]3389; GFX9-G-NEXT: v_mov_b32_e32 v10, v03390; GFX9-G-NEXT: s_andn2_b64 exec, exec, s[8:9]3391; GFX9-G-NEXT: s_cbranch_execnz .LBB1_33392; GFX9-G-NEXT: ; %bb.4: ; %Flow3393; GFX9-G-NEXT: s_or_b64 exec, exec, s[8:9]3394; GFX9-G-NEXT: .LBB1_5: ; %Flow23395; GFX9-G-NEXT: s_or_b64 exec, exec, s[12:13]3396; GFX9-G-NEXT: v_lshlrev_b64 v[0:1], 1, v[14:15]3397; GFX9-G-NEXT: v_lshlrev_b64 v[8:9], 1, v[8:9]3398; GFX9-G-NEXT: v_lshrrev_b32_e32 v2, 31, v153399; GFX9-G-NEXT: v_or_b32_e32 v8, v8, v23400; GFX9-G-NEXT: v_or_b32_e32 v10, v10, v03401; GFX9-G-NEXT: v_or_b32_e32 v11, v11, v13402; GFX9-G-NEXT: .LBB1_6: ; %Flow33403; GFX9-G-NEXT: s_or_b64 exec, exec, s[6:7]3404; GFX9-G-NEXT: v_mov_b32_e32 v0, v103405; GFX9-G-NEXT: v_mov_b32_e32 v1, v113406; GFX9-G-NEXT: v_mov_b32_e32 v2, v83407; GFX9-G-NEXT: v_mov_b32_e32 v3, v93408; GFX9-G-NEXT: s_setpc_b64 s[30:31]3409;3410; GFX9-G-O0-LABEL: v_udiv_i128_vv:3411; GFX9-G-O0: ; %bb.0: ; %_udiv-special-cases3412; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3413; GFX9-G-O0-NEXT: s_xor_saveexec_b64 s[4:5], -13414; GFX9-G-O0-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill3415; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]3416; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v13417; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v23418; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v33419; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec3420; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v103421; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v93422; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v83423; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill3424; GFX9-G-O0-NEXT: s_nop 03425; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill3426; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill3427; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill3428; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v53429; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v63430; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v73431; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5_vgpr6_vgpr7 killed $exec3432; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v103433; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v93434; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v83435; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill3436; GFX9-G-O0-NEXT: s_nop 03437; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill3438; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill3439; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill3440; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], 03441; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v53442; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v43443; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v73444; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v63445; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v93446; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v103447; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v123448; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v133449; GFX9-G-O0-NEXT: v_or_b32_e64 v8, v8, v113450; GFX9-G-O0-NEXT: v_or_b32_e64 v10, v9, v103451; GFX9-G-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec3452; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v103453; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s53454; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s43455; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[6:7], v[8:9], v[10:11]3456; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v13457; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v03458; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v33459; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v23460; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v93461; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v103462; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v123463; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v133464; GFX9-G-O0-NEXT: v_or_b32_e64 v8, v8, v113465; GFX9-G-O0-NEXT: v_or_b32_e64 v10, v9, v103466; GFX9-G-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec3467; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v103468; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s53469; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s43470; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[8:9], v[10:11]3471; GFX9-G-O0-NEXT: s_or_b64 s[6:7], s[6:7], s[8:9]3472; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v53473; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v43474; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v73475; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v63476; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s43477; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, s53478; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[7:8], v[4:5]3479; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v93480; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v103481; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v4, v43482; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v5, v53483; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 323484; GFX9-G-O0-NEXT: v_add_u32_e64 v5, v5, v63485; GFX9-G-O0-NEXT: v_min_u32_e64 v4, v4, v53486; GFX9-G-O0-NEXT: s_mov_b32 s10, 643487; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, s103488; GFX9-G-O0-NEXT: v_add_u32_e64 v5, v4, v53489; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v73490; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v83491; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v4, v43492; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v6, v63493; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, 323494; GFX9-G-O0-NEXT: v_add_u32_e64 v6, v6, v73495; GFX9-G-O0-NEXT: v_min_u32_e64 v4, v4, v63496; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v5, s[8:9]3497; GFX9-G-O0-NEXT: s_mov_b32 s14, 03498; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v13499; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v03500; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v33501; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v23502; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s53503; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, s43504; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[8:9], v[5:6]3505; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v103506; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v113507; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v5, v53508; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v6, v63509; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, 323510; GFX9-G-O0-NEXT: v_add_u32_e64 v6, v6, v73511; GFX9-G-O0-NEXT: v_min_u32_e64 v5, v5, v63512; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s103513; GFX9-G-O0-NEXT: v_add_u32_e64 v6, v5, v63514; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v83515; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v93516; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v5, v53517; GFX9-G-O0-NEXT: v_ffbh_u32_e64 v7, v73518; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, 323519; GFX9-G-O0-NEXT: v_add_u32_e64 v7, v7, v83520; GFX9-G-O0-NEXT: v_min_u32_e64 v5, v5, v73521; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[8:9]3522; GFX9-G-O0-NEXT: s_mov_b32 s13, 03523; GFX9-G-O0-NEXT: s_mov_b32 s11, 03524; GFX9-G-O0-NEXT: s_mov_b32 s12, 03525; GFX9-G-O0-NEXT: s_mov_b32 s10, 03526; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v5, s[8:9], v4, v53527; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill3528; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s143529; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s143530; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v6, s[8:9], v4, v6, s[8:9]3531; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill3532; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s133533; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s123534; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v8, s[8:9], v4, v7, s[8:9]3535; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill3536; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s113537; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s103538; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v7, s[8:9], v4, v7, s[8:9]3539; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill3540; GFX9-G-O0-NEXT: s_mov_b64 s[8:9], 0x7f3541; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v53542; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v63543; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v83544; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v73545; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, s93546; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, s83547; GFX9-G-O0-NEXT: v_cmp_gt_u64_e64 s[12:13], v[11:12], v[13:14]3548; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, s53549; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s43550; GFX9-G-O0-NEXT: v_cmp_gt_u64_e64 s[10:11], v[9:10], v[11:12]3551; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, s53552; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s43553; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[8:9], v[9:10], v[11:12]3554; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, 13555; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, 03556; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v9, v4, v9, s[12:13]3557; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, 13558; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, 03559; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v10, s[10:11]3560; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v9, v4, v9, s[8:9]3561; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, 13562; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, 03563; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v10, s[6:7]3564; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v4, v93565; GFX9-G-O0-NEXT: s_mov_b32 s6, 0x7f3566; GFX9-G-O0-NEXT: v_xor_b32_e64 v5, v5, s63567; GFX9-G-O0-NEXT: v_or_b32_e64 v5, v5, v83568; GFX9-G-O0-NEXT: v_or_b32_e64 v7, v6, v73569; GFX9-G-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec3570; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v73571; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, s53572; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s43573; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[5:6], v[7:8]3574; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v13575; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v03576; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v33577; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v23578; GFX9-G-O0-NEXT: v_and_b32_e32 v0, 1, v43579; GFX9-G-O0-NEXT: v_cmp_ne_u32_e64 s[6:7], 0, v03580; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, 03581; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, 03582; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v53583; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v63584; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v0, v0, v3, s[6:7]3585; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v1, v2, s[6:7]3586; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec3587; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v23588; GFX9-G-O0-NEXT: v_and_b32_e32 v2, 1, v43589; GFX9-G-O0-NEXT: v_cmp_ne_u32_e64 s[6:7], 0, v23590; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 03591; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, 03592; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v73593; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v83594; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[6:7]3595; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[6:7]3596; GFX9-G-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec3597; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v23598; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec3599; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v53600; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v63601; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 13602; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, 03603; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v6, s[4:5]3604; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v4, v53605; GFX9-G-O0-NEXT: v_and_b32_e32 v4, 1, v43606; GFX9-G-O0-NEXT: v_cmp_ne_u32_e64 s[4:5], 0, v43607; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], -13608; GFX9-G-O0-NEXT: s_xor_b64 s[6:7], s[4:5], s[6:7]3609; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill3610; GFX9-G-O0-NEXT: s_nop 03611; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill3612; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill3613; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill3614; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], exec3615; GFX9-G-O0-NEXT: ; implicit-def: $vgpr32 : SGPR spill to VGPR lane3616; GFX9-G-O0-NEXT: v_writelane_b32 v32, s4, 03617; GFX9-G-O0-NEXT: v_writelane_b32 v32, s5, 13618; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13619; GFX9-G-O0-NEXT: buffer_store_dword v32, off, s[0:3], s32 ; 4-byte Folded Spill3620; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3621; GFX9-G-O0-NEXT: s_and_b64 s[4:5], s[4:5], s[6:7]3622; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]3623; GFX9-G-O0-NEXT: s_cbranch_execz .LBB1_33624; GFX9-G-O0-NEXT: s_branch .LBB1_83625; GFX9-G-O0-NEXT: .LBB1_1: ; %Flow3626; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13627; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 ; 4-byte Folded Reload3628; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3629; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)3630; GFX9-G-O0-NEXT: v_readlane_b32 s4, v32, 23631; GFX9-G-O0-NEXT: v_readlane_b32 s5, v32, 33632; GFX9-G-O0-NEXT: s_or_b64 exec, exec, s[4:5]3633; GFX9-G-O0-NEXT: ; %bb.2: ; %Flow3634; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload3635; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload3636; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload3637; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload3638; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload3639; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload3640; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload3641; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload3642; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3643; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill3644; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3645; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill3646; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3647; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill3648; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3649; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill3650; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3651; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill3652; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3653; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill3654; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3655; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill3656; GFX9-G-O0-NEXT: s_waitcnt vmcnt(7)3657; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill3658; GFX9-G-O0-NEXT: s_branch .LBB1_53659; GFX9-G-O0-NEXT: .LBB1_3: ; %Flow23660; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13661; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 ; 4-byte Folded Reload3662; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3663; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)3664; GFX9-G-O0-NEXT: v_readlane_b32 s4, v32, 03665; GFX9-G-O0-NEXT: v_readlane_b32 s5, v32, 13666; GFX9-G-O0-NEXT: s_or_b64 exec, exec, s[4:5]3667; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload3668; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload3669; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload3670; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload3671; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3672; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill3673; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3674; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill3675; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3676; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill3677; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3678; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill3679; GFX9-G-O0-NEXT: s_branch .LBB1_93680; GFX9-G-O0-NEXT: .LBB1_4: ; %udiv-loop-exit3681; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload3682; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload3683; GFX9-G-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload3684; GFX9-G-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload3685; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload3686; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload3687; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload3688; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload3689; GFX9-G-O0-NEXT: s_waitcnt vmcnt(2)3690; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v43691; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v53692; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)3693; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v63694; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v73695; GFX9-G-O0-NEXT: s_mov_b32 s4, 13696; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s43697; GFX9-G-O0-NEXT: v_lshlrev_b64 v[9:10], v0, v[2:3]3698; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s43699; GFX9-G-O0-NEXT: v_lshlrev_b64 v[0:1], v0, v[4:5]3700; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr2 killed $exec3701; GFX9-G-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 killed $vgpr2_vgpr3 killed $exec3702; GFX9-G-O0-NEXT: s_mov_b32 s4, 313703; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s43704; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v5, v2, v33705; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v03706; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v13707; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v113708; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v123709; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v133710; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v143711; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v13712; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v23713; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v93714; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v103715; GFX9-G-O0-NEXT: v_or_b32_e64 v0, v0, v63716; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v1, v23717; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec3718; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v23719; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v73720; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v83721; GFX9-G-O0-NEXT: v_or3_b32 v4, v4, v5, v63722; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v2, v33723; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec3724; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v23725; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec3726; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v43727; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v53728; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill3729; GFX9-G-O0-NEXT: s_nop 03730; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill3731; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill3732; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill3733; GFX9-G-O0-NEXT: s_branch .LBB1_33734; GFX9-G-O0-NEXT: .LBB1_5: ; %Flow13735; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13736; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 ; 4-byte Folded Reload3737; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3738; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)3739; GFX9-G-O0-NEXT: v_readlane_b32 s4, v32, 43740; GFX9-G-O0-NEXT: v_readlane_b32 s5, v32, 53741; GFX9-G-O0-NEXT: s_or_b64 exec, exec, s[4:5]3742; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload3743; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload3744; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload3745; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload3746; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload3747; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload3748; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload3749; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload3750; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3751; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill3752; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3753; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill3754; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3755; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill3756; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)3757; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill3758; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill3759; GFX9-G-O0-NEXT: s_nop 03760; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill3761; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill3762; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill3763; GFX9-G-O0-NEXT: s_branch .LBB1_43764; GFX9-G-O0-NEXT: .LBB1_6: ; %udiv-do-while3765; GFX9-G-O0-NEXT: ; =>This Inner Loop Header: Depth=13766; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13767; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 ; 4-byte Folded Reload3768; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3769; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)3770; GFX9-G-O0-NEXT: v_readlane_b32 s6, v32, 63771; GFX9-G-O0-NEXT: v_readlane_b32 s7, v32, 73772; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload3773; GFX9-G-O0-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload3774; GFX9-G-O0-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload3775; GFX9-G-O0-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload3776; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload3777; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload3778; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload3779; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload3780; GFX9-G-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload3781; GFX9-G-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload3782; GFX9-G-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload3783; GFX9-G-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload3784; GFX9-G-O0-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload3785; GFX9-G-O0-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload3786; GFX9-G-O0-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload3787; GFX9-G-O0-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload3788; GFX9-G-O0-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload3789; GFX9-G-O0-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload3790; GFX9-G-O0-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload3791; GFX9-G-O0-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload3792; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload3793; GFX9-G-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload3794; GFX9-G-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload3795; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload3796; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], 03797; GFX9-G-O0-NEXT: s_waitcnt vmcnt(18)3798; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v23799; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v33800; GFX9-G-O0-NEXT: s_waitcnt vmcnt(16)3801; GFX9-G-O0-NEXT: v_mov_b32_e32 v21, v53802; GFX9-G-O0-NEXT: v_mov_b32_e32 v20, v43803; GFX9-G-O0-NEXT: s_mov_b32 s8, 13804; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s83805; GFX9-G-O0-NEXT: v_lshlrev_b64 v[2:3], v2, v[0:1]3806; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s83807; GFX9-G-O0-NEXT: v_lshlrev_b64 v[4:5], v4, v[20:21]3808; GFX9-G-O0-NEXT: ; kill: def $vgpr7 killed $vgpr0 killed $exec3809; GFX9-G-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 killed $vgpr0_vgpr1 killed $exec3810; GFX9-G-O0-NEXT: s_mov_b32 s9, 313811; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s93812; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v1, v0, v13813; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v43814; GFX9-G-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 killed $vgpr4_vgpr5 killed $exec3815; GFX9-G-O0-NEXT: v_or_b32_e64 v7, v0, v13816; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr12_vgpr13 killed $exec3817; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v143818; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v153819; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr0 killed $exec3820; GFX9-G-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 killed $vgpr0_vgpr1 killed $exec3821; GFX9-G-O0-NEXT: s_mov_b32 s9, 313822; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s93823; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v1, v0, v13824; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v23825; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v33826; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v0, v13827; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v123828; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v133829; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v143830; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v153831; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s83832; GFX9-G-O0-NEXT: v_lshlrev_b64 v[22:23], v0, v[2:3]3833; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s83834; GFX9-G-O0-NEXT: v_lshlrev_b64 v[0:1], v0, v[12:13]3835; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr2 killed $exec3836; GFX9-G-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 killed $vgpr2_vgpr3 killed $exec3837; GFX9-G-O0-NEXT: s_mov_b32 s8, 313838; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s83839; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v13, v2, v33840; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v03841; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v13842; GFX9-G-O0-NEXT: s_waitcnt vmcnt(10)3843; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v283844; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v293845; GFX9-G-O0-NEXT: s_waitcnt vmcnt(8)3846; GFX9-G-O0-NEXT: v_mov_b32_e32 v20, v303847; GFX9-G-O0-NEXT: v_mov_b32_e32 v21, v313848; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v13849; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v23850; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v223851; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v233852; GFX9-G-O0-NEXT: v_or_b32_e64 v0, v0, v143853; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v1, v23854; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec3855; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v23856; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v203857; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v213858; GFX9-G-O0-NEXT: v_or3_b32 v12, v12, v13, v143859; GFX9-G-O0-NEXT: v_or_b32_e64 v2, v2, v33860; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13 killed $exec3861; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v23862; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec3863; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v123864; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v133865; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)3866; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v11, s[8:9], v11, v43867; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v10, s[8:9], v10, v9, s[8:9]3868; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v8, s[8:9], v8, v7, s[8:9]3869; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v10, s[8:9], v6, v5, s[8:9]3870; GFX9-G-O0-NEXT: s_mov_b32 s8, 313871; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s83872; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v8, v6, v103873; GFX9-G-O0-NEXT: s_mov_b32 s8, 313874; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s83875; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v6, v6, v103876; GFX9-G-O0-NEXT: s_mov_b32 s9, 13877; GFX9-G-O0-NEXT: s_mov_b32 s8, 03878; GFX9-G-O0-NEXT: v_and_b32_e64 v12, v8, s93879; GFX9-G-O0-NEXT: v_and_b32_e64 v10, v8, s83880; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13 killed $exec3881; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v103882; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s53883; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s43884; GFX9-G-O0-NEXT: ; kill: def $vgpr12_vgpr13 killed $vgpr12_vgpr13 def $vgpr12_vgpr13_vgpr14_vgpr15 killed $exec3885; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v113886; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v103887; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, v243888; GFX9-G-O0-NEXT: v_mov_b32_e32 v23, v253889; GFX9-G-O0-NEXT: v_mov_b32_e32 v20, v263890; GFX9-G-O0-NEXT: v_mov_b32_e32 v21, v273891; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v223892; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v233893; GFX9-G-O0-NEXT: v_and_b32_e64 v11, v8, v113894; GFX9-G-O0-NEXT: v_and_b32_e64 v10, v8, v103895; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v203896; GFX9-G-O0-NEXT: v_mov_b32_e32 v20, v213897; GFX9-G-O0-NEXT: v_and_b32_e64 v8, v6, v83898; GFX9-G-O0-NEXT: v_and_b32_e64 v6, v6, v203899; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v4, s[8:9], v4, v113900; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v10, s[8:9], v9, v10, s[8:9]3901; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v9, s[8:9], v7, v8, s[8:9]3902; GFX9-G-O0-NEXT: v_subb_co_u32_e64 v8, s[8:9], v5, v6, s[8:9]3903; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5_vgpr6_vgpr7 killed $exec3904; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v103905; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v93906; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v83907; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v163908; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v173909; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v183910; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v193911; GFX9-G-O0-NEXT: s_mov_b32 s8, -13912; GFX9-G-O0-NEXT: s_mov_b32 s12, -13913; GFX9-G-O0-NEXT: s_mov_b32 s11, -13914; GFX9-G-O0-NEXT: s_mov_b32 s10, -13915; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, s83916; GFX9-G-O0-NEXT: v_add_co_u32_e64 v16, s[8:9], v11, v163917; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, s123918; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v17, s[8:9], v10, v11, s[8:9]3919; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, s113920; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v19, s[8:9], v9, v10, s[8:9]3921; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, s103922; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v18, s[8:9], v8, v9, s[8:9]3923; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v163924; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v173925; GFX9-G-O0-NEXT: v_mov_b32_e32 v10, v193926; GFX9-G-O0-NEXT: v_mov_b32_e32 v11, v183927; GFX9-G-O0-NEXT: v_or_b32_e64 v16, v16, v193928; GFX9-G-O0-NEXT: v_or_b32_e64 v18, v17, v183929; GFX9-G-O0-NEXT: ; kill: def $vgpr16 killed $vgpr16 def $vgpr16_vgpr17 killed $exec3930; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v183931; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, s53932; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, s43933; GFX9-G-O0-NEXT: v_cmp_eq_u64_e64 s[4:5], v[16:17], v[18:19]3934; GFX9-G-O0-NEXT: s_or_b64 s[4:5], s[4:5], s[6:7]3935; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, v33936; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, v23937; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v13938; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, v03939; GFX9-G-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill3940; GFX9-G-O0-NEXT: s_nop 03941; GFX9-G-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill3942; GFX9-G-O0-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill3943; GFX9-G-O0-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill3944; GFX9-G-O0-NEXT: v_mov_b32_e32 v19, v153945; GFX9-G-O0-NEXT: v_mov_b32_e32 v18, v143946; GFX9-G-O0-NEXT: v_mov_b32_e32 v17, v133947; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, v123948; GFX9-G-O0-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill3949; GFX9-G-O0-NEXT: s_nop 03950; GFX9-G-O0-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill3951; GFX9-G-O0-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill3952; GFX9-G-O0-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill3953; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], s[4:5]3954; GFX9-G-O0-NEXT: v_writelane_b32 v32, s6, 23955; GFX9-G-O0-NEXT: v_writelane_b32 v32, s7, 33956; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], s[4:5]3957; GFX9-G-O0-NEXT: v_writelane_b32 v32, s6, 63958; GFX9-G-O0-NEXT: v_writelane_b32 v32, s7, 73959; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13960; GFX9-G-O0-NEXT: buffer_store_dword v32, off, s[0:3], s32 ; 4-byte Folded Spill3961; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3962; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill3963; GFX9-G-O0-NEXT: s_nop 03964; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill3965; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill3966; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill3967; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill3968; GFX9-G-O0-NEXT: s_nop 03969; GFX9-G-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill3970; GFX9-G-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill3971; GFX9-G-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill3972; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill3973; GFX9-G-O0-NEXT: s_nop 03974; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill3975; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill3976; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill3977; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill3978; GFX9-G-O0-NEXT: s_nop 03979; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill3980; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill3981; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill3982; GFX9-G-O0-NEXT: s_andn2_b64 exec, exec, s[4:5]3983; GFX9-G-O0-NEXT: s_cbranch_execnz .LBB1_63984; GFX9-G-O0-NEXT: s_branch .LBB1_13985; GFX9-G-O0-NEXT: .LBB1_7: ; %udiv-preheader3986; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -13987; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 ; 4-byte Folded Reload3988; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]3989; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload3990; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload3991; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload3992; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload3993; GFX9-G-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload3994; GFX9-G-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload3995; GFX9-G-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload3996; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload3997; GFX9-G-O0-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload3998; GFX9-G-O0-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload3999; GFX9-G-O0-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload4000; GFX9-G-O0-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload4001; GFX9-G-O0-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload4002; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload4003; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload4004; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload4005; GFX9-G-O0-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload4006; GFX9-G-O0-NEXT: s_mov_b32 s4, 644007; GFX9-G-O0-NEXT: s_waitcnt vmcnt(2)4008; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v54009; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v44010; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)4011; GFX9-G-O0-NEXT: v_mov_b32_e32 v21, v74012; GFX9-G-O0-NEXT: v_mov_b32_e32 v20, v64013; GFX9-G-O0-NEXT: s_mov_b32 s5, 0xffffffc04014; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s54015; GFX9-G-O0-NEXT: v_add_u32_e64 v4, v12, v44016; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, s44017; GFX9-G-O0-NEXT: v_sub_u32_e64 v5, v5, v124018; GFX9-G-O0-NEXT: s_mov_b32 s6, 04019; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s44020; GFX9-G-O0-NEXT: v_cmp_lt_u32_e64 s[4:5], v12, v64021; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s64022; GFX9-G-O0-NEXT: v_cmp_eq_u32_e64 s[6:7], v12, v64023; GFX9-G-O0-NEXT: v_lshrrev_b64 v[6:7], v12, v[20:21]4024; GFX9-G-O0-NEXT: v_lshrrev_b64 v[25:26], v12, v[14:15]4025; GFX9-G-O0-NEXT: v_lshlrev_b64 v[23:24], v5, v[20:21]4026; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v254027; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v264028; GFX9-G-O0-NEXT: v_mov_b32_e32 v22, v234029; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v244030; GFX9-G-O0-NEXT: v_or_b32_e64 v13, v13, v224031; GFX9-G-O0-NEXT: v_or_b32_e64 v12, v5, v124032; GFX9-G-O0-NEXT: s_mov_b64 s[8:9], 04033; GFX9-G-O0-NEXT: v_lshrrev_b64 v[20:21], v4, v[20:21]4034; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v204035; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v214036; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v13, s[4:5]4037; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v5, v5, v12, s[4:5]4038; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v144039; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v154040; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v4, v4, v13, s[6:7]4041; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v12, v5, v12, s[6:7]4042; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec4043; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v124044; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v64045; GFX9-G-O0-NEXT: ; kill: def $vgpr7 killed $vgpr7 killed $vgpr6_vgpr7 killed $exec4046; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, 04047; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, 04048; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v12, v12, v13, s[4:5]4049; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v6, v6, v7, s[4:5]4050; GFX9-G-O0-NEXT: ; kill: def $vgpr12 killed $vgpr12 def $vgpr12_vgpr13 killed $exec4051; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v64052; GFX9-G-O0-NEXT: ; kill: def $vgpr4_vgpr5 killed $vgpr4_vgpr5 def $vgpr4_vgpr5_vgpr6_vgpr7 killed $exec4053; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v124054; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, v134055; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v164056; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v174057; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v184058; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v194059; GFX9-G-O0-NEXT: s_mov_b32 s4, -14060; GFX9-G-O0-NEXT: s_mov_b32 s10, -14061; GFX9-G-O0-NEXT: s_mov_b32 s7, -14062; GFX9-G-O0-NEXT: s_mov_b32 s6, -14063; GFX9-G-O0-NEXT: v_mov_b32_e32 v16, s44064; GFX9-G-O0-NEXT: v_add_co_u32_e64 v15, s[4:5], v15, v164065; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill4066; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, s104067; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v14, s[4:5], v14, v15, s[4:5]4068; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill4069; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, s74070; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v13, s[4:5], v13, v14, s[4:5]4071; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill4072; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, s64073; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v12, s[4:5], v12, v13, s[4:5]4074; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill4075; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], s[8:9]4076; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], s[8:9]4077; GFX9-G-O0-NEXT: v_writelane_b32 v32, s8, 64078; GFX9-G-O0-NEXT: v_writelane_b32 v32, s9, 74079; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -14080; GFX9-G-O0-NEXT: buffer_store_dword v32, off, s[0:3], s32 ; 4-byte Folded Spill4081; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]4082; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, s74083; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, s64084; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, s54085; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, s44086; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill4087; GFX9-G-O0-NEXT: s_nop 04088; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill4089; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill4090; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill4091; GFX9-G-O0-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill4092; GFX9-G-O0-NEXT: s_nop 04093; GFX9-G-O0-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill4094; GFX9-G-O0-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill4095; GFX9-G-O0-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill4096; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill4097; GFX9-G-O0-NEXT: s_nop 04098; GFX9-G-O0-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill4099; GFX9-G-O0-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill4100; GFX9-G-O0-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill4101; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill4102; GFX9-G-O0-NEXT: s_nop 04103; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill4104; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill4105; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill4106; GFX9-G-O0-NEXT: s_branch .LBB1_64107; GFX9-G-O0-NEXT: .LBB1_8: ; %udiv-bb14108; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -14109; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 ; 4-byte Folded Reload4110; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]4111; GFX9-G-O0-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload4112; GFX9-G-O0-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload4113; GFX9-G-O0-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload4114; GFX9-G-O0-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload4115; GFX9-G-O0-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload4116; GFX9-G-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload4117; GFX9-G-O0-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload4118; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload4119; GFX9-G-O0-NEXT: s_mov_b64 s[4:5], 04120; GFX9-G-O0-NEXT: s_mov_b32 s6, 14121; GFX9-G-O0-NEXT: s_mov_b32 s10, 04122; GFX9-G-O0-NEXT: s_mov_b32 s9, 04123; GFX9-G-O0-NEXT: s_mov_b32 s8, 04124; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, s64125; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)4126; GFX9-G-O0-NEXT: v_add_co_u32_e64 v4, s[6:7], v1, v44127; GFX9-G-O0-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill4128; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, s104129; GFX9-G-O0-NEXT: s_waitcnt vmcnt(1)4130; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v5, s[6:7], v3, v5, s[6:7]4131; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, s94132; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v7, s[6:7], v2, v3, s[6:7]4133; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s84134; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v6, s[6:7], v0, v2, s[6:7]4135; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v44136; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v54137; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v74138; GFX9-G-O0-NEXT: v_mov_b32_e32 v15, v64139; GFX9-G-O0-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill4140; GFX9-G-O0-NEXT: s_nop 04141; GFX9-G-O0-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill4142; GFX9-G-O0-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill4143; GFX9-G-O0-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill4144; GFX9-G-O0-NEXT: s_mov_b32 s6, 0x7f4145; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s64146; GFX9-G-O0-NEXT: v_sub_co_u32_e64 v3, s[6:7], v0, v14147; GFX9-G-O0-NEXT: s_mov_b32 s7, 644148; GFX9-G-O0-NEXT: v_mov_b32_e32 v13, v94149; GFX9-G-O0-NEXT: v_mov_b32_e32 v12, v84150; GFX9-G-O0-NEXT: s_mov_b32 s6, 0xffffffc04151; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s64152; GFX9-G-O0-NEXT: v_add_u32_e64 v2, v3, v04153; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s74154; GFX9-G-O0-NEXT: v_sub_u32_e64 v8, v0, v34155; GFX9-G-O0-NEXT: s_mov_b32 s6, 04156; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s74157; GFX9-G-O0-NEXT: v_cmp_lt_u32_e64 s[8:9], v3, v04158; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s64159; GFX9-G-O0-NEXT: v_cmp_eq_u32_e64 s[6:7], v3, v04160; GFX9-G-O0-NEXT: v_lshlrev_b64 v[0:1], v3, v[12:13]4161; GFX9-G-O0-NEXT: v_lshrrev_b64 v[17:18], v8, v[12:13]4162; GFX9-G-O0-NEXT: v_lshlrev_b64 v[15:16], v3, v[10:11]4163; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v174164; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v184165; GFX9-G-O0-NEXT: v_mov_b32_e32 v14, v154166; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v164167; GFX9-G-O0-NEXT: v_or_b32_e64 v9, v9, v144168; GFX9-G-O0-NEXT: v_or_b32_e64 v3, v3, v84169; GFX9-G-O0-NEXT: v_lshlrev_b64 v[12:13], v2, v[12:13]4170; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v04171; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v14172; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, 04173; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, 04174; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v0, v0, v8, s[8:9]4175; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v1, v2, s[8:9]4176; GFX9-G-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec4177; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v24178; GFX9-G-O0-NEXT: v_mov_b32_e32 v8, v124179; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v134180; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v8, v8, v9, s[8:9]4181; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[8:9]4182; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v104183; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v114184; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v8, v8, v9, s[6:7]4185; GFX9-G-O0-NEXT: v_cndmask_b32_e64 v2, v2, v3, s[6:7]4186; GFX9-G-O0-NEXT: ; kill: def $vgpr8 killed $vgpr8 def $vgpr8_vgpr9 killed $exec4187; GFX9-G-O0-NEXT: v_mov_b32_e32 v9, v24188; GFX9-G-O0-NEXT: ; kill: def $vgpr0_vgpr1 killed $vgpr0_vgpr1 def $vgpr0_vgpr1_vgpr2_vgpr3 killed $exec4189; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v84190; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v94191; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill4192; GFX9-G-O0-NEXT: s_nop 04193; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill4194; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill4195; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill4196; GFX9-G-O0-NEXT: s_mov_b64 s[8:9], s[4:5]4197; GFX9-G-O0-NEXT: s_mov_b64 s[10:11], s[4:5]4198; GFX9-G-O0-NEXT: v_or_b32_e64 v4, v4, v74199; GFX9-G-O0-NEXT: v_or_b32_e64 v6, v5, v64200; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec4201; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v64202; GFX9-G-O0-NEXT: v_mov_b32_e32 v7, s54203; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, s44204; GFX9-G-O0-NEXT: v_cmp_ne_u64_e64 s[4:5], v[4:5], v[6:7]4205; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill4206; GFX9-G-O0-NEXT: s_nop 04207; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill4208; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill4209; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill4210; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s84211; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, s94212; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s104213; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, s114214; GFX9-G-O0-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill4215; GFX9-G-O0-NEXT: s_nop 04216; GFX9-G-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill4217; GFX9-G-O0-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill4218; GFX9-G-O0-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill4219; GFX9-G-O0-NEXT: s_mov_b64 s[6:7], exec4220; GFX9-G-O0-NEXT: s_and_b64 s[4:5], s[6:7], s[4:5]4221; GFX9-G-O0-NEXT: s_xor_b64 s[6:7], s[4:5], s[6:7]4222; GFX9-G-O0-NEXT: v_writelane_b32 v32, s6, 44223; GFX9-G-O0-NEXT: v_writelane_b32 v32, s7, 54224; GFX9-G-O0-NEXT: s_or_saveexec_b64 s[18:19], -14225; GFX9-G-O0-NEXT: buffer_store_dword v32, off, s[0:3], s32 ; 4-byte Folded Spill4226; GFX9-G-O0-NEXT: s_mov_b64 exec, s[18:19]4227; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]4228; GFX9-G-O0-NEXT: s_cbranch_execz .LBB1_54229; GFX9-G-O0-NEXT: s_branch .LBB1_74230; GFX9-G-O0-NEXT: .LBB1_9: ; %udiv-end4231; GFX9-G-O0-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload4232; GFX9-G-O0-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload4233; GFX9-G-O0-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload4234; GFX9-G-O0-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload4235; GFX9-G-O0-NEXT: s_waitcnt vmcnt(3)4236; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v34237; GFX9-G-O0-NEXT: s_waitcnt vmcnt(2)4238; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v44239; GFX9-G-O0-NEXT: s_waitcnt vmcnt(1)4240; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, v54241; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)4242; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, v64243; GFX9-G-O0-NEXT: s_xor_saveexec_b64 s[4:5], -14244; GFX9-G-O0-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload4245; GFX9-G-O0-NEXT: s_mov_b64 exec, s[4:5]4246; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0)4247; GFX9-G-O0-NEXT: s_setpc_b64 s[30:31]4248 %div = udiv i128 %lhs, %rhs4249 ret i128 %div4250}4251 4252define i128 @v_sdiv_i128_v_pow2k(i128 %lhs) {4253; GFX9-LABEL: v_sdiv_i128_v_pow2k:4254; GFX9: ; %bb.0:4255; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4256; GFX9-NEXT: v_ashrrev_i32_e32 v4, 31, v34257; GFX9-NEXT: v_mov_b32_e32 v5, v44258; GFX9-NEXT: v_lshrrev_b64 v[4:5], 31, v[4:5]4259; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, v0, v44260; GFX9-NEXT: v_addc_co_u32_e32 v4, vcc, v1, v5, vcc4261; GFX9-NEXT: v_addc_co_u32_e32 v2, vcc, 0, v2, vcc4262; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc4263; GFX9-NEXT: v_lshlrev_b64 v[0:1], 31, v[2:3]4264; GFX9-NEXT: v_lshrrev_b32_e32 v2, 1, v44265; GFX9-NEXT: v_or_b32_e32 v0, v2, v04266; GFX9-NEXT: v_ashrrev_i32_e32 v2, 1, v34267; GFX9-NEXT: v_ashrrev_i32_e32 v3, 31, v34268; GFX9-NEXT: s_setpc_b64 s[30:31]4269;4270; GFX9-O0-LABEL: v_sdiv_i128_v_pow2k:4271; GFX9-O0: ; %bb.0:4272; GFX9-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4273; GFX9-O0-NEXT: v_mov_b32_e32 v4, v24274; GFX9-O0-NEXT: buffer_store_dword v1, off, s[0:3], s32 ; 4-byte Folded Spill4275; GFX9-O0-NEXT: v_mov_b32_e32 v1, v04276; GFX9-O0-NEXT: buffer_load_dword v0, off, s[0:3], s32 ; 4-byte Folded Reload4277; GFX9-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec4278; GFX9-O0-NEXT: v_mov_b32_e32 v5, v34279; GFX9-O0-NEXT: ; kill: def $vgpr1 killed $vgpr1 def $vgpr1_vgpr2 killed $exec4280; GFX9-O0-NEXT: s_waitcnt vmcnt(0)4281; GFX9-O0-NEXT: v_mov_b32_e32 v2, v04282; GFX9-O0-NEXT: v_mov_b32_e32 v0, v14283; GFX9-O0-NEXT: v_mov_b32_e32 v3, v24284; GFX9-O0-NEXT: v_mov_b32_e32 v2, v44285; GFX9-O0-NEXT: v_mov_b32_e32 v1, v54286; GFX9-O0-NEXT: s_mov_b32 s4, 634287; GFX9-O0-NEXT: v_ashrrev_i64 v[4:5], s4, v[4:5]4288; GFX9-O0-NEXT: s_mov_b32 s5, 314289; GFX9-O0-NEXT: v_lshrrev_b64 v[6:7], s5, v[4:5]4290; GFX9-O0-NEXT: v_mov_b32_e32 v5, v64291; GFX9-O0-NEXT: v_mov_b32_e32 v4, v74292; GFX9-O0-NEXT: s_mov_b64 s[8:9], 04293; GFX9-O0-NEXT: s_mov_b32 s6, s84294; GFX9-O0-NEXT: s_mov_b32 s4, s94295; GFX9-O0-NEXT: v_add_co_u32_e32 v0, vcc, v0, v54296; GFX9-O0-NEXT: v_addc_co_u32_e32 v3, vcc, v3, v4, vcc4297; GFX9-O0-NEXT: v_mov_b32_e32 v4, s64298; GFX9-O0-NEXT: v_addc_co_u32_e32 v5, vcc, v2, v4, vcc4299; GFX9-O0-NEXT: v_mov_b32_e32 v2, s44300; GFX9-O0-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc4301; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec4302; GFX9-O0-NEXT: v_mov_b32_e32 v6, v14303; GFX9-O0-NEXT: v_mov_b32_e32 v2, v54304; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec4305; GFX9-O0-NEXT: v_mov_b32_e32 v1, v34306; GFX9-O0-NEXT: s_mov_b32 s4, 334307; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[0:1]4308; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 killed $vgpr0_vgpr1 killed $exec4309; GFX9-O0-NEXT: v_lshl_or_b32 v0, v2, s5, v04310; GFX9-O0-NEXT: v_mov_b32_e32 v3, v54311; GFX9-O0-NEXT: v_mov_b32_e32 v4, v64312; GFX9-O0-NEXT: v_ashrrev_i64 v[3:4], s4, v[3:4]4313; GFX9-O0-NEXT: v_mov_b32_e32 v1, v64314; GFX9-O0-NEXT: s_mov_b32 s4, 14315; GFX9-O0-NEXT: v_alignbit_b32 v1, v1, v2, s44316; GFX9-O0-NEXT: v_mov_b32_e32 v2, v34317; GFX9-O0-NEXT: s_mov_b32 s4, 324318; GFX9-O0-NEXT: v_lshrrev_b64 v[3:4], s4, v[3:4]4319; GFX9-O0-NEXT: ; kill: def $vgpr3 killed $vgpr3 killed $vgpr3_vgpr4 killed $exec4320; GFX9-O0-NEXT: s_setpc_b64 s[30:31]4321;4322; GFX9-G-LABEL: v_sdiv_i128_v_pow2k:4323; GFX9-G: ; %bb.0:4324; GFX9-G-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4325; GFX9-G-NEXT: v_ashrrev_i32_e32 v4, 31, v34326; GFX9-G-NEXT: v_mov_b32_e32 v5, v44327; GFX9-G-NEXT: v_lshrrev_b64 v[4:5], 31, v[4:5]4328; GFX9-G-NEXT: v_add_co_u32_e32 v0, vcc, v0, v44329; GFX9-G-NEXT: v_addc_co_u32_e32 v4, vcc, v1, v5, vcc4330; GFX9-G-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v2, vcc4331; GFX9-G-NEXT: v_addc_co_u32_e32 v2, vcc, 0, v3, vcc4332; GFX9-G-NEXT: v_lshlrev_b64 v[0:1], 31, v[1:2]4333; GFX9-G-NEXT: v_lshrrev_b32_e32 v3, 1, v44334; GFX9-G-NEXT: v_or_b32_e32 v0, v0, v34335; GFX9-G-NEXT: v_ashrrev_i32_e32 v3, 31, v24336; GFX9-G-NEXT: v_ashrrev_i32_e32 v2, 1, v24337; GFX9-G-NEXT: s_setpc_b64 s[30:31]4338;4339; GFX9-G-O0-LABEL: v_sdiv_i128_v_pow2k:4340; GFX9-G-O0: ; %bb.0:4341; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4342; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v04343; GFX9-G-O0-NEXT: s_mov_b32 s4, 314344; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s44345; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v0, v0, v34346; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v04347; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v04348; GFX9-G-O0-NEXT: s_mov_b32 s4, 314349; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s44350; GFX9-G-O0-NEXT: v_lshrrev_b64 v[6:7], v0, v[5:6]4351; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v64352; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v74353; GFX9-G-O0-NEXT: s_mov_b32 s8, 04354; GFX9-G-O0-NEXT: s_mov_b32 s5, 04355; GFX9-G-O0-NEXT: v_add_co_u32_e64 v4, s[6:7], v4, v54356; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v1, s[6:7], v1, v0, s[6:7]4357; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s84358; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v5, s[6:7], v2, v0, s[6:7]4359; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s54360; GFX9-G-O0-NEXT: v_addc_co_u32_e64 v4, s[6:7], v3, v0, s[6:7]4361; GFX9-G-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec4362; GFX9-G-O0-NEXT: v_mov_b32_e32 v6, v44363; GFX9-G-O0-NEXT: s_mov_b32 s5, 14364; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s54365; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v2, v0, v14366; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s44367; GFX9-G-O0-NEXT: v_lshlrev_b64 v[5:6], v0, v[5:6]4368; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v54369; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v64370; GFX9-G-O0-NEXT: v_or_b32_e64 v0, v0, v24371; GFX9-G-O0-NEXT: s_mov_b32 s4, 314372; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s44373; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v3, v2, v44374; GFX9-G-O0-NEXT: s_mov_b32 s4, 14375; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s44376; GFX9-G-O0-NEXT: v_ashrrev_i32_e64 v2, v2, v44377; GFX9-G-O0-NEXT: s_setpc_b64 s[30:31]4378 %div = sdiv i128 %lhs, 85899345924379 ret i128 %div4380}4381 4382define i128 @v_udiv_i128_v_pow2k(i128 %lhs) {4383; GFX9-LABEL: v_udiv_i128_v_pow2k:4384; GFX9: ; %bb.0:4385; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4386; GFX9-NEXT: v_mov_b32_e32 v4, v14387; GFX9-NEXT: v_lshlrev_b64 v[0:1], 31, v[2:3]4388; GFX9-NEXT: v_lshrrev_b32_e32 v2, 1, v44389; GFX9-NEXT: v_or_b32_e32 v0, v2, v04390; GFX9-NEXT: v_lshrrev_b32_e32 v2, 1, v34391; GFX9-NEXT: v_mov_b32_e32 v3, 04392; GFX9-NEXT: s_setpc_b64 s[30:31]4393;4394; GFX9-O0-LABEL: v_udiv_i128_v_pow2k:4395; GFX9-O0: ; %bb.0:4396; GFX9-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4397; GFX9-O0-NEXT: v_mov_b32_e32 v5, v24398; GFX9-O0-NEXT: v_mov_b32_e32 v2, v14399; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 def $vgpr0_vgpr1 killed $exec4400; GFX9-O0-NEXT: v_mov_b32_e32 v1, v24401; GFX9-O0-NEXT: ; kill: def $vgpr5 killed $vgpr5 def $vgpr5_vgpr6 killed $exec4402; GFX9-O0-NEXT: v_mov_b32_e32 v6, v34403; GFX9-O0-NEXT: v_mov_b32_e32 v4, v54404; GFX9-O0-NEXT: s_mov_b32 s4, 334405; GFX9-O0-NEXT: v_lshrrev_b64 v[0:1], s4, v[0:1]4406; GFX9-O0-NEXT: ; kill: def $vgpr0 killed $vgpr0 killed $vgpr0_vgpr1 killed $exec4407; GFX9-O0-NEXT: s_mov_b32 s5, 314408; GFX9-O0-NEXT: v_lshl_or_b32 v0, v4, s5, v04409; GFX9-O0-NEXT: v_mov_b32_e32 v1, v54410; GFX9-O0-NEXT: v_mov_b32_e32 v2, v64411; GFX9-O0-NEXT: v_lshrrev_b64 v[2:3], s4, v[1:2]4412; GFX9-O0-NEXT: v_mov_b32_e32 v1, v64413; GFX9-O0-NEXT: s_mov_b32 s4, 14414; GFX9-O0-NEXT: v_alignbit_b32 v1, v1, v4, s44415; GFX9-O0-NEXT: ; kill: def $vgpr2 killed $vgpr2 killed $vgpr2_vgpr3 killed $exec4416; GFX9-O0-NEXT: v_mov_b32_e32 v3, 04417; GFX9-O0-NEXT: s_setpc_b64 s[30:31]4418;4419; GFX9-G-LABEL: v_udiv_i128_v_pow2k:4420; GFX9-G: ; %bb.0:4421; GFX9-G-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4422; GFX9-G-NEXT: v_mov_b32_e32 v4, v14423; GFX9-G-NEXT: v_lshlrev_b64 v[0:1], 31, v[2:3]4424; GFX9-G-NEXT: v_lshrrev_b32_e32 v2, 1, v44425; GFX9-G-NEXT: v_or_b32_e32 v0, v0, v24426; GFX9-G-NEXT: v_lshrrev_b32_e32 v2, 1, v34427; GFX9-G-NEXT: v_mov_b32_e32 v3, 04428; GFX9-G-NEXT: s_setpc_b64 s[30:31]4429;4430; GFX9-G-O0-LABEL: v_udiv_i128_v_pow2k:4431; GFX9-G-O0: ; %bb.0:4432; GFX9-G-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4433; GFX9-G-O0-NEXT: v_mov_b32_e32 v4, v24434; GFX9-G-O0-NEXT: ; kill: def $vgpr4 killed $vgpr4 def $vgpr4_vgpr5 killed $exec4435; GFX9-G-O0-NEXT: v_mov_b32_e32 v5, v34436; GFX9-G-O0-NEXT: s_mov_b32 s4, 14437; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s44438; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v2, v0, v14439; GFX9-G-O0-NEXT: s_mov_b32 s4, 314440; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, s44441; GFX9-G-O0-NEXT: v_lshlrev_b64 v[4:5], v0, v[4:5]4442; GFX9-G-O0-NEXT: v_mov_b32_e32 v0, v44443; GFX9-G-O0-NEXT: v_mov_b32_e32 v1, v54444; GFX9-G-O0-NEXT: v_or_b32_e64 v0, v0, v24445; GFX9-G-O0-NEXT: s_mov_b32 s4, 14446; GFX9-G-O0-NEXT: v_mov_b32_e32 v2, s44447; GFX9-G-O0-NEXT: v_lshrrev_b32_e64 v2, v2, v34448; GFX9-G-O0-NEXT: s_mov_b32 s4, 04449; GFX9-G-O0-NEXT: v_mov_b32_e32 v3, s44450; GFX9-G-O0-NEXT: s_setpc_b64 s[30:31]4451 %div = udiv i128 %lhs, 85899345924452 ret i128 %div4453}4454