20696 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52 3; RUN: llc -mtriple=amdgcn -mcpu=tahiti < %s | FileCheck -check-prefix=SI %s4; RUN: llc -mtriple=amdgcn -mcpu=tonga < %s | FileCheck -check-prefix=VI %s5; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck -check-prefix=GFX9 %s6; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-TRUE16 %s7; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-FAKE16 %s8 9define <26 x float> @bitcast_v26i32_to_v26f32(<26 x i32> %a, i32 %b) {10; SI-LABEL: bitcast_v26i32_to_v26f32:11; SI: ; %bb.0:12; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2614; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc15; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]16; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]17; SI-NEXT: s_cbranch_execz .LBB0_218; SI-NEXT: ; %bb.1: ; %cmp.true19; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v2520; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2421; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v2322; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2223; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v2124; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2025; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v1926; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1827; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v1728; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1629; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v1530; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1431; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v1332; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1233; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v1134; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1035; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v936; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v837; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v738; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v639; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v540; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v441; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v342; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v243; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v144; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v045; SI-NEXT: .LBB0_2: ; %end46; SI-NEXT: s_or_b64 exec, exec, s[4:5]47; SI-NEXT: s_setpc_b64 s[30:31]48;49; VI-LABEL: bitcast_v26i32_to_v26f32:50; VI: ; %bb.0:51; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)52; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2653; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc54; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]55; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]56; VI-NEXT: s_cbranch_execz .LBB0_257; VI-NEXT: ; %bb.1: ; %cmp.true58; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v2559; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v2460; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v2361; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v2262; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v2163; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v2064; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v1965; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v1866; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v1767; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v1668; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v1569; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v1470; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v1371; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v1272; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v1173; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v1074; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v975; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v876; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v777; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v678; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v579; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v480; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v381; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v282; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v183; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v084; VI-NEXT: .LBB0_2: ; %end85; VI-NEXT: s_or_b64 exec, exec, s[4:5]86; VI-NEXT: s_setpc_b64 s[30:31]87;88; GFX9-LABEL: bitcast_v26i32_to_v26f32:89; GFX9: ; %bb.0:90; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)91; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2692; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc93; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]94; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]95; GFX9-NEXT: s_cbranch_execz .LBB0_296; GFX9-NEXT: ; %bb.1: ; %cmp.true97; GFX9-NEXT: v_add_u32_e32 v25, 3, v2598; GFX9-NEXT: v_add_u32_e32 v24, 3, v2499; GFX9-NEXT: v_add_u32_e32 v23, 3, v23100; GFX9-NEXT: v_add_u32_e32 v22, 3, v22101; GFX9-NEXT: v_add_u32_e32 v21, 3, v21102; GFX9-NEXT: v_add_u32_e32 v20, 3, v20103; GFX9-NEXT: v_add_u32_e32 v19, 3, v19104; GFX9-NEXT: v_add_u32_e32 v18, 3, v18105; GFX9-NEXT: v_add_u32_e32 v17, 3, v17106; GFX9-NEXT: v_add_u32_e32 v16, 3, v16107; GFX9-NEXT: v_add_u32_e32 v15, 3, v15108; GFX9-NEXT: v_add_u32_e32 v14, 3, v14109; GFX9-NEXT: v_add_u32_e32 v13, 3, v13110; GFX9-NEXT: v_add_u32_e32 v12, 3, v12111; GFX9-NEXT: v_add_u32_e32 v11, 3, v11112; GFX9-NEXT: v_add_u32_e32 v10, 3, v10113; GFX9-NEXT: v_add_u32_e32 v9, 3, v9114; GFX9-NEXT: v_add_u32_e32 v8, 3, v8115; GFX9-NEXT: v_add_u32_e32 v7, 3, v7116; GFX9-NEXT: v_add_u32_e32 v6, 3, v6117; GFX9-NEXT: v_add_u32_e32 v5, 3, v5118; GFX9-NEXT: v_add_u32_e32 v4, 3, v4119; GFX9-NEXT: v_add_u32_e32 v3, 3, v3120; GFX9-NEXT: v_add_u32_e32 v2, 3, v2121; GFX9-NEXT: v_add_u32_e32 v1, 3, v1122; GFX9-NEXT: v_add_u32_e32 v0, 3, v0123; GFX9-NEXT: .LBB0_2: ; %end124; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]125; GFX9-NEXT: s_setpc_b64 s[30:31]126;127; GFX11-LABEL: bitcast_v26i32_to_v26f32:128; GFX11: ; %bb.0:129; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)130; GFX11-NEXT: s_mov_b32 s0, exec_lo131; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v26132; GFX11-NEXT: s_xor_b32 s0, exec_lo, s0133; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)134; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s0135; GFX11-NEXT: s_cbranch_execz .LBB0_2136; GFX11-NEXT: ; %bb.1: ; %cmp.true137; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v25138; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v24139; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v23140; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v22141; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v21142; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v20143; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v19144; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v18145; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v17146; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v16147; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v15148; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v14149; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v13150; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v12151; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v11152; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v10153; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v9154; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v8155; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v7156; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v6157; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v5158; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v4159; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v3160; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v2161; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v1162; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v0163; GFX11-NEXT: .LBB0_2: ; %end164; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s0165; GFX11-NEXT: s_setpc_b64 s[30:31]166 %cmp = icmp eq i32 %b, 0167 br i1 %cmp, label %cmp.true, label %cmp.false168 169cmp.true:170 %a1 = add <26 x i32> %a, splat (i32 3)171 %a2 = bitcast <26 x i32> %a1 to <26 x float>172 br label %end173 174cmp.false:175 %a3 = bitcast <26 x i32> %a to <26 x float>176 br label %end177 178end:179 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]180 ret <26 x float> %phi181}182 183define inreg <26 x float> @bitcast_v26i32_to_v26f32_scalar(<26 x i32> inreg %a, i32 inreg %b) {184; SI-LABEL: bitcast_v26i32_to_v26f32_scalar:185; SI: ; %bb.0:186; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)187; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v12188; SI-NEXT: v_mov_b32_e32 v25, v11189; SI-NEXT: v_mov_b32_e32 v24, v10190; SI-NEXT: v_mov_b32_e32 v23, v9191; SI-NEXT: v_mov_b32_e32 v22, v8192; SI-NEXT: v_mov_b32_e32 v21, v7193; SI-NEXT: v_mov_b32_e32 v20, v6194; SI-NEXT: v_mov_b32_e32 v19, v5195; SI-NEXT: v_mov_b32_e32 v18, v4196; SI-NEXT: v_mov_b32_e32 v17, v3197; SI-NEXT: v_mov_b32_e32 v16, v2198; SI-NEXT: v_mov_b32_e32 v15, v1199; SI-NEXT: v_mov_b32_e32 v14, v0200; SI-NEXT: v_mov_b32_e32 v0, s16201; SI-NEXT: s_and_b64 s[4:5], vcc, exec202; SI-NEXT: v_mov_b32_e32 v1, s17203; SI-NEXT: v_mov_b32_e32 v2, s18204; SI-NEXT: v_mov_b32_e32 v3, s19205; SI-NEXT: v_mov_b32_e32 v4, s20206; SI-NEXT: v_mov_b32_e32 v5, s21207; SI-NEXT: v_mov_b32_e32 v6, s22208; SI-NEXT: v_mov_b32_e32 v7, s23209; SI-NEXT: v_mov_b32_e32 v8, s24210; SI-NEXT: v_mov_b32_e32 v9, s25211; SI-NEXT: v_mov_b32_e32 v10, s26212; SI-NEXT: v_mov_b32_e32 v11, s27213; SI-NEXT: v_mov_b32_e32 v12, s28214; SI-NEXT: v_mov_b32_e32 v13, s29215; SI-NEXT: s_cbranch_scc0 .LBB1_4216; SI-NEXT: ; %bb.1: ; %cmp.false217; SI-NEXT: s_cbranch_execnz .LBB1_3218; SI-NEXT: .LBB1_2: ; %cmp.true219; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v25220; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v24221; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v23222; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v22223; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v21224; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v20225; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v19226; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v18227; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v17228; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v16229; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v15230; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v14231; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v13232; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v12233; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v11234; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v10235; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v9236; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v8237; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v7238; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v6239; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v5240; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v4241; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v3242; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v2243; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v1244; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v0245; SI-NEXT: .LBB1_3: ; %end246; SI-NEXT: s_setpc_b64 s[30:31]247; SI-NEXT: .LBB1_4:248; SI-NEXT: s_branch .LBB1_2249;250; VI-LABEL: bitcast_v26i32_to_v26f32_scalar:251; VI: ; %bb.0:252; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)253; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v12254; VI-NEXT: v_mov_b32_e32 v25, v11255; VI-NEXT: v_mov_b32_e32 v24, v10256; VI-NEXT: v_mov_b32_e32 v23, v9257; VI-NEXT: v_mov_b32_e32 v22, v8258; VI-NEXT: v_mov_b32_e32 v21, v7259; VI-NEXT: v_mov_b32_e32 v20, v6260; VI-NEXT: v_mov_b32_e32 v19, v5261; VI-NEXT: v_mov_b32_e32 v18, v4262; VI-NEXT: v_mov_b32_e32 v17, v3263; VI-NEXT: v_mov_b32_e32 v16, v2264; VI-NEXT: v_mov_b32_e32 v15, v1265; VI-NEXT: v_mov_b32_e32 v14, v0266; VI-NEXT: v_mov_b32_e32 v0, s16267; VI-NEXT: s_and_b64 s[4:5], vcc, exec268; VI-NEXT: v_mov_b32_e32 v1, s17269; VI-NEXT: v_mov_b32_e32 v2, s18270; VI-NEXT: v_mov_b32_e32 v3, s19271; VI-NEXT: v_mov_b32_e32 v4, s20272; VI-NEXT: v_mov_b32_e32 v5, s21273; VI-NEXT: v_mov_b32_e32 v6, s22274; VI-NEXT: v_mov_b32_e32 v7, s23275; VI-NEXT: v_mov_b32_e32 v8, s24276; VI-NEXT: v_mov_b32_e32 v9, s25277; VI-NEXT: v_mov_b32_e32 v10, s26278; VI-NEXT: v_mov_b32_e32 v11, s27279; VI-NEXT: v_mov_b32_e32 v12, s28280; VI-NEXT: v_mov_b32_e32 v13, s29281; VI-NEXT: s_cbranch_scc0 .LBB1_4282; VI-NEXT: ; %bb.1: ; %cmp.false283; VI-NEXT: s_cbranch_execnz .LBB1_3284; VI-NEXT: .LBB1_2: ; %cmp.true285; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v25286; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v24287; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v23288; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v22289; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v21290; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v20291; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v19292; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v18293; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v17294; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v16295; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v15296; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v14297; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v13298; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v12299; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v11300; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v10301; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v9302; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v8303; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v7304; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v6305; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v5306; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v4307; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v3308; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v2309; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v1310; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0311; VI-NEXT: .LBB1_3: ; %end312; VI-NEXT: s_setpc_b64 s[30:31]313; VI-NEXT: .LBB1_4:314; VI-NEXT: s_branch .LBB1_2315;316; GFX9-LABEL: bitcast_v26i32_to_v26f32_scalar:317; GFX9: ; %bb.0:318; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)319; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v12320; GFX9-NEXT: v_mov_b32_e32 v25, v11321; GFX9-NEXT: v_mov_b32_e32 v24, v10322; GFX9-NEXT: v_mov_b32_e32 v23, v9323; GFX9-NEXT: v_mov_b32_e32 v22, v8324; GFX9-NEXT: v_mov_b32_e32 v21, v7325; GFX9-NEXT: v_mov_b32_e32 v20, v6326; GFX9-NEXT: v_mov_b32_e32 v19, v5327; GFX9-NEXT: v_mov_b32_e32 v18, v4328; GFX9-NEXT: v_mov_b32_e32 v17, v3329; GFX9-NEXT: v_mov_b32_e32 v16, v2330; GFX9-NEXT: v_mov_b32_e32 v15, v1331; GFX9-NEXT: v_mov_b32_e32 v14, v0332; GFX9-NEXT: v_mov_b32_e32 v0, s16333; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec334; GFX9-NEXT: v_mov_b32_e32 v1, s17335; GFX9-NEXT: v_mov_b32_e32 v2, s18336; GFX9-NEXT: v_mov_b32_e32 v3, s19337; GFX9-NEXT: v_mov_b32_e32 v4, s20338; GFX9-NEXT: v_mov_b32_e32 v5, s21339; GFX9-NEXT: v_mov_b32_e32 v6, s22340; GFX9-NEXT: v_mov_b32_e32 v7, s23341; GFX9-NEXT: v_mov_b32_e32 v8, s24342; GFX9-NEXT: v_mov_b32_e32 v9, s25343; GFX9-NEXT: v_mov_b32_e32 v10, s26344; GFX9-NEXT: v_mov_b32_e32 v11, s27345; GFX9-NEXT: v_mov_b32_e32 v12, s28346; GFX9-NEXT: v_mov_b32_e32 v13, s29347; GFX9-NEXT: s_cbranch_scc0 .LBB1_4348; GFX9-NEXT: ; %bb.1: ; %cmp.false349; GFX9-NEXT: s_cbranch_execnz .LBB1_3350; GFX9-NEXT: .LBB1_2: ; %cmp.true351; GFX9-NEXT: v_add_u32_e32 v25, 3, v25352; GFX9-NEXT: v_add_u32_e32 v24, 3, v24353; GFX9-NEXT: v_add_u32_e32 v23, 3, v23354; GFX9-NEXT: v_add_u32_e32 v22, 3, v22355; GFX9-NEXT: v_add_u32_e32 v21, 3, v21356; GFX9-NEXT: v_add_u32_e32 v20, 3, v20357; GFX9-NEXT: v_add_u32_e32 v19, 3, v19358; GFX9-NEXT: v_add_u32_e32 v18, 3, v18359; GFX9-NEXT: v_add_u32_e32 v17, 3, v17360; GFX9-NEXT: v_add_u32_e32 v16, 3, v16361; GFX9-NEXT: v_add_u32_e32 v15, 3, v15362; GFX9-NEXT: v_add_u32_e32 v14, 3, v14363; GFX9-NEXT: v_add_u32_e32 v13, 3, v13364; GFX9-NEXT: v_add_u32_e32 v12, 3, v12365; GFX9-NEXT: v_add_u32_e32 v11, 3, v11366; GFX9-NEXT: v_add_u32_e32 v10, 3, v10367; GFX9-NEXT: v_add_u32_e32 v9, 3, v9368; GFX9-NEXT: v_add_u32_e32 v8, 3, v8369; GFX9-NEXT: v_add_u32_e32 v7, 3, v7370; GFX9-NEXT: v_add_u32_e32 v6, 3, v6371; GFX9-NEXT: v_add_u32_e32 v5, 3, v5372; GFX9-NEXT: v_add_u32_e32 v4, 3, v4373; GFX9-NEXT: v_add_u32_e32 v3, 3, v3374; GFX9-NEXT: v_add_u32_e32 v2, 3, v2375; GFX9-NEXT: v_add_u32_e32 v1, 3, v1376; GFX9-NEXT: v_add_u32_e32 v0, 3, v0377; GFX9-NEXT: .LBB1_3: ; %end378; GFX9-NEXT: s_setpc_b64 s[30:31]379; GFX9-NEXT: .LBB1_4:380; GFX9-NEXT: s_branch .LBB1_2381;382; GFX11-LABEL: bitcast_v26i32_to_v26f32_scalar:383; GFX11: ; %bb.0:384; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)385; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v7386; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v5387; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v3388; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)389; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v16390; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v1391; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s1392; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3393; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s17394; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s19395; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s21396; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s23397; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s25398; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s27399; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s29400; GFX11-NEXT: v_mov_b32_e32 v16, s28401; GFX11-NEXT: s_mov_b32 s0, 0402; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo403; GFX11-NEXT: s_cbranch_scc0 .LBB1_3404; GFX11-NEXT: ; %bb.1: ; %Flow405; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s0406; GFX11-NEXT: s_cbranch_vccz .LBB1_4407; GFX11-NEXT: ; %bb.2: ; %end408; GFX11-NEXT: s_setpc_b64 s[30:31]409; GFX11-NEXT: .LBB1_3:410; GFX11-NEXT: .LBB1_4: ; %cmp.true411; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v25412; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v24413; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v23414; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v22415; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v21416; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v20417; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v19418; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v18419; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v17420; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v16421; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v15422; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v14423; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v13424; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v12425; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v11426; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v10427; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v9428; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v8429; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v7430; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v6431; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v5432; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v4433; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v3434; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v2435; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v1436; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v0437; GFX11-NEXT: s_setpc_b64 s[30:31]438 %cmp = icmp eq i32 %b, 0439 br i1 %cmp, label %cmp.true, label %cmp.false440 441cmp.true:442 %a1 = add <26 x i32> %a, splat (i32 3)443 %a2 = bitcast <26 x i32> %a1 to <26 x float>444 br label %end445 446cmp.false:447 %a3 = bitcast <26 x i32> %a to <26 x float>448 br label %end449 450end:451 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]452 ret <26 x float> %phi453}454 455define <26 x i32> @bitcast_v26f32_to_v26i32(<26 x float> %a, i32 %b) {456; SI-LABEL: bitcast_v26f32_to_v26i32:457; SI: ; %bb.0:458; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)459; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v26460; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc461; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]462; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]463; SI-NEXT: s_cbranch_execz .LBB2_2464; SI-NEXT: ; %bb.1: ; %cmp.true465; SI-NEXT: v_add_f32_e32 v25, 1.0, v25466; SI-NEXT: v_add_f32_e32 v24, 1.0, v24467; SI-NEXT: v_add_f32_e32 v23, 1.0, v23468; SI-NEXT: v_add_f32_e32 v22, 1.0, v22469; SI-NEXT: v_add_f32_e32 v21, 1.0, v21470; SI-NEXT: v_add_f32_e32 v20, 1.0, v20471; SI-NEXT: v_add_f32_e32 v19, 1.0, v19472; SI-NEXT: v_add_f32_e32 v18, 1.0, v18473; SI-NEXT: v_add_f32_e32 v17, 1.0, v17474; SI-NEXT: v_add_f32_e32 v16, 1.0, v16475; SI-NEXT: v_add_f32_e32 v15, 1.0, v15476; SI-NEXT: v_add_f32_e32 v14, 1.0, v14477; SI-NEXT: v_add_f32_e32 v13, 1.0, v13478; SI-NEXT: v_add_f32_e32 v12, 1.0, v12479; SI-NEXT: v_add_f32_e32 v11, 1.0, v11480; SI-NEXT: v_add_f32_e32 v10, 1.0, v10481; SI-NEXT: v_add_f32_e32 v9, 1.0, v9482; SI-NEXT: v_add_f32_e32 v8, 1.0, v8483; SI-NEXT: v_add_f32_e32 v7, 1.0, v7484; SI-NEXT: v_add_f32_e32 v6, 1.0, v6485; SI-NEXT: v_add_f32_e32 v5, 1.0, v5486; SI-NEXT: v_add_f32_e32 v4, 1.0, v4487; SI-NEXT: v_add_f32_e32 v3, 1.0, v3488; SI-NEXT: v_add_f32_e32 v2, 1.0, v2489; SI-NEXT: v_add_f32_e32 v1, 1.0, v1490; SI-NEXT: v_add_f32_e32 v0, 1.0, v0491; SI-NEXT: .LBB2_2: ; %end492; SI-NEXT: s_or_b64 exec, exec, s[4:5]493; SI-NEXT: s_setpc_b64 s[30:31]494;495; VI-LABEL: bitcast_v26f32_to_v26i32:496; VI: ; %bb.0:497; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)498; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v26499; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc500; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]501; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]502; VI-NEXT: s_cbranch_execz .LBB2_2503; VI-NEXT: ; %bb.1: ; %cmp.true504; VI-NEXT: v_add_f32_e32 v25, 1.0, v25505; VI-NEXT: v_add_f32_e32 v24, 1.0, v24506; VI-NEXT: v_add_f32_e32 v23, 1.0, v23507; VI-NEXT: v_add_f32_e32 v22, 1.0, v22508; VI-NEXT: v_add_f32_e32 v21, 1.0, v21509; VI-NEXT: v_add_f32_e32 v20, 1.0, v20510; VI-NEXT: v_add_f32_e32 v19, 1.0, v19511; VI-NEXT: v_add_f32_e32 v18, 1.0, v18512; VI-NEXT: v_add_f32_e32 v17, 1.0, v17513; VI-NEXT: v_add_f32_e32 v16, 1.0, v16514; VI-NEXT: v_add_f32_e32 v15, 1.0, v15515; VI-NEXT: v_add_f32_e32 v14, 1.0, v14516; VI-NEXT: v_add_f32_e32 v13, 1.0, v13517; VI-NEXT: v_add_f32_e32 v12, 1.0, v12518; VI-NEXT: v_add_f32_e32 v11, 1.0, v11519; VI-NEXT: v_add_f32_e32 v10, 1.0, v10520; VI-NEXT: v_add_f32_e32 v9, 1.0, v9521; VI-NEXT: v_add_f32_e32 v8, 1.0, v8522; VI-NEXT: v_add_f32_e32 v7, 1.0, v7523; VI-NEXT: v_add_f32_e32 v6, 1.0, v6524; VI-NEXT: v_add_f32_e32 v5, 1.0, v5525; VI-NEXT: v_add_f32_e32 v4, 1.0, v4526; VI-NEXT: v_add_f32_e32 v3, 1.0, v3527; VI-NEXT: v_add_f32_e32 v2, 1.0, v2528; VI-NEXT: v_add_f32_e32 v1, 1.0, v1529; VI-NEXT: v_add_f32_e32 v0, 1.0, v0530; VI-NEXT: .LBB2_2: ; %end531; VI-NEXT: s_or_b64 exec, exec, s[4:5]532; VI-NEXT: s_setpc_b64 s[30:31]533;534; GFX9-LABEL: bitcast_v26f32_to_v26i32:535; GFX9: ; %bb.0:536; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)537; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v26538; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc539; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]540; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]541; GFX9-NEXT: s_cbranch_execz .LBB2_2542; GFX9-NEXT: ; %bb.1: ; %cmp.true543; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v25544; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v24545; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v23546; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v22547; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v21548; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v20549; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v19550; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v18551; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v17552; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v16553; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v15554; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v14555; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v13556; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v12557; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v11558; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v10559; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v9560; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v8561; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v7562; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v6563; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v5564; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v4565; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v3566; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v2567; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v1568; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v0569; GFX9-NEXT: .LBB2_2: ; %end570; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]571; GFX9-NEXT: s_setpc_b64 s[30:31]572;573; GFX11-LABEL: bitcast_v26f32_to_v26i32:574; GFX11: ; %bb.0:575; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)576; GFX11-NEXT: s_mov_b32 s0, exec_lo577; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v26578; GFX11-NEXT: s_xor_b32 s0, exec_lo, s0579; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)580; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s0581; GFX11-NEXT: s_cbranch_execz .LBB2_2582; GFX11-NEXT: ; %bb.1: ; %cmp.true583; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v24584; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v22585; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v20586; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v18587; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v16588; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v14589; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v12590; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v10591; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v8592; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v6593; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v4594; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v2595; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v0596; GFX11-NEXT: .LBB2_2: ; %end597; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s0598; GFX11-NEXT: s_setpc_b64 s[30:31]599 %cmp = icmp eq i32 %b, 0600 br i1 %cmp, label %cmp.true, label %cmp.false601 602cmp.true:603 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)604 %a2 = bitcast <26 x float> %a1 to <26 x i32>605 br label %end606 607cmp.false:608 %a3 = bitcast <26 x float> %a to <26 x i32>609 br label %end610 611end:612 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]613 ret <26 x i32> %phi614}615 616define inreg <26 x i32> @bitcast_v26f32_to_v26i32_scalar(<26 x float> inreg %a, i32 inreg %b) {617; SI-LABEL: bitcast_v26f32_to_v26i32_scalar:618; SI: ; %bb.0:619; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)620; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v12621; SI-NEXT: v_mov_b32_e32 v25, v11622; SI-NEXT: v_mov_b32_e32 v24, v10623; SI-NEXT: v_mov_b32_e32 v23, v9624; SI-NEXT: v_mov_b32_e32 v22, v8625; SI-NEXT: v_mov_b32_e32 v21, v7626; SI-NEXT: v_mov_b32_e32 v20, v6627; SI-NEXT: v_mov_b32_e32 v19, v5628; SI-NEXT: v_mov_b32_e32 v18, v4629; SI-NEXT: v_mov_b32_e32 v17, v3630; SI-NEXT: v_mov_b32_e32 v16, v2631; SI-NEXT: v_mov_b32_e32 v15, v1632; SI-NEXT: v_mov_b32_e32 v14, v0633; SI-NEXT: v_mov_b32_e32 v0, s16634; SI-NEXT: s_and_b64 s[4:5], vcc, exec635; SI-NEXT: v_mov_b32_e32 v1, s17636; SI-NEXT: v_mov_b32_e32 v2, s18637; SI-NEXT: v_mov_b32_e32 v3, s19638; SI-NEXT: v_mov_b32_e32 v4, s20639; SI-NEXT: v_mov_b32_e32 v5, s21640; SI-NEXT: v_mov_b32_e32 v6, s22641; SI-NEXT: v_mov_b32_e32 v7, s23642; SI-NEXT: v_mov_b32_e32 v8, s24643; SI-NEXT: v_mov_b32_e32 v9, s25644; SI-NEXT: v_mov_b32_e32 v10, s26645; SI-NEXT: v_mov_b32_e32 v11, s27646; SI-NEXT: v_mov_b32_e32 v12, s28647; SI-NEXT: v_mov_b32_e32 v13, s29648; SI-NEXT: s_cbranch_scc0 .LBB3_4649; SI-NEXT: ; %bb.1: ; %cmp.false650; SI-NEXT: s_cbranch_execnz .LBB3_3651; SI-NEXT: .LBB3_2: ; %cmp.true652; SI-NEXT: v_add_f32_e32 v25, 1.0, v25653; SI-NEXT: v_add_f32_e32 v24, 1.0, v24654; SI-NEXT: v_add_f32_e32 v23, 1.0, v23655; SI-NEXT: v_add_f32_e32 v22, 1.0, v22656; SI-NEXT: v_add_f32_e32 v21, 1.0, v21657; SI-NEXT: v_add_f32_e32 v20, 1.0, v20658; SI-NEXT: v_add_f32_e32 v19, 1.0, v19659; SI-NEXT: v_add_f32_e32 v18, 1.0, v18660; SI-NEXT: v_add_f32_e32 v17, 1.0, v17661; SI-NEXT: v_add_f32_e32 v16, 1.0, v16662; SI-NEXT: v_add_f32_e32 v15, 1.0, v15663; SI-NEXT: v_add_f32_e32 v14, 1.0, v14664; SI-NEXT: v_add_f32_e32 v13, 1.0, v13665; SI-NEXT: v_add_f32_e32 v12, 1.0, v12666; SI-NEXT: v_add_f32_e32 v11, 1.0, v11667; SI-NEXT: v_add_f32_e32 v10, 1.0, v10668; SI-NEXT: v_add_f32_e32 v9, 1.0, v9669; SI-NEXT: v_add_f32_e32 v8, 1.0, v8670; SI-NEXT: v_add_f32_e32 v7, 1.0, v7671; SI-NEXT: v_add_f32_e32 v6, 1.0, v6672; SI-NEXT: v_add_f32_e32 v5, 1.0, v5673; SI-NEXT: v_add_f32_e32 v4, 1.0, v4674; SI-NEXT: v_add_f32_e32 v3, 1.0, v3675; SI-NEXT: v_add_f32_e32 v2, 1.0, v2676; SI-NEXT: v_add_f32_e32 v1, 1.0, v1677; SI-NEXT: v_add_f32_e32 v0, 1.0, v0678; SI-NEXT: .LBB3_3: ; %end679; SI-NEXT: s_setpc_b64 s[30:31]680; SI-NEXT: .LBB3_4:681; SI-NEXT: s_branch .LBB3_2682;683; VI-LABEL: bitcast_v26f32_to_v26i32_scalar:684; VI: ; %bb.0:685; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)686; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v12687; VI-NEXT: v_mov_b32_e32 v25, v11688; VI-NEXT: v_mov_b32_e32 v24, v10689; VI-NEXT: v_mov_b32_e32 v23, v9690; VI-NEXT: v_mov_b32_e32 v22, v8691; VI-NEXT: v_mov_b32_e32 v21, v7692; VI-NEXT: v_mov_b32_e32 v20, v6693; VI-NEXT: v_mov_b32_e32 v19, v5694; VI-NEXT: v_mov_b32_e32 v18, v4695; VI-NEXT: v_mov_b32_e32 v17, v3696; VI-NEXT: v_mov_b32_e32 v16, v2697; VI-NEXT: v_mov_b32_e32 v15, v1698; VI-NEXT: v_mov_b32_e32 v14, v0699; VI-NEXT: v_mov_b32_e32 v0, s16700; VI-NEXT: s_and_b64 s[4:5], vcc, exec701; VI-NEXT: v_mov_b32_e32 v1, s17702; VI-NEXT: v_mov_b32_e32 v2, s18703; VI-NEXT: v_mov_b32_e32 v3, s19704; VI-NEXT: v_mov_b32_e32 v4, s20705; VI-NEXT: v_mov_b32_e32 v5, s21706; VI-NEXT: v_mov_b32_e32 v6, s22707; VI-NEXT: v_mov_b32_e32 v7, s23708; VI-NEXT: v_mov_b32_e32 v8, s24709; VI-NEXT: v_mov_b32_e32 v9, s25710; VI-NEXT: v_mov_b32_e32 v10, s26711; VI-NEXT: v_mov_b32_e32 v11, s27712; VI-NEXT: v_mov_b32_e32 v12, s28713; VI-NEXT: v_mov_b32_e32 v13, s29714; VI-NEXT: s_cbranch_scc0 .LBB3_4715; VI-NEXT: ; %bb.1: ; %cmp.false716; VI-NEXT: s_cbranch_execnz .LBB3_3717; VI-NEXT: .LBB3_2: ; %cmp.true718; VI-NEXT: v_add_f32_e32 v25, 1.0, v25719; VI-NEXT: v_add_f32_e32 v24, 1.0, v24720; VI-NEXT: v_add_f32_e32 v23, 1.0, v23721; VI-NEXT: v_add_f32_e32 v22, 1.0, v22722; VI-NEXT: v_add_f32_e32 v21, 1.0, v21723; VI-NEXT: v_add_f32_e32 v20, 1.0, v20724; VI-NEXT: v_add_f32_e32 v19, 1.0, v19725; VI-NEXT: v_add_f32_e32 v18, 1.0, v18726; VI-NEXT: v_add_f32_e32 v17, 1.0, v17727; VI-NEXT: v_add_f32_e32 v16, 1.0, v16728; VI-NEXT: v_add_f32_e32 v15, 1.0, v15729; VI-NEXT: v_add_f32_e32 v14, 1.0, v14730; VI-NEXT: v_add_f32_e32 v13, 1.0, v13731; VI-NEXT: v_add_f32_e32 v12, 1.0, v12732; VI-NEXT: v_add_f32_e32 v11, 1.0, v11733; VI-NEXT: v_add_f32_e32 v10, 1.0, v10734; VI-NEXT: v_add_f32_e32 v9, 1.0, v9735; VI-NEXT: v_add_f32_e32 v8, 1.0, v8736; VI-NEXT: v_add_f32_e32 v7, 1.0, v7737; VI-NEXT: v_add_f32_e32 v6, 1.0, v6738; VI-NEXT: v_add_f32_e32 v5, 1.0, v5739; VI-NEXT: v_add_f32_e32 v4, 1.0, v4740; VI-NEXT: v_add_f32_e32 v3, 1.0, v3741; VI-NEXT: v_add_f32_e32 v2, 1.0, v2742; VI-NEXT: v_add_f32_e32 v1, 1.0, v1743; VI-NEXT: v_add_f32_e32 v0, 1.0, v0744; VI-NEXT: .LBB3_3: ; %end745; VI-NEXT: s_setpc_b64 s[30:31]746; VI-NEXT: .LBB3_4:747; VI-NEXT: s_branch .LBB3_2748;749; GFX9-LABEL: bitcast_v26f32_to_v26i32_scalar:750; GFX9: ; %bb.0:751; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)752; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v12753; GFX9-NEXT: v_mov_b32_e32 v25, v11754; GFX9-NEXT: v_mov_b32_e32 v24, v10755; GFX9-NEXT: v_mov_b32_e32 v23, v9756; GFX9-NEXT: v_mov_b32_e32 v22, v8757; GFX9-NEXT: v_mov_b32_e32 v21, v7758; GFX9-NEXT: v_mov_b32_e32 v20, v6759; GFX9-NEXT: v_mov_b32_e32 v19, v5760; GFX9-NEXT: v_mov_b32_e32 v18, v4761; GFX9-NEXT: v_mov_b32_e32 v17, v3762; GFX9-NEXT: v_mov_b32_e32 v16, v2763; GFX9-NEXT: v_mov_b32_e32 v15, v1764; GFX9-NEXT: v_mov_b32_e32 v14, v0765; GFX9-NEXT: v_mov_b32_e32 v0, s16766; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec767; GFX9-NEXT: v_mov_b32_e32 v1, s17768; GFX9-NEXT: v_mov_b32_e32 v2, s18769; GFX9-NEXT: v_mov_b32_e32 v3, s19770; GFX9-NEXT: v_mov_b32_e32 v4, s20771; GFX9-NEXT: v_mov_b32_e32 v5, s21772; GFX9-NEXT: v_mov_b32_e32 v6, s22773; GFX9-NEXT: v_mov_b32_e32 v7, s23774; GFX9-NEXT: v_mov_b32_e32 v8, s24775; GFX9-NEXT: v_mov_b32_e32 v9, s25776; GFX9-NEXT: v_mov_b32_e32 v10, s26777; GFX9-NEXT: v_mov_b32_e32 v11, s27778; GFX9-NEXT: v_mov_b32_e32 v12, s28779; GFX9-NEXT: v_mov_b32_e32 v13, s29780; GFX9-NEXT: s_cbranch_scc0 .LBB3_4781; GFX9-NEXT: ; %bb.1: ; %cmp.false782; GFX9-NEXT: s_cbranch_execnz .LBB3_3783; GFX9-NEXT: .LBB3_2: ; %cmp.true784; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v25785; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v24786; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v23787; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v22788; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v21789; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v20790; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v19791; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v18792; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v17793; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v16794; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v15795; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v14796; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v13797; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v12798; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v11799; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v10800; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v9801; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v8802; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v7803; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v6804; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v5805; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v4806; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v3807; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v2808; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v1809; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v0810; GFX9-NEXT: .LBB3_3: ; %end811; GFX9-NEXT: s_setpc_b64 s[30:31]812; GFX9-NEXT: .LBB3_4:813; GFX9-NEXT: s_branch .LBB3_2814;815; GFX11-LABEL: bitcast_v26f32_to_v26i32_scalar:816; GFX11: ; %bb.0:817; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)818; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v7819; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v5820; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v3821; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)822; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v16823; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v1824; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s1825; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3826; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s17827; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s19828; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s21829; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s23830; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s25831; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s27832; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s29833; GFX11-NEXT: v_mov_b32_e32 v16, s28834; GFX11-NEXT: s_mov_b32 s0, 0835; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo836; GFX11-NEXT: s_cbranch_scc0 .LBB3_3837; GFX11-NEXT: ; %bb.1: ; %Flow838; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s0839; GFX11-NEXT: s_cbranch_vccz .LBB3_4840; GFX11-NEXT: ; %bb.2: ; %end841; GFX11-NEXT: s_setpc_b64 s[30:31]842; GFX11-NEXT: .LBB3_3:843; GFX11-NEXT: .LBB3_4: ; %cmp.true844; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v24845; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v22846; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v20847; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v18848; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v16849; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v14850; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v12851; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v10852; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v8853; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v6854; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v4855; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v2856; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v0857; GFX11-NEXT: s_setpc_b64 s[30:31]858 %cmp = icmp eq i32 %b, 0859 br i1 %cmp, label %cmp.true, label %cmp.false860 861cmp.true:862 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)863 %a2 = bitcast <26 x float> %a1 to <26 x i32>864 br label %end865 866cmp.false:867 %a3 = bitcast <26 x float> %a to <26 x i32>868 br label %end869 870end:871 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]872 ret <26 x i32> %phi873}874 875define <13 x i64> @bitcast_v26i32_to_v13i64(<26 x i32> %a, i32 %b) {876; SI-LABEL: bitcast_v26i32_to_v13i64:877; SI: ; %bb.0:878; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)879; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v26880; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc881; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]882; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]883; SI-NEXT: s_cbranch_execz .LBB4_2884; SI-NEXT: ; %bb.1: ; %cmp.true885; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v25886; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v24887; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v23888; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v22889; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v21890; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v20891; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v19892; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v18893; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v17894; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v16895; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v15896; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v14897; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v13898; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v12899; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v11900; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v10901; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v9902; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v8903; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v7904; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v6905; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v5906; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v4907; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v3908; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v2909; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v1910; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v0911; SI-NEXT: .LBB4_2: ; %end912; SI-NEXT: s_or_b64 exec, exec, s[4:5]913; SI-NEXT: s_setpc_b64 s[30:31]914;915; VI-LABEL: bitcast_v26i32_to_v13i64:916; VI: ; %bb.0:917; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)918; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v26919; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc920; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]921; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]922; VI-NEXT: s_cbranch_execz .LBB4_2923; VI-NEXT: ; %bb.1: ; %cmp.true924; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v25925; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v24926; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v23927; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v22928; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v21929; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v20930; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v19931; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v18932; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v17933; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v16934; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v15935; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v14936; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v13937; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v12938; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v11939; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v10940; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v9941; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v8942; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v7943; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v6944; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v5945; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v4946; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v3947; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v2948; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v1949; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0950; VI-NEXT: .LBB4_2: ; %end951; VI-NEXT: s_or_b64 exec, exec, s[4:5]952; VI-NEXT: s_setpc_b64 s[30:31]953;954; GFX9-LABEL: bitcast_v26i32_to_v13i64:955; GFX9: ; %bb.0:956; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)957; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v26958; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc959; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]960; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]961; GFX9-NEXT: s_cbranch_execz .LBB4_2962; GFX9-NEXT: ; %bb.1: ; %cmp.true963; GFX9-NEXT: v_add_u32_e32 v25, 3, v25964; GFX9-NEXT: v_add_u32_e32 v24, 3, v24965; GFX9-NEXT: v_add_u32_e32 v23, 3, v23966; GFX9-NEXT: v_add_u32_e32 v22, 3, v22967; GFX9-NEXT: v_add_u32_e32 v21, 3, v21968; GFX9-NEXT: v_add_u32_e32 v20, 3, v20969; GFX9-NEXT: v_add_u32_e32 v19, 3, v19970; GFX9-NEXT: v_add_u32_e32 v18, 3, v18971; GFX9-NEXT: v_add_u32_e32 v17, 3, v17972; GFX9-NEXT: v_add_u32_e32 v16, 3, v16973; GFX9-NEXT: v_add_u32_e32 v15, 3, v15974; GFX9-NEXT: v_add_u32_e32 v14, 3, v14975; GFX9-NEXT: v_add_u32_e32 v13, 3, v13976; GFX9-NEXT: v_add_u32_e32 v12, 3, v12977; GFX9-NEXT: v_add_u32_e32 v11, 3, v11978; GFX9-NEXT: v_add_u32_e32 v10, 3, v10979; GFX9-NEXT: v_add_u32_e32 v9, 3, v9980; GFX9-NEXT: v_add_u32_e32 v8, 3, v8981; GFX9-NEXT: v_add_u32_e32 v7, 3, v7982; GFX9-NEXT: v_add_u32_e32 v6, 3, v6983; GFX9-NEXT: v_add_u32_e32 v5, 3, v5984; GFX9-NEXT: v_add_u32_e32 v4, 3, v4985; GFX9-NEXT: v_add_u32_e32 v3, 3, v3986; GFX9-NEXT: v_add_u32_e32 v2, 3, v2987; GFX9-NEXT: v_add_u32_e32 v1, 3, v1988; GFX9-NEXT: v_add_u32_e32 v0, 3, v0989; GFX9-NEXT: .LBB4_2: ; %end990; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]991; GFX9-NEXT: s_setpc_b64 s[30:31]992;993; GFX11-LABEL: bitcast_v26i32_to_v13i64:994; GFX11: ; %bb.0:995; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)996; GFX11-NEXT: s_mov_b32 s0, exec_lo997; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v26998; GFX11-NEXT: s_xor_b32 s0, exec_lo, s0999; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)1000; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s01001; GFX11-NEXT: s_cbranch_execz .LBB4_21002; GFX11-NEXT: ; %bb.1: ; %cmp.true1003; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v251004; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v241005; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v231006; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v221007; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v211008; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v201009; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v191010; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v181011; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v171012; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v161013; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v151014; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v141015; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v131016; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v121017; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v111018; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v101019; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v91020; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v81021; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v71022; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v61023; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v51024; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v41025; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v31026; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v21027; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v11028; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v01029; GFX11-NEXT: .LBB4_2: ; %end1030; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s01031; GFX11-NEXT: s_setpc_b64 s[30:31]1032 %cmp = icmp eq i32 %b, 01033 br i1 %cmp, label %cmp.true, label %cmp.false1034 1035cmp.true:1036 %a1 = add <26 x i32> %a, splat (i32 3)1037 %a2 = bitcast <26 x i32> %a1 to <13 x i64>1038 br label %end1039 1040cmp.false:1041 %a3 = bitcast <26 x i32> %a to <13 x i64>1042 br label %end1043 1044end:1045 %phi = phi <13 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1046 ret <13 x i64> %phi1047}1048 1049define inreg <13 x i64> @bitcast_v26i32_to_v13i64_scalar(<26 x i32> inreg %a, i32 inreg %b) {1050; SI-LABEL: bitcast_v26i32_to_v13i64_scalar:1051; SI: ; %bb.0:1052; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1053; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121054; SI-NEXT: v_mov_b32_e32 v25, v111055; SI-NEXT: v_mov_b32_e32 v24, v101056; SI-NEXT: v_mov_b32_e32 v23, v91057; SI-NEXT: v_mov_b32_e32 v22, v81058; SI-NEXT: v_mov_b32_e32 v21, v71059; SI-NEXT: v_mov_b32_e32 v20, v61060; SI-NEXT: v_mov_b32_e32 v19, v51061; SI-NEXT: v_mov_b32_e32 v18, v41062; SI-NEXT: v_mov_b32_e32 v17, v31063; SI-NEXT: v_mov_b32_e32 v16, v21064; SI-NEXT: v_mov_b32_e32 v15, v11065; SI-NEXT: v_mov_b32_e32 v14, v01066; SI-NEXT: v_mov_b32_e32 v0, s161067; SI-NEXT: s_and_b64 s[4:5], vcc, exec1068; SI-NEXT: v_mov_b32_e32 v1, s171069; SI-NEXT: v_mov_b32_e32 v2, s181070; SI-NEXT: v_mov_b32_e32 v3, s191071; SI-NEXT: v_mov_b32_e32 v4, s201072; SI-NEXT: v_mov_b32_e32 v5, s211073; SI-NEXT: v_mov_b32_e32 v6, s221074; SI-NEXT: v_mov_b32_e32 v7, s231075; SI-NEXT: v_mov_b32_e32 v8, s241076; SI-NEXT: v_mov_b32_e32 v9, s251077; SI-NEXT: v_mov_b32_e32 v10, s261078; SI-NEXT: v_mov_b32_e32 v11, s271079; SI-NEXT: v_mov_b32_e32 v12, s281080; SI-NEXT: v_mov_b32_e32 v13, s291081; SI-NEXT: s_cbranch_scc0 .LBB5_41082; SI-NEXT: ; %bb.1: ; %cmp.false1083; SI-NEXT: s_cbranch_execnz .LBB5_31084; SI-NEXT: .LBB5_2: ; %cmp.true1085; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v251086; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241087; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v231088; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221089; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v211090; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201091; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v191092; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181093; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v171094; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161095; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v151096; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v141097; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v131098; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121099; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v111100; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101101; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v91102; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81103; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v71104; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61105; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v51106; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41107; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v31108; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21109; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v11110; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01111; SI-NEXT: .LBB5_3: ; %end1112; SI-NEXT: s_setpc_b64 s[30:31]1113; SI-NEXT: .LBB5_4:1114; SI-NEXT: s_branch .LBB5_21115;1116; VI-LABEL: bitcast_v26i32_to_v13i64_scalar:1117; VI: ; %bb.0:1118; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1119; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121120; VI-NEXT: v_mov_b32_e32 v25, v111121; VI-NEXT: v_mov_b32_e32 v24, v101122; VI-NEXT: v_mov_b32_e32 v23, v91123; VI-NEXT: v_mov_b32_e32 v22, v81124; VI-NEXT: v_mov_b32_e32 v21, v71125; VI-NEXT: v_mov_b32_e32 v20, v61126; VI-NEXT: v_mov_b32_e32 v19, v51127; VI-NEXT: v_mov_b32_e32 v18, v41128; VI-NEXT: v_mov_b32_e32 v17, v31129; VI-NEXT: v_mov_b32_e32 v16, v21130; VI-NEXT: v_mov_b32_e32 v15, v11131; VI-NEXT: v_mov_b32_e32 v14, v01132; VI-NEXT: v_mov_b32_e32 v0, s161133; VI-NEXT: s_and_b64 s[4:5], vcc, exec1134; VI-NEXT: v_mov_b32_e32 v1, s171135; VI-NEXT: v_mov_b32_e32 v2, s181136; VI-NEXT: v_mov_b32_e32 v3, s191137; VI-NEXT: v_mov_b32_e32 v4, s201138; VI-NEXT: v_mov_b32_e32 v5, s211139; VI-NEXT: v_mov_b32_e32 v6, s221140; VI-NEXT: v_mov_b32_e32 v7, s231141; VI-NEXT: v_mov_b32_e32 v8, s241142; VI-NEXT: v_mov_b32_e32 v9, s251143; VI-NEXT: v_mov_b32_e32 v10, s261144; VI-NEXT: v_mov_b32_e32 v11, s271145; VI-NEXT: v_mov_b32_e32 v12, s281146; VI-NEXT: v_mov_b32_e32 v13, s291147; VI-NEXT: s_cbranch_scc0 .LBB5_41148; VI-NEXT: ; %bb.1: ; %cmp.false1149; VI-NEXT: s_cbranch_execnz .LBB5_31150; VI-NEXT: .LBB5_2: ; %cmp.true1151; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v251152; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241153; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v231154; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221155; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v211156; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201157; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v191158; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181159; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v171160; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161161; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v151162; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v141163; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v131164; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121165; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v111166; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101167; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v91168; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81169; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v71170; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61171; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v51172; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41173; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v31174; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21175; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v11176; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01177; VI-NEXT: .LBB5_3: ; %end1178; VI-NEXT: s_setpc_b64 s[30:31]1179; VI-NEXT: .LBB5_4:1180; VI-NEXT: s_branch .LBB5_21181;1182; GFX9-LABEL: bitcast_v26i32_to_v13i64_scalar:1183; GFX9: ; %bb.0:1184; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1185; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121186; GFX9-NEXT: v_mov_b32_e32 v25, v111187; GFX9-NEXT: v_mov_b32_e32 v24, v101188; GFX9-NEXT: v_mov_b32_e32 v23, v91189; GFX9-NEXT: v_mov_b32_e32 v22, v81190; GFX9-NEXT: v_mov_b32_e32 v21, v71191; GFX9-NEXT: v_mov_b32_e32 v20, v61192; GFX9-NEXT: v_mov_b32_e32 v19, v51193; GFX9-NEXT: v_mov_b32_e32 v18, v41194; GFX9-NEXT: v_mov_b32_e32 v17, v31195; GFX9-NEXT: v_mov_b32_e32 v16, v21196; GFX9-NEXT: v_mov_b32_e32 v15, v11197; GFX9-NEXT: v_mov_b32_e32 v14, v01198; GFX9-NEXT: v_mov_b32_e32 v0, s161199; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec1200; GFX9-NEXT: v_mov_b32_e32 v1, s171201; GFX9-NEXT: v_mov_b32_e32 v2, s181202; GFX9-NEXT: v_mov_b32_e32 v3, s191203; GFX9-NEXT: v_mov_b32_e32 v4, s201204; GFX9-NEXT: v_mov_b32_e32 v5, s211205; GFX9-NEXT: v_mov_b32_e32 v6, s221206; GFX9-NEXT: v_mov_b32_e32 v7, s231207; GFX9-NEXT: v_mov_b32_e32 v8, s241208; GFX9-NEXT: v_mov_b32_e32 v9, s251209; GFX9-NEXT: v_mov_b32_e32 v10, s261210; GFX9-NEXT: v_mov_b32_e32 v11, s271211; GFX9-NEXT: v_mov_b32_e32 v12, s281212; GFX9-NEXT: v_mov_b32_e32 v13, s291213; GFX9-NEXT: s_cbranch_scc0 .LBB5_41214; GFX9-NEXT: ; %bb.1: ; %cmp.false1215; GFX9-NEXT: s_cbranch_execnz .LBB5_31216; GFX9-NEXT: .LBB5_2: ; %cmp.true1217; GFX9-NEXT: v_add_u32_e32 v25, 3, v251218; GFX9-NEXT: v_add_u32_e32 v24, 3, v241219; GFX9-NEXT: v_add_u32_e32 v23, 3, v231220; GFX9-NEXT: v_add_u32_e32 v22, 3, v221221; GFX9-NEXT: v_add_u32_e32 v21, 3, v211222; GFX9-NEXT: v_add_u32_e32 v20, 3, v201223; GFX9-NEXT: v_add_u32_e32 v19, 3, v191224; GFX9-NEXT: v_add_u32_e32 v18, 3, v181225; GFX9-NEXT: v_add_u32_e32 v17, 3, v171226; GFX9-NEXT: v_add_u32_e32 v16, 3, v161227; GFX9-NEXT: v_add_u32_e32 v15, 3, v151228; GFX9-NEXT: v_add_u32_e32 v14, 3, v141229; GFX9-NEXT: v_add_u32_e32 v13, 3, v131230; GFX9-NEXT: v_add_u32_e32 v12, 3, v121231; GFX9-NEXT: v_add_u32_e32 v11, 3, v111232; GFX9-NEXT: v_add_u32_e32 v10, 3, v101233; GFX9-NEXT: v_add_u32_e32 v9, 3, v91234; GFX9-NEXT: v_add_u32_e32 v8, 3, v81235; GFX9-NEXT: v_add_u32_e32 v7, 3, v71236; GFX9-NEXT: v_add_u32_e32 v6, 3, v61237; GFX9-NEXT: v_add_u32_e32 v5, 3, v51238; GFX9-NEXT: v_add_u32_e32 v4, 3, v41239; GFX9-NEXT: v_add_u32_e32 v3, 3, v31240; GFX9-NEXT: v_add_u32_e32 v2, 3, v21241; GFX9-NEXT: v_add_u32_e32 v1, 3, v11242; GFX9-NEXT: v_add_u32_e32 v0, 3, v01243; GFX9-NEXT: .LBB5_3: ; %end1244; GFX9-NEXT: s_setpc_b64 s[30:31]1245; GFX9-NEXT: .LBB5_4:1246; GFX9-NEXT: s_branch .LBB5_21247;1248; GFX11-LABEL: bitcast_v26i32_to_v13i64_scalar:1249; GFX11: ; %bb.0:1250; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1251; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v71252; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v51253; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v31254; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)1255; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v161256; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v11257; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s11258; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s31259; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s171260; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s191261; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s211262; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s231263; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s251264; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s271265; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s291266; GFX11-NEXT: v_mov_b32_e32 v16, s281267; GFX11-NEXT: s_mov_b32 s0, 01268; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo1269; GFX11-NEXT: s_cbranch_scc0 .LBB5_31270; GFX11-NEXT: ; %bb.1: ; %Flow1271; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s01272; GFX11-NEXT: s_cbranch_vccz .LBB5_41273; GFX11-NEXT: ; %bb.2: ; %end1274; GFX11-NEXT: s_setpc_b64 s[30:31]1275; GFX11-NEXT: .LBB5_3:1276; GFX11-NEXT: .LBB5_4: ; %cmp.true1277; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v251278; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v241279; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v231280; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v221281; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v211282; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v201283; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v191284; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v181285; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v171286; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v161287; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v151288; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v141289; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v131290; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v121291; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v111292; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v101293; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v91294; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v81295; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v71296; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v61297; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v51298; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v41299; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v31300; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v21301; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v11302; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v01303; GFX11-NEXT: s_setpc_b64 s[30:31]1304 %cmp = icmp eq i32 %b, 01305 br i1 %cmp, label %cmp.true, label %cmp.false1306 1307cmp.true:1308 %a1 = add <26 x i32> %a, splat (i32 3)1309 %a2 = bitcast <26 x i32> %a1 to <13 x i64>1310 br label %end1311 1312cmp.false:1313 %a3 = bitcast <26 x i32> %a to <13 x i64>1314 br label %end1315 1316end:1317 %phi = phi <13 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1318 ret <13 x i64> %phi1319}1320 1321define <26 x i32> @bitcast_v13i64_to_v26i32(<13 x i64> %a, i32 %b) {1322; SI-LABEL: bitcast_v13i64_to_v26i32:1323; SI: ; %bb.0:1324; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1325; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v261326; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc1327; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1328; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1329; SI-NEXT: s_cbranch_execz .LBB6_21330; SI-NEXT: ; %bb.1: ; %cmp.true1331; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241332; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1333; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221334; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1335; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201336; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1337; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181338; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1339; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161340; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1341; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v141342; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1343; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121344; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1345; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101346; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1347; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81348; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1349; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61350; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1351; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41352; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1353; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21354; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1355; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01356; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1357; SI-NEXT: .LBB6_2: ; %end1358; SI-NEXT: s_or_b64 exec, exec, s[4:5]1359; SI-NEXT: s_setpc_b64 s[30:31]1360;1361; VI-LABEL: bitcast_v13i64_to_v26i32:1362; VI: ; %bb.0:1363; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1364; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v261365; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc1366; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1367; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1368; VI-NEXT: s_cbranch_execz .LBB6_21369; VI-NEXT: ; %bb.1: ; %cmp.true1370; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241371; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1372; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221373; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1374; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201375; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1376; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181377; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1378; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161379; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1380; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v141381; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1382; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121383; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1384; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101385; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1386; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81387; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1388; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61389; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1390; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41391; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1392; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21393; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1394; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01395; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1396; VI-NEXT: .LBB6_2: ; %end1397; VI-NEXT: s_or_b64 exec, exec, s[4:5]1398; VI-NEXT: s_setpc_b64 s[30:31]1399;1400; GFX9-LABEL: bitcast_v13i64_to_v26i32:1401; GFX9: ; %bb.0:1402; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1403; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v261404; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc1405; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1406; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1407; GFX9-NEXT: s_cbranch_execz .LBB6_21408; GFX9-NEXT: ; %bb.1: ; %cmp.true1409; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v241410; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc1411; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v221412; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc1413; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v201414; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc1415; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v181416; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc1417; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v161418; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc1419; GFX9-NEXT: v_add_co_u32_e32 v14, vcc, 3, v141420; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc1421; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v121422; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc1423; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v101424; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc1425; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v81426; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc1427; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v61428; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc1429; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v41430; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc1431; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v21432; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc1433; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v01434; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc1435; GFX9-NEXT: .LBB6_2: ; %end1436; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]1437; GFX9-NEXT: s_setpc_b64 s[30:31]1438;1439; GFX11-LABEL: bitcast_v13i64_to_v26i32:1440; GFX11: ; %bb.0:1441; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1442; GFX11-NEXT: s_mov_b32 s0, exec_lo1443; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v261444; GFX11-NEXT: s_xor_b32 s0, exec_lo, s01445; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)1446; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s01447; GFX11-NEXT: s_cbranch_execz .LBB6_21448; GFX11-NEXT: ; %bb.1: ; %cmp.true1449; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 31450; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1451; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo1452; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 31453; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo1454; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 31455; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1456; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo1457; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 31458; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo1459; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 31460; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1461; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo1462; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 31463; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo1464; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 31465; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1466; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo1467; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 31468; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo1469; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 31470; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1471; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo1472; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 31473; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo1474; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 31475; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1476; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo1477; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 31478; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo1479; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 31480; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)1481; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo1482; GFX11-NEXT: .LBB6_2: ; %end1483; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s01484; GFX11-NEXT: s_setpc_b64 s[30:31]1485 %cmp = icmp eq i32 %b, 01486 br i1 %cmp, label %cmp.true, label %cmp.false1487 1488cmp.true:1489 %a1 = add <13 x i64> %a, splat (i64 3)1490 %a2 = bitcast <13 x i64> %a1 to <26 x i32>1491 br label %end1492 1493cmp.false:1494 %a3 = bitcast <13 x i64> %a to <26 x i32>1495 br label %end1496 1497end:1498 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1499 ret <26 x i32> %phi1500}1501 1502define inreg <26 x i32> @bitcast_v13i64_to_v26i32_scalar(<13 x i64> inreg %a, i32 inreg %b) {1503; SI-LABEL: bitcast_v13i64_to_v26i32_scalar:1504; SI: ; %bb.0:1505; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1506; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121507; SI-NEXT: v_mov_b32_e32 v25, v111508; SI-NEXT: v_mov_b32_e32 v24, v101509; SI-NEXT: v_mov_b32_e32 v23, v91510; SI-NEXT: v_mov_b32_e32 v22, v81511; SI-NEXT: v_mov_b32_e32 v21, v71512; SI-NEXT: v_mov_b32_e32 v20, v61513; SI-NEXT: v_mov_b32_e32 v19, v51514; SI-NEXT: v_mov_b32_e32 v18, v41515; SI-NEXT: v_mov_b32_e32 v17, v31516; SI-NEXT: v_mov_b32_e32 v16, v21517; SI-NEXT: v_mov_b32_e32 v15, v11518; SI-NEXT: v_mov_b32_e32 v14, v01519; SI-NEXT: v_mov_b32_e32 v0, s161520; SI-NEXT: s_and_b64 s[4:5], vcc, exec1521; SI-NEXT: v_mov_b32_e32 v1, s171522; SI-NEXT: v_mov_b32_e32 v2, s181523; SI-NEXT: v_mov_b32_e32 v3, s191524; SI-NEXT: v_mov_b32_e32 v4, s201525; SI-NEXT: v_mov_b32_e32 v5, s211526; SI-NEXT: v_mov_b32_e32 v6, s221527; SI-NEXT: v_mov_b32_e32 v7, s231528; SI-NEXT: v_mov_b32_e32 v8, s241529; SI-NEXT: v_mov_b32_e32 v9, s251530; SI-NEXT: v_mov_b32_e32 v10, s261531; SI-NEXT: v_mov_b32_e32 v11, s271532; SI-NEXT: v_mov_b32_e32 v12, s281533; SI-NEXT: v_mov_b32_e32 v13, s291534; SI-NEXT: s_cbranch_scc0 .LBB7_41535; SI-NEXT: ; %bb.1: ; %cmp.false1536; SI-NEXT: s_cbranch_execnz .LBB7_31537; SI-NEXT: .LBB7_2: ; %cmp.true1538; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241539; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1540; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221541; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1542; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201543; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1544; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181545; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1546; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161547; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1548; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v141549; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1550; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121551; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1552; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101553; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1554; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81555; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1556; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61557; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1558; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41559; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1560; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21561; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1562; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01563; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1564; SI-NEXT: .LBB7_3: ; %end1565; SI-NEXT: s_setpc_b64 s[30:31]1566; SI-NEXT: .LBB7_4:1567; SI-NEXT: s_branch .LBB7_21568;1569; VI-LABEL: bitcast_v13i64_to_v26i32_scalar:1570; VI: ; %bb.0:1571; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1572; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121573; VI-NEXT: v_mov_b32_e32 v25, v111574; VI-NEXT: v_mov_b32_e32 v24, v101575; VI-NEXT: v_mov_b32_e32 v23, v91576; VI-NEXT: v_mov_b32_e32 v22, v81577; VI-NEXT: v_mov_b32_e32 v21, v71578; VI-NEXT: v_mov_b32_e32 v20, v61579; VI-NEXT: v_mov_b32_e32 v19, v51580; VI-NEXT: v_mov_b32_e32 v18, v41581; VI-NEXT: v_mov_b32_e32 v17, v31582; VI-NEXT: v_mov_b32_e32 v16, v21583; VI-NEXT: v_mov_b32_e32 v15, v11584; VI-NEXT: v_mov_b32_e32 v14, v01585; VI-NEXT: v_mov_b32_e32 v0, s161586; VI-NEXT: s_and_b64 s[4:5], vcc, exec1587; VI-NEXT: v_mov_b32_e32 v1, s171588; VI-NEXT: v_mov_b32_e32 v2, s181589; VI-NEXT: v_mov_b32_e32 v3, s191590; VI-NEXT: v_mov_b32_e32 v4, s201591; VI-NEXT: v_mov_b32_e32 v5, s211592; VI-NEXT: v_mov_b32_e32 v6, s221593; VI-NEXT: v_mov_b32_e32 v7, s231594; VI-NEXT: v_mov_b32_e32 v8, s241595; VI-NEXT: v_mov_b32_e32 v9, s251596; VI-NEXT: v_mov_b32_e32 v10, s261597; VI-NEXT: v_mov_b32_e32 v11, s271598; VI-NEXT: v_mov_b32_e32 v12, s281599; VI-NEXT: v_mov_b32_e32 v13, s291600; VI-NEXT: s_cbranch_scc0 .LBB7_41601; VI-NEXT: ; %bb.1: ; %cmp.false1602; VI-NEXT: s_cbranch_execnz .LBB7_31603; VI-NEXT: .LBB7_2: ; %cmp.true1604; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241605; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1606; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221607; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1608; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201609; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1610; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181611; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1612; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161613; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1614; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v141615; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1616; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121617; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1618; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101619; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1620; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81621; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1622; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61623; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1624; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41625; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1626; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21627; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1628; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01629; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1630; VI-NEXT: .LBB7_3: ; %end1631; VI-NEXT: s_setpc_b64 s[30:31]1632; VI-NEXT: .LBB7_4:1633; VI-NEXT: s_branch .LBB7_21634;1635; GFX9-LABEL: bitcast_v13i64_to_v26i32_scalar:1636; GFX9: ; %bb.0:1637; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1638; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121639; GFX9-NEXT: v_mov_b32_e32 v25, v111640; GFX9-NEXT: v_mov_b32_e32 v24, v101641; GFX9-NEXT: v_mov_b32_e32 v23, v91642; GFX9-NEXT: v_mov_b32_e32 v22, v81643; GFX9-NEXT: v_mov_b32_e32 v21, v71644; GFX9-NEXT: v_mov_b32_e32 v20, v61645; GFX9-NEXT: v_mov_b32_e32 v19, v51646; GFX9-NEXT: v_mov_b32_e32 v18, v41647; GFX9-NEXT: v_mov_b32_e32 v17, v31648; GFX9-NEXT: v_mov_b32_e32 v16, v21649; GFX9-NEXT: v_mov_b32_e32 v15, v11650; GFX9-NEXT: v_mov_b32_e32 v14, v01651; GFX9-NEXT: v_mov_b32_e32 v0, s161652; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec1653; GFX9-NEXT: v_mov_b32_e32 v1, s171654; GFX9-NEXT: v_mov_b32_e32 v2, s181655; GFX9-NEXT: v_mov_b32_e32 v3, s191656; GFX9-NEXT: v_mov_b32_e32 v4, s201657; GFX9-NEXT: v_mov_b32_e32 v5, s211658; GFX9-NEXT: v_mov_b32_e32 v6, s221659; GFX9-NEXT: v_mov_b32_e32 v7, s231660; GFX9-NEXT: v_mov_b32_e32 v8, s241661; GFX9-NEXT: v_mov_b32_e32 v9, s251662; GFX9-NEXT: v_mov_b32_e32 v10, s261663; GFX9-NEXT: v_mov_b32_e32 v11, s271664; GFX9-NEXT: v_mov_b32_e32 v12, s281665; GFX9-NEXT: v_mov_b32_e32 v13, s291666; GFX9-NEXT: s_cbranch_scc0 .LBB7_41667; GFX9-NEXT: ; %bb.1: ; %cmp.false1668; GFX9-NEXT: s_cbranch_execnz .LBB7_31669; GFX9-NEXT: .LBB7_2: ; %cmp.true1670; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v241671; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc1672; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v221673; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc1674; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v201675; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc1676; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v181677; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc1678; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v161679; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc1680; GFX9-NEXT: v_add_co_u32_e32 v14, vcc, 3, v141681; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc1682; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v121683; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc1684; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v101685; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc1686; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v81687; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc1688; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v61689; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc1690; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v41691; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc1692; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v21693; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc1694; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v01695; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc1696; GFX9-NEXT: .LBB7_3: ; %end1697; GFX9-NEXT: s_setpc_b64 s[30:31]1698; GFX9-NEXT: .LBB7_4:1699; GFX9-NEXT: s_branch .LBB7_21700;1701; GFX11-LABEL: bitcast_v13i64_to_v26i32_scalar:1702; GFX11: ; %bb.0:1703; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1704; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v71705; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v51706; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v31707; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)1708; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v161709; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v11710; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s11711; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s31712; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s171713; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s191714; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s211715; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s231716; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s251717; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s271718; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s291719; GFX11-NEXT: v_mov_b32_e32 v16, s281720; GFX11-NEXT: s_mov_b32 s0, 01721; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo1722; GFX11-NEXT: s_cbranch_scc0 .LBB7_31723; GFX11-NEXT: ; %bb.1: ; %Flow1724; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s01725; GFX11-NEXT: s_cbranch_vccz .LBB7_41726; GFX11-NEXT: ; %bb.2: ; %end1727; GFX11-NEXT: s_setpc_b64 s[30:31]1728; GFX11-NEXT: .LBB7_3:1729; GFX11-NEXT: .LBB7_4: ; %cmp.true1730; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 31731; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1732; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo1733; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 31734; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo1735; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 31736; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1737; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo1738; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 31739; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo1740; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 31741; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1742; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo1743; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 31744; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo1745; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 31746; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1747; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo1748; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 31749; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo1750; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 31751; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1752; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo1753; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 31754; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo1755; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 31756; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1757; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo1758; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 31759; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo1760; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 31761; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)1762; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo1763; GFX11-NEXT: s_setpc_b64 s[30:31]1764 %cmp = icmp eq i32 %b, 01765 br i1 %cmp, label %cmp.true, label %cmp.false1766 1767cmp.true:1768 %a1 = add <13 x i64> %a, splat (i64 3)1769 %a2 = bitcast <13 x i64> %a1 to <26 x i32>1770 br label %end1771 1772cmp.false:1773 %a3 = bitcast <13 x i64> %a to <26 x i32>1774 br label %end1775 1776end:1777 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1778 ret <26 x i32> %phi1779}1780 1781define <13 x double> @bitcast_v26i32_to_v13f64(<26 x i32> %a, i32 %b) {1782; SI-LABEL: bitcast_v26i32_to_v13f64:1783; SI: ; %bb.0:1784; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1785; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v261786; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc1787; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1788; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1789; SI-NEXT: s_cbranch_execz .LBB8_21790; SI-NEXT: ; %bb.1: ; %cmp.true1791; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v251792; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241793; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v231794; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221795; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v211796; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201797; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v191798; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181799; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v171800; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161801; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v151802; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v141803; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v131804; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121805; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v111806; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101807; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v91808; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81809; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v71810; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61811; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v51812; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41813; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v31814; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21815; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v11816; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01817; SI-NEXT: .LBB8_2: ; %end1818; SI-NEXT: s_or_b64 exec, exec, s[4:5]1819; SI-NEXT: s_setpc_b64 s[30:31]1820;1821; VI-LABEL: bitcast_v26i32_to_v13f64:1822; VI: ; %bb.0:1823; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1824; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v261825; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc1826; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1827; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1828; VI-NEXT: s_cbranch_execz .LBB8_21829; VI-NEXT: ; %bb.1: ; %cmp.true1830; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v251831; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241832; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v231833; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221834; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v211835; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201836; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v191837; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181838; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v171839; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161840; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v151841; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v141842; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v131843; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121844; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v111845; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101846; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v91847; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81848; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v71849; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61850; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v51851; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41852; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v31853; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21854; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v11855; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01856; VI-NEXT: .LBB8_2: ; %end1857; VI-NEXT: s_or_b64 exec, exec, s[4:5]1858; VI-NEXT: s_setpc_b64 s[30:31]1859;1860; GFX9-LABEL: bitcast_v26i32_to_v13f64:1861; GFX9: ; %bb.0:1862; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1863; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v261864; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc1865; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1866; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1867; GFX9-NEXT: s_cbranch_execz .LBB8_21868; GFX9-NEXT: ; %bb.1: ; %cmp.true1869; GFX9-NEXT: v_add_u32_e32 v25, 3, v251870; GFX9-NEXT: v_add_u32_e32 v24, 3, v241871; GFX9-NEXT: v_add_u32_e32 v23, 3, v231872; GFX9-NEXT: v_add_u32_e32 v22, 3, v221873; GFX9-NEXT: v_add_u32_e32 v21, 3, v211874; GFX9-NEXT: v_add_u32_e32 v20, 3, v201875; GFX9-NEXT: v_add_u32_e32 v19, 3, v191876; GFX9-NEXT: v_add_u32_e32 v18, 3, v181877; GFX9-NEXT: v_add_u32_e32 v17, 3, v171878; GFX9-NEXT: v_add_u32_e32 v16, 3, v161879; GFX9-NEXT: v_add_u32_e32 v15, 3, v151880; GFX9-NEXT: v_add_u32_e32 v14, 3, v141881; GFX9-NEXT: v_add_u32_e32 v13, 3, v131882; GFX9-NEXT: v_add_u32_e32 v12, 3, v121883; GFX9-NEXT: v_add_u32_e32 v11, 3, v111884; GFX9-NEXT: v_add_u32_e32 v10, 3, v101885; GFX9-NEXT: v_add_u32_e32 v9, 3, v91886; GFX9-NEXT: v_add_u32_e32 v8, 3, v81887; GFX9-NEXT: v_add_u32_e32 v7, 3, v71888; GFX9-NEXT: v_add_u32_e32 v6, 3, v61889; GFX9-NEXT: v_add_u32_e32 v5, 3, v51890; GFX9-NEXT: v_add_u32_e32 v4, 3, v41891; GFX9-NEXT: v_add_u32_e32 v3, 3, v31892; GFX9-NEXT: v_add_u32_e32 v2, 3, v21893; GFX9-NEXT: v_add_u32_e32 v1, 3, v11894; GFX9-NEXT: v_add_u32_e32 v0, 3, v01895; GFX9-NEXT: .LBB8_2: ; %end1896; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]1897; GFX9-NEXT: s_setpc_b64 s[30:31]1898;1899; GFX11-LABEL: bitcast_v26i32_to_v13f64:1900; GFX11: ; %bb.0:1901; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1902; GFX11-NEXT: s_mov_b32 s0, exec_lo1903; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v261904; GFX11-NEXT: s_xor_b32 s0, exec_lo, s01905; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)1906; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s01907; GFX11-NEXT: s_cbranch_execz .LBB8_21908; GFX11-NEXT: ; %bb.1: ; %cmp.true1909; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v251910; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v241911; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v231912; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v221913; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v211914; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v201915; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v191916; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v181917; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v171918; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v161919; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v151920; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v141921; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v131922; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v121923; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v111924; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v101925; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v91926; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v81927; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v71928; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v61929; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v51930; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v41931; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v31932; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v21933; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v11934; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v01935; GFX11-NEXT: .LBB8_2: ; %end1936; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s01937; GFX11-NEXT: s_setpc_b64 s[30:31]1938 %cmp = icmp eq i32 %b, 01939 br i1 %cmp, label %cmp.true, label %cmp.false1940 1941cmp.true:1942 %a1 = add <26 x i32> %a, splat (i32 3)1943 %a2 = bitcast <26 x i32> %a1 to <13 x double>1944 br label %end1945 1946cmp.false:1947 %a3 = bitcast <26 x i32> %a to <13 x double>1948 br label %end1949 1950end:1951 %phi = phi <13 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1952 ret <13 x double> %phi1953}1954 1955define inreg <13 x double> @bitcast_v26i32_to_v13f64_scalar(<26 x i32> inreg %a, i32 inreg %b) {1956; SI-LABEL: bitcast_v26i32_to_v13f64_scalar:1957; SI: ; %bb.0:1958; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1959; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v121960; SI-NEXT: v_mov_b32_e32 v25, v111961; SI-NEXT: v_mov_b32_e32 v24, v101962; SI-NEXT: v_mov_b32_e32 v23, v91963; SI-NEXT: v_mov_b32_e32 v22, v81964; SI-NEXT: v_mov_b32_e32 v21, v71965; SI-NEXT: v_mov_b32_e32 v20, v61966; SI-NEXT: v_mov_b32_e32 v19, v51967; SI-NEXT: v_mov_b32_e32 v18, v41968; SI-NEXT: v_mov_b32_e32 v17, v31969; SI-NEXT: v_mov_b32_e32 v16, v21970; SI-NEXT: v_mov_b32_e32 v15, v11971; SI-NEXT: v_mov_b32_e32 v14, v01972; SI-NEXT: v_mov_b32_e32 v0, s161973; SI-NEXT: s_and_b64 s[4:5], vcc, exec1974; SI-NEXT: v_mov_b32_e32 v1, s171975; SI-NEXT: v_mov_b32_e32 v2, s181976; SI-NEXT: v_mov_b32_e32 v3, s191977; SI-NEXT: v_mov_b32_e32 v4, s201978; SI-NEXT: v_mov_b32_e32 v5, s211979; SI-NEXT: v_mov_b32_e32 v6, s221980; SI-NEXT: v_mov_b32_e32 v7, s231981; SI-NEXT: v_mov_b32_e32 v8, s241982; SI-NEXT: v_mov_b32_e32 v9, s251983; SI-NEXT: v_mov_b32_e32 v10, s261984; SI-NEXT: v_mov_b32_e32 v11, s271985; SI-NEXT: v_mov_b32_e32 v12, s281986; SI-NEXT: v_mov_b32_e32 v13, s291987; SI-NEXT: s_cbranch_scc0 .LBB9_41988; SI-NEXT: ; %bb.1: ; %cmp.false1989; SI-NEXT: s_cbranch_execnz .LBB9_31990; SI-NEXT: .LBB9_2: ; %cmp.true1991; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v251992; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241993; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v231994; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221995; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v211996; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201997; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v191998; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181999; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v172000; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v162001; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v152002; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v142003; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v132004; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v122005; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v112006; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v102007; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v92008; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v82009; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v72010; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v62011; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v52012; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v42013; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v32014; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v22015; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v12016; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v02017; SI-NEXT: .LBB9_3: ; %end2018; SI-NEXT: s_setpc_b64 s[30:31]2019; SI-NEXT: .LBB9_4:2020; SI-NEXT: s_branch .LBB9_22021;2022; VI-LABEL: bitcast_v26i32_to_v13f64_scalar:2023; VI: ; %bb.0:2024; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2025; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v122026; VI-NEXT: v_mov_b32_e32 v25, v112027; VI-NEXT: v_mov_b32_e32 v24, v102028; VI-NEXT: v_mov_b32_e32 v23, v92029; VI-NEXT: v_mov_b32_e32 v22, v82030; VI-NEXT: v_mov_b32_e32 v21, v72031; VI-NEXT: v_mov_b32_e32 v20, v62032; VI-NEXT: v_mov_b32_e32 v19, v52033; VI-NEXT: v_mov_b32_e32 v18, v42034; VI-NEXT: v_mov_b32_e32 v17, v32035; VI-NEXT: v_mov_b32_e32 v16, v22036; VI-NEXT: v_mov_b32_e32 v15, v12037; VI-NEXT: v_mov_b32_e32 v14, v02038; VI-NEXT: v_mov_b32_e32 v0, s162039; VI-NEXT: s_and_b64 s[4:5], vcc, exec2040; VI-NEXT: v_mov_b32_e32 v1, s172041; VI-NEXT: v_mov_b32_e32 v2, s182042; VI-NEXT: v_mov_b32_e32 v3, s192043; VI-NEXT: v_mov_b32_e32 v4, s202044; VI-NEXT: v_mov_b32_e32 v5, s212045; VI-NEXT: v_mov_b32_e32 v6, s222046; VI-NEXT: v_mov_b32_e32 v7, s232047; VI-NEXT: v_mov_b32_e32 v8, s242048; VI-NEXT: v_mov_b32_e32 v9, s252049; VI-NEXT: v_mov_b32_e32 v10, s262050; VI-NEXT: v_mov_b32_e32 v11, s272051; VI-NEXT: v_mov_b32_e32 v12, s282052; VI-NEXT: v_mov_b32_e32 v13, s292053; VI-NEXT: s_cbranch_scc0 .LBB9_42054; VI-NEXT: ; %bb.1: ; %cmp.false2055; VI-NEXT: s_cbranch_execnz .LBB9_32056; VI-NEXT: .LBB9_2: ; %cmp.true2057; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v252058; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v242059; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v232060; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v222061; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v212062; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v202063; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v192064; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v182065; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v172066; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v162067; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v152068; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v142069; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v132070; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v122071; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v112072; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v102073; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v92074; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v82075; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v72076; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v62077; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v52078; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v42079; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v32080; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v22081; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v12082; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v02083; VI-NEXT: .LBB9_3: ; %end2084; VI-NEXT: s_setpc_b64 s[30:31]2085; VI-NEXT: .LBB9_4:2086; VI-NEXT: s_branch .LBB9_22087;2088; GFX9-LABEL: bitcast_v26i32_to_v13f64_scalar:2089; GFX9: ; %bb.0:2090; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2091; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v122092; GFX9-NEXT: v_mov_b32_e32 v25, v112093; GFX9-NEXT: v_mov_b32_e32 v24, v102094; GFX9-NEXT: v_mov_b32_e32 v23, v92095; GFX9-NEXT: v_mov_b32_e32 v22, v82096; GFX9-NEXT: v_mov_b32_e32 v21, v72097; GFX9-NEXT: v_mov_b32_e32 v20, v62098; GFX9-NEXT: v_mov_b32_e32 v19, v52099; GFX9-NEXT: v_mov_b32_e32 v18, v42100; GFX9-NEXT: v_mov_b32_e32 v17, v32101; GFX9-NEXT: v_mov_b32_e32 v16, v22102; GFX9-NEXT: v_mov_b32_e32 v15, v12103; GFX9-NEXT: v_mov_b32_e32 v14, v02104; GFX9-NEXT: v_mov_b32_e32 v0, s162105; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec2106; GFX9-NEXT: v_mov_b32_e32 v1, s172107; GFX9-NEXT: v_mov_b32_e32 v2, s182108; GFX9-NEXT: v_mov_b32_e32 v3, s192109; GFX9-NEXT: v_mov_b32_e32 v4, s202110; GFX9-NEXT: v_mov_b32_e32 v5, s212111; GFX9-NEXT: v_mov_b32_e32 v6, s222112; GFX9-NEXT: v_mov_b32_e32 v7, s232113; GFX9-NEXT: v_mov_b32_e32 v8, s242114; GFX9-NEXT: v_mov_b32_e32 v9, s252115; GFX9-NEXT: v_mov_b32_e32 v10, s262116; GFX9-NEXT: v_mov_b32_e32 v11, s272117; GFX9-NEXT: v_mov_b32_e32 v12, s282118; GFX9-NEXT: v_mov_b32_e32 v13, s292119; GFX9-NEXT: s_cbranch_scc0 .LBB9_42120; GFX9-NEXT: ; %bb.1: ; %cmp.false2121; GFX9-NEXT: s_cbranch_execnz .LBB9_32122; GFX9-NEXT: .LBB9_2: ; %cmp.true2123; GFX9-NEXT: v_add_u32_e32 v25, 3, v252124; GFX9-NEXT: v_add_u32_e32 v24, 3, v242125; GFX9-NEXT: v_add_u32_e32 v23, 3, v232126; GFX9-NEXT: v_add_u32_e32 v22, 3, v222127; GFX9-NEXT: v_add_u32_e32 v21, 3, v212128; GFX9-NEXT: v_add_u32_e32 v20, 3, v202129; GFX9-NEXT: v_add_u32_e32 v19, 3, v192130; GFX9-NEXT: v_add_u32_e32 v18, 3, v182131; GFX9-NEXT: v_add_u32_e32 v17, 3, v172132; GFX9-NEXT: v_add_u32_e32 v16, 3, v162133; GFX9-NEXT: v_add_u32_e32 v15, 3, v152134; GFX9-NEXT: v_add_u32_e32 v14, 3, v142135; GFX9-NEXT: v_add_u32_e32 v13, 3, v132136; GFX9-NEXT: v_add_u32_e32 v12, 3, v122137; GFX9-NEXT: v_add_u32_e32 v11, 3, v112138; GFX9-NEXT: v_add_u32_e32 v10, 3, v102139; GFX9-NEXT: v_add_u32_e32 v9, 3, v92140; GFX9-NEXT: v_add_u32_e32 v8, 3, v82141; GFX9-NEXT: v_add_u32_e32 v7, 3, v72142; GFX9-NEXT: v_add_u32_e32 v6, 3, v62143; GFX9-NEXT: v_add_u32_e32 v5, 3, v52144; GFX9-NEXT: v_add_u32_e32 v4, 3, v42145; GFX9-NEXT: v_add_u32_e32 v3, 3, v32146; GFX9-NEXT: v_add_u32_e32 v2, 3, v22147; GFX9-NEXT: v_add_u32_e32 v1, 3, v12148; GFX9-NEXT: v_add_u32_e32 v0, 3, v02149; GFX9-NEXT: .LBB9_3: ; %end2150; GFX9-NEXT: s_setpc_b64 s[30:31]2151; GFX9-NEXT: .LBB9_4:2152; GFX9-NEXT: s_branch .LBB9_22153;2154; GFX11-LABEL: bitcast_v26i32_to_v13f64_scalar:2155; GFX11: ; %bb.0:2156; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2157; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v72158; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v52159; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v32160; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)2161; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v162162; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v12163; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s12164; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s32165; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s172166; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s192167; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s212168; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s232169; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s252170; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s272171; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s292172; GFX11-NEXT: v_mov_b32_e32 v16, s282173; GFX11-NEXT: s_mov_b32 s0, 02174; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo2175; GFX11-NEXT: s_cbranch_scc0 .LBB9_32176; GFX11-NEXT: ; %bb.1: ; %Flow2177; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s02178; GFX11-NEXT: s_cbranch_vccz .LBB9_42179; GFX11-NEXT: ; %bb.2: ; %end2180; GFX11-NEXT: s_setpc_b64 s[30:31]2181; GFX11-NEXT: .LBB9_3:2182; GFX11-NEXT: .LBB9_4: ; %cmp.true2183; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v252184; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v242185; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v232186; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v222187; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v212188; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v202189; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v192190; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v182191; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v172192; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v162193; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v152194; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v142195; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v132196; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v122197; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v112198; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v102199; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v92200; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v82201; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v72202; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v62203; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v52204; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v42205; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v32206; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v22207; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v12208; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v02209; GFX11-NEXT: s_setpc_b64 s[30:31]2210 %cmp = icmp eq i32 %b, 02211 br i1 %cmp, label %cmp.true, label %cmp.false2212 2213cmp.true:2214 %a1 = add <26 x i32> %a, splat (i32 3)2215 %a2 = bitcast <26 x i32> %a1 to <13 x double>2216 br label %end2217 2218cmp.false:2219 %a3 = bitcast <26 x i32> %a to <13 x double>2220 br label %end2221 2222end:2223 %phi = phi <13 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2224 ret <13 x double> %phi2225}2226 2227define <26 x i32> @bitcast_v13f64_to_v26i32(<13 x double> %a, i32 %b) {2228; SI-LABEL: bitcast_v13f64_to_v26i32:2229; SI: ; %bb.0:2230; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2231; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v262232; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc2233; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2234; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2235; SI-NEXT: s_cbranch_execz .LBB10_22236; SI-NEXT: ; %bb.1: ; %cmp.true2237; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02238; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02239; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02240; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02241; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02242; SI-NEXT: v_add_f64 v[14:15], v[14:15], 1.02243; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02244; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02245; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02246; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02247; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02248; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02249; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02250; SI-NEXT: .LBB10_2: ; %end2251; SI-NEXT: s_or_b64 exec, exec, s[4:5]2252; SI-NEXT: s_setpc_b64 s[30:31]2253;2254; VI-LABEL: bitcast_v13f64_to_v26i32:2255; VI: ; %bb.0:2256; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2257; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v262258; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc2259; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2260; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2261; VI-NEXT: s_cbranch_execz .LBB10_22262; VI-NEXT: ; %bb.1: ; %cmp.true2263; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02264; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02265; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02266; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02267; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02268; VI-NEXT: v_add_f64 v[14:15], v[14:15], 1.02269; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02270; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02271; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02272; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02273; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02274; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02275; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02276; VI-NEXT: .LBB10_2: ; %end2277; VI-NEXT: s_or_b64 exec, exec, s[4:5]2278; VI-NEXT: s_setpc_b64 s[30:31]2279;2280; GFX9-LABEL: bitcast_v13f64_to_v26i32:2281; GFX9: ; %bb.0:2282; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2283; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v262284; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc2285; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2286; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2287; GFX9-NEXT: s_cbranch_execz .LBB10_22288; GFX9-NEXT: ; %bb.1: ; %cmp.true2289; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.02290; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.02291; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.02292; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.02293; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.02294; GFX9-NEXT: v_add_f64 v[14:15], v[14:15], 1.02295; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.02296; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.02297; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.02298; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.02299; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.02300; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.02301; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.02302; GFX9-NEXT: .LBB10_2: ; %end2303; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]2304; GFX9-NEXT: s_setpc_b64 s[30:31]2305;2306; GFX11-LABEL: bitcast_v13f64_to_v26i32:2307; GFX11: ; %bb.0:2308; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2309; GFX11-NEXT: s_mov_b32 s0, exec_lo2310; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v262311; GFX11-NEXT: s_xor_b32 s0, exec_lo, s02312; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)2313; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s02314; GFX11-NEXT: s_cbranch_execz .LBB10_22315; GFX11-NEXT: ; %bb.1: ; %cmp.true2316; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.02317; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.02318; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.02319; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.02320; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.02321; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.02322; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.02323; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.02324; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.02325; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.02326; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.02327; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.02328; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.02329; GFX11-NEXT: .LBB10_2: ; %end2330; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s02331; GFX11-NEXT: s_setpc_b64 s[30:31]2332 %cmp = icmp eq i32 %b, 02333 br i1 %cmp, label %cmp.true, label %cmp.false2334 2335cmp.true:2336 %a1 = fadd <13 x double> %a, splat (double 1.000000e+00)2337 %a2 = bitcast <13 x double> %a1 to <26 x i32>2338 br label %end2339 2340cmp.false:2341 %a3 = bitcast <13 x double> %a to <26 x i32>2342 br label %end2343 2344end:2345 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2346 ret <26 x i32> %phi2347}2348 2349define inreg <26 x i32> @bitcast_v13f64_to_v26i32_scalar(<13 x double> inreg %a, i32 inreg %b) {2350; SI-LABEL: bitcast_v13f64_to_v26i32_scalar:2351; SI: ; %bb.0:2352; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2353; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v122354; SI-NEXT: v_mov_b32_e32 v25, v112355; SI-NEXT: v_mov_b32_e32 v24, v102356; SI-NEXT: v_mov_b32_e32 v23, v92357; SI-NEXT: v_mov_b32_e32 v22, v82358; SI-NEXT: v_mov_b32_e32 v21, v72359; SI-NEXT: v_mov_b32_e32 v20, v62360; SI-NEXT: v_mov_b32_e32 v19, v52361; SI-NEXT: v_mov_b32_e32 v18, v42362; SI-NEXT: v_mov_b32_e32 v17, v32363; SI-NEXT: v_mov_b32_e32 v16, v22364; SI-NEXT: v_mov_b32_e32 v15, v12365; SI-NEXT: v_mov_b32_e32 v14, v02366; SI-NEXT: v_mov_b32_e32 v0, s162367; SI-NEXT: v_mov_b32_e32 v1, s172368; SI-NEXT: v_mov_b32_e32 v2, s182369; SI-NEXT: v_mov_b32_e32 v3, s192370; SI-NEXT: v_mov_b32_e32 v4, s202371; SI-NEXT: v_mov_b32_e32 v5, s212372; SI-NEXT: v_mov_b32_e32 v6, s222373; SI-NEXT: v_mov_b32_e32 v7, s232374; SI-NEXT: v_mov_b32_e32 v8, s242375; SI-NEXT: v_mov_b32_e32 v9, s252376; SI-NEXT: v_mov_b32_e32 v10, s262377; SI-NEXT: v_mov_b32_e32 v11, s272378; SI-NEXT: s_and_b64 s[4:5], vcc, exec2379; SI-NEXT: v_mov_b32_e32 v12, s282380; SI-NEXT: v_mov_b32_e32 v13, s292381; SI-NEXT: s_cbranch_scc0 .LBB11_42382; SI-NEXT: ; %bb.1: ; %cmp.false2383; SI-NEXT: s_cbranch_execnz .LBB11_32384; SI-NEXT: .LBB11_2: ; %cmp.true2385; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02386; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02387; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02388; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02389; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02390; SI-NEXT: v_add_f64 v[14:15], v[14:15], 1.02391; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02392; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02393; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02394; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02395; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02396; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02397; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02398; SI-NEXT: .LBB11_3: ; %end2399; SI-NEXT: s_setpc_b64 s[30:31]2400; SI-NEXT: .LBB11_4:2401; SI-NEXT: s_branch .LBB11_22402;2403; VI-LABEL: bitcast_v13f64_to_v26i32_scalar:2404; VI: ; %bb.0:2405; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2406; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v122407; VI-NEXT: v_mov_b32_e32 v25, v112408; VI-NEXT: v_mov_b32_e32 v24, v102409; VI-NEXT: v_mov_b32_e32 v23, v92410; VI-NEXT: v_mov_b32_e32 v22, v82411; VI-NEXT: v_mov_b32_e32 v21, v72412; VI-NEXT: v_mov_b32_e32 v20, v62413; VI-NEXT: v_mov_b32_e32 v19, v52414; VI-NEXT: v_mov_b32_e32 v18, v42415; VI-NEXT: v_mov_b32_e32 v17, v32416; VI-NEXT: v_mov_b32_e32 v16, v22417; VI-NEXT: v_mov_b32_e32 v15, v12418; VI-NEXT: v_mov_b32_e32 v14, v02419; VI-NEXT: v_mov_b32_e32 v0, s162420; VI-NEXT: v_mov_b32_e32 v1, s172421; VI-NEXT: v_mov_b32_e32 v2, s182422; VI-NEXT: v_mov_b32_e32 v3, s192423; VI-NEXT: v_mov_b32_e32 v4, s202424; VI-NEXT: v_mov_b32_e32 v5, s212425; VI-NEXT: v_mov_b32_e32 v6, s222426; VI-NEXT: v_mov_b32_e32 v7, s232427; VI-NEXT: v_mov_b32_e32 v8, s242428; VI-NEXT: v_mov_b32_e32 v9, s252429; VI-NEXT: v_mov_b32_e32 v10, s262430; VI-NEXT: v_mov_b32_e32 v11, s272431; VI-NEXT: s_and_b64 s[4:5], vcc, exec2432; VI-NEXT: v_mov_b32_e32 v12, s282433; VI-NEXT: v_mov_b32_e32 v13, s292434; VI-NEXT: s_cbranch_scc0 .LBB11_42435; VI-NEXT: ; %bb.1: ; %cmp.false2436; VI-NEXT: s_cbranch_execnz .LBB11_32437; VI-NEXT: .LBB11_2: ; %cmp.true2438; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02439; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02440; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02441; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02442; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02443; VI-NEXT: v_add_f64 v[14:15], v[14:15], 1.02444; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02445; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02446; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02447; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02448; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02449; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02450; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02451; VI-NEXT: .LBB11_3: ; %end2452; VI-NEXT: s_setpc_b64 s[30:31]2453; VI-NEXT: .LBB11_4:2454; VI-NEXT: s_branch .LBB11_22455;2456; GFX9-LABEL: bitcast_v13f64_to_v26i32_scalar:2457; GFX9: ; %bb.0:2458; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2459; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v122460; GFX9-NEXT: v_mov_b32_e32 v25, v112461; GFX9-NEXT: v_mov_b32_e32 v24, v102462; GFX9-NEXT: v_mov_b32_e32 v23, v92463; GFX9-NEXT: v_mov_b32_e32 v22, v82464; GFX9-NEXT: v_mov_b32_e32 v21, v72465; GFX9-NEXT: v_mov_b32_e32 v20, v62466; GFX9-NEXT: v_mov_b32_e32 v19, v52467; GFX9-NEXT: v_mov_b32_e32 v18, v42468; GFX9-NEXT: v_mov_b32_e32 v17, v32469; GFX9-NEXT: v_mov_b32_e32 v16, v22470; GFX9-NEXT: v_mov_b32_e32 v15, v12471; GFX9-NEXT: v_mov_b32_e32 v14, v02472; GFX9-NEXT: v_mov_b32_e32 v0, s162473; GFX9-NEXT: v_mov_b32_e32 v1, s172474; GFX9-NEXT: v_mov_b32_e32 v2, s182475; GFX9-NEXT: v_mov_b32_e32 v3, s192476; GFX9-NEXT: v_mov_b32_e32 v4, s202477; GFX9-NEXT: v_mov_b32_e32 v5, s212478; GFX9-NEXT: v_mov_b32_e32 v6, s222479; GFX9-NEXT: v_mov_b32_e32 v7, s232480; GFX9-NEXT: v_mov_b32_e32 v8, s242481; GFX9-NEXT: v_mov_b32_e32 v9, s252482; GFX9-NEXT: v_mov_b32_e32 v10, s262483; GFX9-NEXT: v_mov_b32_e32 v11, s272484; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec2485; GFX9-NEXT: v_mov_b32_e32 v12, s282486; GFX9-NEXT: v_mov_b32_e32 v13, s292487; GFX9-NEXT: s_cbranch_scc0 .LBB11_42488; GFX9-NEXT: ; %bb.1: ; %cmp.false2489; GFX9-NEXT: s_cbranch_execnz .LBB11_32490; GFX9-NEXT: .LBB11_2: ; %cmp.true2491; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.02492; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.02493; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.02494; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.02495; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.02496; GFX9-NEXT: v_add_f64 v[14:15], v[14:15], 1.02497; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.02498; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.02499; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.02500; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.02501; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.02502; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.02503; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.02504; GFX9-NEXT: .LBB11_3: ; %end2505; GFX9-NEXT: s_setpc_b64 s[30:31]2506; GFX9-NEXT: .LBB11_4:2507; GFX9-NEXT: s_branch .LBB11_22508;2509; GFX11-LABEL: bitcast_v13f64_to_v26i32_scalar:2510; GFX11: ; %bb.0:2511; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2512; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v72513; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v52514; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v32515; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)2516; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v162517; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v12518; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s12519; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s32520; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s172521; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s192522; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s212523; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s232524; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s252525; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s272526; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s292527; GFX11-NEXT: v_mov_b32_e32 v16, s282528; GFX11-NEXT: s_mov_b32 s0, 02529; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo2530; GFX11-NEXT: s_cbranch_scc0 .LBB11_32531; GFX11-NEXT: ; %bb.1: ; %Flow2532; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s02533; GFX11-NEXT: s_cbranch_vccz .LBB11_42534; GFX11-NEXT: ; %bb.2: ; %end2535; GFX11-NEXT: s_setpc_b64 s[30:31]2536; GFX11-NEXT: .LBB11_3:2537; GFX11-NEXT: .LBB11_4: ; %cmp.true2538; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.02539; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.02540; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.02541; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.02542; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.02543; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.02544; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.02545; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.02546; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.02547; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.02548; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.02549; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.02550; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.02551; GFX11-NEXT: s_setpc_b64 s[30:31]2552 %cmp = icmp eq i32 %b, 02553 br i1 %cmp, label %cmp.true, label %cmp.false2554 2555cmp.true:2556 %a1 = fadd <13 x double> %a, splat (double 1.000000e+00)2557 %a2 = bitcast <13 x double> %a1 to <26 x i32>2558 br label %end2559 2560cmp.false:2561 %a3 = bitcast <13 x double> %a to <26 x i32>2562 br label %end2563 2564end:2565 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2566 ret <26 x i32> %phi2567}2568 2569define <52 x i16> @bitcast_v26i32_to_v52i16(<26 x i32> %a, i32 %b) {2570; SI-LABEL: bitcast_v26i32_to_v52i16:2571; SI: ; %bb.0:2572; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2573; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v272574; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill2575; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill2576; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill2577; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill2578; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 ; 4-byte Folded Spill2579; SI-NEXT: ; implicit-def: $vgpr402580; SI-NEXT: ; implicit-def: $vgpr442581; SI-NEXT: ; implicit-def: $vgpr542582; SI-NEXT: ; implicit-def: $vgpr432583; SI-NEXT: ; implicit-def: $vgpr522584; SI-NEXT: ; implicit-def: $vgpr422585; SI-NEXT: ; implicit-def: $vgpr502586; SI-NEXT: ; implicit-def: $vgpr412587; SI-NEXT: ; implicit-def: $vgpr482588; SI-NEXT: ; implicit-def: $vgpr552589; SI-NEXT: ; implicit-def: $vgpr372590; SI-NEXT: ; implicit-def: $vgpr532591; SI-NEXT: ; implicit-def: $vgpr352592; SI-NEXT: ; implicit-def: $vgpr512593; SI-NEXT: ; implicit-def: $vgpr332594; SI-NEXT: ; implicit-def: $vgpr492595; SI-NEXT: ; implicit-def: $vgpr312596; SI-NEXT: ; implicit-def: $vgpr392597; SI-NEXT: ; implicit-def: $vgpr302598; SI-NEXT: ; implicit-def: $vgpr382599; SI-NEXT: ; implicit-def: $vgpr292600; SI-NEXT: ; implicit-def: $vgpr362601; SI-NEXT: ; implicit-def: $vgpr282602; SI-NEXT: ; implicit-def: $vgpr342603; SI-NEXT: ; implicit-def: $vgpr272604; SI-NEXT: ; implicit-def: $vgpr322605; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc2606; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2607; SI-NEXT: s_cbranch_execz .LBB12_22608; SI-NEXT: ; %bb.1: ; %cmp.false2609; SI-NEXT: v_alignbit_b32 v27, v26, v25, 162610; SI-NEXT: v_alignbit_b32 v28, v24, v23, 162611; SI-NEXT: v_alignbit_b32 v29, v22, v21, 162612; SI-NEXT: v_alignbit_b32 v30, v20, v19, 162613; SI-NEXT: v_alignbit_b32 v31, v18, v17, 162614; SI-NEXT: v_alignbit_b32 v33, v16, v15, 162615; SI-NEXT: v_alignbit_b32 v35, v14, v13, 162616; SI-NEXT: v_alignbit_b32 v37, v12, v11, 162617; SI-NEXT: v_alignbit_b32 v48, v10, v9, 162618; SI-NEXT: v_alignbit_b32 v50, v8, v7, 162619; SI-NEXT: v_alignbit_b32 v52, v6, v5, 162620; SI-NEXT: v_alignbit_b32 v54, v4, v3, 162621; SI-NEXT: s_waitcnt expcnt(4)2622; SI-NEXT: v_alignbit_b32 v40, v2, v1, 162623; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v262624; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v242625; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v222626; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v202627; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v182628; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v162629; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v142630; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v122631; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v102632; SI-NEXT: s_waitcnt expcnt(3)2633; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v82634; SI-NEXT: s_waitcnt expcnt(2)2635; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v62636; SI-NEXT: s_waitcnt expcnt(1)2637; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v42638; SI-NEXT: s_waitcnt expcnt(0)2639; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v22640; SI-NEXT: .LBB12_2: ; %Flow2641; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2642; SI-NEXT: s_cbranch_execz .LBB12_42643; SI-NEXT: ; %bb.3: ; %cmp.true2644; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v22645; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v12646; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v42647; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v32648; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v62649; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v52650; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v82651; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v72652; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v102653; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v92654; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v122655; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v112656; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v142657; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v132658; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v162659; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v152660; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v182661; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v172662; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v202663; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v192664; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v222665; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v212666; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v242667; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v232668; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v262669; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v252670; SI-NEXT: v_alignbit_b32 v27, v26, v25, 162671; SI-NEXT: v_alignbit_b32 v28, v24, v23, 162672; SI-NEXT: v_alignbit_b32 v29, v22, v21, 162673; SI-NEXT: v_alignbit_b32 v30, v20, v19, 162674; SI-NEXT: v_alignbit_b32 v31, v18, v17, 162675; SI-NEXT: v_alignbit_b32 v33, v16, v15, 162676; SI-NEXT: v_alignbit_b32 v35, v14, v13, 162677; SI-NEXT: v_alignbit_b32 v37, v12, v11, 162678; SI-NEXT: v_alignbit_b32 v48, v10, v9, 162679; SI-NEXT: v_alignbit_b32 v50, v8, v7, 162680; SI-NEXT: v_alignbit_b32 v52, v6, v5, 162681; SI-NEXT: v_alignbit_b32 v54, v4, v3, 162682; SI-NEXT: s_waitcnt expcnt(4)2683; SI-NEXT: v_alignbit_b32 v40, v2, v1, 162684; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v262685; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v242686; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v222687; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v202688; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v182689; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v162690; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v142691; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v122692; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v102693; SI-NEXT: s_waitcnt expcnt(3)2694; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v82695; SI-NEXT: s_waitcnt expcnt(2)2696; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v62697; SI-NEXT: s_waitcnt expcnt(1)2698; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v42699; SI-NEXT: s_waitcnt expcnt(0)2700; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v22701; SI-NEXT: .LBB12_4: ; %end2702; SI-NEXT: s_or_b64 exec, exec, s[4:5]2703; SI-NEXT: v_and_b32_e32 v1, 0xffff, v12704; SI-NEXT: s_waitcnt expcnt(4)2705; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v402706; SI-NEXT: v_or_b32_e32 v1, v1, v402707; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen2708; SI-NEXT: s_waitcnt expcnt(0)2709; SI-NEXT: v_and_b32_e32 v1, 0xffff, v22710; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v442711; SI-NEXT: v_or_b32_e32 v1, v1, v22712; SI-NEXT: v_add_i32_e32 v2, vcc, 4, v02713; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2714; SI-NEXT: s_waitcnt expcnt(0)2715; SI-NEXT: v_and_b32_e32 v1, 0xffff, v32716; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v542717; SI-NEXT: v_or_b32_e32 v1, v1, v22718; SI-NEXT: v_add_i32_e32 v2, vcc, 8, v02719; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2720; SI-NEXT: s_waitcnt expcnt(0)2721; SI-NEXT: v_and_b32_e32 v1, 0xffff, v42722; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v432723; SI-NEXT: v_or_b32_e32 v1, v1, v22724; SI-NEXT: v_add_i32_e32 v2, vcc, 12, v02725; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2726; SI-NEXT: s_waitcnt expcnt(0)2727; SI-NEXT: v_and_b32_e32 v1, 0xffff, v52728; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v522729; SI-NEXT: v_or_b32_e32 v1, v1, v22730; SI-NEXT: v_add_i32_e32 v2, vcc, 16, v02731; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2732; SI-NEXT: s_waitcnt expcnt(0)2733; SI-NEXT: v_and_b32_e32 v1, 0xffff, v62734; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v422735; SI-NEXT: v_or_b32_e32 v1, v1, v22736; SI-NEXT: v_add_i32_e32 v2, vcc, 20, v02737; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2738; SI-NEXT: s_waitcnt expcnt(0)2739; SI-NEXT: v_and_b32_e32 v1, 0xffff, v72740; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v502741; SI-NEXT: v_or_b32_e32 v1, v1, v22742; SI-NEXT: v_add_i32_e32 v2, vcc, 24, v02743; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2744; SI-NEXT: s_waitcnt expcnt(0)2745; SI-NEXT: v_and_b32_e32 v1, 0xffff, v82746; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v412747; SI-NEXT: v_or_b32_e32 v1, v1, v22748; SI-NEXT: v_add_i32_e32 v2, vcc, 28, v02749; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2750; SI-NEXT: s_waitcnt expcnt(0)2751; SI-NEXT: v_and_b32_e32 v1, 0xffff, v92752; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v482753; SI-NEXT: v_or_b32_e32 v1, v1, v22754; SI-NEXT: v_add_i32_e32 v2, vcc, 32, v02755; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2756; SI-NEXT: s_waitcnt expcnt(0)2757; SI-NEXT: v_and_b32_e32 v1, 0xffff, v102758; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v552759; SI-NEXT: v_or_b32_e32 v1, v1, v22760; SI-NEXT: v_add_i32_e32 v2, vcc, 36, v02761; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2762; SI-NEXT: s_waitcnt expcnt(0)2763; SI-NEXT: v_and_b32_e32 v1, 0xffff, v112764; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v372765; SI-NEXT: v_or_b32_e32 v1, v1, v22766; SI-NEXT: v_add_i32_e32 v2, vcc, 40, v02767; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2768; SI-NEXT: s_waitcnt expcnt(0)2769; SI-NEXT: v_and_b32_e32 v1, 0xffff, v122770; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v532771; SI-NEXT: v_or_b32_e32 v1, v1, v22772; SI-NEXT: v_add_i32_e32 v2, vcc, 44, v02773; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2774; SI-NEXT: s_waitcnt expcnt(0)2775; SI-NEXT: v_and_b32_e32 v1, 0xffff, v132776; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v352777; SI-NEXT: v_or_b32_e32 v1, v1, v22778; SI-NEXT: v_add_i32_e32 v2, vcc, 48, v02779; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2780; SI-NEXT: s_waitcnt expcnt(0)2781; SI-NEXT: v_and_b32_e32 v1, 0xffff, v142782; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v512783; SI-NEXT: v_or_b32_e32 v1, v1, v22784; SI-NEXT: v_add_i32_e32 v2, vcc, 52, v02785; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2786; SI-NEXT: s_waitcnt expcnt(0)2787; SI-NEXT: v_and_b32_e32 v1, 0xffff, v152788; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v332789; SI-NEXT: v_or_b32_e32 v1, v1, v22790; SI-NEXT: v_add_i32_e32 v2, vcc, 56, v02791; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2792; SI-NEXT: s_waitcnt expcnt(0)2793; SI-NEXT: v_and_b32_e32 v1, 0xffff, v162794; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v492795; SI-NEXT: v_or_b32_e32 v1, v1, v22796; SI-NEXT: v_add_i32_e32 v2, vcc, 60, v02797; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2798; SI-NEXT: s_waitcnt expcnt(0)2799; SI-NEXT: v_and_b32_e32 v1, 0xffff, v172800; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v312801; SI-NEXT: v_or_b32_e32 v1, v1, v22802; SI-NEXT: v_add_i32_e32 v2, vcc, 64, v02803; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2804; SI-NEXT: s_waitcnt expcnt(0)2805; SI-NEXT: v_and_b32_e32 v1, 0xffff, v182806; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v392807; SI-NEXT: v_or_b32_e32 v1, v1, v22808; SI-NEXT: v_add_i32_e32 v2, vcc, 0x44, v02809; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2810; SI-NEXT: s_waitcnt expcnt(0)2811; SI-NEXT: v_and_b32_e32 v1, 0xffff, v192812; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v302813; SI-NEXT: v_or_b32_e32 v1, v1, v22814; SI-NEXT: v_add_i32_e32 v2, vcc, 0x48, v02815; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2816; SI-NEXT: s_waitcnt expcnt(0)2817; SI-NEXT: v_and_b32_e32 v1, 0xffff, v202818; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v382819; SI-NEXT: v_or_b32_e32 v1, v1, v22820; SI-NEXT: v_add_i32_e32 v2, vcc, 0x4c, v02821; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2822; SI-NEXT: s_waitcnt expcnt(0)2823; SI-NEXT: v_and_b32_e32 v1, 0xffff, v212824; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v292825; SI-NEXT: v_or_b32_e32 v1, v1, v22826; SI-NEXT: v_add_i32_e32 v2, vcc, 0x50, v02827; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2828; SI-NEXT: s_waitcnt expcnt(0)2829; SI-NEXT: v_and_b32_e32 v1, 0xffff, v222830; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v362831; SI-NEXT: v_or_b32_e32 v1, v1, v22832; SI-NEXT: v_add_i32_e32 v2, vcc, 0x54, v02833; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2834; SI-NEXT: s_waitcnt expcnt(0)2835; SI-NEXT: v_and_b32_e32 v1, 0xffff, v232836; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v282837; SI-NEXT: v_or_b32_e32 v1, v1, v22838; SI-NEXT: v_add_i32_e32 v2, vcc, 0x58, v02839; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2840; SI-NEXT: s_waitcnt expcnt(0)2841; SI-NEXT: v_and_b32_e32 v1, 0xffff, v242842; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v342843; SI-NEXT: v_or_b32_e32 v1, v1, v22844; SI-NEXT: v_add_i32_e32 v2, vcc, 0x5c, v02845; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2846; SI-NEXT: s_waitcnt expcnt(0)2847; SI-NEXT: v_and_b32_e32 v1, 0xffff, v252848; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v272849; SI-NEXT: v_or_b32_e32 v1, v1, v22850; SI-NEXT: v_add_i32_e32 v2, vcc, 0x60, v02851; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2852; SI-NEXT: s_waitcnt expcnt(0)2853; SI-NEXT: v_and_b32_e32 v1, 0xffff, v262854; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v322855; SI-NEXT: v_or_b32_e32 v1, v1, v22856; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v02857; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen2858; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 ; 4-byte Folded Reload2859; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload2860; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload2861; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload2862; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload2863; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)2864; SI-NEXT: s_setpc_b64 s[30:31]2865;2866; VI-LABEL: bitcast_v26i32_to_v52i16:2867; VI: ; %bb.0:2868; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2869; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v262870; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill2871; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill2872; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill2873; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill2874; VI-NEXT: ; implicit-def: $vgpr432875; VI-NEXT: ; implicit-def: $vgpr422876; VI-NEXT: ; implicit-def: $vgpr412877; VI-NEXT: ; implicit-def: $vgpr402878; VI-NEXT: ; implicit-def: $vgpr552879; VI-NEXT: ; implicit-def: $vgpr542880; VI-NEXT: ; implicit-def: $vgpr532881; VI-NEXT: ; implicit-def: $vgpr522882; VI-NEXT: ; implicit-def: $vgpr512883; VI-NEXT: ; implicit-def: $vgpr502884; VI-NEXT: ; implicit-def: $vgpr492885; VI-NEXT: ; implicit-def: $vgpr482886; VI-NEXT: ; implicit-def: $vgpr392887; VI-NEXT: ; implicit-def: $vgpr382888; VI-NEXT: ; implicit-def: $vgpr372889; VI-NEXT: ; implicit-def: $vgpr362890; VI-NEXT: ; implicit-def: $vgpr352891; VI-NEXT: ; implicit-def: $vgpr342892; VI-NEXT: ; implicit-def: $vgpr332893; VI-NEXT: ; implicit-def: $vgpr322894; VI-NEXT: ; implicit-def: $vgpr312895; VI-NEXT: ; implicit-def: $vgpr302896; VI-NEXT: ; implicit-def: $vgpr292897; VI-NEXT: ; implicit-def: $vgpr282898; VI-NEXT: ; implicit-def: $vgpr272899; VI-NEXT: ; implicit-def: $vgpr262900; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc2901; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2902; VI-NEXT: s_cbranch_execz .LBB12_22903; VI-NEXT: ; %bb.1: ; %cmp.false2904; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v252905; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v242906; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v232907; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v222908; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v212909; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v202910; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v192911; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v182912; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v172913; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v162914; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v152915; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v142916; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v132917; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v122918; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v112919; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v102920; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v92921; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v82922; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v72923; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v62924; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v52925; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v42926; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v32927; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v22928; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v12929; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v02930; VI-NEXT: .LBB12_2: ; %Flow2931; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2932; VI-NEXT: s_cbranch_execz .LBB12_42933; VI-NEXT: ; %bb.3: ; %cmp.true2934; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v252935; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v242936; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v232937; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v222938; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v212939; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v202940; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v192941; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v182942; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v172943; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v162944; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v152945; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v142946; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v132947; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v122948; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v112949; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v102950; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v92951; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v82952; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v72953; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v62954; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v52955; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v42956; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v32957; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v22958; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v12959; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v02960; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v252961; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v242962; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v232963; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v222964; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v212965; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v202966; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v192967; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v182968; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v172969; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v162970; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v152971; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v142972; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v132973; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v122974; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v112975; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v102976; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v92977; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v82978; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v72979; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v62980; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v52981; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v42982; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v32983; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v22984; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v12985; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v02986; VI-NEXT: .LBB12_4: ; %end2987; VI-NEXT: s_or_b64 exec, exec, s[4:5]2988; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v432989; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v422990; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v412991; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v402992; VI-NEXT: v_or_b32_sdwa v0, v0, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD2993; VI-NEXT: v_or_b32_sdwa v1, v1, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD2994; VI-NEXT: v_or_b32_sdwa v2, v2, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD2995; VI-NEXT: v_or_b32_sdwa v3, v3, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD2996; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload2997; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload2998; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload2999; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload3000; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v553001; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v543002; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v533003; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v523004; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v513005; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v503006; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v493007; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v483008; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v393009; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v383010; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v373011; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v363012; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v353013; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v343014; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v333015; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v323016; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v313017; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v303018; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v293019; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v283020; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v273021; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v263022; VI-NEXT: v_or_b32_sdwa v4, v4, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3023; VI-NEXT: v_or_b32_sdwa v5, v5, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3024; VI-NEXT: v_or_b32_sdwa v6, v6, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3025; VI-NEXT: v_or_b32_sdwa v7, v7, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3026; VI-NEXT: v_or_b32_sdwa v8, v8, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3027; VI-NEXT: v_or_b32_sdwa v9, v9, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3028; VI-NEXT: v_or_b32_sdwa v10, v10, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3029; VI-NEXT: v_or_b32_sdwa v11, v11, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3030; VI-NEXT: v_or_b32_sdwa v12, v12, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3031; VI-NEXT: v_or_b32_sdwa v13, v13, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3032; VI-NEXT: v_or_b32_sdwa v14, v14, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3033; VI-NEXT: v_or_b32_sdwa v15, v15, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3034; VI-NEXT: v_or_b32_sdwa v16, v16, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3035; VI-NEXT: v_or_b32_sdwa v17, v17, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3036; VI-NEXT: v_or_b32_sdwa v18, v18, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3037; VI-NEXT: v_or_b32_sdwa v19, v19, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3038; VI-NEXT: v_or_b32_sdwa v20, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3039; VI-NEXT: v_or_b32_sdwa v21, v21, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3040; VI-NEXT: v_or_b32_sdwa v22, v22, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3041; VI-NEXT: v_or_b32_sdwa v23, v23, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3042; VI-NEXT: v_or_b32_sdwa v24, v24, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3043; VI-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3044; VI-NEXT: s_waitcnt vmcnt(0)3045; VI-NEXT: s_setpc_b64 s[30:31]3046;3047; GFX9-LABEL: bitcast_v26i32_to_v52i16:3048; GFX9: ; %bb.0:3049; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3050; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v263051; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill3052; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill3053; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill3054; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill3055; GFX9-NEXT: ; implicit-def: $vgpr433056; GFX9-NEXT: ; implicit-def: $vgpr423057; GFX9-NEXT: ; implicit-def: $vgpr413058; GFX9-NEXT: ; implicit-def: $vgpr403059; GFX9-NEXT: ; implicit-def: $vgpr553060; GFX9-NEXT: ; implicit-def: $vgpr543061; GFX9-NEXT: ; implicit-def: $vgpr533062; GFX9-NEXT: ; implicit-def: $vgpr523063; GFX9-NEXT: ; implicit-def: $vgpr513064; GFX9-NEXT: ; implicit-def: $vgpr503065; GFX9-NEXT: ; implicit-def: $vgpr493066; GFX9-NEXT: ; implicit-def: $vgpr483067; GFX9-NEXT: ; implicit-def: $vgpr393068; GFX9-NEXT: ; implicit-def: $vgpr383069; GFX9-NEXT: ; implicit-def: $vgpr373070; GFX9-NEXT: ; implicit-def: $vgpr363071; GFX9-NEXT: ; implicit-def: $vgpr353072; GFX9-NEXT: ; implicit-def: $vgpr343073; GFX9-NEXT: ; implicit-def: $vgpr333074; GFX9-NEXT: ; implicit-def: $vgpr323075; GFX9-NEXT: ; implicit-def: $vgpr313076; GFX9-NEXT: ; implicit-def: $vgpr303077; GFX9-NEXT: ; implicit-def: $vgpr293078; GFX9-NEXT: ; implicit-def: $vgpr283079; GFX9-NEXT: ; implicit-def: $vgpr273080; GFX9-NEXT: ; implicit-def: $vgpr263081; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc3082; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]3083; GFX9-NEXT: s_cbranch_execz .LBB12_23084; GFX9-NEXT: ; %bb.1: ; %cmp.false3085; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v253086; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v243087; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v233088; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v223089; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v213090; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v203091; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v193092; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v183093; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v173094; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v163095; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v153096; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v143097; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v133098; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v123099; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v113100; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v103101; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v93102; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v83103; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v73104; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v63105; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v53106; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v43107; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v33108; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v23109; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v13110; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v03111; GFX9-NEXT: .LBB12_2: ; %Flow3112; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]3113; GFX9-NEXT: s_cbranch_execz .LBB12_43114; GFX9-NEXT: ; %bb.3: ; %cmp.true3115; GFX9-NEXT: v_add_u32_e32 v25, 3, v253116; GFX9-NEXT: v_add_u32_e32 v24, 3, v243117; GFX9-NEXT: v_add_u32_e32 v23, 3, v233118; GFX9-NEXT: v_add_u32_e32 v22, 3, v223119; GFX9-NEXT: v_add_u32_e32 v21, 3, v213120; GFX9-NEXT: v_add_u32_e32 v20, 3, v203121; GFX9-NEXT: v_add_u32_e32 v19, 3, v193122; GFX9-NEXT: v_add_u32_e32 v18, 3, v183123; GFX9-NEXT: v_add_u32_e32 v17, 3, v173124; GFX9-NEXT: v_add_u32_e32 v16, 3, v163125; GFX9-NEXT: v_add_u32_e32 v15, 3, v153126; GFX9-NEXT: v_add_u32_e32 v14, 3, v143127; GFX9-NEXT: v_add_u32_e32 v13, 3, v133128; GFX9-NEXT: v_add_u32_e32 v12, 3, v123129; GFX9-NEXT: v_add_u32_e32 v11, 3, v113130; GFX9-NEXT: v_add_u32_e32 v10, 3, v103131; GFX9-NEXT: v_add_u32_e32 v9, 3, v93132; GFX9-NEXT: v_add_u32_e32 v8, 3, v83133; GFX9-NEXT: v_add_u32_e32 v7, 3, v73134; GFX9-NEXT: v_add_u32_e32 v6, 3, v63135; GFX9-NEXT: v_add_u32_e32 v5, 3, v53136; GFX9-NEXT: v_add_u32_e32 v4, 3, v43137; GFX9-NEXT: v_add_u32_e32 v3, 3, v33138; GFX9-NEXT: v_add_u32_e32 v2, 3, v23139; GFX9-NEXT: v_add_u32_e32 v1, 3, v13140; GFX9-NEXT: v_add_u32_e32 v0, 3, v03141; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v253142; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v243143; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v233144; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v223145; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v213146; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v203147; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v193148; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v183149; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v173150; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v163151; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v153152; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v143153; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v133154; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v123155; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v113156; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v103157; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v93158; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v83159; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v73160; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v63161; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v53162; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v43163; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v33164; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v23165; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v13166; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v03167; GFX9-NEXT: .LBB12_4: ; %end3168; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]3169; GFX9-NEXT: s_mov_b32 s4, 0x50401003170; GFX9-NEXT: v_perm_b32 v0, v43, v0, s43171; GFX9-NEXT: v_perm_b32 v1, v42, v1, s43172; GFX9-NEXT: v_perm_b32 v2, v41, v2, s43173; GFX9-NEXT: v_perm_b32 v3, v40, v3, s43174; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload3175; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload3176; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload3177; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload3178; GFX9-NEXT: v_perm_b32 v4, v55, v4, s43179; GFX9-NEXT: v_perm_b32 v5, v54, v5, s43180; GFX9-NEXT: v_perm_b32 v6, v53, v6, s43181; GFX9-NEXT: v_perm_b32 v7, v52, v7, s43182; GFX9-NEXT: v_perm_b32 v8, v51, v8, s43183; GFX9-NEXT: v_perm_b32 v9, v50, v9, s43184; GFX9-NEXT: v_perm_b32 v10, v49, v10, s43185; GFX9-NEXT: v_perm_b32 v11, v48, v11, s43186; GFX9-NEXT: v_perm_b32 v12, v39, v12, s43187; GFX9-NEXT: v_perm_b32 v13, v38, v13, s43188; GFX9-NEXT: v_perm_b32 v14, v37, v14, s43189; GFX9-NEXT: v_perm_b32 v15, v36, v15, s43190; GFX9-NEXT: v_perm_b32 v16, v35, v16, s43191; GFX9-NEXT: v_perm_b32 v17, v34, v17, s43192; GFX9-NEXT: v_perm_b32 v18, v33, v18, s43193; GFX9-NEXT: v_perm_b32 v19, v32, v19, s43194; GFX9-NEXT: v_perm_b32 v20, v31, v20, s43195; GFX9-NEXT: v_perm_b32 v21, v30, v21, s43196; GFX9-NEXT: v_perm_b32 v22, v29, v22, s43197; GFX9-NEXT: v_perm_b32 v23, v28, v23, s43198; GFX9-NEXT: v_perm_b32 v24, v27, v24, s43199; GFX9-NEXT: v_perm_b32 v25, v26, v25, s43200; GFX9-NEXT: s_waitcnt vmcnt(0)3201; GFX9-NEXT: s_setpc_b64 s[30:31]3202;3203; GFX11-TRUE16-LABEL: bitcast_v26i32_to_v52i16:3204; GFX11-TRUE16: ; %bb.0:3205; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3206; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo3207; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v263208; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s03209; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)3210; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s03211; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB12_23212; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true3213; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v253214; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v243215; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v233216; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v223217; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v213218; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v203219; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v193220; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v183221; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v173222; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 3, v163223; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v153224; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 3, v143225; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 3, v133226; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 3, v123227; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 3, v113228; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 3, v103229; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 3, v93230; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 3, v83231; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 3, v73232; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 3, v63233; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 3, v53234; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v43235; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v33236; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v23237; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v13238; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v03239; GFX11-TRUE16-NEXT: .LBB12_2: ; %end3240; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s03241; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]3242;3243; GFX11-FAKE16-LABEL: bitcast_v26i32_to_v52i16:3244; GFX11-FAKE16: ; %bb.0:3245; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3246; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v263247; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr673248; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr663249; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr653250; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr643251; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr553252; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr543253; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr533254; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr523255; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr513256; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr503257; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr493258; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr483259; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr393260; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr383261; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr373262; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr363263; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr353264; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr343265; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr333266; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr323267; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr313268; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr303269; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr293270; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr283271; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr273272; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr263273; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo3274; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)3275; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s03276; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB12_23277; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false3278; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v253279; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v243280; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v233281; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v223282; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v213283; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v203284; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v193285; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v183286; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v173287; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v163288; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v153289; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v143290; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v133291; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v123292; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v113293; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v103294; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v93295; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v83296; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v73297; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v63298; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v53299; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v43300; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v33301; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v23302; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v13303; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v03304; GFX11-FAKE16-NEXT: .LBB12_2: ; %Flow3305; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s03306; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB12_43307; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true3308; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v25, 3, v253309; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v24, 3, v243310; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v23, 3, v233311; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v22, 3, v223312; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v21, 3, v213313; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, 3, v203314; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 3, v193315; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 3, v183316; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v173317; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 3, v163318; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v153319; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 3, v143320; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 3, v133321; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 3, v123322; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, 3, v113323; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, 3, v103324; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 3, v93325; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 3, v83326; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 3, v73327; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 3, v63328; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 3, v53329; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v43330; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v33331; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v23332; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v13333; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v03334; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v253335; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v243336; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v233337; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v223338; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v213339; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v203340; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v193341; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v183342; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v173343; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v163344; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v153345; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v143346; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v133347; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v123348; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v113349; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v103350; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v93351; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v83352; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v73353; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v63354; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v53355; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v43356; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v33357; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v23358; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v13359; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v03360; GFX11-FAKE16-NEXT: .LBB12_4: ; %end3361; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s03362; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)3363; GFX11-FAKE16-NEXT: v_perm_b32 v0, v67, v0, 0x50401003364; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x50401003365; GFX11-FAKE16-NEXT: v_perm_b32 v2, v65, v2, 0x50401003366; GFX11-FAKE16-NEXT: v_perm_b32 v3, v64, v3, 0x50401003367; GFX11-FAKE16-NEXT: v_perm_b32 v4, v55, v4, 0x50401003368; GFX11-FAKE16-NEXT: v_perm_b32 v5, v54, v5, 0x50401003369; GFX11-FAKE16-NEXT: v_perm_b32 v6, v53, v6, 0x50401003370; GFX11-FAKE16-NEXT: v_perm_b32 v7, v52, v7, 0x50401003371; GFX11-FAKE16-NEXT: v_perm_b32 v8, v51, v8, 0x50401003372; GFX11-FAKE16-NEXT: v_perm_b32 v9, v50, v9, 0x50401003373; GFX11-FAKE16-NEXT: v_perm_b32 v10, v49, v10, 0x50401003374; GFX11-FAKE16-NEXT: v_perm_b32 v11, v48, v11, 0x50401003375; GFX11-FAKE16-NEXT: v_perm_b32 v12, v39, v12, 0x50401003376; GFX11-FAKE16-NEXT: v_perm_b32 v13, v38, v13, 0x50401003377; GFX11-FAKE16-NEXT: v_perm_b32 v14, v37, v14, 0x50401003378; GFX11-FAKE16-NEXT: v_perm_b32 v15, v36, v15, 0x50401003379; GFX11-FAKE16-NEXT: v_perm_b32 v16, v35, v16, 0x50401003380; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v17, 0x50401003381; GFX11-FAKE16-NEXT: v_perm_b32 v18, v33, v18, 0x50401003382; GFX11-FAKE16-NEXT: v_perm_b32 v19, v32, v19, 0x50401003383; GFX11-FAKE16-NEXT: v_perm_b32 v20, v31, v20, 0x50401003384; GFX11-FAKE16-NEXT: v_perm_b32 v21, v30, v21, 0x50401003385; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v22, 0x50401003386; GFX11-FAKE16-NEXT: v_perm_b32 v23, v28, v23, 0x50401003387; GFX11-FAKE16-NEXT: v_perm_b32 v24, v27, v24, 0x50401003388; GFX11-FAKE16-NEXT: v_perm_b32 v25, v26, v25, 0x50401003389; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]3390 %cmp = icmp eq i32 %b, 03391 br i1 %cmp, label %cmp.true, label %cmp.false3392 3393cmp.true:3394 %a1 = add <26 x i32> %a, splat (i32 3)3395 %a2 = bitcast <26 x i32> %a1 to <52 x i16>3396 br label %end3397 3398cmp.false:3399 %a3 = bitcast <26 x i32> %a to <52 x i16>3400 br label %end3401 3402end:3403 %phi = phi <52 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]3404 ret <52 x i16> %phi3405}3406 3407define inreg <52 x i16> @bitcast_v26i32_to_v52i16_scalar(<26 x i32> inreg %a, i32 inreg %b) {3408; SI-LABEL: bitcast_v26i32_to_v52i16_scalar:3409; SI: ; %bb.0:3410; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3411; SI-NEXT: s_xor_saveexec_b64 s[4:5], -13412; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 ; 4-byte Folded Spill3413; SI-NEXT: s_mov_b64 exec, s[4:5]3414; SI-NEXT: s_waitcnt expcnt(0)3415; SI-NEXT: v_writelane_b32 v20, s30, 03416; SI-NEXT: v_writelane_b32 v20, s31, 13417; SI-NEXT: v_writelane_b32 v20, s34, 23418; SI-NEXT: v_writelane_b32 v20, s35, 33419; SI-NEXT: v_writelane_b32 v20, s36, 43420; SI-NEXT: v_mov_b32_e32 v14, s163421; SI-NEXT: v_mov_b32_e32 v15, s173422; SI-NEXT: v_writelane_b32 v20, s37, 53423; SI-NEXT: v_mov_b32_e32 v16, s183424; SI-NEXT: v_mov_b32_e32 v17, s193425; SI-NEXT: v_mov_b32_e32 v18, s203426; SI-NEXT: v_mov_b32_e32 v19, s213427; SI-NEXT: v_readfirstlane_b32 s42, v143428; SI-NEXT: v_mov_b32_e32 v14, s223429; SI-NEXT: v_readfirstlane_b32 s43, v153430; SI-NEXT: v_mov_b32_e32 v15, s233431; SI-NEXT: v_writelane_b32 v20, s38, 63432; SI-NEXT: v_readfirstlane_b32 s40, v163433; SI-NEXT: v_mov_b32_e32 v16, s243434; SI-NEXT: v_readfirstlane_b32 s41, v173435; SI-NEXT: v_mov_b32_e32 v17, s253436; SI-NEXT: v_readfirstlane_b32 s24, v183437; SI-NEXT: v_mov_b32_e32 v18, s263438; SI-NEXT: v_readfirstlane_b32 s25, v193439; SI-NEXT: v_mov_b32_e32 v19, s273440; SI-NEXT: v_readfirstlane_b32 s22, v143441; SI-NEXT: v_mov_b32_e32 v14, s283442; SI-NEXT: v_readfirstlane_b32 s23, v153443; SI-NEXT: v_mov_b32_e32 v15, s293444; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v133445; SI-NEXT: v_writelane_b32 v20, s39, 73446; SI-NEXT: v_readfirstlane_b32 s20, v163447; SI-NEXT: v_readfirstlane_b32 s21, v173448; SI-NEXT: v_readfirstlane_b32 s18, v183449; SI-NEXT: v_readfirstlane_b32 s19, v193450; SI-NEXT: v_readfirstlane_b32 s16, v143451; SI-NEXT: v_readfirstlane_b32 s17, v153452; SI-NEXT: v_readfirstlane_b32 s14, v13453; SI-NEXT: v_readfirstlane_b32 s15, v23454; SI-NEXT: v_readfirstlane_b32 s12, v33455; SI-NEXT: v_readfirstlane_b32 s13, v43456; SI-NEXT: v_readfirstlane_b32 s10, v53457; SI-NEXT: v_readfirstlane_b32 s11, v63458; SI-NEXT: v_readfirstlane_b32 s8, v73459; SI-NEXT: v_readfirstlane_b32 s9, v83460; SI-NEXT: v_readfirstlane_b32 s6, v93461; SI-NEXT: v_readfirstlane_b32 s7, v103462; SI-NEXT: v_readfirstlane_b32 s4, v113463; SI-NEXT: s_and_b64 s[26:27], vcc, exec3464; SI-NEXT: v_readfirstlane_b32 s5, v123465; SI-NEXT: v_writelane_b32 v20, s48, 83466; SI-NEXT: s_cbranch_scc0 .LBB13_43467; SI-NEXT: ; %bb.1: ; %cmp.false3468; SI-NEXT: s_lshr_b32 s92, s5, 163469; SI-NEXT: s_lshr_b32 s93, s7, 163470; SI-NEXT: s_lshr_b32 s94, s9, 163471; SI-NEXT: s_lshr_b32 s95, s11, 163472; SI-NEXT: s_lshr_b32 s30, s13, 163473; SI-NEXT: s_lshr_b32 s31, s15, 163474; SI-NEXT: s_lshr_b32 s34, s17, 163475; SI-NEXT: s_lshr_b32 s35, s19, 163476; SI-NEXT: s_lshr_b32 s36, s21, 163477; SI-NEXT: s_lshr_b32 s37, s23, 163478; SI-NEXT: s_lshr_b32 s38, s25, 163479; SI-NEXT: s_lshr_b32 s39, s41, 163480; SI-NEXT: s_lshr_b32 s48, s43, 163481; SI-NEXT: s_lshr_b64 s[26:27], s[4:5], 163482; SI-NEXT: s_lshr_b64 s[28:29], s[6:7], 163483; SI-NEXT: s_lshr_b64 s[44:45], s[8:9], 163484; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 163485; SI-NEXT: s_lshr_b64 s[56:57], s[12:13], 163486; SI-NEXT: s_lshr_b64 s[58:59], s[14:15], 163487; SI-NEXT: s_lshr_b64 s[60:61], s[16:17], 163488; SI-NEXT: s_lshr_b64 s[62:63], s[18:19], 163489; SI-NEXT: s_lshr_b64 s[72:73], s[20:21], 163490; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 163491; SI-NEXT: s_lshr_b64 s[76:77], s[24:25], 163492; SI-NEXT: s_lshr_b64 s[78:79], s[40:41], 163493; SI-NEXT: s_lshr_b64 s[88:89], s[42:43], 163494; SI-NEXT: s_cbranch_execnz .LBB13_33495; SI-NEXT: .LBB13_2: ; %cmp.true3496; SI-NEXT: s_add_i32 s43, s43, 33497; SI-NEXT: s_add_i32 s42, s42, 33498; SI-NEXT: s_add_i32 s41, s41, 33499; SI-NEXT: s_add_i32 s40, s40, 33500; SI-NEXT: s_add_i32 s25, s25, 33501; SI-NEXT: s_add_i32 s24, s24, 33502; SI-NEXT: s_add_i32 s23, s23, 33503; SI-NEXT: s_add_i32 s22, s22, 33504; SI-NEXT: s_add_i32 s21, s21, 33505; SI-NEXT: s_add_i32 s20, s20, 33506; SI-NEXT: s_add_i32 s19, s19, 33507; SI-NEXT: s_add_i32 s18, s18, 33508; SI-NEXT: s_add_i32 s17, s17, 33509; SI-NEXT: s_add_i32 s16, s16, 33510; SI-NEXT: s_add_i32 s15, s15, 33511; SI-NEXT: s_add_i32 s14, s14, 33512; SI-NEXT: s_add_i32 s13, s13, 33513; SI-NEXT: s_add_i32 s12, s12, 33514; SI-NEXT: s_add_i32 s11, s11, 33515; SI-NEXT: s_add_i32 s10, s10, 33516; SI-NEXT: s_add_i32 s9, s9, 33517; SI-NEXT: s_add_i32 s8, s8, 33518; SI-NEXT: s_add_i32 s7, s7, 33519; SI-NEXT: s_add_i32 s6, s6, 33520; SI-NEXT: s_add_i32 s5, s5, 33521; SI-NEXT: s_add_i32 s4, s4, 33522; SI-NEXT: s_lshr_b64 s[26:27], s[4:5], 163523; SI-NEXT: s_lshr_b64 s[28:29], s[6:7], 163524; SI-NEXT: s_lshr_b64 s[44:45], s[8:9], 163525; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 163526; SI-NEXT: s_lshr_b64 s[56:57], s[12:13], 163527; SI-NEXT: s_lshr_b64 s[58:59], s[14:15], 163528; SI-NEXT: s_lshr_b64 s[60:61], s[16:17], 163529; SI-NEXT: s_lshr_b32 s92, s5, 163530; SI-NEXT: s_lshr_b32 s93, s7, 163531; SI-NEXT: s_lshr_b32 s94, s9, 163532; SI-NEXT: s_lshr_b32 s95, s11, 163533; SI-NEXT: s_lshr_b32 s30, s13, 163534; SI-NEXT: s_lshr_b32 s31, s15, 163535; SI-NEXT: s_lshr_b32 s34, s17, 163536; SI-NEXT: s_lshr_b32 s35, s19, 163537; SI-NEXT: s_lshr_b32 s36, s21, 163538; SI-NEXT: s_lshr_b32 s37, s23, 163539; SI-NEXT: s_lshr_b32 s38, s25, 163540; SI-NEXT: s_lshr_b32 s39, s41, 163541; SI-NEXT: s_lshr_b32 s48, s43, 163542; SI-NEXT: s_lshr_b64 s[62:63], s[18:19], 163543; SI-NEXT: s_lshr_b64 s[72:73], s[20:21], 163544; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 163545; SI-NEXT: s_lshr_b64 s[76:77], s[24:25], 163546; SI-NEXT: s_lshr_b64 s[78:79], s[40:41], 163547; SI-NEXT: s_lshr_b64 s[88:89], s[42:43], 163548; SI-NEXT: .LBB13_3: ; %end3549; SI-NEXT: s_lshl_b32 s27, s88, 163550; SI-NEXT: s_and_b32 s29, s42, 0xffff3551; SI-NEXT: s_or_b32 s27, s29, s273552; SI-NEXT: v_mov_b32_e32 v1, s273553; SI-NEXT: s_and_b32 s27, s43, 0xffff3554; SI-NEXT: s_lshl_b32 s29, s48, 163555; SI-NEXT: s_or_b32 s27, s27, s293556; SI-NEXT: v_mov_b32_e32 v2, s273557; SI-NEXT: s_lshl_b32 s27, s78, 163558; SI-NEXT: s_and_b32 s29, s40, 0xffff3559; SI-NEXT: s_or_b32 s27, s29, s273560; SI-NEXT: v_mov_b32_e32 v3, s273561; SI-NEXT: s_and_b32 s27, s41, 0xffff3562; SI-NEXT: s_lshl_b32 s29, s39, 163563; SI-NEXT: s_or_b32 s27, s27, s293564; SI-NEXT: v_mov_b32_e32 v4, s273565; SI-NEXT: s_lshl_b32 s27, s76, 163566; SI-NEXT: s_and_b32 s24, s24, 0xffff3567; SI-NEXT: s_or_b32 s24, s24, s273568; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen3569; SI-NEXT: s_waitcnt expcnt(0)3570; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v03571; SI-NEXT: v_mov_b32_e32 v5, s243572; SI-NEXT: s_and_b32 s24, s25, 0xffff3573; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3574; SI-NEXT: v_add_i32_e32 v1, vcc, 8, v03575; SI-NEXT: s_lshl_b32 s25, s38, 163576; SI-NEXT: buffer_store_dword v3, v1, s[0:3], 0 offen3577; SI-NEXT: v_add_i32_e32 v1, vcc, 12, v03578; SI-NEXT: s_or_b32 s24, s24, s253579; SI-NEXT: buffer_store_dword v4, v1, s[0:3], 0 offen3580; SI-NEXT: v_add_i32_e32 v1, vcc, 16, v03581; SI-NEXT: s_waitcnt expcnt(2)3582; SI-NEXT: v_mov_b32_e32 v2, s243583; SI-NEXT: s_and_b32 s22, s22, 0xffff3584; SI-NEXT: s_lshl_b32 s24, s74, 163585; SI-NEXT: buffer_store_dword v5, v1, s[0:3], 0 offen3586; SI-NEXT: v_add_i32_e32 v1, vcc, 20, v03587; SI-NEXT: s_or_b32 s22, s22, s243588; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3589; SI-NEXT: s_waitcnt expcnt(0)3590; SI-NEXT: v_mov_b32_e32 v2, s223591; SI-NEXT: s_and_b32 s22, s23, 0xffff3592; SI-NEXT: s_lshl_b32 s23, s37, 163593; SI-NEXT: v_add_i32_e32 v1, vcc, 24, v03594; SI-NEXT: s_or_b32 s22, s22, s233595; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3596; SI-NEXT: s_waitcnt expcnt(0)3597; SI-NEXT: v_mov_b32_e32 v2, s223598; SI-NEXT: s_and_b32 s20, s20, 0xffff3599; SI-NEXT: s_lshl_b32 s22, s72, 163600; SI-NEXT: v_add_i32_e32 v1, vcc, 28, v03601; SI-NEXT: s_or_b32 s20, s20, s223602; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3603; SI-NEXT: s_waitcnt expcnt(0)3604; SI-NEXT: v_mov_b32_e32 v2, s203605; SI-NEXT: s_and_b32 s20, s21, 0xffff3606; SI-NEXT: s_lshl_b32 s21, s36, 163607; SI-NEXT: v_add_i32_e32 v1, vcc, 32, v03608; SI-NEXT: s_or_b32 s20, s20, s213609; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3610; SI-NEXT: s_waitcnt expcnt(0)3611; SI-NEXT: v_mov_b32_e32 v2, s203612; SI-NEXT: s_and_b32 s18, s18, 0xffff3613; SI-NEXT: s_lshl_b32 s20, s62, 163614; SI-NEXT: v_add_i32_e32 v1, vcc, 36, v03615; SI-NEXT: s_or_b32 s18, s18, s203616; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3617; SI-NEXT: s_waitcnt expcnt(0)3618; SI-NEXT: v_mov_b32_e32 v2, s183619; SI-NEXT: s_and_b32 s18, s19, 0xffff3620; SI-NEXT: s_lshl_b32 s19, s35, 163621; SI-NEXT: v_add_i32_e32 v1, vcc, 40, v03622; SI-NEXT: s_or_b32 s18, s18, s193623; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3624; SI-NEXT: s_waitcnt expcnt(0)3625; SI-NEXT: v_mov_b32_e32 v2, s183626; SI-NEXT: s_and_b32 s16, s16, 0xffff3627; SI-NEXT: s_lshl_b32 s18, s60, 163628; SI-NEXT: v_add_i32_e32 v1, vcc, 44, v03629; SI-NEXT: s_or_b32 s16, s16, s183630; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3631; SI-NEXT: s_waitcnt expcnt(0)3632; SI-NEXT: v_mov_b32_e32 v2, s163633; SI-NEXT: s_and_b32 s16, s17, 0xffff3634; SI-NEXT: s_lshl_b32 s17, s34, 163635; SI-NEXT: v_add_i32_e32 v1, vcc, 48, v03636; SI-NEXT: s_or_b32 s16, s16, s173637; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3638; SI-NEXT: s_waitcnt expcnt(0)3639; SI-NEXT: v_mov_b32_e32 v2, s163640; SI-NEXT: s_and_b32 s14, s14, 0xffff3641; SI-NEXT: s_lshl_b32 s16, s58, 163642; SI-NEXT: v_add_i32_e32 v1, vcc, 52, v03643; SI-NEXT: s_or_b32 s14, s14, s163644; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3645; SI-NEXT: s_waitcnt expcnt(0)3646; SI-NEXT: v_mov_b32_e32 v2, s143647; SI-NEXT: s_and_b32 s14, s15, 0xffff3648; SI-NEXT: s_lshl_b32 s15, s31, 163649; SI-NEXT: v_add_i32_e32 v1, vcc, 56, v03650; SI-NEXT: s_or_b32 s14, s14, s153651; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3652; SI-NEXT: s_waitcnt expcnt(0)3653; SI-NEXT: v_mov_b32_e32 v2, s143654; SI-NEXT: s_and_b32 s12, s12, 0xffff3655; SI-NEXT: s_lshl_b32 s14, s56, 163656; SI-NEXT: v_add_i32_e32 v1, vcc, 60, v03657; SI-NEXT: s_or_b32 s12, s12, s143658; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3659; SI-NEXT: s_waitcnt expcnt(0)3660; SI-NEXT: v_mov_b32_e32 v2, s123661; SI-NEXT: s_and_b32 s12, s13, 0xffff3662; SI-NEXT: s_lshl_b32 s13, s30, 163663; SI-NEXT: v_add_i32_e32 v1, vcc, 64, v03664; SI-NEXT: s_or_b32 s12, s12, s133665; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3666; SI-NEXT: s_waitcnt expcnt(0)3667; SI-NEXT: v_mov_b32_e32 v2, s123668; SI-NEXT: s_and_b32 s10, s10, 0xffff3669; SI-NEXT: s_lshl_b32 s12, s46, 163670; SI-NEXT: v_add_i32_e32 v1, vcc, 0x44, v03671; SI-NEXT: s_or_b32 s10, s10, s123672; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3673; SI-NEXT: s_waitcnt expcnt(0)3674; SI-NEXT: v_mov_b32_e32 v2, s103675; SI-NEXT: s_and_b32 s10, s11, 0xffff3676; SI-NEXT: s_lshl_b32 s11, s95, 163677; SI-NEXT: v_add_i32_e32 v1, vcc, 0x48, v03678; SI-NEXT: s_or_b32 s10, s10, s113679; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3680; SI-NEXT: s_waitcnt expcnt(0)3681; SI-NEXT: v_mov_b32_e32 v2, s103682; SI-NEXT: s_and_b32 s8, s8, 0xffff3683; SI-NEXT: s_lshl_b32 s10, s44, 163684; SI-NEXT: v_add_i32_e32 v1, vcc, 0x4c, v03685; SI-NEXT: s_or_b32 s8, s8, s103686; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3687; SI-NEXT: s_waitcnt expcnt(0)3688; SI-NEXT: v_mov_b32_e32 v2, s83689; SI-NEXT: s_and_b32 s8, s9, 0xffff3690; SI-NEXT: s_lshl_b32 s9, s94, 163691; SI-NEXT: v_add_i32_e32 v1, vcc, 0x50, v03692; SI-NEXT: s_or_b32 s8, s8, s93693; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3694; SI-NEXT: s_waitcnt expcnt(0)3695; SI-NEXT: v_mov_b32_e32 v2, s83696; SI-NEXT: s_and_b32 s6, s6, 0xffff3697; SI-NEXT: s_lshl_b32 s8, s28, 163698; SI-NEXT: v_add_i32_e32 v1, vcc, 0x54, v03699; SI-NEXT: s_or_b32 s6, s6, s83700; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3701; SI-NEXT: s_waitcnt expcnt(0)3702; SI-NEXT: v_mov_b32_e32 v2, s63703; SI-NEXT: s_and_b32 s6, s7, 0xffff3704; SI-NEXT: s_lshl_b32 s7, s93, 163705; SI-NEXT: v_add_i32_e32 v1, vcc, 0x58, v03706; SI-NEXT: s_or_b32 s6, s6, s73707; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3708; SI-NEXT: s_waitcnt expcnt(0)3709; SI-NEXT: v_mov_b32_e32 v2, s63710; SI-NEXT: s_and_b32 s4, s4, 0xffff3711; SI-NEXT: s_lshl_b32 s6, s26, 163712; SI-NEXT: v_add_i32_e32 v1, vcc, 0x5c, v03713; SI-NEXT: s_or_b32 s4, s4, s63714; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3715; SI-NEXT: s_waitcnt expcnt(0)3716; SI-NEXT: v_mov_b32_e32 v2, s43717; SI-NEXT: s_and_b32 s4, s5, 0xffff3718; SI-NEXT: s_lshl_b32 s5, s92, 163719; SI-NEXT: v_add_i32_e32 v1, vcc, 0x60, v03720; SI-NEXT: s_or_b32 s4, s4, s53721; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3722; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v03723; SI-NEXT: v_mov_b32_e32 v1, s43724; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen3725; SI-NEXT: v_readlane_b32 s48, v20, 83726; SI-NEXT: v_readlane_b32 s39, v20, 73727; SI-NEXT: v_readlane_b32 s38, v20, 63728; SI-NEXT: v_readlane_b32 s37, v20, 53729; SI-NEXT: v_readlane_b32 s36, v20, 43730; SI-NEXT: v_readlane_b32 s35, v20, 33731; SI-NEXT: v_readlane_b32 s34, v20, 23732; SI-NEXT: v_readlane_b32 s31, v20, 13733; SI-NEXT: v_readlane_b32 s30, v20, 03734; SI-NEXT: s_xor_saveexec_b64 s[4:5], -13735; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 ; 4-byte Folded Reload3736; SI-NEXT: s_mov_b64 exec, s[4:5]3737; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)3738; SI-NEXT: s_setpc_b64 s[30:31]3739; SI-NEXT: .LBB13_4:3740; SI-NEXT: ; implicit-def: $sgpr883741; SI-NEXT: ; implicit-def: $sgpr483742; SI-NEXT: ; implicit-def: $sgpr783743; SI-NEXT: ; implicit-def: $sgpr393744; SI-NEXT: ; implicit-def: $sgpr763745; SI-NEXT: ; implicit-def: $sgpr383746; SI-NEXT: ; implicit-def: $sgpr743747; SI-NEXT: ; implicit-def: $sgpr373748; SI-NEXT: ; implicit-def: $sgpr723749; SI-NEXT: ; implicit-def: $sgpr363750; SI-NEXT: ; implicit-def: $sgpr623751; SI-NEXT: ; implicit-def: $sgpr353752; SI-NEXT: ; implicit-def: $sgpr603753; SI-NEXT: ; implicit-def: $sgpr343754; SI-NEXT: ; implicit-def: $sgpr583755; SI-NEXT: ; implicit-def: $sgpr313756; SI-NEXT: ; implicit-def: $sgpr563757; SI-NEXT: ; implicit-def: $sgpr303758; SI-NEXT: ; implicit-def: $sgpr463759; SI-NEXT: ; implicit-def: $sgpr953760; SI-NEXT: ; implicit-def: $sgpr443761; SI-NEXT: ; implicit-def: $sgpr943762; SI-NEXT: ; implicit-def: $sgpr933763; SI-NEXT: ; implicit-def: $sgpr923764; SI-NEXT: ; implicit-def: $sgpr283765; SI-NEXT: ; implicit-def: $sgpr263766; SI-NEXT: s_branch .LBB13_23767;3768; VI-LABEL: bitcast_v26i32_to_v52i16_scalar:3769; VI: ; %bb.0:3770; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3771; VI-NEXT: v_mov_b32_e32 v13, s163772; VI-NEXT: v_mov_b32_e32 v14, s173773; VI-NEXT: v_mov_b32_e32 v15, s183774; VI-NEXT: v_mov_b32_e32 v16, s193775; VI-NEXT: v_mov_b32_e32 v17, s203776; VI-NEXT: v_mov_b32_e32 v18, s213777; VI-NEXT: v_mov_b32_e32 v19, s223778; VI-NEXT: v_readfirstlane_b32 s44, v133779; VI-NEXT: v_mov_b32_e32 v13, s233780; VI-NEXT: v_readfirstlane_b32 s43, v143781; VI-NEXT: v_mov_b32_e32 v14, s243782; VI-NEXT: v_readfirstlane_b32 s42, v153783; VI-NEXT: v_mov_b32_e32 v15, s253784; VI-NEXT: v_readfirstlane_b32 s41, v163785; VI-NEXT: v_mov_b32_e32 v16, s263786; VI-NEXT: v_readfirstlane_b32 s40, v173787; VI-NEXT: v_mov_b32_e32 v17, s273788; VI-NEXT: v_readfirstlane_b32 s26, v183789; VI-NEXT: v_mov_b32_e32 v18, s283790; VI-NEXT: v_readfirstlane_b32 s25, v193791; VI-NEXT: v_mov_b32_e32 v19, s293792; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v123793; VI-NEXT: v_readfirstlane_b32 s24, v133794; VI-NEXT: v_readfirstlane_b32 s23, v143795; VI-NEXT: v_readfirstlane_b32 s22, v153796; VI-NEXT: v_readfirstlane_b32 s21, v163797; VI-NEXT: v_readfirstlane_b32 s20, v173798; VI-NEXT: v_readfirstlane_b32 s19, v183799; VI-NEXT: v_readfirstlane_b32 s18, v193800; VI-NEXT: v_readfirstlane_b32 s17, v03801; VI-NEXT: v_readfirstlane_b32 s16, v13802; VI-NEXT: v_readfirstlane_b32 s15, v23803; VI-NEXT: v_readfirstlane_b32 s14, v33804; VI-NEXT: v_readfirstlane_b32 s13, v43805; VI-NEXT: v_readfirstlane_b32 s12, v53806; VI-NEXT: v_readfirstlane_b32 s11, v63807; VI-NEXT: v_readfirstlane_b32 s10, v73808; VI-NEXT: v_readfirstlane_b32 s9, v83809; VI-NEXT: v_readfirstlane_b32 s8, v93810; VI-NEXT: v_readfirstlane_b32 s6, v103811; VI-NEXT: s_and_b64 s[4:5], vcc, exec3812; VI-NEXT: v_readfirstlane_b32 s7, v113813; VI-NEXT: s_cbranch_scc0 .LBB13_43814; VI-NEXT: ; %bb.1: ; %cmp.false3815; VI-NEXT: s_lshr_b32 s27, s7, 163816; VI-NEXT: s_lshr_b32 s28, s6, 163817; VI-NEXT: s_lshr_b32 s29, s8, 163818; VI-NEXT: s_lshr_b32 s45, s9, 163819; VI-NEXT: s_lshr_b32 s46, s10, 163820; VI-NEXT: s_lshr_b32 s47, s11, 163821; VI-NEXT: s_lshr_b32 s56, s12, 163822; VI-NEXT: s_lshr_b32 s57, s13, 163823; VI-NEXT: s_lshr_b32 s58, s14, 163824; VI-NEXT: s_lshr_b32 s59, s15, 163825; VI-NEXT: s_lshr_b32 s60, s16, 163826; VI-NEXT: s_lshr_b32 s61, s17, 163827; VI-NEXT: s_lshr_b32 s62, s18, 163828; VI-NEXT: s_lshr_b32 s63, s19, 163829; VI-NEXT: s_lshr_b32 s72, s20, 163830; VI-NEXT: s_lshr_b32 s73, s21, 163831; VI-NEXT: s_lshr_b32 s74, s22, 163832; VI-NEXT: s_lshr_b32 s75, s23, 163833; VI-NEXT: s_lshr_b32 s76, s24, 163834; VI-NEXT: s_lshr_b32 s77, s25, 163835; VI-NEXT: s_lshr_b32 s78, s26, 163836; VI-NEXT: s_lshr_b32 s79, s40, 163837; VI-NEXT: s_lshr_b32 s88, s41, 163838; VI-NEXT: s_lshr_b32 s89, s42, 163839; VI-NEXT: s_lshr_b32 s90, s43, 163840; VI-NEXT: s_lshr_b32 s91, s44, 163841; VI-NEXT: s_cbranch_execnz .LBB13_33842; VI-NEXT: .LBB13_2: ; %cmp.true3843; VI-NEXT: s_add_i32 s7, s7, 33844; VI-NEXT: s_add_i32 s6, s6, 33845; VI-NEXT: s_add_i32 s8, s8, 33846; VI-NEXT: s_add_i32 s9, s9, 33847; VI-NEXT: s_add_i32 s10, s10, 33848; VI-NEXT: s_add_i32 s11, s11, 33849; VI-NEXT: s_add_i32 s12, s12, 33850; VI-NEXT: s_add_i32 s13, s13, 33851; VI-NEXT: s_add_i32 s14, s14, 33852; VI-NEXT: s_add_i32 s15, s15, 33853; VI-NEXT: s_add_i32 s16, s16, 33854; VI-NEXT: s_add_i32 s17, s17, 33855; VI-NEXT: s_add_i32 s18, s18, 33856; VI-NEXT: s_add_i32 s19, s19, 33857; VI-NEXT: s_add_i32 s20, s20, 33858; VI-NEXT: s_add_i32 s21, s21, 33859; VI-NEXT: s_add_i32 s22, s22, 33860; VI-NEXT: s_add_i32 s23, s23, 33861; VI-NEXT: s_add_i32 s24, s24, 33862; VI-NEXT: s_add_i32 s25, s25, 33863; VI-NEXT: s_add_i32 s26, s26, 33864; VI-NEXT: s_add_i32 s40, s40, 33865; VI-NEXT: s_add_i32 s41, s41, 33866; VI-NEXT: s_add_i32 s42, s42, 33867; VI-NEXT: s_add_i32 s43, s43, 33868; VI-NEXT: s_add_i32 s44, s44, 33869; VI-NEXT: s_lshr_b32 s27, s7, 163870; VI-NEXT: s_lshr_b32 s28, s6, 163871; VI-NEXT: s_lshr_b32 s29, s8, 163872; VI-NEXT: s_lshr_b32 s45, s9, 163873; VI-NEXT: s_lshr_b32 s46, s10, 163874; VI-NEXT: s_lshr_b32 s47, s11, 163875; VI-NEXT: s_lshr_b32 s56, s12, 163876; VI-NEXT: s_lshr_b32 s57, s13, 163877; VI-NEXT: s_lshr_b32 s58, s14, 163878; VI-NEXT: s_lshr_b32 s59, s15, 163879; VI-NEXT: s_lshr_b32 s60, s16, 163880; VI-NEXT: s_lshr_b32 s61, s17, 163881; VI-NEXT: s_lshr_b32 s62, s18, 163882; VI-NEXT: s_lshr_b32 s63, s19, 163883; VI-NEXT: s_lshr_b32 s72, s20, 163884; VI-NEXT: s_lshr_b32 s73, s21, 163885; VI-NEXT: s_lshr_b32 s74, s22, 163886; VI-NEXT: s_lshr_b32 s75, s23, 163887; VI-NEXT: s_lshr_b32 s76, s24, 163888; VI-NEXT: s_lshr_b32 s77, s25, 163889; VI-NEXT: s_lshr_b32 s78, s26, 163890; VI-NEXT: s_lshr_b32 s79, s40, 163891; VI-NEXT: s_lshr_b32 s88, s41, 163892; VI-NEXT: s_lshr_b32 s89, s42, 163893; VI-NEXT: s_lshr_b32 s90, s43, 163894; VI-NEXT: s_lshr_b32 s91, s44, 163895; VI-NEXT: .LBB13_3: ; %end3896; VI-NEXT: s_and_b32 s4, 0xffff, s443897; VI-NEXT: s_lshl_b32 s5, s91, 163898; VI-NEXT: s_or_b32 s4, s4, s53899; VI-NEXT: s_and_b32 s5, 0xffff, s433900; VI-NEXT: s_lshl_b32 s43, s90, 163901; VI-NEXT: s_or_b32 s5, s5, s433902; VI-NEXT: s_and_b32 s42, 0xffff, s423903; VI-NEXT: s_lshl_b32 s43, s89, 163904; VI-NEXT: s_or_b32 s42, s42, s433905; VI-NEXT: s_and_b32 s41, 0xffff, s413906; VI-NEXT: s_lshl_b32 s43, s88, 163907; VI-NEXT: s_or_b32 s41, s41, s433908; VI-NEXT: s_and_b32 s40, 0xffff, s403909; VI-NEXT: s_lshl_b32 s43, s79, 163910; VI-NEXT: s_or_b32 s40, s40, s433911; VI-NEXT: s_and_b32 s26, 0xffff, s263912; VI-NEXT: s_lshl_b32 s43, s78, 163913; VI-NEXT: s_or_b32 s26, s26, s433914; VI-NEXT: s_and_b32 s25, 0xffff, s253915; VI-NEXT: s_lshl_b32 s43, s77, 163916; VI-NEXT: s_or_b32 s25, s25, s433917; VI-NEXT: s_and_b32 s24, 0xffff, s243918; VI-NEXT: s_lshl_b32 s43, s76, 163919; VI-NEXT: s_or_b32 s24, s24, s433920; VI-NEXT: s_and_b32 s23, 0xffff, s233921; VI-NEXT: s_lshl_b32 s43, s75, 163922; VI-NEXT: s_or_b32 s23, s23, s433923; VI-NEXT: s_and_b32 s22, 0xffff, s223924; VI-NEXT: s_lshl_b32 s43, s74, 163925; VI-NEXT: s_or_b32 s22, s22, s433926; VI-NEXT: s_and_b32 s21, 0xffff, s213927; VI-NEXT: s_lshl_b32 s43, s73, 163928; VI-NEXT: s_or_b32 s21, s21, s433929; VI-NEXT: s_and_b32 s20, 0xffff, s203930; VI-NEXT: s_lshl_b32 s43, s72, 163931; VI-NEXT: s_or_b32 s20, s20, s433932; VI-NEXT: s_and_b32 s19, 0xffff, s193933; VI-NEXT: s_lshl_b32 s43, s63, 163934; VI-NEXT: s_or_b32 s19, s19, s433935; VI-NEXT: s_and_b32 s18, 0xffff, s183936; VI-NEXT: s_lshl_b32 s43, s62, 163937; VI-NEXT: s_or_b32 s18, s18, s433938; VI-NEXT: s_and_b32 s17, 0xffff, s173939; VI-NEXT: s_lshl_b32 s43, s61, 163940; VI-NEXT: s_or_b32 s17, s17, s433941; VI-NEXT: s_and_b32 s16, 0xffff, s163942; VI-NEXT: s_lshl_b32 s43, s60, 163943; VI-NEXT: s_or_b32 s16, s16, s433944; VI-NEXT: s_and_b32 s15, 0xffff, s153945; VI-NEXT: s_lshl_b32 s43, s59, 163946; VI-NEXT: s_or_b32 s15, s15, s433947; VI-NEXT: s_and_b32 s14, 0xffff, s143948; VI-NEXT: s_lshl_b32 s43, s58, 163949; VI-NEXT: s_or_b32 s14, s14, s433950; VI-NEXT: s_and_b32 s13, 0xffff, s133951; VI-NEXT: s_lshl_b32 s43, s57, 163952; VI-NEXT: s_or_b32 s13, s13, s433953; VI-NEXT: s_and_b32 s12, 0xffff, s123954; VI-NEXT: s_lshl_b32 s43, s56, 163955; VI-NEXT: s_or_b32 s12, s12, s433956; VI-NEXT: s_and_b32 s11, 0xffff, s113957; VI-NEXT: s_lshl_b32 s43, s47, 163958; VI-NEXT: s_or_b32 s11, s11, s433959; VI-NEXT: s_and_b32 s10, 0xffff, s103960; VI-NEXT: s_lshl_b32 s43, s46, 163961; VI-NEXT: s_or_b32 s10, s10, s433962; VI-NEXT: s_and_b32 s9, 0xffff, s93963; VI-NEXT: s_lshl_b32 s43, s45, 163964; VI-NEXT: s_and_b32 s8, 0xffff, s83965; VI-NEXT: s_lshl_b32 s29, s29, 163966; VI-NEXT: s_and_b32 s6, 0xffff, s63967; VI-NEXT: s_lshl_b32 s28, s28, 163968; VI-NEXT: s_and_b32 s7, 0xffff, s73969; VI-NEXT: s_lshl_b32 s27, s27, 163970; VI-NEXT: s_or_b32 s9, s9, s433971; VI-NEXT: s_or_b32 s8, s8, s293972; VI-NEXT: s_or_b32 s6, s6, s283973; VI-NEXT: s_or_b32 s7, s7, s273974; VI-NEXT: v_mov_b32_e32 v0, s43975; VI-NEXT: v_mov_b32_e32 v1, s53976; VI-NEXT: v_mov_b32_e32 v2, s423977; VI-NEXT: v_mov_b32_e32 v3, s413978; VI-NEXT: v_mov_b32_e32 v4, s403979; VI-NEXT: v_mov_b32_e32 v5, s263980; VI-NEXT: v_mov_b32_e32 v6, s253981; VI-NEXT: v_mov_b32_e32 v7, s243982; VI-NEXT: v_mov_b32_e32 v8, s233983; VI-NEXT: v_mov_b32_e32 v9, s223984; VI-NEXT: v_mov_b32_e32 v10, s213985; VI-NEXT: v_mov_b32_e32 v11, s203986; VI-NEXT: v_mov_b32_e32 v12, s193987; VI-NEXT: v_mov_b32_e32 v13, s183988; VI-NEXT: v_mov_b32_e32 v14, s173989; VI-NEXT: v_mov_b32_e32 v15, s163990; VI-NEXT: v_mov_b32_e32 v16, s153991; VI-NEXT: v_mov_b32_e32 v17, s143992; VI-NEXT: v_mov_b32_e32 v18, s133993; VI-NEXT: v_mov_b32_e32 v19, s123994; VI-NEXT: v_mov_b32_e32 v20, s113995; VI-NEXT: v_mov_b32_e32 v21, s103996; VI-NEXT: v_mov_b32_e32 v22, s93997; VI-NEXT: v_mov_b32_e32 v23, s83998; VI-NEXT: v_mov_b32_e32 v24, s63999; VI-NEXT: v_mov_b32_e32 v25, s74000; VI-NEXT: s_setpc_b64 s[30:31]4001; VI-NEXT: .LBB13_4:4002; VI-NEXT: ; implicit-def: $sgpr914003; VI-NEXT: ; implicit-def: $sgpr904004; VI-NEXT: ; implicit-def: $sgpr894005; VI-NEXT: ; implicit-def: $sgpr884006; VI-NEXT: ; implicit-def: $sgpr794007; VI-NEXT: ; implicit-def: $sgpr784008; VI-NEXT: ; implicit-def: $sgpr774009; VI-NEXT: ; implicit-def: $sgpr764010; VI-NEXT: ; implicit-def: $sgpr754011; VI-NEXT: ; implicit-def: $sgpr744012; VI-NEXT: ; implicit-def: $sgpr734013; VI-NEXT: ; implicit-def: $sgpr724014; VI-NEXT: ; implicit-def: $sgpr634015; VI-NEXT: ; implicit-def: $sgpr624016; VI-NEXT: ; implicit-def: $sgpr614017; VI-NEXT: ; implicit-def: $sgpr604018; VI-NEXT: ; implicit-def: $sgpr594019; VI-NEXT: ; implicit-def: $sgpr584020; VI-NEXT: ; implicit-def: $sgpr574021; VI-NEXT: ; implicit-def: $sgpr564022; VI-NEXT: ; implicit-def: $sgpr474023; VI-NEXT: ; implicit-def: $sgpr464024; VI-NEXT: ; implicit-def: $sgpr454025; VI-NEXT: ; implicit-def: $sgpr294026; VI-NEXT: ; implicit-def: $sgpr284027; VI-NEXT: ; implicit-def: $sgpr274028; VI-NEXT: s_branch .LBB13_24029;4030; GFX9-LABEL: bitcast_v26i32_to_v52i16_scalar:4031; GFX9: ; %bb.0:4032; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4033; GFX9-NEXT: v_mov_b32_e32 v13, s164034; GFX9-NEXT: v_mov_b32_e32 v14, s174035; GFX9-NEXT: v_mov_b32_e32 v15, s184036; GFX9-NEXT: v_mov_b32_e32 v16, s194037; GFX9-NEXT: v_mov_b32_e32 v17, s204038; GFX9-NEXT: v_mov_b32_e32 v18, s214039; GFX9-NEXT: v_mov_b32_e32 v19, s224040; GFX9-NEXT: v_readfirstlane_b32 s6, v134041; GFX9-NEXT: v_mov_b32_e32 v13, s234042; GFX9-NEXT: v_readfirstlane_b32 s7, v144043; GFX9-NEXT: v_mov_b32_e32 v14, s244044; GFX9-NEXT: v_readfirstlane_b32 s8, v154045; GFX9-NEXT: v_mov_b32_e32 v15, s254046; GFX9-NEXT: v_readfirstlane_b32 s9, v164047; GFX9-NEXT: v_mov_b32_e32 v16, s264048; GFX9-NEXT: v_readfirstlane_b32 s10, v174049; GFX9-NEXT: v_mov_b32_e32 v17, s274050; GFX9-NEXT: v_readfirstlane_b32 s11, v184051; GFX9-NEXT: v_mov_b32_e32 v18, s284052; GFX9-NEXT: v_readfirstlane_b32 s12, v194053; GFX9-NEXT: v_mov_b32_e32 v19, s294054; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v124055; GFX9-NEXT: v_readfirstlane_b32 s13, v134056; GFX9-NEXT: v_readfirstlane_b32 s14, v144057; GFX9-NEXT: v_readfirstlane_b32 s15, v154058; GFX9-NEXT: v_readfirstlane_b32 s16, v164059; GFX9-NEXT: v_readfirstlane_b32 s17, v174060; GFX9-NEXT: v_readfirstlane_b32 s18, v184061; GFX9-NEXT: v_readfirstlane_b32 s19, v194062; GFX9-NEXT: v_readfirstlane_b32 s20, v04063; GFX9-NEXT: v_readfirstlane_b32 s21, v14064; GFX9-NEXT: v_readfirstlane_b32 s22, v24065; GFX9-NEXT: v_readfirstlane_b32 s23, v34066; GFX9-NEXT: v_readfirstlane_b32 s24, v44067; GFX9-NEXT: v_readfirstlane_b32 s25, v54068; GFX9-NEXT: v_readfirstlane_b32 s26, v64069; GFX9-NEXT: v_readfirstlane_b32 s27, v74070; GFX9-NEXT: v_readfirstlane_b32 s28, v84071; GFX9-NEXT: v_readfirstlane_b32 s29, v94072; GFX9-NEXT: v_readfirstlane_b32 s40, v104073; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec4074; GFX9-NEXT: v_readfirstlane_b32 s41, v114075; GFX9-NEXT: s_cbranch_scc0 .LBB13_44076; GFX9-NEXT: ; %bb.1: ; %cmp.false4077; GFX9-NEXT: s_lshr_b32 s42, s41, 164078; GFX9-NEXT: s_lshr_b32 s43, s40, 164079; GFX9-NEXT: s_lshr_b32 s44, s29, 164080; GFX9-NEXT: s_lshr_b32 s45, s28, 164081; GFX9-NEXT: s_lshr_b32 s46, s27, 164082; GFX9-NEXT: s_lshr_b32 s47, s26, 164083; GFX9-NEXT: s_lshr_b32 s56, s25, 164084; GFX9-NEXT: s_lshr_b32 s57, s24, 164085; GFX9-NEXT: s_lshr_b32 s58, s23, 164086; GFX9-NEXT: s_lshr_b32 s59, s22, 164087; GFX9-NEXT: s_lshr_b32 s60, s21, 164088; GFX9-NEXT: s_lshr_b32 s61, s20, 164089; GFX9-NEXT: s_lshr_b32 s62, s19, 164090; GFX9-NEXT: s_lshr_b32 s63, s18, 164091; GFX9-NEXT: s_lshr_b32 s72, s17, 164092; GFX9-NEXT: s_lshr_b32 s73, s16, 164093; GFX9-NEXT: s_lshr_b32 s74, s15, 164094; GFX9-NEXT: s_lshr_b32 s75, s14, 164095; GFX9-NEXT: s_lshr_b32 s76, s13, 164096; GFX9-NEXT: s_lshr_b32 s77, s12, 164097; GFX9-NEXT: s_lshr_b32 s78, s11, 164098; GFX9-NEXT: s_lshr_b32 s79, s10, 164099; GFX9-NEXT: s_lshr_b32 s88, s9, 164100; GFX9-NEXT: s_lshr_b32 s89, s8, 164101; GFX9-NEXT: s_lshr_b32 s90, s7, 164102; GFX9-NEXT: s_lshr_b32 s91, s6, 164103; GFX9-NEXT: s_cbranch_execnz .LBB13_34104; GFX9-NEXT: .LBB13_2: ; %cmp.true4105; GFX9-NEXT: s_add_i32 s41, s41, 34106; GFX9-NEXT: s_add_i32 s40, s40, 34107; GFX9-NEXT: s_add_i32 s29, s29, 34108; GFX9-NEXT: s_add_i32 s28, s28, 34109; GFX9-NEXT: s_add_i32 s27, s27, 34110; GFX9-NEXT: s_add_i32 s26, s26, 34111; GFX9-NEXT: s_add_i32 s25, s25, 34112; GFX9-NEXT: s_add_i32 s24, s24, 34113; GFX9-NEXT: s_add_i32 s23, s23, 34114; GFX9-NEXT: s_add_i32 s22, s22, 34115; GFX9-NEXT: s_add_i32 s21, s21, 34116; GFX9-NEXT: s_add_i32 s20, s20, 34117; GFX9-NEXT: s_add_i32 s19, s19, 34118; GFX9-NEXT: s_add_i32 s18, s18, 34119; GFX9-NEXT: s_add_i32 s17, s17, 34120; GFX9-NEXT: s_add_i32 s16, s16, 34121; GFX9-NEXT: s_add_i32 s15, s15, 34122; GFX9-NEXT: s_add_i32 s14, s14, 34123; GFX9-NEXT: s_add_i32 s13, s13, 34124; GFX9-NEXT: s_add_i32 s12, s12, 34125; GFX9-NEXT: s_add_i32 s11, s11, 34126; GFX9-NEXT: s_add_i32 s10, s10, 34127; GFX9-NEXT: s_add_i32 s9, s9, 34128; GFX9-NEXT: s_add_i32 s8, s8, 34129; GFX9-NEXT: s_add_i32 s7, s7, 34130; GFX9-NEXT: s_add_i32 s6, s6, 34131; GFX9-NEXT: s_lshr_b32 s42, s41, 164132; GFX9-NEXT: s_lshr_b32 s43, s40, 164133; GFX9-NEXT: s_lshr_b32 s44, s29, 164134; GFX9-NEXT: s_lshr_b32 s45, s28, 164135; GFX9-NEXT: s_lshr_b32 s46, s27, 164136; GFX9-NEXT: s_lshr_b32 s47, s26, 164137; GFX9-NEXT: s_lshr_b32 s56, s25, 164138; GFX9-NEXT: s_lshr_b32 s57, s24, 164139; GFX9-NEXT: s_lshr_b32 s58, s23, 164140; GFX9-NEXT: s_lshr_b32 s59, s22, 164141; GFX9-NEXT: s_lshr_b32 s60, s21, 164142; GFX9-NEXT: s_lshr_b32 s61, s20, 164143; GFX9-NEXT: s_lshr_b32 s62, s19, 164144; GFX9-NEXT: s_lshr_b32 s63, s18, 164145; GFX9-NEXT: s_lshr_b32 s72, s17, 164146; GFX9-NEXT: s_lshr_b32 s73, s16, 164147; GFX9-NEXT: s_lshr_b32 s74, s15, 164148; GFX9-NEXT: s_lshr_b32 s75, s14, 164149; GFX9-NEXT: s_lshr_b32 s76, s13, 164150; GFX9-NEXT: s_lshr_b32 s77, s12, 164151; GFX9-NEXT: s_lshr_b32 s78, s11, 164152; GFX9-NEXT: s_lshr_b32 s79, s10, 164153; GFX9-NEXT: s_lshr_b32 s88, s9, 164154; GFX9-NEXT: s_lshr_b32 s89, s8, 164155; GFX9-NEXT: s_lshr_b32 s90, s7, 164156; GFX9-NEXT: s_lshr_b32 s91, s6, 164157; GFX9-NEXT: .LBB13_3: ; %end4158; GFX9-NEXT: s_pack_ll_b32_b16 s4, s6, s914159; GFX9-NEXT: s_pack_ll_b32_b16 s5, s7, s904160; GFX9-NEXT: s_pack_ll_b32_b16 s6, s8, s894161; GFX9-NEXT: s_pack_ll_b32_b16 s7, s9, s884162; GFX9-NEXT: s_pack_ll_b32_b16 s8, s10, s794163; GFX9-NEXT: s_pack_ll_b32_b16 s9, s11, s784164; GFX9-NEXT: s_pack_ll_b32_b16 s10, s12, s774165; GFX9-NEXT: s_pack_ll_b32_b16 s11, s13, s764166; GFX9-NEXT: s_pack_ll_b32_b16 s12, s14, s754167; GFX9-NEXT: s_pack_ll_b32_b16 s13, s15, s744168; GFX9-NEXT: s_pack_ll_b32_b16 s14, s16, s734169; GFX9-NEXT: s_pack_ll_b32_b16 s15, s17, s724170; GFX9-NEXT: s_pack_ll_b32_b16 s16, s18, s634171; GFX9-NEXT: s_pack_ll_b32_b16 s17, s19, s624172; GFX9-NEXT: s_pack_ll_b32_b16 s18, s20, s614173; GFX9-NEXT: s_pack_ll_b32_b16 s19, s21, s604174; GFX9-NEXT: s_pack_ll_b32_b16 s20, s22, s594175; GFX9-NEXT: s_pack_ll_b32_b16 s21, s23, s584176; GFX9-NEXT: s_pack_ll_b32_b16 s22, s24, s574177; GFX9-NEXT: s_pack_ll_b32_b16 s23, s25, s564178; GFX9-NEXT: s_pack_ll_b32_b16 s24, s26, s474179; GFX9-NEXT: s_pack_ll_b32_b16 s25, s27, s464180; GFX9-NEXT: s_pack_ll_b32_b16 s26, s28, s454181; GFX9-NEXT: s_pack_ll_b32_b16 s27, s29, s444182; GFX9-NEXT: s_pack_ll_b32_b16 s28, s40, s434183; GFX9-NEXT: s_pack_ll_b32_b16 s29, s41, s424184; GFX9-NEXT: v_mov_b32_e32 v0, s44185; GFX9-NEXT: v_mov_b32_e32 v1, s54186; GFX9-NEXT: v_mov_b32_e32 v2, s64187; GFX9-NEXT: v_mov_b32_e32 v3, s74188; GFX9-NEXT: v_mov_b32_e32 v4, s84189; GFX9-NEXT: v_mov_b32_e32 v5, s94190; GFX9-NEXT: v_mov_b32_e32 v6, s104191; GFX9-NEXT: v_mov_b32_e32 v7, s114192; GFX9-NEXT: v_mov_b32_e32 v8, s124193; GFX9-NEXT: v_mov_b32_e32 v9, s134194; GFX9-NEXT: v_mov_b32_e32 v10, s144195; GFX9-NEXT: v_mov_b32_e32 v11, s154196; GFX9-NEXT: v_mov_b32_e32 v12, s164197; GFX9-NEXT: v_mov_b32_e32 v13, s174198; GFX9-NEXT: v_mov_b32_e32 v14, s184199; GFX9-NEXT: v_mov_b32_e32 v15, s194200; GFX9-NEXT: v_mov_b32_e32 v16, s204201; GFX9-NEXT: v_mov_b32_e32 v17, s214202; GFX9-NEXT: v_mov_b32_e32 v18, s224203; GFX9-NEXT: v_mov_b32_e32 v19, s234204; GFX9-NEXT: v_mov_b32_e32 v20, s244205; GFX9-NEXT: v_mov_b32_e32 v21, s254206; GFX9-NEXT: v_mov_b32_e32 v22, s264207; GFX9-NEXT: v_mov_b32_e32 v23, s274208; GFX9-NEXT: v_mov_b32_e32 v24, s284209; GFX9-NEXT: v_mov_b32_e32 v25, s294210; GFX9-NEXT: s_setpc_b64 s[30:31]4211; GFX9-NEXT: .LBB13_4:4212; GFX9-NEXT: ; implicit-def: $sgpr914213; GFX9-NEXT: ; implicit-def: $sgpr904214; GFX9-NEXT: ; implicit-def: $sgpr894215; GFX9-NEXT: ; implicit-def: $sgpr884216; GFX9-NEXT: ; implicit-def: $sgpr794217; GFX9-NEXT: ; implicit-def: $sgpr784218; GFX9-NEXT: ; implicit-def: $sgpr774219; GFX9-NEXT: ; implicit-def: $sgpr764220; GFX9-NEXT: ; implicit-def: $sgpr754221; GFX9-NEXT: ; implicit-def: $sgpr744222; GFX9-NEXT: ; implicit-def: $sgpr734223; GFX9-NEXT: ; implicit-def: $sgpr724224; GFX9-NEXT: ; implicit-def: $sgpr634225; GFX9-NEXT: ; implicit-def: $sgpr624226; GFX9-NEXT: ; implicit-def: $sgpr614227; GFX9-NEXT: ; implicit-def: $sgpr604228; GFX9-NEXT: ; implicit-def: $sgpr594229; GFX9-NEXT: ; implicit-def: $sgpr584230; GFX9-NEXT: ; implicit-def: $sgpr574231; GFX9-NEXT: ; implicit-def: $sgpr564232; GFX9-NEXT: ; implicit-def: $sgpr474233; GFX9-NEXT: ; implicit-def: $sgpr464234; GFX9-NEXT: ; implicit-def: $sgpr454235; GFX9-NEXT: ; implicit-def: $sgpr444236; GFX9-NEXT: ; implicit-def: $sgpr434237; GFX9-NEXT: ; implicit-def: $sgpr424238; GFX9-NEXT: s_branch .LBB13_24239;4240; GFX11-LABEL: bitcast_v26i32_to_v52i16_scalar:4241; GFX11: ; %bb.0:4242; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4243; GFX11-NEXT: v_dual_mov_b32 v9, s0 :: v_dual_mov_b32 v10, s14244; GFX11-NEXT: v_dual_mov_b32 v11, s2 :: v_dual_mov_b32 v12, s34245; GFX11-NEXT: v_dual_mov_b32 v13, s16 :: v_dual_mov_b32 v14, s174246; GFX11-NEXT: v_dual_mov_b32 v15, s18 :: v_dual_mov_b32 v16, s194247; GFX11-NEXT: v_dual_mov_b32 v17, s20 :: v_dual_mov_b32 v18, s214248; GFX11-NEXT: v_dual_mov_b32 v19, s22 :: v_dual_mov_b32 v20, s234249; GFX11-NEXT: v_dual_mov_b32 v21, s24 :: v_dual_mov_b32 v22, s254250; GFX11-NEXT: v_dual_mov_b32 v23, s26 :: v_dual_mov_b32 v24, s274251; GFX11-NEXT: v_dual_mov_b32 v25, s28 :: v_dual_mov_b32 v26, s294252; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v84253; GFX11-NEXT: v_readfirstlane_b32 s0, v94254; GFX11-NEXT: v_readfirstlane_b32 s1, v104255; GFX11-NEXT: v_readfirstlane_b32 s2, v114256; GFX11-NEXT: v_readfirstlane_b32 s3, v124257; GFX11-NEXT: v_readfirstlane_b32 s4, v134258; GFX11-NEXT: v_readfirstlane_b32 s5, v144259; GFX11-NEXT: v_readfirstlane_b32 s6, v154260; GFX11-NEXT: v_readfirstlane_b32 s7, v164261; GFX11-NEXT: v_readfirstlane_b32 s8, v174262; GFX11-NEXT: v_readfirstlane_b32 s9, v184263; GFX11-NEXT: v_readfirstlane_b32 s10, v194264; GFX11-NEXT: v_readfirstlane_b32 s11, v204265; GFX11-NEXT: v_readfirstlane_b32 s12, v214266; GFX11-NEXT: v_readfirstlane_b32 s13, v224267; GFX11-NEXT: v_readfirstlane_b32 s14, v234268; GFX11-NEXT: v_readfirstlane_b32 s15, v244269; GFX11-NEXT: v_readfirstlane_b32 s16, v254270; GFX11-NEXT: v_readfirstlane_b32 s17, v264271; GFX11-NEXT: v_readfirstlane_b32 s18, v04272; GFX11-NEXT: v_readfirstlane_b32 s19, v14273; GFX11-NEXT: v_readfirstlane_b32 s20, v24274; GFX11-NEXT: v_readfirstlane_b32 s21, v34275; GFX11-NEXT: v_readfirstlane_b32 s22, v44276; GFX11-NEXT: v_readfirstlane_b32 s23, v54277; GFX11-NEXT: v_readfirstlane_b32 s25, v64278; GFX11-NEXT: v_readfirstlane_b32 s24, v74279; GFX11-NEXT: s_mov_b32 s78, 04280; GFX11-NEXT: s_and_b32 s26, vcc_lo, exec_lo4281; GFX11-NEXT: s_cbranch_scc0 .LBB13_44282; GFX11-NEXT: ; %bb.1: ; %cmp.false4283; GFX11-NEXT: s_lshr_b32 s26, s24, 164284; GFX11-NEXT: s_lshr_b32 s27, s25, 164285; GFX11-NEXT: s_lshr_b32 s28, s23, 164286; GFX11-NEXT: s_lshr_b32 s29, s22, 164287; GFX11-NEXT: s_lshr_b32 s40, s21, 164288; GFX11-NEXT: s_lshr_b32 s41, s20, 164289; GFX11-NEXT: s_lshr_b32 s42, s19, 164290; GFX11-NEXT: s_lshr_b32 s43, s18, 164291; GFX11-NEXT: s_lshr_b32 s44, s17, 164292; GFX11-NEXT: s_lshr_b32 s45, s16, 164293; GFX11-NEXT: s_lshr_b32 s46, s15, 164294; GFX11-NEXT: s_lshr_b32 s47, s14, 164295; GFX11-NEXT: s_lshr_b32 s56, s13, 164296; GFX11-NEXT: s_lshr_b32 s57, s12, 164297; GFX11-NEXT: s_lshr_b32 s58, s11, 164298; GFX11-NEXT: s_lshr_b32 s59, s10, 164299; GFX11-NEXT: s_lshr_b32 s60, s9, 164300; GFX11-NEXT: s_lshr_b32 s61, s8, 164301; GFX11-NEXT: s_lshr_b32 s62, s7, 164302; GFX11-NEXT: s_lshr_b32 s63, s6, 164303; GFX11-NEXT: s_lshr_b32 s72, s5, 164304; GFX11-NEXT: s_lshr_b32 s73, s4, 164305; GFX11-NEXT: s_lshr_b32 s74, s3, 164306; GFX11-NEXT: s_lshr_b32 s75, s2, 164307; GFX11-NEXT: s_lshr_b32 s76, s1, 164308; GFX11-NEXT: s_lshr_b32 s77, s0, 164309; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s784310; GFX11-NEXT: s_cbranch_vccnz .LBB13_34311; GFX11-NEXT: .LBB13_2: ; %cmp.true4312; GFX11-NEXT: s_add_i32 s24, s24, 34313; GFX11-NEXT: s_add_i32 s25, s25, 34314; GFX11-NEXT: s_add_i32 s23, s23, 34315; GFX11-NEXT: s_add_i32 s22, s22, 34316; GFX11-NEXT: s_add_i32 s21, s21, 34317; GFX11-NEXT: s_add_i32 s20, s20, 34318; GFX11-NEXT: s_add_i32 s19, s19, 34319; GFX11-NEXT: s_add_i32 s18, s18, 34320; GFX11-NEXT: s_add_i32 s17, s17, 34321; GFX11-NEXT: s_add_i32 s16, s16, 34322; GFX11-NEXT: s_add_i32 s15, s15, 34323; GFX11-NEXT: s_add_i32 s14, s14, 34324; GFX11-NEXT: s_add_i32 s13, s13, 34325; GFX11-NEXT: s_add_i32 s12, s12, 34326; GFX11-NEXT: s_add_i32 s11, s11, 34327; GFX11-NEXT: s_add_i32 s10, s10, 34328; GFX11-NEXT: s_add_i32 s9, s9, 34329; GFX11-NEXT: s_add_i32 s8, s8, 34330; GFX11-NEXT: s_add_i32 s7, s7, 34331; GFX11-NEXT: s_add_i32 s6, s6, 34332; GFX11-NEXT: s_add_i32 s5, s5, 34333; GFX11-NEXT: s_add_i32 s4, s4, 34334; GFX11-NEXT: s_add_i32 s3, s3, 34335; GFX11-NEXT: s_add_i32 s2, s2, 34336; GFX11-NEXT: s_add_i32 s1, s1, 34337; GFX11-NEXT: s_add_i32 s0, s0, 34338; GFX11-NEXT: s_lshr_b32 s26, s24, 164339; GFX11-NEXT: s_lshr_b32 s27, s25, 164340; GFX11-NEXT: s_lshr_b32 s28, s23, 164341; GFX11-NEXT: s_lshr_b32 s29, s22, 164342; GFX11-NEXT: s_lshr_b32 s40, s21, 164343; GFX11-NEXT: s_lshr_b32 s41, s20, 164344; GFX11-NEXT: s_lshr_b32 s42, s19, 164345; GFX11-NEXT: s_lshr_b32 s43, s18, 164346; GFX11-NEXT: s_lshr_b32 s44, s17, 164347; GFX11-NEXT: s_lshr_b32 s45, s16, 164348; GFX11-NEXT: s_lshr_b32 s46, s15, 164349; GFX11-NEXT: s_lshr_b32 s47, s14, 164350; GFX11-NEXT: s_lshr_b32 s56, s13, 164351; GFX11-NEXT: s_lshr_b32 s57, s12, 164352; GFX11-NEXT: s_lshr_b32 s58, s11, 164353; GFX11-NEXT: s_lshr_b32 s59, s10, 164354; GFX11-NEXT: s_lshr_b32 s60, s9, 164355; GFX11-NEXT: s_lshr_b32 s61, s8, 164356; GFX11-NEXT: s_lshr_b32 s62, s7, 164357; GFX11-NEXT: s_lshr_b32 s63, s6, 164358; GFX11-NEXT: s_lshr_b32 s72, s5, 164359; GFX11-NEXT: s_lshr_b32 s73, s4, 164360; GFX11-NEXT: s_lshr_b32 s74, s3, 164361; GFX11-NEXT: s_lshr_b32 s75, s2, 164362; GFX11-NEXT: s_lshr_b32 s76, s1, 164363; GFX11-NEXT: s_lshr_b32 s77, s0, 164364; GFX11-NEXT: .LBB13_3: ; %end4365; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)4366; GFX11-NEXT: s_pack_ll_b32_b16 s0, s0, s774367; GFX11-NEXT: s_pack_ll_b32_b16 s1, s1, s764368; GFX11-NEXT: s_pack_ll_b32_b16 s2, s2, s754369; GFX11-NEXT: s_pack_ll_b32_b16 s3, s3, s744370; GFX11-NEXT: s_pack_ll_b32_b16 s4, s4, s734371; GFX11-NEXT: s_pack_ll_b32_b16 s5, s5, s724372; GFX11-NEXT: s_pack_ll_b32_b16 s6, s6, s634373; GFX11-NEXT: s_pack_ll_b32_b16 s7, s7, s624374; GFX11-NEXT: s_pack_ll_b32_b16 s8, s8, s614375; GFX11-NEXT: s_pack_ll_b32_b16 s9, s9, s604376; GFX11-NEXT: s_pack_ll_b32_b16 s10, s10, s594377; GFX11-NEXT: s_pack_ll_b32_b16 s11, s11, s584378; GFX11-NEXT: s_pack_ll_b32_b16 s12, s12, s574379; GFX11-NEXT: s_pack_ll_b32_b16 s13, s13, s564380; GFX11-NEXT: s_pack_ll_b32_b16 s14, s14, s474381; GFX11-NEXT: s_pack_ll_b32_b16 s15, s15, s464382; GFX11-NEXT: s_pack_ll_b32_b16 s16, s16, s454383; GFX11-NEXT: s_pack_ll_b32_b16 s17, s17, s444384; GFX11-NEXT: s_pack_ll_b32_b16 s18, s18, s434385; GFX11-NEXT: s_pack_ll_b32_b16 s19, s19, s424386; GFX11-NEXT: s_pack_ll_b32_b16 s20, s20, s414387; GFX11-NEXT: s_pack_ll_b32_b16 s21, s21, s404388; GFX11-NEXT: s_pack_ll_b32_b16 s22, s22, s294389; GFX11-NEXT: s_pack_ll_b32_b16 s23, s23, s284390; GFX11-NEXT: s_pack_ll_b32_b16 s25, s25, s274391; GFX11-NEXT: s_pack_ll_b32_b16 s24, s24, s264392; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s14393; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s34394; GFX11-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s54395; GFX11-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s74396; GFX11-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s94397; GFX11-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s114398; GFX11-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s134399; GFX11-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s154400; GFX11-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s174401; GFX11-NEXT: v_dual_mov_b32 v18, s18 :: v_dual_mov_b32 v19, s194402; GFX11-NEXT: v_dual_mov_b32 v20, s20 :: v_dual_mov_b32 v21, s214403; GFX11-NEXT: v_dual_mov_b32 v22, s22 :: v_dual_mov_b32 v23, s234404; GFX11-NEXT: v_dual_mov_b32 v24, s25 :: v_dual_mov_b32 v25, s244405; GFX11-NEXT: s_setpc_b64 s[30:31]4406; GFX11-NEXT: .LBB13_4:4407; GFX11-NEXT: ; implicit-def: $sgpr774408; GFX11-NEXT: ; implicit-def: $sgpr764409; GFX11-NEXT: ; implicit-def: $sgpr754410; GFX11-NEXT: ; implicit-def: $sgpr744411; GFX11-NEXT: ; implicit-def: $sgpr734412; GFX11-NEXT: ; implicit-def: $sgpr724413; GFX11-NEXT: ; implicit-def: $sgpr634414; GFX11-NEXT: ; implicit-def: $sgpr624415; GFX11-NEXT: ; implicit-def: $sgpr614416; GFX11-NEXT: ; implicit-def: $sgpr604417; GFX11-NEXT: ; implicit-def: $sgpr594418; GFX11-NEXT: ; implicit-def: $sgpr584419; GFX11-NEXT: ; implicit-def: $sgpr574420; GFX11-NEXT: ; implicit-def: $sgpr564421; GFX11-NEXT: ; implicit-def: $sgpr474422; GFX11-NEXT: ; implicit-def: $sgpr464423; GFX11-NEXT: ; implicit-def: $sgpr454424; GFX11-NEXT: ; implicit-def: $sgpr444425; GFX11-NEXT: ; implicit-def: $sgpr434426; GFX11-NEXT: ; implicit-def: $sgpr424427; GFX11-NEXT: ; implicit-def: $sgpr414428; GFX11-NEXT: ; implicit-def: $sgpr404429; GFX11-NEXT: ; implicit-def: $sgpr294430; GFX11-NEXT: ; implicit-def: $sgpr284431; GFX11-NEXT: ; implicit-def: $sgpr274432; GFX11-NEXT: ; implicit-def: $sgpr264433; GFX11-NEXT: s_branch .LBB13_24434 %cmp = icmp eq i32 %b, 04435 br i1 %cmp, label %cmp.true, label %cmp.false4436 4437cmp.true:4438 %a1 = add <26 x i32> %a, splat (i32 3)4439 %a2 = bitcast <26 x i32> %a1 to <52 x i16>4440 br label %end4441 4442cmp.false:4443 %a3 = bitcast <26 x i32> %a to <52 x i16>4444 br label %end4445 4446end:4447 %phi = phi <52 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]4448 ret <52 x i16> %phi4449}4450 4451define <26 x i32> @bitcast_v52i16_to_v26i32(<52 x i16> %a, i32 %b) {4452; SI-LABEL: bitcast_v52i16_to_v26i32:4453; SI: ; %bb.0:4454; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4455; SI-NEXT: v_mov_b32_e32 v50, v104456; SI-NEXT: v_mov_b32_e32 v51, v84457; SI-NEXT: v_mov_b32_e32 v52, v64458; SI-NEXT: v_mov_b32_e32 v53, v44459; SI-NEXT: v_mov_b32_e32 v54, v24460; SI-NEXT: v_mov_b32_e32 v55, v04461; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484462; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:404463; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:324464; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:244465; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:164466; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:124467; SI-NEXT: v_mov_b32_e32 v49, v124468; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill4469; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill4470; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill4471; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill4472; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill4473; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill4474; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill4475; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill4476; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill4477; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill4478; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill4479; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill4480; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill4481; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill4482; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill4483; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill4484; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill4485; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill4486; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill4487; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill4488; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill4489; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill4490; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill4491; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill4492; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill4493; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v14494; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v34495; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v54496; SI-NEXT: v_lshlrev_b32_e32 v57, 16, v74497; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v94498; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v114499; SI-NEXT: v_lshlrev_b32_e32 v47, 16, v134500; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v154501; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v174502; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v194503; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v214504; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v234505; SI-NEXT: v_lshlrev_b32_e32 v43, 16, v254506; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v274507; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v294508; SI-NEXT: s_waitcnt vmcnt(14)4509; SI-NEXT: v_lshlrev_b32_e32 v62, 16, v04510; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v24511; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v44512; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v64513; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v84514; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill4515; SI-NEXT: s_waitcnt expcnt(0)4516; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:84517; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:44518; SI-NEXT: s_waitcnt vmcnt(1)4519; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v104520; SI-NEXT: s_waitcnt vmcnt(0)4521; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill4522; SI-NEXT: s_waitcnt expcnt(0)4523; SI-NEXT: buffer_load_dword v12, off, s[0:3], s324524; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:844525; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:804526; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:764527; SI-NEXT: s_waitcnt vmcnt(3)4528; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v124529; SI-NEXT: s_waitcnt vmcnt(2)4530; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v144531; SI-NEXT: s_waitcnt vmcnt(1)4532; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v164533; SI-NEXT: s_waitcnt vmcnt(0)4534; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill4535; SI-NEXT: s_waitcnt expcnt(0)4536; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:724537; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:684538; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill4539; SI-NEXT: s_waitcnt vmcnt(2)4540; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v184541; SI-NEXT: s_waitcnt vmcnt(1)4542; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill4543; SI-NEXT: s_waitcnt expcnt(0)4544; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:644545; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:604546; SI-NEXT: s_waitcnt vmcnt(1)4547; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v204548; SI-NEXT: s_waitcnt vmcnt(0)4549; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill4550; SI-NEXT: s_waitcnt expcnt(0)4551; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:564552; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:524553; SI-NEXT: s_waitcnt vmcnt(1)4554; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v224555; SI-NEXT: s_waitcnt vmcnt(0)4556; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill4557; SI-NEXT: s_waitcnt expcnt(0)4558; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:444559; SI-NEXT: s_waitcnt vmcnt(0)4560; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill4561; SI-NEXT: s_waitcnt expcnt(0)4562; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:364563; SI-NEXT: s_waitcnt vmcnt(0)4564; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill4565; SI-NEXT: s_waitcnt expcnt(0)4566; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:284567; SI-NEXT: s_waitcnt vmcnt(0)4568; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill4569; SI-NEXT: s_waitcnt expcnt(0)4570; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:204571; SI-NEXT: s_waitcnt vmcnt(0)4572; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill4573; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr314574; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc4575; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]4576; SI-NEXT: s_cbranch_execz .LBB14_24577; SI-NEXT: ; %bb.1: ; %cmp.false4578; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload4579; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload4580; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload4581; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload4582; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload4583; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload4584; SI-NEXT: s_waitcnt expcnt(0)4585; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload4586; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload4587; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload4588; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload4589; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload4590; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload4591; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload4592; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload4593; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload4594; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload4595; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload4596; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload4597; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload4598; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload4599; SI-NEXT: v_and_b32_e32 v0, 0xffff, v554600; SI-NEXT: v_and_b32_e32 v1, 0xffff, v544601; SI-NEXT: v_and_b32_e32 v2, 0xffff, v534602; SI-NEXT: v_and_b32_e32 v3, 0xffff, v524603; SI-NEXT: v_and_b32_e32 v4, 0xffff, v514604; SI-NEXT: v_and_b32_e32 v5, 0xffff, v504605; SI-NEXT: v_and_b32_e32 v6, 0xffff, v494606; SI-NEXT: v_or_b32_e32 v0, v0, v584607; SI-NEXT: v_or_b32_e32 v1, v1, v484608; SI-NEXT: v_or_b32_e32 v2, v2, v394609; SI-NEXT: v_or_b32_e32 v3, v3, v574610; SI-NEXT: v_or_b32_e32 v4, v4, v384611; SI-NEXT: v_or_b32_e32 v5, v5, v564612; SI-NEXT: v_or_b32_e32 v6, v6, v474613; SI-NEXT: ; implicit-def: $vgpr554614; SI-NEXT: ; implicit-def: $vgpr544615; SI-NEXT: ; implicit-def: $vgpr534616; SI-NEXT: ; implicit-def: $vgpr524617; SI-NEXT: ; implicit-def: $vgpr514618; SI-NEXT: ; implicit-def: $vgpr504619; SI-NEXT: ; implicit-def: $vgpr494620; SI-NEXT: ; implicit-def: $vgpr584621; SI-NEXT: ; implicit-def: $vgpr484622; SI-NEXT: ; implicit-def: $vgpr394623; SI-NEXT: ; implicit-def: $vgpr574624; SI-NEXT: ; implicit-def: $vgpr384625; SI-NEXT: ; implicit-def: $vgpr564626; SI-NEXT: ; implicit-def: $vgpr474627; SI-NEXT: s_waitcnt vmcnt(14)4628; SI-NEXT: v_and_b32_e32 v12, 0xffff, v124629; SI-NEXT: v_and_b32_e32 v13, 0xffff, v134630; SI-NEXT: v_and_b32_e32 v14, 0xffff, v144631; SI-NEXT: v_and_b32_e32 v15, 0xffff, v154632; SI-NEXT: v_and_b32_e32 v22, 0xffff, v224633; SI-NEXT: v_and_b32_e32 v23, 0xffff, v234634; SI-NEXT: s_waitcnt vmcnt(13)4635; SI-NEXT: v_and_b32_e32 v24, 0xffff, v244636; SI-NEXT: s_waitcnt vmcnt(12)4637; SI-NEXT: v_and_b32_e32 v25, 0xffff, v254638; SI-NEXT: s_waitcnt vmcnt(11)4639; SI-NEXT: v_and_b32_e32 v7, 0xffff, v74640; SI-NEXT: s_waitcnt vmcnt(10)4641; SI-NEXT: v_or_b32_e32 v25, v25, v264642; SI-NEXT: ; implicit-def: $vgpr264643; SI-NEXT: ; kill: killed $vgpr264644; SI-NEXT: ; implicit-def: $vgpr264645; SI-NEXT: ; kill: killed $vgpr264646; SI-NEXT: ; implicit-def: $vgpr264647; SI-NEXT: ; kill: killed $vgpr264648; SI-NEXT: ; implicit-def: $vgpr264649; SI-NEXT: ; kill: killed $vgpr264650; SI-NEXT: ; implicit-def: $vgpr264651; SI-NEXT: ; kill: killed $vgpr264652; SI-NEXT: ; implicit-def: $vgpr264653; SI-NEXT: ; kill: killed $vgpr264654; SI-NEXT: ; implicit-def: $vgpr264655; SI-NEXT: ; kill: killed $vgpr264656; SI-NEXT: ; implicit-def: $vgpr264657; SI-NEXT: ; kill: killed $vgpr264658; SI-NEXT: ; implicit-def: $vgpr264659; SI-NEXT: ; kill: killed $vgpr264660; SI-NEXT: ; implicit-def: $vgpr264661; SI-NEXT: ; kill: killed $vgpr264662; SI-NEXT: ; implicit-def: $vgpr264663; SI-NEXT: ; kill: killed $vgpr264664; SI-NEXT: ; implicit-def: $vgpr264665; SI-NEXT: ; kill: killed $vgpr264666; SI-NEXT: ; implicit-def: $vgpr264667; SI-NEXT: ; kill: killed $vgpr264668; SI-NEXT: ; implicit-def: $vgpr264669; SI-NEXT: ; kill: killed $vgpr264670; SI-NEXT: ; implicit-def: $vgpr264671; SI-NEXT: ; kill: killed $vgpr264672; SI-NEXT: ; implicit-def: $vgpr264673; SI-NEXT: ; kill: killed $vgpr264674; SI-NEXT: ; implicit-def: $vgpr264675; SI-NEXT: ; kill: killed $vgpr264676; SI-NEXT: ; implicit-def: $vgpr264677; SI-NEXT: s_waitcnt vmcnt(9)4678; SI-NEXT: v_and_b32_e32 v8, 0xffff, v84679; SI-NEXT: s_waitcnt vmcnt(7)4680; SI-NEXT: v_and_b32_e32 v9, 0xffff, v94681; SI-NEXT: s_waitcnt vmcnt(6)4682; SI-NEXT: v_and_b32_e32 v10, 0xffff, v104683; SI-NEXT: s_waitcnt vmcnt(5)4684; SI-NEXT: v_and_b32_e32 v11, 0xffff, v114685; SI-NEXT: s_waitcnt vmcnt(4)4686; SI-NEXT: v_and_b32_e32 v16, 0xffff, v164687; SI-NEXT: s_waitcnt vmcnt(2)4688; SI-NEXT: v_and_b32_e32 v17, 0xffff, v174689; SI-NEXT: v_and_b32_e32 v18, 0xffff, v184690; SI-NEXT: v_and_b32_e32 v19, 0xffff, v194691; SI-NEXT: s_waitcnt vmcnt(1)4692; SI-NEXT: v_and_b32_e32 v20, 0xffff, v204693; SI-NEXT: s_waitcnt vmcnt(0)4694; SI-NEXT: v_and_b32_e32 v21, 0xffff, v214695; SI-NEXT: ; kill: killed $vgpr264696; SI-NEXT: ; implicit-def: $vgpr264697; SI-NEXT: v_or_b32_e32 v7, v7, v374698; SI-NEXT: v_or_b32_e32 v8, v8, v464699; SI-NEXT: v_or_b32_e32 v9, v9, v454700; SI-NEXT: v_or_b32_e32 v10, v10, v364701; SI-NEXT: v_or_b32_e32 v11, v11, v444702; SI-NEXT: v_or_b32_e32 v12, v12, v434703; SI-NEXT: v_or_b32_e32 v13, v13, v354704; SI-NEXT: v_or_b32_e32 v14, v14, v424705; SI-NEXT: v_or_b32_e32 v15, v15, v344706; SI-NEXT: v_or_b32_e32 v16, v16, v414707; SI-NEXT: v_or_b32_e32 v17, v17, v334708; SI-NEXT: v_or_b32_e32 v18, v18, v404709; SI-NEXT: v_or_b32_e32 v19, v19, v324710; SI-NEXT: v_or_b32_e32 v20, v20, v634711; SI-NEXT: v_or_b32_e32 v21, v21, v624712; SI-NEXT: v_or_b32_e32 v22, v22, v614713; SI-NEXT: v_or_b32_e32 v23, v23, v604714; SI-NEXT: v_or_b32_e32 v24, v24, v594715; SI-NEXT: ; kill: killed $vgpr264716; SI-NEXT: ; implicit-def: $vgpr374717; SI-NEXT: ; implicit-def: $vgpr464718; SI-NEXT: ; implicit-def: $vgpr454719; SI-NEXT: ; implicit-def: $vgpr364720; SI-NEXT: ; implicit-def: $vgpr444721; SI-NEXT: ; implicit-def: $vgpr434722; SI-NEXT: ; implicit-def: $vgpr354723; SI-NEXT: ; implicit-def: $vgpr424724; SI-NEXT: ; implicit-def: $vgpr344725; SI-NEXT: ; implicit-def: $vgpr414726; SI-NEXT: ; implicit-def: $vgpr334727; SI-NEXT: ; implicit-def: $vgpr404728; SI-NEXT: ; implicit-def: $vgpr324729; SI-NEXT: ; implicit-def: $vgpr634730; SI-NEXT: ; implicit-def: $vgpr624731; SI-NEXT: ; implicit-def: $vgpr614732; SI-NEXT: ; implicit-def: $vgpr604733; SI-NEXT: ; implicit-def: $vgpr594734; SI-NEXT: ; implicit-def: $vgpr264735; SI-NEXT: ; kill: killed $vgpr264736; SI-NEXT: .LBB14_2: ; %Flow4737; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]4738; SI-NEXT: s_cbranch_execz .LBB14_44739; SI-NEXT: ; %bb.3: ; %cmp.true4740; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload4741; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload4742; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload4743; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload4744; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload4745; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload4746; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload4747; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload4748; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload4749; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload4750; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload4751; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload4752; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload4753; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload4754; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload4755; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload4756; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload4757; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload4758; SI-NEXT: s_waitcnt expcnt(0)4759; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload4760; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload4761; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v554762; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v544763; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v534764; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v524765; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v514766; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v504767; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v494768; SI-NEXT: v_and_b32_e32 v0, 0xffff, v04769; SI-NEXT: v_and_b32_e32 v1, 0xffff, v14770; SI-NEXT: v_and_b32_e32 v2, 0xffff, v24771; SI-NEXT: v_and_b32_e32 v3, 0xffff, v34772; SI-NEXT: v_and_b32_e32 v4, 0xffff, v44773; SI-NEXT: v_and_b32_e32 v5, 0xffff, v54774; SI-NEXT: v_and_b32_e32 v6, 0xffff, v64775; SI-NEXT: v_or_b32_e32 v0, v58, v04776; SI-NEXT: s_mov_b32 s6, 0x300004777; SI-NEXT: v_or_b32_e32 v1, v48, v14778; SI-NEXT: v_or_b32_e32 v2, v39, v24779; SI-NEXT: v_or_b32_e32 v3, v57, v34780; SI-NEXT: v_or_b32_e32 v4, v38, v44781; SI-NEXT: v_or_b32_e32 v5, v56, v54782; SI-NEXT: v_or_b32_e32 v6, v47, v64783; SI-NEXT: v_add_i32_e32 v0, vcc, 0x30000, v04784; SI-NEXT: v_add_i32_e32 v1, vcc, s6, v14785; SI-NEXT: v_add_i32_e32 v2, vcc, s6, v24786; SI-NEXT: v_add_i32_e32 v3, vcc, s6, v34787; SI-NEXT: v_add_i32_e32 v4, vcc, s6, v44788; SI-NEXT: v_add_i32_e32 v5, vcc, s6, v54789; SI-NEXT: v_add_i32_e32 v6, vcc, s6, v64790; SI-NEXT: s_waitcnt vmcnt(14)4791; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v74792; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v84793; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v94794; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v104795; SI-NEXT: s_waitcnt vmcnt(13)4796; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v114797; SI-NEXT: s_waitcnt vmcnt(12)4798; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v164799; SI-NEXT: s_waitcnt vmcnt(7)4800; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v124801; SI-NEXT: s_waitcnt vmcnt(6)4802; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v134803; SI-NEXT: s_waitcnt vmcnt(5)4804; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v144805; SI-NEXT: s_waitcnt vmcnt(4)4806; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v154807; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v174808; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v184809; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v194810; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v204811; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v214812; SI-NEXT: s_waitcnt vmcnt(3)4813; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v224814; SI-NEXT: s_waitcnt vmcnt(2)4815; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v234816; SI-NEXT: s_waitcnt vmcnt(1)4817; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v244818; SI-NEXT: s_waitcnt vmcnt(0)4819; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v254820; SI-NEXT: v_and_b32_e32 v7, 0xffff, v74821; SI-NEXT: v_and_b32_e32 v8, 0xffff, v84822; SI-NEXT: v_and_b32_e32 v9, 0xffff, v94823; SI-NEXT: v_and_b32_e32 v10, 0xffff, v104824; SI-NEXT: v_and_b32_e32 v11, 0xffff, v114825; SI-NEXT: v_and_b32_e32 v12, 0xffff, v124826; SI-NEXT: v_and_b32_e32 v13, 0xffff, v134827; SI-NEXT: v_and_b32_e32 v14, 0xffff, v144828; SI-NEXT: v_and_b32_e32 v15, 0xffff, v154829; SI-NEXT: v_and_b32_e32 v16, 0xffff, v164830; SI-NEXT: v_and_b32_e32 v17, 0xffff, v174831; SI-NEXT: v_and_b32_e32 v18, 0xffff, v184832; SI-NEXT: v_and_b32_e32 v19, 0xffff, v194833; SI-NEXT: v_and_b32_e32 v20, 0xffff, v204834; SI-NEXT: v_and_b32_e32 v21, 0xffff, v214835; SI-NEXT: v_and_b32_e32 v22, 0xffff, v224836; SI-NEXT: v_and_b32_e32 v23, 0xffff, v234837; SI-NEXT: v_and_b32_e32 v24, 0xffff, v244838; SI-NEXT: v_and_b32_e32 v25, 0xffff, v254839; SI-NEXT: v_or_b32_e32 v7, v37, v74840; SI-NEXT: v_or_b32_e32 v8, v46, v84841; SI-NEXT: v_or_b32_e32 v9, v45, v94842; SI-NEXT: v_or_b32_e32 v10, v36, v104843; SI-NEXT: v_or_b32_e32 v11, v44, v114844; SI-NEXT: v_or_b32_e32 v12, v43, v124845; SI-NEXT: v_or_b32_e32 v13, v35, v134846; SI-NEXT: v_or_b32_e32 v14, v42, v144847; SI-NEXT: v_or_b32_e32 v15, v34, v154848; SI-NEXT: v_or_b32_e32 v16, v41, v164849; SI-NEXT: v_or_b32_e32 v17, v33, v174850; SI-NEXT: v_or_b32_e32 v18, v40, v184851; SI-NEXT: v_or_b32_e32 v19, v32, v194852; SI-NEXT: v_or_b32_e32 v20, v63, v204853; SI-NEXT: v_or_b32_e32 v21, v62, v214854; SI-NEXT: v_or_b32_e32 v22, v61, v224855; SI-NEXT: v_or_b32_e32 v23, v60, v234856; SI-NEXT: v_or_b32_e32 v24, v59, v244857; SI-NEXT: v_or_b32_e32 v25, v26, v254858; SI-NEXT: v_add_i32_e32 v7, vcc, s6, v74859; SI-NEXT: v_add_i32_e32 v8, vcc, s6, v84860; SI-NEXT: v_add_i32_e32 v9, vcc, s6, v94861; SI-NEXT: v_add_i32_e32 v10, vcc, s6, v104862; SI-NEXT: v_add_i32_e32 v11, vcc, s6, v114863; SI-NEXT: v_add_i32_e32 v12, vcc, s6, v124864; SI-NEXT: v_add_i32_e32 v13, vcc, s6, v134865; SI-NEXT: v_add_i32_e32 v14, vcc, s6, v144866; SI-NEXT: v_add_i32_e32 v15, vcc, s6, v154867; SI-NEXT: v_add_i32_e32 v16, vcc, s6, v164868; SI-NEXT: v_add_i32_e32 v17, vcc, s6, v174869; SI-NEXT: v_add_i32_e32 v18, vcc, s6, v184870; SI-NEXT: v_add_i32_e32 v19, vcc, s6, v194871; SI-NEXT: v_add_i32_e32 v20, vcc, s6, v204872; SI-NEXT: v_add_i32_e32 v21, vcc, s6, v214873; SI-NEXT: v_add_i32_e32 v22, vcc, s6, v224874; SI-NEXT: v_add_i32_e32 v23, vcc, s6, v234875; SI-NEXT: v_add_i32_e32 v24, vcc, 0x30000, v244876; SI-NEXT: v_add_i32_e32 v25, vcc, 0x30000, v254877; SI-NEXT: .LBB14_4: ; %end4878; SI-NEXT: s_or_b64 exec, exec, s[4:5]4879; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload4880; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload4881; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload4882; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload4883; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload4884; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload4885; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload4886; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload4887; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload4888; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload4889; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload4890; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload4891; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload4892; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload4893; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload4894; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload4895; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)4896; SI-NEXT: s_setpc_b64 s[30:31]4897;4898; VI-LABEL: bitcast_v52i16_to_v26i32:4899; VI: ; %bb.0:4900; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4901; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill4902; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill4903; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill4904; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill4905; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill4906; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill4907; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill4908; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill4909; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill4910; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 ; 4-byte Folded Spill4911; VI-NEXT: v_mov_b32_e32 v32, v254912; VI-NEXT: v_mov_b32_e32 v33, v244913; VI-NEXT: v_mov_b32_e32 v34, v234914; VI-NEXT: v_mov_b32_e32 v35, v224915; VI-NEXT: v_mov_b32_e32 v36, v214916; VI-NEXT: v_mov_b32_e32 v37, v204917; VI-NEXT: v_mov_b32_e32 v38, v194918; VI-NEXT: v_mov_b32_e32 v39, v184919; VI-NEXT: v_mov_b32_e32 v48, v174920; VI-NEXT: v_mov_b32_e32 v49, v164921; VI-NEXT: v_mov_b32_e32 v50, v154922; VI-NEXT: v_mov_b32_e32 v51, v144923; VI-NEXT: v_mov_b32_e32 v52, v134924; VI-NEXT: v_mov_b32_e32 v53, v124925; VI-NEXT: v_mov_b32_e32 v54, v114926; VI-NEXT: v_mov_b32_e32 v55, v104927; VI-NEXT: v_mov_b32_e32 v40, v94928; VI-NEXT: v_mov_b32_e32 v41, v84929; VI-NEXT: v_mov_b32_e32 v42, v74930; VI-NEXT: v_mov_b32_e32 v43, v64931; VI-NEXT: v_mov_b32_e32 v44, v54932; VI-NEXT: v_mov_b32_e32 v45, v44933; VI-NEXT: v_mov_b32_e32 v46, v34934; VI-NEXT: v_mov_b32_e32 v47, v24935; VI-NEXT: v_mov_b32_e32 v56, v14936; VI-NEXT: v_mov_b32_e32 v57, v04937; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v264938; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr314939; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc4940; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]4941; VI-NEXT: s_cbranch_execz .LBB14_24942; VI-NEXT: ; %bb.1: ; %cmp.false4943; VI-NEXT: v_mov_b32_e32 v25, 164944; VI-NEXT: v_lshlrev_b32_sdwa v0, v25, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14945; VI-NEXT: v_lshlrev_b32_sdwa v1, v25, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14946; VI-NEXT: v_lshlrev_b32_sdwa v2, v25, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14947; VI-NEXT: v_lshlrev_b32_sdwa v3, v25, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14948; VI-NEXT: v_lshlrev_b32_sdwa v4, v25, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14949; VI-NEXT: v_lshlrev_b32_sdwa v5, v25, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14950; VI-NEXT: v_lshlrev_b32_sdwa v6, v25, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14951; VI-NEXT: v_lshlrev_b32_sdwa v7, v25, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14952; VI-NEXT: v_lshlrev_b32_sdwa v8, v25, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14953; VI-NEXT: v_lshlrev_b32_sdwa v9, v25, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14954; VI-NEXT: v_lshlrev_b32_sdwa v10, v25, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14955; VI-NEXT: v_lshlrev_b32_sdwa v11, v25, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14956; VI-NEXT: v_lshlrev_b32_sdwa v12, v25, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14957; VI-NEXT: v_lshlrev_b32_sdwa v13, v25, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14958; VI-NEXT: v_lshlrev_b32_sdwa v14, v25, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14959; VI-NEXT: v_lshlrev_b32_sdwa v15, v25, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14960; VI-NEXT: v_lshlrev_b32_sdwa v16, v25, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14961; VI-NEXT: v_lshlrev_b32_sdwa v17, v25, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14962; VI-NEXT: v_lshlrev_b32_sdwa v18, v25, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14963; VI-NEXT: v_lshlrev_b32_sdwa v19, v25, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14964; VI-NEXT: v_lshlrev_b32_sdwa v20, v25, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14965; VI-NEXT: v_lshlrev_b32_sdwa v21, v25, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14966; VI-NEXT: v_lshlrev_b32_sdwa v22, v25, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14967; VI-NEXT: v_lshlrev_b32_sdwa v23, v25, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14968; VI-NEXT: v_lshlrev_b32_sdwa v24, v25, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14969; VI-NEXT: v_lshlrev_b32_sdwa v25, v25, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_14970; VI-NEXT: v_or_b32_sdwa v0, v57, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4971; VI-NEXT: v_or_b32_sdwa v1, v56, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4972; VI-NEXT: v_or_b32_sdwa v2, v47, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4973; VI-NEXT: v_or_b32_sdwa v3, v46, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4974; VI-NEXT: v_or_b32_sdwa v4, v45, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4975; VI-NEXT: v_or_b32_sdwa v5, v44, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4976; VI-NEXT: v_or_b32_sdwa v6, v43, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4977; VI-NEXT: v_or_b32_sdwa v7, v42, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4978; VI-NEXT: v_or_b32_sdwa v8, v41, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4979; VI-NEXT: v_or_b32_sdwa v9, v40, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4980; VI-NEXT: v_or_b32_sdwa v10, v55, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4981; VI-NEXT: v_or_b32_sdwa v11, v54, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4982; VI-NEXT: v_or_b32_sdwa v12, v53, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4983; VI-NEXT: v_or_b32_sdwa v13, v52, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4984; VI-NEXT: v_or_b32_sdwa v14, v51, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4985; VI-NEXT: v_or_b32_sdwa v15, v50, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4986; VI-NEXT: v_or_b32_sdwa v16, v49, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4987; VI-NEXT: v_or_b32_sdwa v17, v48, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4988; VI-NEXT: v_or_b32_sdwa v18, v39, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4989; VI-NEXT: v_or_b32_sdwa v19, v38, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4990; VI-NEXT: v_or_b32_sdwa v20, v37, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4991; VI-NEXT: v_or_b32_sdwa v21, v36, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4992; VI-NEXT: v_or_b32_sdwa v22, v35, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4993; VI-NEXT: v_or_b32_sdwa v23, v34, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4994; VI-NEXT: v_or_b32_sdwa v24, v33, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4995; VI-NEXT: v_or_b32_sdwa v25, v32, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD4996; VI-NEXT: ; implicit-def: $vgpr574997; VI-NEXT: ; implicit-def: $vgpr564998; VI-NEXT: ; implicit-def: $vgpr474999; VI-NEXT: ; implicit-def: $vgpr465000; VI-NEXT: ; implicit-def: $vgpr455001; VI-NEXT: ; implicit-def: $vgpr445002; VI-NEXT: ; implicit-def: $vgpr435003; VI-NEXT: ; implicit-def: $vgpr425004; VI-NEXT: ; implicit-def: $vgpr415005; VI-NEXT: ; implicit-def: $vgpr405006; VI-NEXT: ; implicit-def: $vgpr555007; VI-NEXT: ; implicit-def: $vgpr545008; VI-NEXT: ; implicit-def: $vgpr535009; VI-NEXT: ; implicit-def: $vgpr525010; VI-NEXT: ; implicit-def: $vgpr515011; VI-NEXT: ; implicit-def: $vgpr505012; VI-NEXT: ; implicit-def: $vgpr495013; VI-NEXT: ; implicit-def: $vgpr485014; VI-NEXT: ; implicit-def: $vgpr395015; VI-NEXT: ; implicit-def: $vgpr385016; VI-NEXT: ; implicit-def: $vgpr375017; VI-NEXT: ; implicit-def: $vgpr365018; VI-NEXT: ; implicit-def: $vgpr355019; VI-NEXT: ; implicit-def: $vgpr345020; VI-NEXT: ; implicit-def: $vgpr335021; VI-NEXT: ; implicit-def: $vgpr325022; VI-NEXT: .LBB14_2: ; %Flow5023; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]5024; VI-NEXT: s_cbranch_execz .LBB14_45025; VI-NEXT: ; %bb.3: ; %cmp.true5026; VI-NEXT: v_mov_b32_e32 v25, 35027; VI-NEXT: v_add_u16_e32 v0, 3, v575028; VI-NEXT: v_add_u16_sdwa v1, v57, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5029; VI-NEXT: v_or_b32_e32 v0, v0, v15030; VI-NEXT: v_add_u16_e32 v1, 3, v565031; VI-NEXT: v_add_u16_sdwa v2, v56, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5032; VI-NEXT: v_or_b32_e32 v1, v1, v25033; VI-NEXT: v_add_u16_e32 v2, 3, v475034; VI-NEXT: v_add_u16_sdwa v3, v47, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5035; VI-NEXT: v_or_b32_e32 v2, v2, v35036; VI-NEXT: v_add_u16_e32 v3, 3, v465037; VI-NEXT: v_add_u16_sdwa v4, v46, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5038; VI-NEXT: v_or_b32_e32 v3, v3, v45039; VI-NEXT: v_add_u16_e32 v4, 3, v455040; VI-NEXT: v_add_u16_sdwa v5, v45, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5041; VI-NEXT: v_or_b32_e32 v4, v4, v55042; VI-NEXT: v_add_u16_e32 v5, 3, v445043; VI-NEXT: v_add_u16_sdwa v6, v44, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5044; VI-NEXT: v_or_b32_e32 v5, v5, v65045; VI-NEXT: v_add_u16_e32 v6, 3, v435046; VI-NEXT: v_add_u16_sdwa v7, v43, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5047; VI-NEXT: v_or_b32_e32 v6, v6, v75048; VI-NEXT: v_add_u16_e32 v7, 3, v425049; VI-NEXT: v_add_u16_sdwa v8, v42, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5050; VI-NEXT: v_or_b32_e32 v7, v7, v85051; VI-NEXT: v_add_u16_e32 v8, 3, v415052; VI-NEXT: v_add_u16_sdwa v9, v41, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5053; VI-NEXT: v_or_b32_e32 v8, v8, v95054; VI-NEXT: v_add_u16_e32 v9, 3, v405055; VI-NEXT: v_add_u16_sdwa v10, v40, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5056; VI-NEXT: v_or_b32_e32 v9, v9, v105057; VI-NEXT: v_add_u16_e32 v10, 3, v555058; VI-NEXT: v_add_u16_sdwa v11, v55, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5059; VI-NEXT: v_or_b32_e32 v10, v10, v115060; VI-NEXT: v_add_u16_e32 v11, 3, v545061; VI-NEXT: v_add_u16_sdwa v12, v54, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5062; VI-NEXT: v_or_b32_e32 v11, v11, v125063; VI-NEXT: v_add_u16_e32 v12, 3, v535064; VI-NEXT: v_add_u16_sdwa v13, v53, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5065; VI-NEXT: v_or_b32_e32 v12, v12, v135066; VI-NEXT: v_add_u16_e32 v13, 3, v525067; VI-NEXT: v_add_u16_sdwa v14, v52, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5068; VI-NEXT: v_or_b32_e32 v13, v13, v145069; VI-NEXT: v_add_u16_e32 v14, 3, v515070; VI-NEXT: v_add_u16_sdwa v15, v51, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5071; VI-NEXT: v_or_b32_e32 v14, v14, v155072; VI-NEXT: v_add_u16_e32 v15, 3, v505073; VI-NEXT: v_add_u16_sdwa v16, v50, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5074; VI-NEXT: v_or_b32_e32 v15, v15, v165075; VI-NEXT: v_add_u16_e32 v16, 3, v495076; VI-NEXT: v_add_u16_sdwa v17, v49, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5077; VI-NEXT: v_or_b32_e32 v16, v16, v175078; VI-NEXT: v_add_u16_e32 v17, 3, v485079; VI-NEXT: v_add_u16_sdwa v18, v48, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5080; VI-NEXT: v_or_b32_e32 v17, v17, v185081; VI-NEXT: v_add_u16_e32 v18, 3, v395082; VI-NEXT: v_add_u16_sdwa v19, v39, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5083; VI-NEXT: v_or_b32_e32 v18, v18, v195084; VI-NEXT: v_add_u16_e32 v19, 3, v385085; VI-NEXT: v_add_u16_sdwa v20, v38, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5086; VI-NEXT: v_or_b32_e32 v19, v19, v205087; VI-NEXT: v_add_u16_e32 v20, 3, v375088; VI-NEXT: v_add_u16_sdwa v21, v37, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5089; VI-NEXT: v_or_b32_e32 v20, v20, v215090; VI-NEXT: v_add_u16_e32 v21, 3, v365091; VI-NEXT: v_add_u16_sdwa v22, v36, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5092; VI-NEXT: v_or_b32_e32 v21, v21, v225093; VI-NEXT: v_add_u16_e32 v22, 3, v355094; VI-NEXT: v_add_u16_sdwa v23, v35, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5095; VI-NEXT: v_or_b32_e32 v22, v22, v235096; VI-NEXT: v_add_u16_e32 v23, 3, v345097; VI-NEXT: v_add_u16_sdwa v24, v34, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5098; VI-NEXT: v_or_b32_e32 v23, v23, v245099; VI-NEXT: v_add_u16_e32 v24, 3, v335100; VI-NEXT: v_add_u16_sdwa v26, v33, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5101; VI-NEXT: v_or_b32_e32 v24, v24, v265102; VI-NEXT: v_add_u16_e32 v26, 3, v325103; VI-NEXT: v_add_u16_sdwa v25, v32, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5104; VI-NEXT: v_or_b32_e32 v25, v26, v255105; VI-NEXT: .LBB14_4: ; %end5106; VI-NEXT: s_or_b64 exec, exec, s[4:5]5107; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 ; 4-byte Folded Reload5108; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload5109; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload5110; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload5111; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload5112; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload5113; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload5114; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload5115; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload5116; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload5117; VI-NEXT: s_waitcnt vmcnt(0)5118; VI-NEXT: s_setpc_b64 s[30:31]5119;5120; GFX9-LABEL: bitcast_v52i16_to_v26i32:5121; GFX9: ; %bb.0:5122; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5123; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill5124; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill5125; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill5126; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill5127; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill5128; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill5129; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill5130; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill5131; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill5132; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill5133; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill5134; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill5135; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill5136; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill5137; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill5138; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill5139; GFX9-NEXT: v_mov_b32_e32 v57, v05140; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v255141; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill5142; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill5143; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v245144; GFX9-NEXT: v_mov_b32_e32 v35, v225145; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill5146; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill5147; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v235148; GFX9-NEXT: v_mov_b32_e32 v36, v215149; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill5150; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v355151; GFX9-NEXT: v_mov_b32_e32 v37, v205152; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill5153; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v365154; GFX9-NEXT: v_mov_b32_e32 v38, v195155; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill5156; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v375157; GFX9-NEXT: v_mov_b32_e32 v39, v185158; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill5159; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v385160; GFX9-NEXT: v_mov_b32_e32 v48, v175161; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill5162; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v395163; GFX9-NEXT: v_mov_b32_e32 v49, v165164; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill5165; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v485166; GFX9-NEXT: v_mov_b32_e32 v50, v155167; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill5168; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v495169; GFX9-NEXT: v_mov_b32_e32 v51, v145170; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill5171; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v505172; GFX9-NEXT: v_mov_b32_e32 v52, v135173; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill5174; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v515175; GFX9-NEXT: v_mov_b32_e32 v53, v125176; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill5177; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v525178; GFX9-NEXT: v_mov_b32_e32 v54, v115179; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill5180; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v535181; GFX9-NEXT: v_mov_b32_e32 v55, v105182; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill5183; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v545184; GFX9-NEXT: v_mov_b32_e32 v40, v95185; GFX9-NEXT: v_mov_b32_e32 v41, v85186; GFX9-NEXT: v_mov_b32_e32 v42, v75187; GFX9-NEXT: v_mov_b32_e32 v43, v65188; GFX9-NEXT: v_mov_b32_e32 v44, v55189; GFX9-NEXT: v_mov_b32_e32 v45, v45190; GFX9-NEXT: v_mov_b32_e32 v46, v35191; GFX9-NEXT: v_mov_b32_e32 v47, v25192; GFX9-NEXT: v_mov_b32_e32 v56, v15193; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill5194; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v555195; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill5196; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v405197; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v415198; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v425199; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v435200; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v445201; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v455202; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v465203; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v475204; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v565205; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v575206; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v265207; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill5208; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill5209; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr315210; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc5211; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]5212; GFX9-NEXT: s_cbranch_execz .LBB14_25213; GFX9-NEXT: ; %bb.1: ; %cmp.false5214; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload5215; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload5216; GFX9-NEXT: s_mov_b32 s6, 0x50401005217; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v405218; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v555219; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v545220; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v535221; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v525222; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v515223; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v505224; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v495225; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v485226; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v395227; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v385228; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v375229; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v365230; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v355231; GFX9-NEXT: v_perm_b32 v0, v34, v57, s65232; GFX9-NEXT: v_perm_b32 v1, v62, v56, s65233; GFX9-NEXT: v_perm_b32 v2, v33, v47, s65234; GFX9-NEXT: v_perm_b32 v3, v32, v46, s65235; GFX9-NEXT: v_perm_b32 v4, v61, v45, s65236; GFX9-NEXT: v_perm_b32 v5, v60, v44, s65237; GFX9-NEXT: v_perm_b32 v6, v59, v43, s65238; GFX9-NEXT: v_perm_b32 v7, v58, v42, s65239; GFX9-NEXT: v_perm_b32 v8, v63, v41, s65240; GFX9-NEXT: v_perm_b32 v9, v9, v40, s65241; GFX9-NEXT: v_perm_b32 v10, v10, v55, s65242; GFX9-NEXT: v_perm_b32 v11, v11, v54, s65243; GFX9-NEXT: v_perm_b32 v12, v12, v53, s65244; GFX9-NEXT: v_perm_b32 v13, v13, v52, s65245; GFX9-NEXT: v_perm_b32 v14, v14, v51, s65246; GFX9-NEXT: v_perm_b32 v15, v15, v50, s65247; GFX9-NEXT: v_perm_b32 v16, v16, v49, s65248; GFX9-NEXT: v_perm_b32 v17, v17, v48, s65249; GFX9-NEXT: v_perm_b32 v18, v18, v39, s65250; GFX9-NEXT: v_perm_b32 v19, v19, v38, s65251; GFX9-NEXT: v_perm_b32 v20, v20, v37, s65252; GFX9-NEXT: v_perm_b32 v21, v21, v36, s65253; GFX9-NEXT: v_perm_b32 v22, v22, v35, s65254; GFX9-NEXT: ; implicit-def: $vgpr575255; GFX9-NEXT: ; implicit-def: $vgpr565256; GFX9-NEXT: ; implicit-def: $vgpr475257; GFX9-NEXT: ; implicit-def: $vgpr465258; GFX9-NEXT: ; implicit-def: $vgpr455259; GFX9-NEXT: ; implicit-def: $vgpr445260; GFX9-NEXT: ; implicit-def: $vgpr435261; GFX9-NEXT: ; implicit-def: $vgpr425262; GFX9-NEXT: ; implicit-def: $vgpr415263; GFX9-NEXT: ; implicit-def: $vgpr405264; GFX9-NEXT: ; implicit-def: $vgpr555265; GFX9-NEXT: ; implicit-def: $vgpr545266; GFX9-NEXT: ; implicit-def: $vgpr535267; GFX9-NEXT: ; implicit-def: $vgpr525268; GFX9-NEXT: ; implicit-def: $vgpr515269; GFX9-NEXT: ; implicit-def: $vgpr505270; GFX9-NEXT: ; implicit-def: $vgpr495271; GFX9-NEXT: ; implicit-def: $vgpr485272; GFX9-NEXT: ; implicit-def: $vgpr395273; GFX9-NEXT: ; implicit-def: $vgpr385274; GFX9-NEXT: ; implicit-def: $vgpr375275; GFX9-NEXT: ; implicit-def: $vgpr365276; GFX9-NEXT: ; implicit-def: $vgpr355277; GFX9-NEXT: ; implicit-def: $vgpr635278; GFX9-NEXT: ; implicit-def: $vgpr585279; GFX9-NEXT: ; implicit-def: $vgpr595280; GFX9-NEXT: ; implicit-def: $vgpr605281; GFX9-NEXT: ; implicit-def: $vgpr615282; GFX9-NEXT: ; implicit-def: $vgpr325283; GFX9-NEXT: ; implicit-def: $vgpr335284; GFX9-NEXT: ; implicit-def: $vgpr625285; GFX9-NEXT: ; implicit-def: $vgpr345286; GFX9-NEXT: s_waitcnt vmcnt(0)5287; GFX9-NEXT: v_perm_b32 v23, v24, v23, s65288; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload5289; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload5290; GFX9-NEXT: s_waitcnt vmcnt(0)5291; GFX9-NEXT: v_perm_b32 v24, v25, v24, s65292; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload5293; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload5294; GFX9-NEXT: s_waitcnt vmcnt(0)5295; GFX9-NEXT: v_perm_b32 v25, v26, v25, s65296; GFX9-NEXT: ; implicit-def: $vgpr265297; GFX9-NEXT: ; kill: killed $vgpr265298; GFX9-NEXT: ; implicit-def: $vgpr265299; GFX9-NEXT: ; kill: killed $vgpr265300; GFX9-NEXT: ; implicit-def: $vgpr265301; GFX9-NEXT: ; kill: killed $vgpr265302; GFX9-NEXT: ; implicit-def: $vgpr265303; GFX9-NEXT: ; kill: killed $vgpr265304; GFX9-NEXT: ; implicit-def: $vgpr265305; GFX9-NEXT: ; kill: killed $vgpr265306; GFX9-NEXT: ; implicit-def: $vgpr265307; GFX9-NEXT: ; kill: killed $vgpr265308; GFX9-NEXT: ; implicit-def: $vgpr265309; GFX9-NEXT: ; kill: killed $vgpr265310; GFX9-NEXT: ; implicit-def: $vgpr265311; GFX9-NEXT: ; kill: killed $vgpr265312; GFX9-NEXT: ; implicit-def: $vgpr265313; GFX9-NEXT: ; kill: killed $vgpr265314; GFX9-NEXT: ; implicit-def: $vgpr265315; GFX9-NEXT: ; kill: killed $vgpr265316; GFX9-NEXT: ; implicit-def: $vgpr265317; GFX9-NEXT: ; kill: killed $vgpr265318; GFX9-NEXT: ; implicit-def: $vgpr265319; GFX9-NEXT: ; kill: killed $vgpr265320; GFX9-NEXT: ; implicit-def: $vgpr265321; GFX9-NEXT: ; kill: killed $vgpr265322; GFX9-NEXT: ; implicit-def: $vgpr265323; GFX9-NEXT: ; kill: killed $vgpr265324; GFX9-NEXT: ; implicit-def: $vgpr265325; GFX9-NEXT: ; kill: killed $vgpr265326; GFX9-NEXT: ; implicit-def: $vgpr265327; GFX9-NEXT: ; kill: killed $vgpr265328; GFX9-NEXT: ; implicit-def: $vgpr265329; GFX9-NEXT: ; kill: killed $vgpr265330; GFX9-NEXT: ; implicit-def: $vgpr265331; GFX9-NEXT: ; kill: killed $vgpr265332; GFX9-NEXT: ; implicit-def: $vgpr265333; GFX9-NEXT: ; kill: killed $vgpr265334; GFX9-NEXT: ; implicit-def: $vgpr265335; GFX9-NEXT: ; kill: killed $vgpr265336; GFX9-NEXT: .LBB14_2: ; %Flow5337; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]5338; GFX9-NEXT: s_cbranch_execz .LBB14_45339; GFX9-NEXT: ; %bb.3: ; %cmp.true5340; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload5341; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload5342; GFX9-NEXT: s_mov_b32 s6, 0x50401005343; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload5344; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload5345; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload5346; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload5347; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload5348; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload5349; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload5350; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload5351; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload5352; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload5353; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload5354; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload5355; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload5356; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload5357; GFX9-NEXT: v_perm_b32 v0, v34, v57, s65358; GFX9-NEXT: v_perm_b32 v1, v62, v56, s65359; GFX9-NEXT: v_perm_b32 v2, v33, v47, s65360; GFX9-NEXT: v_perm_b32 v3, v32, v46, s65361; GFX9-NEXT: v_perm_b32 v4, v61, v45, s65362; GFX9-NEXT: v_perm_b32 v5, v60, v44, s65363; GFX9-NEXT: v_perm_b32 v6, v59, v43, s65364; GFX9-NEXT: v_perm_b32 v7, v58, v42, s65365; GFX9-NEXT: v_perm_b32 v8, v63, v41, s65366; GFX9-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]5367; GFX9-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]5368; GFX9-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]5369; GFX9-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]5370; GFX9-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]5371; GFX9-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]5372; GFX9-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]5373; GFX9-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]5374; GFX9-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]5375; GFX9-NEXT: s_waitcnt vmcnt(14)5376; GFX9-NEXT: v_perm_b32 v23, v24, v23, s65377; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload5378; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload5379; GFX9-NEXT: s_waitcnt vmcnt(15)5380; GFX9-NEXT: v_perm_b32 v9, v9, v40, s65381; GFX9-NEXT: s_waitcnt vmcnt(14)5382; GFX9-NEXT: v_perm_b32 v10, v10, v55, s65383; GFX9-NEXT: s_waitcnt vmcnt(13)5384; GFX9-NEXT: v_perm_b32 v11, v11, v54, s65385; GFX9-NEXT: s_waitcnt vmcnt(12)5386; GFX9-NEXT: v_perm_b32 v12, v12, v53, s65387; GFX9-NEXT: s_waitcnt vmcnt(11)5388; GFX9-NEXT: v_perm_b32 v13, v13, v52, s65389; GFX9-NEXT: s_waitcnt vmcnt(10)5390; GFX9-NEXT: v_perm_b32 v14, v14, v51, s65391; GFX9-NEXT: s_waitcnt vmcnt(9)5392; GFX9-NEXT: v_perm_b32 v15, v15, v50, s65393; GFX9-NEXT: s_waitcnt vmcnt(8)5394; GFX9-NEXT: v_perm_b32 v16, v16, v49, s65395; GFX9-NEXT: s_waitcnt vmcnt(7)5396; GFX9-NEXT: v_perm_b32 v17, v17, v48, s65397; GFX9-NEXT: s_waitcnt vmcnt(6)5398; GFX9-NEXT: v_perm_b32 v18, v18, v39, s65399; GFX9-NEXT: s_waitcnt vmcnt(5)5400; GFX9-NEXT: v_perm_b32 v19, v19, v38, s65401; GFX9-NEXT: s_waitcnt vmcnt(4)5402; GFX9-NEXT: v_perm_b32 v20, v20, v37, s65403; GFX9-NEXT: s_waitcnt vmcnt(3)5404; GFX9-NEXT: v_perm_b32 v21, v21, v36, s65405; GFX9-NEXT: s_waitcnt vmcnt(2)5406; GFX9-NEXT: v_perm_b32 v22, v22, v35, s65407; GFX9-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]5408; GFX9-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]5409; GFX9-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]5410; GFX9-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]5411; GFX9-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]5412; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]5413; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]5414; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]5415; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]5416; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]5417; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]5418; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]5419; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]5420; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]5421; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]5422; GFX9-NEXT: s_waitcnt vmcnt(0)5423; GFX9-NEXT: v_perm_b32 v24, v25, v24, s65424; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload5425; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload5426; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]5427; GFX9-NEXT: s_waitcnt vmcnt(0)5428; GFX9-NEXT: v_perm_b32 v25, v26, v25, s65429; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]5430; GFX9-NEXT: .LBB14_4: ; %end5431; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]5432; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload5433; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload5434; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload5435; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload5436; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload5437; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload5438; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload5439; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload5440; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload5441; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload5442; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload5443; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload5444; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload5445; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload5446; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload5447; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload5448; GFX9-NEXT: s_waitcnt vmcnt(0)5449; GFX9-NEXT: s_setpc_b64 s[30:31]5450;5451; GFX11-TRUE16-LABEL: bitcast_v52i16_to_v26i32:5452; GFX11-TRUE16: ; %bb.0:5453; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5454; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo5455; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v265456; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s05457; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)5458; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s05459; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB14_25460; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true5461; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]5462; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]5463; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]5464; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]5465; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]5466; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]5467; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]5468; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]5469; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]5470; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]5471; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]5472; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]5473; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]5474; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]5475; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]5476; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]5477; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]5478; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]5479; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]5480; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]5481; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]5482; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]5483; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]5484; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]5485; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]5486; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]5487; GFX11-TRUE16-NEXT: .LBB14_2: ; %end5488; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s05489; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]5490;5491; GFX11-FAKE16-LABEL: bitcast_v52i16_to_v26i32:5492; GFX11-FAKE16: ; %bb.0:5493; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5494; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v255495; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v245496; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v235497; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v225498; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v215499; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v205500; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v195501; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v185502; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v175503; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v165504; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v155505; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v145506; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v135507; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v125508; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v115509; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v105510; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v95511; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v85512; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v75513; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v65514; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v55515; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v45516; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v05517; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v15518; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v25519; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v35520; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v265521; GFX11-FAKE16-NEXT: v_perm_b32 v0, v65, v0, 0x50401005522; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x50401005523; GFX11-FAKE16-NEXT: v_perm_b32 v2, v67, v2, 0x50401005524; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x50401005525; GFX11-FAKE16-NEXT: v_perm_b32 v4, v64, v4, 0x50401005526; GFX11-FAKE16-NEXT: v_perm_b32 v5, v55, v5, 0x50401005527; GFX11-FAKE16-NEXT: v_perm_b32 v6, v54, v6, 0x50401005528; GFX11-FAKE16-NEXT: v_perm_b32 v7, v53, v7, 0x50401005529; GFX11-FAKE16-NEXT: v_perm_b32 v8, v52, v8, 0x50401005530; GFX11-FAKE16-NEXT: v_perm_b32 v9, v51, v9, 0x50401005531; GFX11-FAKE16-NEXT: v_perm_b32 v10, v50, v10, 0x50401005532; GFX11-FAKE16-NEXT: v_perm_b32 v11, v49, v11, 0x50401005533; GFX11-FAKE16-NEXT: v_perm_b32 v12, v48, v12, 0x50401005534; GFX11-FAKE16-NEXT: v_perm_b32 v13, v39, v13, 0x50401005535; GFX11-FAKE16-NEXT: v_perm_b32 v14, v38, v14, 0x50401005536; GFX11-FAKE16-NEXT: v_perm_b32 v15, v37, v15, 0x50401005537; GFX11-FAKE16-NEXT: v_perm_b32 v16, v36, v16, 0x50401005538; GFX11-FAKE16-NEXT: v_perm_b32 v17, v35, v17, 0x50401005539; GFX11-FAKE16-NEXT: v_perm_b32 v18, v34, v18, 0x50401005540; GFX11-FAKE16-NEXT: v_perm_b32 v19, v33, v19, 0x50401005541; GFX11-FAKE16-NEXT: v_perm_b32 v20, v32, v20, 0x50401005542; GFX11-FAKE16-NEXT: v_perm_b32 v21, v31, v21, 0x50401005543; GFX11-FAKE16-NEXT: v_perm_b32 v22, v30, v22, 0x50401005544; GFX11-FAKE16-NEXT: v_perm_b32 v23, v29, v23, 0x50401005545; GFX11-FAKE16-NEXT: v_perm_b32 v24, v28, v24, 0x50401005546; GFX11-FAKE16-NEXT: v_perm_b32 v25, v27, v25, 0x50401005547; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo5548; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)5549; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s05550; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s05551; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB14_25552; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.true5553; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]5554; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]5555; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]5556; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]5557; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]5558; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]5559; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]5560; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]5561; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]5562; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]5563; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]5564; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]5565; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]5566; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]5567; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]5568; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]5569; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]5570; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]5571; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]5572; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]5573; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]5574; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]5575; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]5576; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]5577; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]5578; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]5579; GFX11-FAKE16-NEXT: .LBB14_2: ; %end5580; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s05581; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]5582 %cmp = icmp eq i32 %b, 05583 br i1 %cmp, label %cmp.true, label %cmp.false5584 5585cmp.true:5586 %a1 = add <52 x i16> %a, splat (i16 3)5587 %a2 = bitcast <52 x i16> %a1 to <26 x i32>5588 br label %end5589 5590cmp.false:5591 %a3 = bitcast <52 x i16> %a to <26 x i32>5592 br label %end5593 5594end:5595 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]5596 ret <26 x i32> %phi5597}5598 5599define inreg <26 x i32> @bitcast_v52i16_to_v26i32_scalar(<52 x i16> inreg %a, i32 inreg %b) {5600; SI-LABEL: bitcast_v52i16_to_v26i32_scalar:5601; SI: ; %bb.0:5602; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5603; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill5604; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill5605; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill5606; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill5607; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill5608; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill5609; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill5610; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill5611; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill5612; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill5613; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill5614; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill5615; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill5616; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill5617; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill5618; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill5619; SI-NEXT: v_mov_b32_e32 v47, v85620; SI-NEXT: s_waitcnt expcnt(6)5621; SI-NEXT: v_mov_b32_e32 v57, v65622; SI-NEXT: v_mov_b32_e32 v32, v45623; SI-NEXT: v_mov_b32_e32 v34, v25624; SI-NEXT: v_mov_b32_e32 v37, v05625; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:285626; SI-NEXT: buffer_load_dword v2, off, s[0:3], s325627; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:85628; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:45629; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:165630; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:125631; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:245632; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:205633; SI-NEXT: s_waitcnt expcnt(1)5634; SI-NEXT: v_mov_b32_e32 v62, v305635; SI-NEXT: v_mov_b32_e32 v30, v245636; SI-NEXT: v_mov_b32_e32 v38, v225637; SI-NEXT: v_mov_b32_e32 v39, v205638; SI-NEXT: v_mov_b32_e32 v48, v185639; SI-NEXT: v_mov_b32_e32 v49, v165640; SI-NEXT: v_mov_b32_e32 v50, v145641; SI-NEXT: v_mov_b32_e32 v40, v125642; SI-NEXT: v_mov_b32_e32 v41, v105643; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v15644; SI-NEXT: s_waitcnt expcnt(0)5645; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v35646; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v55647; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v75648; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v95649; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v115650; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v135651; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v155652; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v175653; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v195654; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v215655; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v235656; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v255657; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v275658; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v295659; SI-NEXT: s_waitcnt vmcnt(7)5660; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v05661; SI-NEXT: s_waitcnt vmcnt(6)5662; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v25663; SI-NEXT: s_waitcnt vmcnt(5)5664; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v45665; SI-NEXT: s_and_b64 s[4:5], vcc, exec5666; SI-NEXT: s_waitcnt vmcnt(3)5667; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v65668; SI-NEXT: s_waitcnt vmcnt(1)5669; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v85670; SI-NEXT: s_cbranch_scc0 .LBB15_45671; SI-NEXT: ; %bb.1: ; %cmp.false5672; SI-NEXT: v_and_b32_e32 v0, 0xffff, v375673; SI-NEXT: v_or_b32_e32 v7, v0, v315674; SI-NEXT: v_and_b32_e32 v0, 0xffff, v325675; SI-NEXT: v_or_b32_e32 v9, v0, v615676; SI-NEXT: v_and_b32_e32 v0, 0xffff, v575677; SI-NEXT: v_or_b32_e32 v10, v0, v605678; SI-NEXT: v_and_b32_e32 v0, 0xffff, v475679; SI-NEXT: v_or_b32_e32 v11, v0, v595680; SI-NEXT: v_and_b32_e32 v0, 0xffff, v415681; SI-NEXT: v_or_b32_e32 v12, v0, v365682; SI-NEXT: v_and_b32_e32 v0, 0xffff, v405683; SI-NEXT: v_or_b32_e32 v13, v0, v355684; SI-NEXT: v_and_b32_e32 v0, 0xffff, v505685; SI-NEXT: v_or_b32_e32 v14, v0, v335686; SI-NEXT: v_and_b32_e32 v0, 0xffff, v495687; SI-NEXT: v_or_b32_e32 v15, v0, v555688; SI-NEXT: v_and_b32_e32 v0, 0xffff, v485689; SI-NEXT: v_or_b32_e32 v16, v0, v545690; SI-NEXT: v_and_b32_e32 v0, 0xffff, v395691; SI-NEXT: v_or_b32_e32 v17, v0, v585692; SI-NEXT: v_and_b32_e32 v0, 0xffff, v385693; SI-NEXT: s_and_b32 s4, s16, 0xffff5694; SI-NEXT: s_lshl_b32 s5, s17, 165695; SI-NEXT: v_or_b32_e32 v18, v0, v535696; SI-NEXT: v_and_b32_e32 v0, 0xffff, v305697; SI-NEXT: s_or_b32 s4, s4, s55698; SI-NEXT: s_and_b32 s5, s18, 0xffff5699; SI-NEXT: s_lshl_b32 s6, s19, 165700; SI-NEXT: v_or_b32_e32 v19, v0, v565701; SI-NEXT: v_and_b32_e32 v0, 0xffff, v265702; SI-NEXT: s_or_b32 s5, s5, s65703; SI-NEXT: s_and_b32 s6, s20, 0xffff5704; SI-NEXT: s_lshl_b32 s7, s21, 165705; SI-NEXT: v_or_b32_e32 v20, v0, v525706; SI-NEXT: v_and_b32_e32 v0, 0xffff, v285707; SI-NEXT: s_or_b32 s6, s6, s75708; SI-NEXT: s_and_b32 s7, s22, 0xffff5709; SI-NEXT: s_lshl_b32 s8, s23, 165710; SI-NEXT: v_or_b32_e32 v21, v0, v465711; SI-NEXT: v_and_b32_e32 v0, 0xffff, v625712; SI-NEXT: s_or_b32 s7, s7, s85713; SI-NEXT: s_and_b32 s8, s24, 0xffff5714; SI-NEXT: s_lshl_b32 s9, s25, 165715; SI-NEXT: v_or_b32_e32 v22, v0, v455716; SI-NEXT: v_and_b32_e32 v0, 0xffff, v445717; SI-NEXT: s_or_b32 s8, s8, s95718; SI-NEXT: s_and_b32 s9, s26, 0xffff5719; SI-NEXT: s_lshl_b32 s10, s27, 165720; SI-NEXT: v_or_b32_e32 v23, v0, v515721; SI-NEXT: v_and_b32_e32 v0, 0xffff, v435722; SI-NEXT: s_or_b32 s9, s9, s105723; SI-NEXT: s_and_b32 s10, s28, 0xffff5724; SI-NEXT: s_lshl_b32 s11, s29, 165725; SI-NEXT: v_and_b32_e32 v1, 0xffff, v345726; SI-NEXT: v_or_b32_e32 v24, v0, v295727; SI-NEXT: s_waitcnt vmcnt(0)5728; SI-NEXT: v_and_b32_e32 v0, 0xffff, v425729; SI-NEXT: s_or_b32 s10, s10, s115730; SI-NEXT: v_or_b32_e32 v8, v1, v635731; SI-NEXT: v_or_b32_e32 v25, v0, v275732; SI-NEXT: v_mov_b32_e32 v0, s45733; SI-NEXT: v_mov_b32_e32 v1, s55734; SI-NEXT: v_mov_b32_e32 v2, s65735; SI-NEXT: v_mov_b32_e32 v3, s75736; SI-NEXT: v_mov_b32_e32 v4, s85737; SI-NEXT: v_mov_b32_e32 v5, s95738; SI-NEXT: v_mov_b32_e32 v6, s105739; SI-NEXT: s_cbranch_execnz .LBB15_35740; SI-NEXT: .LBB15_2: ; %cmp.true5741; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v375742; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05743; SI-NEXT: s_waitcnt vmcnt(4)5744; SI-NEXT: v_or_b32_e32 v0, v31, v05745; SI-NEXT: v_add_i32_e32 v7, vcc, 0x30000, v05746; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v325747; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05748; SI-NEXT: s_waitcnt vmcnt(2)5749; SI-NEXT: v_or_b32_e32 v0, v61, v05750; SI-NEXT: v_add_i32_e32 v9, vcc, 0x30000, v05751; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v575752; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05753; SI-NEXT: v_or_b32_e32 v0, v60, v05754; SI-NEXT: v_add_i32_e32 v10, vcc, 0x30000, v05755; SI-NEXT: s_waitcnt vmcnt(0)5756; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v475757; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05758; SI-NEXT: v_or_b32_e32 v0, v59, v05759; SI-NEXT: v_add_i32_e32 v11, vcc, 0x30000, v05760; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v415761; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05762; SI-NEXT: v_or_b32_e32 v0, v36, v05763; SI-NEXT: v_add_i32_e32 v12, vcc, 0x30000, v05764; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v405765; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05766; SI-NEXT: v_or_b32_e32 v0, v35, v05767; SI-NEXT: v_add_i32_e32 v13, vcc, 0x30000, v05768; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v505769; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05770; SI-NEXT: v_or_b32_e32 v0, v33, v05771; SI-NEXT: v_add_i32_e32 v14, vcc, 0x30000, v05772; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v495773; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05774; SI-NEXT: v_or_b32_e32 v0, v55, v05775; SI-NEXT: v_add_i32_e32 v15, vcc, 0x30000, v05776; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v485777; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05778; SI-NEXT: v_or_b32_e32 v0, v54, v05779; SI-NEXT: v_add_i32_e32 v16, vcc, 0x30000, v05780; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v395781; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05782; SI-NEXT: v_or_b32_e32 v0, v58, v05783; SI-NEXT: v_add_i32_e32 v17, vcc, 0x30000, v05784; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v385785; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05786; SI-NEXT: v_or_b32_e32 v0, v53, v05787; SI-NEXT: v_add_i32_e32 v18, vcc, 0x30000, v05788; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v305789; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05790; SI-NEXT: v_or_b32_e32 v0, v56, v05791; SI-NEXT: v_add_i32_e32 v19, vcc, 0x30000, v05792; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v265793; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05794; SI-NEXT: v_or_b32_e32 v0, v52, v05795; SI-NEXT: v_add_i32_e32 v20, vcc, 0x30000, v05796; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v285797; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05798; SI-NEXT: v_or_b32_e32 v0, v46, v05799; SI-NEXT: v_add_i32_e32 v21, vcc, 0x30000, v05800; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v625801; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05802; SI-NEXT: s_add_i32 s16, s16, 35803; SI-NEXT: v_or_b32_e32 v0, v45, v05804; SI-NEXT: s_and_b32 s4, s16, 0xffff5805; SI-NEXT: s_lshl_b32 s5, s17, 165806; SI-NEXT: s_add_i32 s18, s18, 35807; SI-NEXT: v_add_i32_e32 v22, vcc, 0x30000, v05808; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v445809; SI-NEXT: s_or_b32 s4, s5, s45810; SI-NEXT: s_and_b32 s5, s18, 0xffff5811; SI-NEXT: s_lshl_b32 s6, s19, 165812; SI-NEXT: s_add_i32 s20, s20, 35813; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05814; SI-NEXT: s_or_b32 s5, s6, s55815; SI-NEXT: s_and_b32 s6, s20, 0xffff5816; SI-NEXT: s_lshl_b32 s7, s21, 165817; SI-NEXT: s_add_i32 s22, s22, 35818; SI-NEXT: v_or_b32_e32 v0, v51, v05819; SI-NEXT: s_or_b32 s6, s7, s65820; SI-NEXT: s_and_b32 s7, s22, 0xffff5821; SI-NEXT: s_lshl_b32 s8, s23, 165822; SI-NEXT: s_add_i32 s24, s24, 35823; SI-NEXT: v_add_i32_e32 v23, vcc, 0x30000, v05824; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v435825; SI-NEXT: s_or_b32 s7, s8, s75826; SI-NEXT: s_and_b32 s8, s24, 0xffff5827; SI-NEXT: s_lshl_b32 s9, s25, 165828; SI-NEXT: s_add_i32 s26, s26, 35829; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05830; SI-NEXT: s_or_b32 s8, s9, s85831; SI-NEXT: s_and_b32 s9, s26, 0xffff5832; SI-NEXT: s_lshl_b32 s10, s27, 165833; SI-NEXT: s_add_i32 s28, s28, 35834; SI-NEXT: v_or_b32_e32 v0, v29, v05835; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v345836; SI-NEXT: s_or_b32 s9, s10, s95837; SI-NEXT: s_and_b32 s10, s28, 0xffff5838; SI-NEXT: s_lshl_b32 s11, s29, 165839; SI-NEXT: v_add_i32_e32 v24, vcc, 0x30000, v05840; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v425841; SI-NEXT: v_and_b32_e32 v1, 0xffff, v15842; SI-NEXT: s_or_b32 s10, s11, s105843; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05844; SI-NEXT: v_or_b32_e32 v1, v63, v15845; SI-NEXT: s_add_i32 s4, s4, 0x300005846; SI-NEXT: s_add_i32 s5, s5, 0x300005847; SI-NEXT: s_add_i32 s6, s6, 0x300005848; SI-NEXT: s_add_i32 s7, s7, 0x300005849; SI-NEXT: s_add_i32 s8, s8, 0x300005850; SI-NEXT: s_add_i32 s9, s9, 0x300005851; SI-NEXT: s_add_i32 s10, s10, 0x300005852; SI-NEXT: v_or_b32_e32 v0, v27, v05853; SI-NEXT: v_add_i32_e32 v8, vcc, 0x30000, v15854; SI-NEXT: v_add_i32_e32 v25, vcc, 0x30000, v05855; SI-NEXT: v_mov_b32_e32 v0, s45856; SI-NEXT: v_mov_b32_e32 v1, s55857; SI-NEXT: v_mov_b32_e32 v2, s65858; SI-NEXT: v_mov_b32_e32 v3, s75859; SI-NEXT: v_mov_b32_e32 v4, s85860; SI-NEXT: v_mov_b32_e32 v5, s95861; SI-NEXT: v_mov_b32_e32 v6, s105862; SI-NEXT: .LBB15_3: ; %end5863; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload5864; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload5865; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload5866; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload5867; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload5868; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload5869; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload5870; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload5871; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload5872; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload5873; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload5874; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload5875; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload5876; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload5877; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload5878; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload5879; SI-NEXT: s_waitcnt vmcnt(0)5880; SI-NEXT: s_setpc_b64 s[30:31]5881; SI-NEXT: .LBB15_4:5882; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill5883; SI-NEXT: s_waitcnt expcnt(0)5884; SI-NEXT: v_mov_b32_e32 v47, v435885; SI-NEXT: v_mov_b32_e32 v43, v505886; SI-NEXT: v_mov_b32_e32 v50, v385887; SI-NEXT: v_mov_b32_e32 v38, v625888; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill5889; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill5890; SI-NEXT: v_mov_b32_e32 v62, v565891; SI-NEXT: v_mov_b32_e32 v56, v445892; SI-NEXT: v_mov_b32_e32 v44, v405893; SI-NEXT: v_mov_b32_e32 v40, v395894; SI-NEXT: v_mov_b32_e32 v39, v285895; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill5896; SI-NEXT: s_waitcnt expcnt(0)5897; SI-NEXT: v_mov_b32_e32 v59, v455898; SI-NEXT: v_mov_b32_e32 v45, v415899; SI-NEXT: v_mov_b32_e32 v41, v485900; SI-NEXT: v_mov_b32_e32 v48, v265901; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill5902; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill5903; SI-NEXT: s_waitcnt expcnt(0)5904; SI-NEXT: v_mov_b32_e32 v60, v525905; SI-NEXT: v_mov_b32_e32 v52, v465906; SI-NEXT: s_waitcnt vmcnt(6)5907; SI-NEXT: v_mov_b32_e32 v46, v425908; SI-NEXT: v_mov_b32_e32 v42, v495909; SI-NEXT: v_mov_b32_e32 v49, v305910; SI-NEXT: v_mov_b32_e32 v61, v635911; SI-NEXT: v_mov_b32_e32 v63, v575912; SI-NEXT: v_mov_b32_e32 v57, v275913; SI-NEXT: v_mov_b32_e32 v53, v375914; SI-NEXT: v_mov_b32_e32 v37, v365915; SI-NEXT: v_mov_b32_e32 v36, v355916; SI-NEXT: v_mov_b32_e32 v35, v345917; SI-NEXT: v_mov_b32_e32 v34, v335918; SI-NEXT: v_mov_b32_e32 v33, v555919; SI-NEXT: v_mov_b32_e32 v55, v325920; SI-NEXT: v_mov_b32_e32 v32, v545921; SI-NEXT: v_mov_b32_e32 v54, v585922; SI-NEXT: v_mov_b32_e32 v58, v515923; SI-NEXT: v_mov_b32_e32 v51, v295924; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr315925; SI-NEXT: v_mov_b32_e32 v29, v515926; SI-NEXT: v_mov_b32_e32 v51, v585927; SI-NEXT: v_mov_b32_e32 v58, v545928; SI-NEXT: v_mov_b32_e32 v54, v325929; SI-NEXT: v_mov_b32_e32 v32, v555930; SI-NEXT: v_mov_b32_e32 v55, v335931; SI-NEXT: v_mov_b32_e32 v33, v345932; SI-NEXT: v_mov_b32_e32 v34, v355933; SI-NEXT: v_mov_b32_e32 v35, v365934; SI-NEXT: v_mov_b32_e32 v36, v375935; SI-NEXT: v_mov_b32_e32 v37, v535936; SI-NEXT: v_mov_b32_e32 v27, v575937; SI-NEXT: v_mov_b32_e32 v57, v635938; SI-NEXT: v_mov_b32_e32 v63, v615939; SI-NEXT: v_mov_b32_e32 v30, v495940; SI-NEXT: v_mov_b32_e32 v49, v425941; SI-NEXT: v_mov_b32_e32 v42, v465942; SI-NEXT: v_mov_b32_e32 v46, v525943; SI-NEXT: v_mov_b32_e32 v52, v605944; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload5945; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload5946; SI-NEXT: v_mov_b32_e32 v26, v485947; SI-NEXT: v_mov_b32_e32 v48, v415948; SI-NEXT: v_mov_b32_e32 v41, v455949; SI-NEXT: v_mov_b32_e32 v45, v595950; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload5951; SI-NEXT: v_mov_b32_e32 v28, v395952; SI-NEXT: v_mov_b32_e32 v39, v405953; SI-NEXT: v_mov_b32_e32 v40, v445954; SI-NEXT: v_mov_b32_e32 v44, v565955; SI-NEXT: v_mov_b32_e32 v56, v625956; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload5957; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload5958; SI-NEXT: v_mov_b32_e32 v62, v385959; SI-NEXT: v_mov_b32_e32 v38, v505960; SI-NEXT: v_mov_b32_e32 v50, v435961; SI-NEXT: v_mov_b32_e32 v43, v475962; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload5963; SI-NEXT: s_branch .LBB15_25964;5965; VI-LABEL: bitcast_v52i16_to_v26i32_scalar:5966; VI: ; %bb.0:5967; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5968; VI-NEXT: s_lshr_b32 s6, s29, 165969; VI-NEXT: s_lshr_b32 s7, s28, 165970; VI-NEXT: s_lshr_b32 s8, s27, 165971; VI-NEXT: s_lshr_b32 s9, s26, 165972; VI-NEXT: s_lshr_b32 s10, s25, 165973; VI-NEXT: s_lshr_b32 s11, s24, 165974; VI-NEXT: s_lshr_b32 s12, s23, 165975; VI-NEXT: s_lshr_b32 s13, s22, 165976; VI-NEXT: s_lshr_b32 s14, s21, 165977; VI-NEXT: s_lshr_b32 s15, s20, 165978; VI-NEXT: s_lshr_b32 s40, s19, 165979; VI-NEXT: s_lshr_b32 s41, s18, 165980; VI-NEXT: s_lshr_b32 s42, s17, 165981; VI-NEXT: s_lshr_b32 s43, s16, 165982; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v125983; VI-NEXT: v_mov_b32_e32 v32, v115984; VI-NEXT: v_mov_b32_e32 v33, v105985; VI-NEXT: v_mov_b32_e32 v34, v95986; VI-NEXT: v_mov_b32_e32 v35, v85987; VI-NEXT: v_mov_b32_e32 v36, v75988; VI-NEXT: v_mov_b32_e32 v37, v65989; VI-NEXT: v_mov_b32_e32 v38, v55990; VI-NEXT: v_mov_b32_e32 v39, v45991; VI-NEXT: v_mov_b32_e32 v48, v35992; VI-NEXT: v_mov_b32_e32 v49, v25993; VI-NEXT: v_mov_b32_e32 v50, v15994; VI-NEXT: v_mov_b32_e32 v51, v05995; VI-NEXT: s_and_b64 s[4:5], vcc, exec5996; VI-NEXT: s_cbranch_scc0 .LBB15_45997; VI-NEXT: ; %bb.1: ; %cmp.false5998; VI-NEXT: s_and_b32 s4, 0xffff, s165999; VI-NEXT: s_lshl_b32 s5, s43, 166000; VI-NEXT: s_or_b32 s4, s4, s56001; VI-NEXT: s_and_b32 s5, 0xffff, s176002; VI-NEXT: s_lshl_b32 s44, s42, 166003; VI-NEXT: s_or_b32 s5, s5, s446004; VI-NEXT: s_and_b32 s44, 0xffff, s186005; VI-NEXT: s_lshl_b32 s45, s41, 166006; VI-NEXT: s_or_b32 s44, s44, s456007; VI-NEXT: s_and_b32 s45, 0xffff, s196008; VI-NEXT: s_lshl_b32 s46, s40, 166009; VI-NEXT: v_mov_b32_e32 v0, 166010; VI-NEXT: s_or_b32 s45, s45, s466011; VI-NEXT: s_and_b32 s46, 0xffff, s206012; VI-NEXT: s_lshl_b32 s47, s15, 166013; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16014; VI-NEXT: s_or_b32 s46, s46, s476015; VI-NEXT: s_and_b32 s47, 0xffff, s216016; VI-NEXT: s_lshl_b32 s56, s14, 166017; VI-NEXT: v_or_b32_sdwa v14, v51, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6018; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16019; VI-NEXT: s_or_b32 s47, s47, s566020; VI-NEXT: s_and_b32 s56, 0xffff, s226021; VI-NEXT: s_lshl_b32 s57, s13, 166022; VI-NEXT: v_or_b32_sdwa v16, v49, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6023; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16024; VI-NEXT: s_or_b32 s56, s56, s576025; VI-NEXT: s_and_b32 s57, 0xffff, s236026; VI-NEXT: s_lshl_b32 s58, s12, 166027; VI-NEXT: v_or_b32_sdwa v17, v48, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6028; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16029; VI-NEXT: s_or_b32 s57, s57, s586030; VI-NEXT: s_and_b32 s58, 0xffff, s246031; VI-NEXT: s_lshl_b32 s59, s11, 166032; VI-NEXT: v_or_b32_sdwa v18, v39, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6033; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16034; VI-NEXT: s_or_b32 s58, s58, s596035; VI-NEXT: s_and_b32 s59, 0xffff, s256036; VI-NEXT: s_lshl_b32 s60, s10, 166037; VI-NEXT: v_or_b32_sdwa v19, v38, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6038; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16039; VI-NEXT: s_or_b32 s59, s59, s606040; VI-NEXT: s_and_b32 s60, 0xffff, s266041; VI-NEXT: s_lshl_b32 s61, s9, 166042; VI-NEXT: v_or_b32_sdwa v20, v37, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6043; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16044; VI-NEXT: s_or_b32 s60, s60, s616045; VI-NEXT: s_and_b32 s61, 0xffff, s276046; VI-NEXT: s_lshl_b32 s62, s8, 166047; VI-NEXT: v_or_b32_sdwa v21, v36, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6048; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16049; VI-NEXT: s_or_b32 s61, s61, s626050; VI-NEXT: s_and_b32 s62, 0xffff, s286051; VI-NEXT: s_lshl_b32 s63, s7, 166052; VI-NEXT: v_or_b32_sdwa v22, v35, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6053; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16054; VI-NEXT: s_or_b32 s62, s62, s636055; VI-NEXT: s_and_b32 s63, 0xffff, s296056; VI-NEXT: s_lshl_b32 s72, s6, 166057; VI-NEXT: v_lshlrev_b32_sdwa v2, v0, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16058; VI-NEXT: v_or_b32_sdwa v23, v34, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6059; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16060; VI-NEXT: v_lshlrev_b32_sdwa v0, v0, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16061; VI-NEXT: s_or_b32 s63, s63, s726062; VI-NEXT: v_or_b32_sdwa v15, v50, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6063; VI-NEXT: v_or_b32_sdwa v24, v33, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6064; VI-NEXT: v_or_b32_sdwa v25, v32, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6065; VI-NEXT: v_mov_b32_e32 v0, s46066; VI-NEXT: v_mov_b32_e32 v1, s56067; VI-NEXT: v_mov_b32_e32 v2, s446068; VI-NEXT: v_mov_b32_e32 v3, s456069; VI-NEXT: v_mov_b32_e32 v4, s466070; VI-NEXT: v_mov_b32_e32 v5, s476071; VI-NEXT: v_mov_b32_e32 v6, s566072; VI-NEXT: v_mov_b32_e32 v7, s576073; VI-NEXT: v_mov_b32_e32 v8, s586074; VI-NEXT: v_mov_b32_e32 v9, s596075; VI-NEXT: v_mov_b32_e32 v10, s606076; VI-NEXT: v_mov_b32_e32 v11, s616077; VI-NEXT: v_mov_b32_e32 v12, s626078; VI-NEXT: v_mov_b32_e32 v13, s636079; VI-NEXT: s_cbranch_execnz .LBB15_36080; VI-NEXT: .LBB15_2: ; %cmp.true6081; VI-NEXT: v_mov_b32_e32 v1, 166082; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v516083; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16084; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06085; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v506086; VI-NEXT: v_lshlrev_b32_sdwa v3, v1, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16087; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06088; VI-NEXT: v_add_u32_e32 v14, vcc, 0x30000, v06089; VI-NEXT: v_add_u32_e32 v15, vcc, 0x30000, v26090; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v496091; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16092; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06093; VI-NEXT: v_add_u32_e32 v16, vcc, 0x30000, v06094; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v486095; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16096; VI-NEXT: s_add_i32 s16, s16, 36097; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06098; VI-NEXT: s_and_b32 s4, s16, 0xffff6099; VI-NEXT: s_lshl_b32 s5, s43, 166100; VI-NEXT: s_add_i32 s17, s17, 36101; VI-NEXT: v_add_u32_e32 v17, vcc, 0x30000, v06102; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v396103; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16104; VI-NEXT: s_or_b32 s4, s5, s46105; VI-NEXT: s_and_b32 s5, s17, 0xffff6106; VI-NEXT: s_lshl_b32 s16, s42, 166107; VI-NEXT: s_add_i32 s18, s18, 36108; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06109; VI-NEXT: s_or_b32 s5, s16, s56110; VI-NEXT: s_and_b32 s16, s18, 0xffff6111; VI-NEXT: s_lshl_b32 s17, s41, 166112; VI-NEXT: s_add_i32 s19, s19, 36113; VI-NEXT: v_add_u32_e32 v18, vcc, 0x30000, v06114; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v386115; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16116; VI-NEXT: s_or_b32 s16, s17, s166117; VI-NEXT: s_and_b32 s17, s19, 0xffff6118; VI-NEXT: s_lshl_b32 s18, s40, 166119; VI-NEXT: s_add_i32 s20, s20, 36120; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06121; VI-NEXT: s_or_b32 s17, s18, s176122; VI-NEXT: s_and_b32 s18, s20, 0xffff6123; VI-NEXT: s_lshl_b32 s15, s15, 166124; VI-NEXT: s_add_i32 s21, s21, 36125; VI-NEXT: v_add_u32_e32 v19, vcc, 0x30000, v06126; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v376127; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16128; VI-NEXT: s_or_b32 s15, s15, s186129; VI-NEXT: s_and_b32 s18, s21, 0xffff6130; VI-NEXT: s_lshl_b32 s14, s14, 166131; VI-NEXT: s_add_i32 s22, s22, 36132; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06133; VI-NEXT: s_or_b32 s14, s14, s186134; VI-NEXT: s_and_b32 s18, s22, 0xffff6135; VI-NEXT: s_lshl_b32 s13, s13, 166136; VI-NEXT: s_add_i32 s23, s23, 36137; VI-NEXT: v_add_u32_e32 v20, vcc, 0x30000, v06138; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v366139; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16140; VI-NEXT: s_or_b32 s13, s13, s186141; VI-NEXT: s_and_b32 s18, s23, 0xffff6142; VI-NEXT: s_lshl_b32 s12, s12, 166143; VI-NEXT: s_add_i32 s24, s24, 36144; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06145; VI-NEXT: s_or_b32 s12, s12, s186146; VI-NEXT: s_and_b32 s18, s24, 0xffff6147; VI-NEXT: s_lshl_b32 s11, s11, 166148; VI-NEXT: s_add_i32 s25, s25, 36149; VI-NEXT: v_add_u32_e32 v21, vcc, 0x30000, v06150; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v356151; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16152; VI-NEXT: s_or_b32 s11, s11, s186153; VI-NEXT: s_and_b32 s18, s25, 0xffff6154; VI-NEXT: s_lshl_b32 s10, s10, 166155; VI-NEXT: s_add_i32 s26, s26, 36156; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06157; VI-NEXT: s_or_b32 s10, s10, s186158; VI-NEXT: s_and_b32 s18, s26, 0xffff6159; VI-NEXT: s_lshl_b32 s9, s9, 166160; VI-NEXT: s_add_i32 s27, s27, 36161; VI-NEXT: v_add_u32_e32 v22, vcc, 0x30000, v06162; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v346163; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16164; VI-NEXT: s_or_b32 s9, s9, s186165; VI-NEXT: s_and_b32 s18, s27, 0xffff6166; VI-NEXT: s_lshl_b32 s8, s8, 166167; VI-NEXT: s_add_i32 s28, s28, 36168; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06169; VI-NEXT: s_or_b32 s8, s8, s186170; VI-NEXT: s_and_b32 s18, s28, 0xffff6171; VI-NEXT: s_lshl_b32 s7, s7, 166172; VI-NEXT: s_add_i32 s29, s29, 36173; VI-NEXT: v_add_u32_e32 v23, vcc, 0x30000, v06174; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v336175; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16176; VI-NEXT: s_or_b32 s7, s7, s186177; VI-NEXT: s_and_b32 s18, s29, 0xffff6178; VI-NEXT: s_lshl_b32 s6, s6, 166179; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06180; VI-NEXT: s_or_b32 s6, s6, s186181; VI-NEXT: v_add_u32_e32 v24, vcc, 0x30000, v06182; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v326183; VI-NEXT: v_lshlrev_b32_sdwa v1, v1, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16184; VI-NEXT: s_add_i32 s4, s4, 0x300006185; VI-NEXT: s_add_i32 s5, s5, 0x300006186; VI-NEXT: s_add_i32 s16, s16, 0x300006187; VI-NEXT: s_add_i32 s17, s17, 0x300006188; VI-NEXT: s_add_i32 s15, s15, 0x300006189; VI-NEXT: s_add_i32 s14, s14, 0x300006190; VI-NEXT: s_add_i32 s13, s13, 0x300006191; VI-NEXT: s_add_i32 s12, s12, 0x300006192; VI-NEXT: s_add_i32 s11, s11, 0x300006193; VI-NEXT: s_add_i32 s10, s10, 0x300006194; VI-NEXT: s_add_i32 s9, s9, 0x300006195; VI-NEXT: s_add_i32 s8, s8, 0x300006196; VI-NEXT: s_add_i32 s7, s7, 0x300006197; VI-NEXT: s_add_i32 s6, s6, 0x300006198; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06199; VI-NEXT: v_add_u32_e32 v25, vcc, 0x30000, v06200; VI-NEXT: v_mov_b32_e32 v0, s46201; VI-NEXT: v_mov_b32_e32 v1, s56202; VI-NEXT: v_mov_b32_e32 v2, s166203; VI-NEXT: v_mov_b32_e32 v3, s176204; VI-NEXT: v_mov_b32_e32 v4, s156205; VI-NEXT: v_mov_b32_e32 v5, s146206; VI-NEXT: v_mov_b32_e32 v6, s136207; VI-NEXT: v_mov_b32_e32 v7, s126208; VI-NEXT: v_mov_b32_e32 v8, s116209; VI-NEXT: v_mov_b32_e32 v9, s106210; VI-NEXT: v_mov_b32_e32 v10, s96211; VI-NEXT: v_mov_b32_e32 v11, s86212; VI-NEXT: v_mov_b32_e32 v12, s76213; VI-NEXT: v_mov_b32_e32 v13, s66214; VI-NEXT: .LBB15_3: ; %end6215; VI-NEXT: s_setpc_b64 s[30:31]6216; VI-NEXT: .LBB15_4:6217; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr316218; VI-NEXT: s_branch .LBB15_26219;6220; GFX9-LABEL: bitcast_v52i16_to_v26i32_scalar:6221; GFX9: ; %bb.0:6222; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6223; GFX9-NEXT: v_mov_b32_e32 v32, v116224; GFX9-NEXT: v_mov_b32_e32 v33, v106225; GFX9-NEXT: v_mov_b32_e32 v34, v96226; GFX9-NEXT: v_mov_b32_e32 v35, v86227; GFX9-NEXT: v_mov_b32_e32 v36, v76228; GFX9-NEXT: v_mov_b32_e32 v37, v66229; GFX9-NEXT: v_mov_b32_e32 v38, v56230; GFX9-NEXT: v_mov_b32_e32 v39, v46231; GFX9-NEXT: v_mov_b32_e32 v48, v36232; GFX9-NEXT: v_mov_b32_e32 v49, v26233; GFX9-NEXT: v_mov_b32_e32 v50, v16234; GFX9-NEXT: v_mov_b32_e32 v51, v06235; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v126236; GFX9-NEXT: s_lshr_b32 s40, s29, 166237; GFX9-NEXT: s_lshr_b32 s41, s28, 166238; GFX9-NEXT: s_lshr_b32 s42, s27, 166239; GFX9-NEXT: s_lshr_b32 s43, s26, 166240; GFX9-NEXT: s_lshr_b32 s15, s25, 166241; GFX9-NEXT: s_lshr_b32 s14, s24, 166242; GFX9-NEXT: s_lshr_b32 s13, s23, 166243; GFX9-NEXT: s_lshr_b32 s12, s22, 166244; GFX9-NEXT: s_lshr_b32 s11, s21, 166245; GFX9-NEXT: s_lshr_b32 s10, s20, 166246; GFX9-NEXT: s_lshr_b32 s9, s19, 166247; GFX9-NEXT: s_lshr_b32 s8, s18, 166248; GFX9-NEXT: s_lshr_b32 s7, s17, 166249; GFX9-NEXT: s_lshr_b32 s6, s16, 166250; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill6251; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill6252; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill6253; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill6254; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill6255; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill6256; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill6257; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill6258; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v326259; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v336260; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v346261; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v356262; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v366263; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v376264; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v386265; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v396266; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec6267; GFX9-NEXT: s_pack_ll_b32_b16 s6, s16, s66268; GFX9-NEXT: s_pack_ll_b32_b16 s7, s17, s76269; GFX9-NEXT: s_pack_ll_b32_b16 s8, s18, s86270; GFX9-NEXT: s_pack_ll_b32_b16 s9, s19, s96271; GFX9-NEXT: s_pack_ll_b32_b16 s10, s20, s106272; GFX9-NEXT: s_pack_ll_b32_b16 s11, s21, s116273; GFX9-NEXT: s_pack_ll_b32_b16 s12, s22, s126274; GFX9-NEXT: s_pack_ll_b32_b16 s13, s23, s136275; GFX9-NEXT: s_pack_ll_b32_b16 s14, s24, s146276; GFX9-NEXT: s_pack_ll_b32_b16 s15, s25, s156277; GFX9-NEXT: s_pack_ll_b32_b16 s16, s26, s436278; GFX9-NEXT: s_pack_ll_b32_b16 s17, s27, s426279; GFX9-NEXT: s_pack_ll_b32_b16 s18, s28, s416280; GFX9-NEXT: s_pack_ll_b32_b16 s19, s29, s406281; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v486282; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v496283; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v506284; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v516285; GFX9-NEXT: s_cbranch_scc0 .LBB15_46286; GFX9-NEXT: ; %bb.1: ; %cmp.false6287; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v516288; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v06289; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v506290; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v06291; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v496292; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v06293; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v486294; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v06295; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v396296; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v06297; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v386298; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v06299; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v376300; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v06301; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v366302; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v06303; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v356304; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v06305; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v346306; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v06307; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v336308; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v06309; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v326310; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v06311; GFX9-NEXT: v_mov_b32_e32 v0, s66312; GFX9-NEXT: v_mov_b32_e32 v1, s76313; GFX9-NEXT: v_mov_b32_e32 v2, s86314; GFX9-NEXT: v_mov_b32_e32 v3, s96315; GFX9-NEXT: v_mov_b32_e32 v4, s106316; GFX9-NEXT: v_mov_b32_e32 v5, s116317; GFX9-NEXT: v_mov_b32_e32 v6, s126318; GFX9-NEXT: v_mov_b32_e32 v7, s136319; GFX9-NEXT: v_mov_b32_e32 v8, s146320; GFX9-NEXT: v_mov_b32_e32 v9, s156321; GFX9-NEXT: v_mov_b32_e32 v10, s166322; GFX9-NEXT: v_mov_b32_e32 v11, s176323; GFX9-NEXT: v_mov_b32_e32 v12, s186324; GFX9-NEXT: v_mov_b32_e32 v13, s196325; GFX9-NEXT: s_cbranch_execnz .LBB15_36326; GFX9-NEXT: .LBB15_2: ; %cmp.true6327; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v516328; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v506329; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v496330; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v486331; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v396332; GFX9-NEXT: v_and_b32_e32 v19, 0xffff, v386333; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v376334; GFX9-NEXT: v_and_b32_e32 v21, 0xffff, v366335; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v356336; GFX9-NEXT: v_and_b32_e32 v23, 0xffff, v346337; GFX9-NEXT: v_and_b32_e32 v24, 0xffff, v336338; GFX9-NEXT: v_and_b32_e32 v25, 0xffff, v326339; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v146340; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v156341; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v166342; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v176343; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v186344; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v196345; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v206346; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v216347; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v226348; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v236349; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v246350; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v256351; GFX9-NEXT: v_pk_add_u16 v0, s6, 3 op_sel_hi:[1,0]6352; GFX9-NEXT: v_pk_add_u16 v1, s7, 3 op_sel_hi:[1,0]6353; GFX9-NEXT: v_pk_add_u16 v2, s8, 3 op_sel_hi:[1,0]6354; GFX9-NEXT: v_pk_add_u16 v3, s9, 3 op_sel_hi:[1,0]6355; GFX9-NEXT: v_pk_add_u16 v4, s10, 3 op_sel_hi:[1,0]6356; GFX9-NEXT: v_pk_add_u16 v5, s11, 3 op_sel_hi:[1,0]6357; GFX9-NEXT: v_pk_add_u16 v6, s12, 3 op_sel_hi:[1,0]6358; GFX9-NEXT: v_pk_add_u16 v7, s13, 3 op_sel_hi:[1,0]6359; GFX9-NEXT: v_pk_add_u16 v8, s14, 3 op_sel_hi:[1,0]6360; GFX9-NEXT: v_pk_add_u16 v9, s15, 3 op_sel_hi:[1,0]6361; GFX9-NEXT: v_pk_add_u16 v10, s16, 3 op_sel_hi:[1,0]6362; GFX9-NEXT: v_pk_add_u16 v11, s17, 3 op_sel_hi:[1,0]6363; GFX9-NEXT: v_pk_add_u16 v12, s18, 3 op_sel_hi:[1,0]6364; GFX9-NEXT: v_pk_add_u16 v13, s19, 3 op_sel_hi:[1,0]6365; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]6366; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]6367; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]6368; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]6369; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]6370; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]6371; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]6372; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]6373; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]6374; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]6375; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]6376; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]6377; GFX9-NEXT: .LBB15_3: ; %end6378; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload6379; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload6380; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload6381; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload6382; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload6383; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload6384; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload6385; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload6386; GFX9-NEXT: s_waitcnt vmcnt(0)6387; GFX9-NEXT: s_setpc_b64 s[30:31]6388; GFX9-NEXT: .LBB15_4:6389; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr316390; GFX9-NEXT: s_branch .LBB15_26391;6392; GFX11-TRUE16-LABEL: bitcast_v52i16_to_v26i32_scalar:6393; GFX11-TRUE16: ; %bb.0:6394; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6395; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v86396; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, v7 :: v_dual_mov_b32 v24, v66397; GFX11-TRUE16-NEXT: v_dual_mov_b32 v23, v5 :: v_dual_mov_b32 v22, v46398; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, v3 :: v_dual_mov_b32 v20, v26399; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, v1 :: v_dual_mov_b32 v18, v06400; GFX11-TRUE16-NEXT: s_lshr_b32 s41, s29, 166401; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 166402; GFX11-TRUE16-NEXT: s_lshr_b32 s15, s27, 166403; GFX11-TRUE16-NEXT: s_lshr_b32 s14, s26, 166404; GFX11-TRUE16-NEXT: s_lshr_b32 s13, s25, 166405; GFX11-TRUE16-NEXT: s_lshr_b32 s12, s24, 166406; GFX11-TRUE16-NEXT: s_lshr_b32 s11, s23, 166407; GFX11-TRUE16-NEXT: s_lshr_b32 s10, s22, 166408; GFX11-TRUE16-NEXT: s_lshr_b32 s9, s21, 166409; GFX11-TRUE16-NEXT: s_lshr_b32 s8, s20, 166410; GFX11-TRUE16-NEXT: s_lshr_b32 s7, s19, 166411; GFX11-TRUE16-NEXT: s_lshr_b32 s6, s18, 166412; GFX11-TRUE16-NEXT: s_lshr_b32 s5, s17, 166413; GFX11-TRUE16-NEXT: s_lshr_b32 s4, s16, 166414; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s3, 166415; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s2, 166416; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s1, 166417; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s0, 166418; GFX11-TRUE16-NEXT: s_mov_b32 s40, 06419; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s0, s0, s466420; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s1, s1, s456421; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s2, s2, s446422; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s3, s3, s436423; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s4, s16, s46424; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s5, s17, s56425; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s6, s18, s66426; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s7, s19, s76427; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s8, s20, s86428; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s9, s21, s96429; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s10, s22, s106430; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s11, s23, s116431; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s12, s24, s126432; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s13, s25, s136433; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s14, s26, s146434; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s15, s27, s156435; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s16, s28, s426436; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s17, s29, s416437; GFX11-TRUE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo6438; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB15_46439; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false6440; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s16441; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s36442; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s56443; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s76444; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s96445; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s116446; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s136447; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s156448; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s176449; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s406450; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB15_36451; GFX11-TRUE16-NEXT: .LBB15_2: ; %cmp.true6452; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]6453; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]6454; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]6455; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]6456; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]6457; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]6458; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]6459; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]6460; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]6461; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]6462; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]6463; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]6464; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]6465; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]6466; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]6467; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, s15, 3 op_sel_hi:[1,0]6468; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, s16, 3 op_sel_hi:[1,0]6469; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, s17, 3 op_sel_hi:[1,0]6470; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]6471; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]6472; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]6473; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]6474; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]6475; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]6476; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]6477; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]6478; GFX11-TRUE16-NEXT: .LBB15_3: ; %end6479; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]6480; GFX11-TRUE16-NEXT: .LBB15_4:6481; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr06482; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr16483; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr26484; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36485; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46486; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56487; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66488; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76489; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86490; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96491; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106492; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116493; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr126494; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr136495; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146496; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr156497; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166498; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176499; GFX11-TRUE16-NEXT: s_branch .LBB15_26500;6501; GFX11-FAKE16-LABEL: bitcast_v52i16_to_v26i32_scalar:6502; GFX11-FAKE16: ; %bb.0:6503; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6504; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v86505; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v76506; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v66507; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v56508; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v46509; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v36510; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v26511; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v16512; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v06513; GFX11-FAKE16-NEXT: v_and_b32_e32 v55, 0xffff, v06514; GFX11-FAKE16-NEXT: v_and_b32_e32 v54, 0xffff, v16515; GFX11-FAKE16-NEXT: v_and_b32_e32 v53, 0xffff, v26516; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v36517; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v46518; GFX11-FAKE16-NEXT: v_and_b32_e32 v50, 0xffff, v56519; GFX11-FAKE16-NEXT: v_and_b32_e32 v49, 0xffff, v66520; GFX11-FAKE16-NEXT: v_and_b32_e32 v48, 0xffff, v76521; GFX11-FAKE16-NEXT: s_lshr_b32 s41, s29, 166522; GFX11-FAKE16-NEXT: s_lshr_b32 s15, s28, 166523; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s27, 166524; GFX11-FAKE16-NEXT: s_lshr_b32 s14, s26, 166525; GFX11-FAKE16-NEXT: s_lshr_b32 s13, s25, 166526; GFX11-FAKE16-NEXT: s_lshr_b32 s12, s24, 166527; GFX11-FAKE16-NEXT: s_lshr_b32 s11, s23, 166528; GFX11-FAKE16-NEXT: s_lshr_b32 s10, s22, 166529; GFX11-FAKE16-NEXT: s_lshr_b32 s9, s21, 166530; GFX11-FAKE16-NEXT: s_lshr_b32 s8, s20, 166531; GFX11-FAKE16-NEXT: s_lshr_b32 s7, s19, 166532; GFX11-FAKE16-NEXT: s_lshr_b32 s6, s18, 166533; GFX11-FAKE16-NEXT: s_lshr_b32 s5, s17, 166534; GFX11-FAKE16-NEXT: s_lshr_b32 s4, s16, 166535; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s3, 166536; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s2, 166537; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s1, 166538; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s0, 166539; GFX11-FAKE16-NEXT: s_mov_b32 s40, 06540; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s0, s0, s466541; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s1, s1, s456542; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s2, s2, s446543; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s3, s3, s436544; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s4, s16, s46545; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s5, s17, s56546; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s6, s18, s66547; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s7, s19, s76548; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s8, s20, s86549; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s9, s21, s96550; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s10, s22, s106551; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s11, s23, s116552; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s12, s24, s126553; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s13, s25, s136554; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s14, s26, s146555; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s17, s27, s426556; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s15, s28, s156557; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s16, s29, s416558; GFX11-FAKE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo6559; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB15_46560; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false6561; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v39, 16, v556562; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v38, 16, v546563; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v37, 16, v536564; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v36, 16, v526565; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v35, 16, v516566; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v34, 16, v506567; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v33, 16, v496568; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v32, 16, v486569; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s16570; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s36571; GFX11-FAKE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s56572; GFX11-FAKE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s76573; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s96574; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s116575; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s136576; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s176577; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s15 :: v_dual_mov_b32 v17, s166578; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s406579; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB15_36580; GFX11-FAKE16-NEXT: .LBB15_2: ; %cmp.true6581; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v39, 16, v556582; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v38, 16, v546583; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v37, 16, v536584; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v36, 16, v526585; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v35, 16, v516586; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v34, 16, v506587; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v33, 16, v496588; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v32, 16, v486589; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]6590; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]6591; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]6592; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]6593; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]6594; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]6595; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]6596; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]6597; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]6598; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]6599; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]6600; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]6601; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]6602; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]6603; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]6604; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, s17, 3 op_sel_hi:[1,0]6605; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, s15, 3 op_sel_hi:[1,0]6606; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, s16, 3 op_sel_hi:[1,0]6607; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]6608; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]6609; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]6610; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]6611; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]6612; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]6613; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]6614; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]6615; GFX11-FAKE16-NEXT: .LBB15_3: ; %end6616; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]6617; GFX11-FAKE16-NEXT: .LBB15_4:6618; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr316619; GFX11-FAKE16-NEXT: s_branch .LBB15_26620 %cmp = icmp eq i32 %b, 06621 br i1 %cmp, label %cmp.true, label %cmp.false6622 6623cmp.true:6624 %a1 = add <52 x i16> %a, splat (i16 3)6625 %a2 = bitcast <52 x i16> %a1 to <26 x i32>6626 br label %end6627 6628cmp.false:6629 %a3 = bitcast <52 x i16> %a to <26 x i32>6630 br label %end6631 6632end:6633 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]6634 ret <26 x i32> %phi6635}6636 6637define <52 x half> @bitcast_v26i32_to_v52f16(<26 x i32> %a, i32 %b) {6638; SI-LABEL: bitcast_v26i32_to_v52f16:6639; SI: ; %bb.0:6640; SI-NEXT: ; implicit-def: $vgpr516641; SI-NEXT: ; implicit-def: $vgpr506642; SI-NEXT: ; kill: killed $vgpr516643; SI-NEXT: ; kill: killed $vgpr506644; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6645; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v276646; SI-NEXT: ; implicit-def: $vgpr516647; SI-NEXT: ; implicit-def: $vgpr506648; SI-NEXT: ; kill: killed $vgpr516649; SI-NEXT: ; kill: killed $vgpr506650; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill6651; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill6652; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill6653; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill6654; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill6655; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill6656; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill6657; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill6658; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill6659; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill6660; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill6661; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill6662; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill6663; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill6664; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill6665; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill6666; SI-NEXT: ; implicit-def: $vgpr516667; SI-NEXT: ; implicit-def: $vgpr506668; SI-NEXT: ; kill: killed $vgpr516669; SI-NEXT: ; kill: killed $vgpr506670; SI-NEXT: ; implicit-def: $vgpr486671; SI-NEXT: ; implicit-def: $vgpr496672; SI-NEXT: ; implicit-def: $vgpr386673; SI-NEXT: ; implicit-def: $vgpr396674; SI-NEXT: ; implicit-def: $vgpr366675; SI-NEXT: ; implicit-def: $vgpr376676; SI-NEXT: ; implicit-def: $vgpr346677; SI-NEXT: ; implicit-def: $vgpr356678; SI-NEXT: ; implicit-def: $vgpr336679; SI-NEXT: ; implicit-def: $vgpr326680; SI-NEXT: ; implicit-def: $vgpr316681; SI-NEXT: ; implicit-def: $vgpr306682; SI-NEXT: ; implicit-def: $vgpr296683; SI-NEXT: ; implicit-def: $vgpr286684; SI-NEXT: ; implicit-def: $vgpr276685; SI-NEXT: ; implicit-def: $vgpr636686; SI-NEXT: ; implicit-def: $vgpr626687; SI-NEXT: ; implicit-def: $vgpr616688; SI-NEXT: ; implicit-def: $vgpr606689; SI-NEXT: ; implicit-def: $vgpr596690; SI-NEXT: ; implicit-def: $vgpr586691; SI-NEXT: ; implicit-def: $vgpr576692; SI-NEXT: ; implicit-def: $vgpr466693; SI-NEXT: ; implicit-def: $vgpr446694; SI-NEXT: ; implicit-def: $vgpr426695; SI-NEXT: ; implicit-def: $vgpr406696; SI-NEXT: ; implicit-def: $vgpr546697; SI-NEXT: ; implicit-def: $vgpr526698; SI-NEXT: ; implicit-def: $vgpr416699; SI-NEXT: ; implicit-def: $vgpr436700; SI-NEXT: ; implicit-def: $vgpr556701; SI-NEXT: ; implicit-def: $vgpr456702; SI-NEXT: ; implicit-def: $vgpr536703; SI-NEXT: ; implicit-def: $vgpr476704; SI-NEXT: ; implicit-def: $vgpr566705; SI-NEXT: ; implicit-def: $vgpr516706; SI-NEXT: ; implicit-def: $vgpr506707; SI-NEXT: ; kill: killed $vgpr516708; SI-NEXT: ; kill: killed $vgpr506709; SI-NEXT: ; implicit-def: $vgpr516710; SI-NEXT: ; implicit-def: $vgpr506711; SI-NEXT: ; kill: killed $vgpr516712; SI-NEXT: ; kill: killed $vgpr506713; SI-NEXT: ; implicit-def: $vgpr516714; SI-NEXT: ; implicit-def: $vgpr506715; SI-NEXT: ; kill: killed $vgpr516716; SI-NEXT: ; kill: killed $vgpr506717; SI-NEXT: ; implicit-def: $vgpr516718; SI-NEXT: ; implicit-def: $vgpr506719; SI-NEXT: ; kill: killed $vgpr516720; SI-NEXT: ; kill: killed $vgpr506721; SI-NEXT: ; implicit-def: $vgpr516722; SI-NEXT: ; implicit-def: $vgpr506723; SI-NEXT: ; kill: killed $vgpr516724; SI-NEXT: ; implicit-def: $vgpr516725; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc6726; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]6727; SI-NEXT: s_cbranch_execz .LBB16_26728; SI-NEXT: ; %bb.1: ; %cmp.false6729; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v266730; SI-NEXT: v_cvt_f32_f16_e32 v56, v276731; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v256732; SI-NEXT: v_cvt_f32_f16_e32 v47, v276733; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v246734; SI-NEXT: v_cvt_f32_f16_e32 v45, v276735; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v236736; SI-NEXT: v_cvt_f32_f16_e32 v43, v276737; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v226738; SI-NEXT: v_cvt_f32_f16_e32 v41, v276739; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v216740; SI-NEXT: v_cvt_f32_f16_e32 v27, v276741; SI-NEXT: v_cvt_f32_f16_e32 v23, v236742; SI-NEXT: v_cvt_f32_f16_e32 v22, v226743; SI-NEXT: v_cvt_f32_f16_e32 v21, v216744; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill6745; SI-NEXT: s_waitcnt expcnt(0)6746; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v206747; SI-NEXT: v_cvt_f32_f16_e32 v27, v276748; SI-NEXT: v_cvt_f32_f16_e32 v20, v206749; SI-NEXT: v_cvt_f32_f16_e32 v51, v266750; SI-NEXT: v_cvt_f32_f16_e32 v53, v256751; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill6752; SI-NEXT: s_waitcnt expcnt(0)6753; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v196754; SI-NEXT: v_cvt_f32_f16_e32 v27, v276755; SI-NEXT: v_cvt_f32_f16_e32 v19, v196756; SI-NEXT: v_cvt_f32_f16_e32 v55, v246757; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill6758; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill6759; SI-NEXT: s_waitcnt expcnt(0)6760; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v186761; SI-NEXT: v_cvt_f32_f16_e32 v50, v276762; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v176763; SI-NEXT: v_cvt_f32_f16_e32 v52, v276764; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v166765; SI-NEXT: v_cvt_f32_f16_e32 v54, v276766; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v156767; SI-NEXT: v_cvt_f32_f16_e32 v40, v276768; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v146769; SI-NEXT: v_cvt_f32_f16_e32 v42, v276770; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v136771; SI-NEXT: v_cvt_f32_f16_e32 v44, v276772; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v126773; SI-NEXT: v_cvt_f32_f16_e32 v46, v276774; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v116775; SI-NEXT: v_cvt_f32_f16_e32 v57, v276776; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v106777; SI-NEXT: v_cvt_f32_f16_e32 v59, v276778; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v96779; SI-NEXT: v_cvt_f32_f16_e32 v61, v276780; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v86781; SI-NEXT: v_cvt_f32_f16_e32 v63, v276782; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v76783; SI-NEXT: v_cvt_f32_f16_e32 v28, v276784; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v66785; SI-NEXT: v_cvt_f32_f16_e32 v30, v276786; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v56787; SI-NEXT: v_cvt_f32_f16_e32 v32, v276788; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v46789; SI-NEXT: v_cvt_f32_f16_e32 v18, v186790; SI-NEXT: v_cvt_f32_f16_e32 v17, v176791; SI-NEXT: v_cvt_f32_f16_e32 v16, v166792; SI-NEXT: v_cvt_f32_f16_e32 v15, v156793; SI-NEXT: v_cvt_f32_f16_e32 v14, v146794; SI-NEXT: v_cvt_f32_f16_e32 v13, v136795; SI-NEXT: v_cvt_f32_f16_e32 v12, v126796; SI-NEXT: v_cvt_f32_f16_e32 v35, v276797; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v36798; SI-NEXT: v_cvt_f32_f16_e32 v37, v276799; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v26800; SI-NEXT: v_cvt_f32_f16_e32 v39, v276801; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v16802; SI-NEXT: v_cvt_f32_f16_e32 v49, v276803; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill6804; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill6805; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill6806; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill6807; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill6808; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill6809; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill6810; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill6811; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill6812; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill6813; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill6814; SI-NEXT: v_cvt_f32_f16_e32 v58, v116815; SI-NEXT: v_cvt_f32_f16_e32 v60, v106816; SI-NEXT: v_cvt_f32_f16_e32 v62, v96817; SI-NEXT: v_cvt_f32_f16_e32 v27, v86818; SI-NEXT: v_cvt_f32_f16_e32 v29, v76819; SI-NEXT: v_cvt_f32_f16_e32 v31, v66820; SI-NEXT: v_cvt_f32_f16_e32 v33, v56821; SI-NEXT: v_cvt_f32_f16_e32 v34, v46822; SI-NEXT: v_cvt_f32_f16_e32 v36, v36823; SI-NEXT: v_cvt_f32_f16_e32 v38, v26824; SI-NEXT: v_cvt_f32_f16_e32 v48, v16825; SI-NEXT: ; implicit-def: $vgpr16826; SI-NEXT: ; implicit-def: $vgpr26827; SI-NEXT: ; implicit-def: $vgpr36828; SI-NEXT: ; implicit-def: $vgpr46829; SI-NEXT: ; implicit-def: $vgpr56830; SI-NEXT: ; implicit-def: $vgpr66831; SI-NEXT: ; implicit-def: $vgpr76832; SI-NEXT: ; implicit-def: $vgpr86833; SI-NEXT: ; implicit-def: $vgpr96834; SI-NEXT: ; implicit-def: $vgpr106835; SI-NEXT: ; implicit-def: $vgpr116836; SI-NEXT: ; implicit-def: $vgpr126837; SI-NEXT: ; implicit-def: $vgpr136838; SI-NEXT: ; implicit-def: $vgpr146839; SI-NEXT: ; implicit-def: $vgpr156840; SI-NEXT: ; implicit-def: $vgpr166841; SI-NEXT: ; implicit-def: $vgpr176842; SI-NEXT: ; implicit-def: $vgpr186843; SI-NEXT: ; implicit-def: $vgpr196844; SI-NEXT: ; implicit-def: $vgpr206845; SI-NEXT: ; implicit-def: $vgpr216846; SI-NEXT: ; implicit-def: $vgpr226847; SI-NEXT: ; implicit-def: $vgpr236848; SI-NEXT: ; implicit-def: $vgpr246849; SI-NEXT: ; implicit-def: $vgpr256850; SI-NEXT: ; implicit-def: $vgpr266851; SI-NEXT: .LBB16_2: ; %Flow6852; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]6853; SI-NEXT: s_cbranch_execz .LBB16_46854; SI-NEXT: ; %bb.3: ; %cmp.true6855; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v216856; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v16857; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v216858; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v16859; SI-NEXT: v_cvt_f32_f16_e32 v48, v16860; SI-NEXT: v_cvt_f32_f16_e32 v1, v556861; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v206862; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v206863; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill6864; SI-NEXT: s_waitcnt expcnt(0)6865; SI-NEXT: v_cvt_f32_f16_e32 v1, v536866; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v26867; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v36868; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v46869; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v56870; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v66871; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v76872; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v86873; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v96874; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v106875; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v116876; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v126877; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v136878; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v146879; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v156880; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v166881; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v176882; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v186883; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v196884; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v226885; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v236886; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v246887; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v256888; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v266889; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v26890; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v36891; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v46892; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v56893; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v66894; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v76895; SI-NEXT: v_lshrrev_b32_e32 v63, 16, v86896; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v96897; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v106898; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v116899; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v126900; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v136901; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v146902; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v156903; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v166904; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v176905; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v186906; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v196907; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v226908; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v236909; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v246910; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v256911; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v266912; SI-NEXT: v_cvt_f32_f16_e32 v26, v266913; SI-NEXT: v_cvt_f32_f16_e32 v25, v256914; SI-NEXT: v_cvt_f32_f16_e32 v24, v246915; SI-NEXT: v_cvt_f32_f16_e32 v23, v236916; SI-NEXT: v_cvt_f32_f16_e32 v22, v226917; SI-NEXT: v_cvt_f32_f16_e32 v21, v216918; SI-NEXT: v_cvt_f32_f16_e32 v20, v206919; SI-NEXT: v_cvt_f32_f16_e32 v19, v196920; SI-NEXT: v_cvt_f32_f16_e32 v18, v186921; SI-NEXT: v_cvt_f32_f16_e32 v17, v176922; SI-NEXT: v_cvt_f32_f16_e32 v16, v166923; SI-NEXT: v_cvt_f32_f16_e32 v15, v156924; SI-NEXT: v_cvt_f32_f16_e32 v14, v146925; SI-NEXT: v_cvt_f32_f16_e32 v13, v136926; SI-NEXT: v_cvt_f32_f16_e32 v12, v126927; SI-NEXT: v_cvt_f32_f16_e32 v58, v116928; SI-NEXT: v_cvt_f32_f16_e32 v60, v106929; SI-NEXT: v_cvt_f32_f16_e32 v62, v96930; SI-NEXT: v_cvt_f32_f16_e32 v27, v86931; SI-NEXT: v_cvt_f32_f16_e32 v29, v76932; SI-NEXT: v_cvt_f32_f16_e32 v31, v66933; SI-NEXT: v_cvt_f32_f16_e32 v33, v56934; SI-NEXT: v_cvt_f32_f16_e32 v34, v46935; SI-NEXT: v_cvt_f32_f16_e32 v36, v36936; SI-NEXT: v_cvt_f32_f16_e32 v38, v26937; SI-NEXT: v_cvt_f32_f16_e32 v56, v566938; SI-NEXT: v_cvt_f32_f16_e32 v47, v476939; SI-NEXT: v_cvt_f32_f16_e32 v45, v456940; SI-NEXT: v_cvt_f32_f16_e32 v43, v436941; SI-NEXT: v_cvt_f32_f16_e32 v41, v416942; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill6943; SI-NEXT: s_waitcnt expcnt(0)6944; SI-NEXT: v_cvt_f32_f16_e32 v1, v516945; SI-NEXT: v_cvt_f32_f16_e32 v50, v506946; SI-NEXT: v_cvt_f32_f16_e32 v52, v526947; SI-NEXT: v_cvt_f32_f16_e32 v54, v546948; SI-NEXT: v_cvt_f32_f16_e32 v40, v406949; SI-NEXT: v_cvt_f32_f16_e32 v42, v426950; SI-NEXT: v_cvt_f32_f16_e32 v44, v446951; SI-NEXT: v_cvt_f32_f16_e32 v46, v466952; SI-NEXT: v_cvt_f32_f16_e32 v57, v576953; SI-NEXT: v_cvt_f32_f16_e32 v59, v596954; SI-NEXT: v_cvt_f32_f16_e32 v61, v616955; SI-NEXT: v_cvt_f32_f16_e32 v63, v636956; SI-NEXT: v_cvt_f32_f16_e32 v28, v286957; SI-NEXT: v_cvt_f32_f16_e32 v30, v306958; SI-NEXT: v_cvt_f32_f16_e32 v32, v326959; SI-NEXT: v_cvt_f32_f16_e32 v35, v356960; SI-NEXT: v_cvt_f32_f16_e32 v37, v376961; SI-NEXT: v_cvt_f32_f16_e32 v39, v396962; SI-NEXT: v_cvt_f32_f16_e32 v49, v496963; SI-NEXT: v_mov_b32_e32 v55, v246964; SI-NEXT: v_mov_b32_e32 v53, v256965; SI-NEXT: v_mov_b32_e32 v51, v266966; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill6967; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill6968; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill6969; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill6970; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill6971; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill6972; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill6973; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill6974; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill6975; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill6976; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill6977; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill6978; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill6979; SI-NEXT: .LBB16_4: ; %end6980; SI-NEXT: s_or_b64 exec, exec, s[4:5]6981; SI-NEXT: s_waitcnt expcnt(0)6982; SI-NEXT: v_cvt_f16_f32_e32 v1, v496983; SI-NEXT: v_cvt_f16_f32_e32 v2, v486984; SI-NEXT: v_cvt_f16_f32_e32 v3, v396985; SI-NEXT: v_cvt_f16_f32_e32 v4, v386986; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v16987; SI-NEXT: v_or_b32_e32 v1, v2, v16988; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v36989; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen6990; SI-NEXT: s_waitcnt expcnt(0)6991; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v06992; SI-NEXT: v_or_b32_e32 v2, v4, v26993; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen6994; SI-NEXT: v_cvt_f16_f32_e32 v1, v376995; SI-NEXT: s_waitcnt expcnt(0)6996; SI-NEXT: v_cvt_f16_f32_e32 v2, v366997; SI-NEXT: v_add_i32_e32 v3, vcc, 8, v06998; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v16999; SI-NEXT: v_or_b32_e32 v1, v2, v17000; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7001; SI-NEXT: s_waitcnt expcnt(0)7002; SI-NEXT: v_cvt_f16_f32_e32 v1, v357003; SI-NEXT: v_cvt_f16_f32_e32 v2, v347004; SI-NEXT: v_add_i32_e32 v3, vcc, 12, v07005; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17006; SI-NEXT: v_or_b32_e32 v1, v2, v17007; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7008; SI-NEXT: s_waitcnt expcnt(0)7009; SI-NEXT: v_cvt_f16_f32_e32 v1, v327010; SI-NEXT: v_cvt_f16_f32_e32 v2, v337011; SI-NEXT: v_add_i32_e32 v3, vcc, 16, v07012; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17013; SI-NEXT: v_or_b32_e32 v1, v2, v17014; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7015; SI-NEXT: s_waitcnt expcnt(0)7016; SI-NEXT: v_cvt_f16_f32_e32 v1, v307017; SI-NEXT: v_cvt_f16_f32_e32 v2, v317018; SI-NEXT: v_add_i32_e32 v3, vcc, 20, v07019; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17020; SI-NEXT: v_or_b32_e32 v1, v2, v17021; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7022; SI-NEXT: s_waitcnt expcnt(0)7023; SI-NEXT: v_cvt_f16_f32_e32 v1, v287024; SI-NEXT: v_cvt_f16_f32_e32 v2, v297025; SI-NEXT: v_add_i32_e32 v3, vcc, 24, v07026; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17027; SI-NEXT: v_or_b32_e32 v1, v2, v17028; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7029; SI-NEXT: s_waitcnt expcnt(0)7030; SI-NEXT: v_cvt_f16_f32_e32 v1, v637031; SI-NEXT: v_cvt_f16_f32_e32 v2, v277032; SI-NEXT: v_add_i32_e32 v3, vcc, 28, v07033; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17034; SI-NEXT: v_or_b32_e32 v1, v2, v17035; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7036; SI-NEXT: s_waitcnt expcnt(0)7037; SI-NEXT: v_cvt_f16_f32_e32 v1, v617038; SI-NEXT: v_cvt_f16_f32_e32 v2, v627039; SI-NEXT: v_add_i32_e32 v3, vcc, 32, v07040; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17041; SI-NEXT: v_or_b32_e32 v1, v2, v17042; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7043; SI-NEXT: s_waitcnt expcnt(0)7044; SI-NEXT: v_cvt_f16_f32_e32 v1, v597045; SI-NEXT: v_cvt_f16_f32_e32 v2, v607046; SI-NEXT: v_add_i32_e32 v3, vcc, 36, v07047; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17048; SI-NEXT: v_or_b32_e32 v1, v2, v17049; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7050; SI-NEXT: s_waitcnt expcnt(0)7051; SI-NEXT: v_cvt_f16_f32_e32 v1, v577052; SI-NEXT: v_cvt_f16_f32_e32 v2, v587053; SI-NEXT: v_add_i32_e32 v3, vcc, 40, v07054; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17055; SI-NEXT: v_or_b32_e32 v1, v2, v17056; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7057; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload7058; SI-NEXT: s_waitcnt expcnt(0)7059; SI-NEXT: v_cvt_f16_f32_e32 v1, v467060; SI-NEXT: v_add_i32_e32 v3, vcc, 44, v07061; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17062; SI-NEXT: s_waitcnt vmcnt(0)7063; SI-NEXT: v_cvt_f16_f32_e32 v2, v27064; SI-NEXT: v_or_b32_e32 v1, v2, v17065; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7066; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload7067; SI-NEXT: s_waitcnt expcnt(0)7068; SI-NEXT: v_cvt_f16_f32_e32 v1, v447069; SI-NEXT: v_add_i32_e32 v3, vcc, 48, v07070; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17071; SI-NEXT: s_waitcnt vmcnt(0)7072; SI-NEXT: v_cvt_f16_f32_e32 v2, v27073; SI-NEXT: v_or_b32_e32 v1, v2, v17074; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7075; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload7076; SI-NEXT: s_waitcnt expcnt(0)7077; SI-NEXT: v_cvt_f16_f32_e32 v1, v427078; SI-NEXT: v_add_i32_e32 v3, vcc, 52, v07079; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17080; SI-NEXT: s_waitcnt vmcnt(0)7081; SI-NEXT: v_cvt_f16_f32_e32 v2, v27082; SI-NEXT: v_or_b32_e32 v1, v2, v17083; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7084; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload7085; SI-NEXT: s_waitcnt expcnt(0)7086; SI-NEXT: v_cvt_f16_f32_e32 v1, v407087; SI-NEXT: v_add_i32_e32 v3, vcc, 56, v07088; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17089; SI-NEXT: s_waitcnt vmcnt(0)7090; SI-NEXT: v_cvt_f16_f32_e32 v2, v27091; SI-NEXT: v_or_b32_e32 v1, v2, v17092; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7093; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload7094; SI-NEXT: s_waitcnt expcnt(0)7095; SI-NEXT: v_cvt_f16_f32_e32 v1, v547096; SI-NEXT: v_add_i32_e32 v3, vcc, 60, v07097; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17098; SI-NEXT: s_waitcnt vmcnt(0)7099; SI-NEXT: v_cvt_f16_f32_e32 v2, v27100; SI-NEXT: v_or_b32_e32 v1, v2, v17101; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7102; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload7103; SI-NEXT: s_waitcnt expcnt(0)7104; SI-NEXT: v_cvt_f16_f32_e32 v1, v527105; SI-NEXT: v_add_i32_e32 v3, vcc, 64, v07106; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17107; SI-NEXT: s_waitcnt vmcnt(0)7108; SI-NEXT: v_cvt_f16_f32_e32 v2, v27109; SI-NEXT: v_or_b32_e32 v1, v2, v17110; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7111; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload7112; SI-NEXT: s_waitcnt expcnt(0)7113; SI-NEXT: v_cvt_f16_f32_e32 v1, v507114; SI-NEXT: v_add_i32_e32 v3, vcc, 0x44, v07115; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17116; SI-NEXT: s_waitcnt vmcnt(0)7117; SI-NEXT: v_cvt_f16_f32_e32 v2, v27118; SI-NEXT: v_or_b32_e32 v1, v2, v17119; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7120; SI-NEXT: s_waitcnt expcnt(0)7121; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload7122; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload7123; SI-NEXT: v_add_i32_e32 v3, vcc, 0x48, v07124; SI-NEXT: s_waitcnt vmcnt(1)7125; SI-NEXT: v_cvt_f16_f32_e32 v1, v17126; SI-NEXT: s_waitcnt vmcnt(0)7127; SI-NEXT: v_cvt_f16_f32_e32 v2, v27128; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17129; SI-NEXT: v_or_b32_e32 v1, v2, v17130; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7131; SI-NEXT: s_waitcnt expcnt(0)7132; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload7133; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload7134; SI-NEXT: v_add_i32_e32 v3, vcc, 0x4c, v07135; SI-NEXT: s_waitcnt vmcnt(1)7136; SI-NEXT: v_cvt_f16_f32_e32 v1, v17137; SI-NEXT: s_waitcnt vmcnt(0)7138; SI-NEXT: v_cvt_f16_f32_e32 v2, v27139; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17140; SI-NEXT: v_or_b32_e32 v1, v2, v17141; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7142; SI-NEXT: s_waitcnt expcnt(0)7143; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload7144; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload7145; SI-NEXT: v_add_i32_e32 v3, vcc, 0x50, v07146; SI-NEXT: s_waitcnt vmcnt(1)7147; SI-NEXT: v_cvt_f16_f32_e32 v1, v17148; SI-NEXT: s_waitcnt vmcnt(0)7149; SI-NEXT: v_cvt_f16_f32_e32 v2, v27150; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17151; SI-NEXT: v_or_b32_e32 v1, v2, v17152; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7153; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload7154; SI-NEXT: s_waitcnt expcnt(0)7155; SI-NEXT: v_cvt_f16_f32_e32 v1, v417156; SI-NEXT: v_add_i32_e32 v3, vcc, 0x54, v07157; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17158; SI-NEXT: s_waitcnt vmcnt(0)7159; SI-NEXT: v_cvt_f16_f32_e32 v2, v27160; SI-NEXT: v_or_b32_e32 v1, v2, v17161; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7162; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload7163; SI-NEXT: s_waitcnt expcnt(0)7164; SI-NEXT: v_cvt_f16_f32_e32 v1, v437165; SI-NEXT: v_add_i32_e32 v3, vcc, 0x58, v07166; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17167; SI-NEXT: s_waitcnt vmcnt(0)7168; SI-NEXT: v_cvt_f16_f32_e32 v2, v27169; SI-NEXT: v_or_b32_e32 v1, v2, v17170; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7171; SI-NEXT: s_waitcnt expcnt(0)7172; SI-NEXT: v_cvt_f16_f32_e32 v1, v457173; SI-NEXT: v_cvt_f16_f32_e32 v2, v557174; SI-NEXT: v_add_i32_e32 v3, vcc, 0x5c, v07175; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17176; SI-NEXT: v_or_b32_e32 v1, v2, v17177; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7178; SI-NEXT: s_waitcnt expcnt(0)7179; SI-NEXT: v_cvt_f16_f32_e32 v1, v477180; SI-NEXT: v_cvt_f16_f32_e32 v2, v537181; SI-NEXT: v_add_i32_e32 v3, vcc, 0x60, v07182; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17183; SI-NEXT: v_or_b32_e32 v1, v2, v17184; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7185; SI-NEXT: s_waitcnt expcnt(0)7186; SI-NEXT: v_cvt_f16_f32_e32 v1, v567187; SI-NEXT: v_cvt_f16_f32_e32 v2, v517188; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v07189; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17190; SI-NEXT: v_or_b32_e32 v1, v2, v17191; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen7192; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload7193; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload7194; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload7195; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload7196; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload7197; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload7198; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload7199; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload7200; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload7201; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload7202; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload7203; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload7204; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload7205; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload7206; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload7207; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload7208; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)7209; SI-NEXT: s_setpc_b64 s[30:31]7210;7211; VI-LABEL: bitcast_v26i32_to_v52f16:7212; VI: ; %bb.0:7213; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7214; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v267215; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill7216; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill7217; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill7218; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill7219; VI-NEXT: ; implicit-def: $vgpr437220; VI-NEXT: ; implicit-def: $vgpr427221; VI-NEXT: ; implicit-def: $vgpr417222; VI-NEXT: ; implicit-def: $vgpr407223; VI-NEXT: ; implicit-def: $vgpr557224; VI-NEXT: ; implicit-def: $vgpr547225; VI-NEXT: ; implicit-def: $vgpr537226; VI-NEXT: ; implicit-def: $vgpr527227; VI-NEXT: ; implicit-def: $vgpr517228; VI-NEXT: ; implicit-def: $vgpr507229; VI-NEXT: ; implicit-def: $vgpr497230; VI-NEXT: ; implicit-def: $vgpr487231; VI-NEXT: ; implicit-def: $vgpr397232; VI-NEXT: ; implicit-def: $vgpr387233; VI-NEXT: ; implicit-def: $vgpr377234; VI-NEXT: ; implicit-def: $vgpr367235; VI-NEXT: ; implicit-def: $vgpr357236; VI-NEXT: ; implicit-def: $vgpr347237; VI-NEXT: ; implicit-def: $vgpr337238; VI-NEXT: ; implicit-def: $vgpr327239; VI-NEXT: ; implicit-def: $vgpr317240; VI-NEXT: ; implicit-def: $vgpr307241; VI-NEXT: ; implicit-def: $vgpr297242; VI-NEXT: ; implicit-def: $vgpr287243; VI-NEXT: ; implicit-def: $vgpr277244; VI-NEXT: ; implicit-def: $vgpr267245; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc7246; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]7247; VI-NEXT: s_cbranch_execz .LBB16_27248; VI-NEXT: ; %bb.1: ; %cmp.false7249; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v257250; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v247251; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v237252; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v227253; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v217254; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v207255; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v197256; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v187257; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v177258; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v167259; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v157260; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v147261; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v137262; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v127263; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v117264; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v107265; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v97266; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v87267; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v77268; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v67269; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v57270; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v47271; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v37272; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v27273; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v17274; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v07275; VI-NEXT: .LBB16_2: ; %Flow7276; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]7277; VI-NEXT: s_cbranch_execz .LBB16_47278; VI-NEXT: ; %bb.3: ; %cmp.true7279; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v257280; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v247281; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v237282; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v227283; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v217284; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v207285; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v197286; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v187287; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v177288; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v167289; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v157290; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v147291; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v137292; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v127293; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v117294; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v107295; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v97296; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v87297; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v77298; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v67299; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v57300; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v47301; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v37302; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v27303; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v17304; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v07305; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v257306; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v247307; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v237308; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v227309; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v217310; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v207311; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v197312; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v187313; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v177314; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v167315; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v157316; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v147317; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v137318; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v127319; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v117320; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v107321; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v97322; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v87323; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v77324; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v67325; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v57326; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v47327; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v37328; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v27329; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v17330; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v07331; VI-NEXT: .LBB16_4: ; %end7332; VI-NEXT: s_or_b64 exec, exec, s[4:5]7333; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v437334; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v427335; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v417336; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v407337; VI-NEXT: v_or_b32_sdwa v0, v0, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7338; VI-NEXT: v_or_b32_sdwa v1, v1, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7339; VI-NEXT: v_or_b32_sdwa v2, v2, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7340; VI-NEXT: v_or_b32_sdwa v3, v3, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7341; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload7342; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload7343; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload7344; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload7345; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v557346; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v547347; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v537348; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v527349; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v517350; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v507351; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v497352; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v487353; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v397354; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v387355; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v377356; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v367357; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v357358; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v347359; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v337360; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v327361; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v317362; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v307363; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v297364; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v287365; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v277366; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v267367; VI-NEXT: v_or_b32_sdwa v4, v4, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7368; VI-NEXT: v_or_b32_sdwa v5, v5, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7369; VI-NEXT: v_or_b32_sdwa v6, v6, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7370; VI-NEXT: v_or_b32_sdwa v7, v7, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7371; VI-NEXT: v_or_b32_sdwa v8, v8, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7372; VI-NEXT: v_or_b32_sdwa v9, v9, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7373; VI-NEXT: v_or_b32_sdwa v10, v10, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7374; VI-NEXT: v_or_b32_sdwa v11, v11, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7375; VI-NEXT: v_or_b32_sdwa v12, v12, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7376; VI-NEXT: v_or_b32_sdwa v13, v13, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7377; VI-NEXT: v_or_b32_sdwa v14, v14, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7378; VI-NEXT: v_or_b32_sdwa v15, v15, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7379; VI-NEXT: v_or_b32_sdwa v16, v16, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7380; VI-NEXT: v_or_b32_sdwa v17, v17, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7381; VI-NEXT: v_or_b32_sdwa v18, v18, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7382; VI-NEXT: v_or_b32_sdwa v19, v19, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7383; VI-NEXT: v_or_b32_sdwa v20, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7384; VI-NEXT: v_or_b32_sdwa v21, v21, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7385; VI-NEXT: v_or_b32_sdwa v22, v22, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7386; VI-NEXT: v_or_b32_sdwa v23, v23, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7387; VI-NEXT: v_or_b32_sdwa v24, v24, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7388; VI-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7389; VI-NEXT: s_waitcnt vmcnt(0)7390; VI-NEXT: s_setpc_b64 s[30:31]7391;7392; GFX9-LABEL: bitcast_v26i32_to_v52f16:7393; GFX9: ; %bb.0:7394; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7395; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v267396; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill7397; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill7398; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill7399; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill7400; GFX9-NEXT: ; implicit-def: $vgpr437401; GFX9-NEXT: ; implicit-def: $vgpr427402; GFX9-NEXT: ; implicit-def: $vgpr417403; GFX9-NEXT: ; implicit-def: $vgpr407404; GFX9-NEXT: ; implicit-def: $vgpr557405; GFX9-NEXT: ; implicit-def: $vgpr547406; GFX9-NEXT: ; implicit-def: $vgpr537407; GFX9-NEXT: ; implicit-def: $vgpr527408; GFX9-NEXT: ; implicit-def: $vgpr517409; GFX9-NEXT: ; implicit-def: $vgpr507410; GFX9-NEXT: ; implicit-def: $vgpr497411; GFX9-NEXT: ; implicit-def: $vgpr487412; GFX9-NEXT: ; implicit-def: $vgpr397413; GFX9-NEXT: ; implicit-def: $vgpr387414; GFX9-NEXT: ; implicit-def: $vgpr377415; GFX9-NEXT: ; implicit-def: $vgpr367416; GFX9-NEXT: ; implicit-def: $vgpr357417; GFX9-NEXT: ; implicit-def: $vgpr347418; GFX9-NEXT: ; implicit-def: $vgpr337419; GFX9-NEXT: ; implicit-def: $vgpr327420; GFX9-NEXT: ; implicit-def: $vgpr317421; GFX9-NEXT: ; implicit-def: $vgpr307422; GFX9-NEXT: ; implicit-def: $vgpr297423; GFX9-NEXT: ; implicit-def: $vgpr287424; GFX9-NEXT: ; implicit-def: $vgpr277425; GFX9-NEXT: ; implicit-def: $vgpr267426; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc7427; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]7428; GFX9-NEXT: s_cbranch_execz .LBB16_27429; GFX9-NEXT: ; %bb.1: ; %cmp.false7430; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v257431; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v247432; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v237433; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v227434; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v217435; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v207436; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v197437; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v187438; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v177439; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v167440; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v157441; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v147442; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v137443; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v127444; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v117445; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v107446; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v97447; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v87448; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v77449; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v67450; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v57451; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v47452; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v37453; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v27454; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v17455; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v07456; GFX9-NEXT: .LBB16_2: ; %Flow7457; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]7458; GFX9-NEXT: s_cbranch_execz .LBB16_47459; GFX9-NEXT: ; %bb.3: ; %cmp.true7460; GFX9-NEXT: v_add_u32_e32 v25, 3, v257461; GFX9-NEXT: v_add_u32_e32 v24, 3, v247462; GFX9-NEXT: v_add_u32_e32 v23, 3, v237463; GFX9-NEXT: v_add_u32_e32 v22, 3, v227464; GFX9-NEXT: v_add_u32_e32 v21, 3, v217465; GFX9-NEXT: v_add_u32_e32 v20, 3, v207466; GFX9-NEXT: v_add_u32_e32 v19, 3, v197467; GFX9-NEXT: v_add_u32_e32 v18, 3, v187468; GFX9-NEXT: v_add_u32_e32 v17, 3, v177469; GFX9-NEXT: v_add_u32_e32 v16, 3, v167470; GFX9-NEXT: v_add_u32_e32 v15, 3, v157471; GFX9-NEXT: v_add_u32_e32 v14, 3, v147472; GFX9-NEXT: v_add_u32_e32 v13, 3, v137473; GFX9-NEXT: v_add_u32_e32 v12, 3, v127474; GFX9-NEXT: v_add_u32_e32 v11, 3, v117475; GFX9-NEXT: v_add_u32_e32 v10, 3, v107476; GFX9-NEXT: v_add_u32_e32 v9, 3, v97477; GFX9-NEXT: v_add_u32_e32 v8, 3, v87478; GFX9-NEXT: v_add_u32_e32 v7, 3, v77479; GFX9-NEXT: v_add_u32_e32 v6, 3, v67480; GFX9-NEXT: v_add_u32_e32 v5, 3, v57481; GFX9-NEXT: v_add_u32_e32 v4, 3, v47482; GFX9-NEXT: v_add_u32_e32 v3, 3, v37483; GFX9-NEXT: v_add_u32_e32 v2, 3, v27484; GFX9-NEXT: v_add_u32_e32 v1, 3, v17485; GFX9-NEXT: v_add_u32_e32 v0, 3, v07486; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v257487; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v247488; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v237489; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v227490; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v217491; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v207492; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v197493; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v187494; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v177495; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v167496; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v157497; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v147498; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v137499; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v127500; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v117501; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v107502; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v97503; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v87504; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v77505; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v67506; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v57507; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v47508; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v37509; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v27510; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v17511; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v07512; GFX9-NEXT: .LBB16_4: ; %end7513; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]7514; GFX9-NEXT: s_mov_b32 s4, 0x50401007515; GFX9-NEXT: v_perm_b32 v0, v43, v0, s47516; GFX9-NEXT: v_perm_b32 v1, v42, v1, s47517; GFX9-NEXT: v_perm_b32 v2, v41, v2, s47518; GFX9-NEXT: v_perm_b32 v3, v40, v3, s47519; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload7520; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload7521; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload7522; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload7523; GFX9-NEXT: v_perm_b32 v4, v55, v4, s47524; GFX9-NEXT: v_perm_b32 v5, v54, v5, s47525; GFX9-NEXT: v_perm_b32 v6, v53, v6, s47526; GFX9-NEXT: v_perm_b32 v7, v52, v7, s47527; GFX9-NEXT: v_perm_b32 v8, v51, v8, s47528; GFX9-NEXT: v_perm_b32 v9, v50, v9, s47529; GFX9-NEXT: v_perm_b32 v10, v49, v10, s47530; GFX9-NEXT: v_perm_b32 v11, v48, v11, s47531; GFX9-NEXT: v_perm_b32 v12, v39, v12, s47532; GFX9-NEXT: v_perm_b32 v13, v38, v13, s47533; GFX9-NEXT: v_perm_b32 v14, v37, v14, s47534; GFX9-NEXT: v_perm_b32 v15, v36, v15, s47535; GFX9-NEXT: v_perm_b32 v16, v35, v16, s47536; GFX9-NEXT: v_perm_b32 v17, v34, v17, s47537; GFX9-NEXT: v_perm_b32 v18, v33, v18, s47538; GFX9-NEXT: v_perm_b32 v19, v32, v19, s47539; GFX9-NEXT: v_perm_b32 v20, v31, v20, s47540; GFX9-NEXT: v_perm_b32 v21, v30, v21, s47541; GFX9-NEXT: v_perm_b32 v22, v29, v22, s47542; GFX9-NEXT: v_perm_b32 v23, v28, v23, s47543; GFX9-NEXT: v_perm_b32 v24, v27, v24, s47544; GFX9-NEXT: v_perm_b32 v25, v26, v25, s47545; GFX9-NEXT: s_waitcnt vmcnt(0)7546; GFX9-NEXT: s_setpc_b64 s[30:31]7547;7548; GFX11-TRUE16-LABEL: bitcast_v26i32_to_v52f16:7549; GFX11-TRUE16: ; %bb.0:7550; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7551; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo7552; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v267553; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s07554; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)7555; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s07556; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB16_27557; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true7558; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v257559; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v247560; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v237561; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v227562; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v217563; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v207564; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v197565; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v187566; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v177567; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 3, v167568; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v157569; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 3, v147570; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 3, v137571; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 3, v127572; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 3, v117573; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 3, v107574; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 3, v97575; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 3, v87576; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 3, v77577; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 3, v67578; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 3, v57579; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v47580; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v37581; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v27582; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v17583; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v07584; GFX11-TRUE16-NEXT: .LBB16_2: ; %end7585; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s07586; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]7587;7588; GFX11-FAKE16-LABEL: bitcast_v26i32_to_v52f16:7589; GFX11-FAKE16: ; %bb.0:7590; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7591; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v267592; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr677593; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr667594; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr657595; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr647596; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr557597; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr547598; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr537599; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr527600; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr517601; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr507602; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr497603; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr487604; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr397605; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr387606; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr377607; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr367608; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr357609; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr347610; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr337611; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr327612; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr317613; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr307614; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr297615; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr287616; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr277617; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr267618; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo7619; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)7620; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s07621; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB16_27622; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false7623; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v257624; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v247625; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v237626; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v227627; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v217628; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v207629; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v197630; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v187631; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v177632; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v167633; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v157634; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v147635; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v137636; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v127637; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v117638; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v107639; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v97640; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v87641; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v77642; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v67643; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v57644; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v47645; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v37646; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v27647; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v17648; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v07649; GFX11-FAKE16-NEXT: .LBB16_2: ; %Flow7650; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s07651; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB16_47652; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true7653; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v25, 3, v257654; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v24, 3, v247655; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v23, 3, v237656; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v22, 3, v227657; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v21, 3, v217658; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, 3, v207659; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 3, v197660; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 3, v187661; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v177662; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 3, v167663; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v157664; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 3, v147665; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 3, v137666; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 3, v127667; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, 3, v117668; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, 3, v107669; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 3, v97670; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 3, v87671; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 3, v77672; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 3, v67673; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 3, v57674; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v47675; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v37676; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v27677; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v17678; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v07679; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v257680; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v247681; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v237682; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v227683; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v217684; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v207685; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v197686; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v187687; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v177688; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v167689; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v157690; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v147691; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v137692; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v127693; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v117694; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v107695; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v97696; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v87697; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v77698; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v67699; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v57700; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v47701; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v37702; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v27703; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v17704; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v07705; GFX11-FAKE16-NEXT: .LBB16_4: ; %end7706; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s07707; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)7708; GFX11-FAKE16-NEXT: v_perm_b32 v0, v67, v0, 0x50401007709; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x50401007710; GFX11-FAKE16-NEXT: v_perm_b32 v2, v65, v2, 0x50401007711; GFX11-FAKE16-NEXT: v_perm_b32 v3, v64, v3, 0x50401007712; GFX11-FAKE16-NEXT: v_perm_b32 v4, v55, v4, 0x50401007713; GFX11-FAKE16-NEXT: v_perm_b32 v5, v54, v5, 0x50401007714; GFX11-FAKE16-NEXT: v_perm_b32 v6, v53, v6, 0x50401007715; GFX11-FAKE16-NEXT: v_perm_b32 v7, v52, v7, 0x50401007716; GFX11-FAKE16-NEXT: v_perm_b32 v8, v51, v8, 0x50401007717; GFX11-FAKE16-NEXT: v_perm_b32 v9, v50, v9, 0x50401007718; GFX11-FAKE16-NEXT: v_perm_b32 v10, v49, v10, 0x50401007719; GFX11-FAKE16-NEXT: v_perm_b32 v11, v48, v11, 0x50401007720; GFX11-FAKE16-NEXT: v_perm_b32 v12, v39, v12, 0x50401007721; GFX11-FAKE16-NEXT: v_perm_b32 v13, v38, v13, 0x50401007722; GFX11-FAKE16-NEXT: v_perm_b32 v14, v37, v14, 0x50401007723; GFX11-FAKE16-NEXT: v_perm_b32 v15, v36, v15, 0x50401007724; GFX11-FAKE16-NEXT: v_perm_b32 v16, v35, v16, 0x50401007725; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v17, 0x50401007726; GFX11-FAKE16-NEXT: v_perm_b32 v18, v33, v18, 0x50401007727; GFX11-FAKE16-NEXT: v_perm_b32 v19, v32, v19, 0x50401007728; GFX11-FAKE16-NEXT: v_perm_b32 v20, v31, v20, 0x50401007729; GFX11-FAKE16-NEXT: v_perm_b32 v21, v30, v21, 0x50401007730; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v22, 0x50401007731; GFX11-FAKE16-NEXT: v_perm_b32 v23, v28, v23, 0x50401007732; GFX11-FAKE16-NEXT: v_perm_b32 v24, v27, v24, 0x50401007733; GFX11-FAKE16-NEXT: v_perm_b32 v25, v26, v25, 0x50401007734; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]7735 %cmp = icmp eq i32 %b, 07736 br i1 %cmp, label %cmp.true, label %cmp.false7737 7738cmp.true:7739 %a1 = add <26 x i32> %a, splat (i32 3)7740 %a2 = bitcast <26 x i32> %a1 to <52 x half>7741 br label %end7742 7743cmp.false:7744 %a3 = bitcast <26 x i32> %a to <52 x half>7745 br label %end7746 7747end:7748 %phi = phi <52 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]7749 ret <52 x half> %phi7750}7751 7752define inreg <52 x half> @bitcast_v26i32_to_v52f16_scalar(<26 x i32> inreg %a, i32 inreg %b) {7753; SI-LABEL: bitcast_v26i32_to_v52f16_scalar:7754; SI: ; %bb.0:7755; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7756; SI-NEXT: v_mov_b32_e32 v14, s167757; SI-NEXT: v_mov_b32_e32 v15, s177758; SI-NEXT: v_mov_b32_e32 v16, s187759; SI-NEXT: v_mov_b32_e32 v17, s197760; SI-NEXT: v_mov_b32_e32 v18, s207761; SI-NEXT: v_mov_b32_e32 v19, s217762; SI-NEXT: v_readfirstlane_b32 s40, v147763; SI-NEXT: v_mov_b32_e32 v14, s227764; SI-NEXT: v_readfirstlane_b32 s41, v157765; SI-NEXT: v_mov_b32_e32 v15, s237766; SI-NEXT: v_readfirstlane_b32 s23, v167767; SI-NEXT: v_mov_b32_e32 v16, s247768; SI-NEXT: v_readfirstlane_b32 s24, v177769; SI-NEXT: v_mov_b32_e32 v17, s257770; SI-NEXT: v_readfirstlane_b32 s25, v187771; SI-NEXT: v_mov_b32_e32 v18, s267772; SI-NEXT: v_readfirstlane_b32 s26, v197773; SI-NEXT: v_mov_b32_e32 v19, s277774; SI-NEXT: v_readfirstlane_b32 s27, v147775; SI-NEXT: v_mov_b32_e32 v14, s287776; SI-NEXT: v_readfirstlane_b32 s28, v157777; SI-NEXT: v_mov_b32_e32 v15, s297778; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v137779; SI-NEXT: v_readfirstlane_b32 s29, v167780; SI-NEXT: v_readfirstlane_b32 s22, v177781; SI-NEXT: v_readfirstlane_b32 s21, v187782; SI-NEXT: v_readfirstlane_b32 s20, v197783; SI-NEXT: v_readfirstlane_b32 s19, v147784; SI-NEXT: v_readfirstlane_b32 s18, v157785; SI-NEXT: v_readfirstlane_b32 s17, v17786; SI-NEXT: v_readfirstlane_b32 s16, v27787; SI-NEXT: v_readfirstlane_b32 s15, v37788; SI-NEXT: v_readfirstlane_b32 s14, v47789; SI-NEXT: v_readfirstlane_b32 s13, v57790; SI-NEXT: v_readfirstlane_b32 s12, v67791; SI-NEXT: v_readfirstlane_b32 s11, v77792; SI-NEXT: v_readfirstlane_b32 s10, v87793; SI-NEXT: v_readfirstlane_b32 s8, v97794; SI-NEXT: v_readfirstlane_b32 s7, v107795; SI-NEXT: v_readfirstlane_b32 s6, v117796; SI-NEXT: s_and_b64 s[4:5], vcc, exec7797; SI-NEXT: v_readfirstlane_b32 s9, v127798; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill7799; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill7800; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill7801; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill7802; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 ; 4-byte Folded Spill7803; SI-NEXT: s_cbranch_scc0 .LBB17_47804; SI-NEXT: ; %bb.1: ; %cmp.false7805; SI-NEXT: s_lshr_b32 s4, s9, 167806; SI-NEXT: v_cvt_f32_f16_e32 v1, s47807; SI-NEXT: s_lshr_b32 s4, s6, 167808; SI-NEXT: v_cvt_f32_f16_e32 v2, s47809; SI-NEXT: s_lshr_b32 s4, s7, 167810; SI-NEXT: v_cvt_f32_f16_e32 v3, s47811; SI-NEXT: s_lshr_b32 s4, s8, 167812; SI-NEXT: v_cvt_f32_f16_e32 v5, s47813; SI-NEXT: s_lshr_b32 s4, s10, 167814; SI-NEXT: v_cvt_f32_f16_e32 v7, s47815; SI-NEXT: s_lshr_b32 s4, s11, 167816; SI-NEXT: v_cvt_f32_f16_e32 v9, s47817; SI-NEXT: s_lshr_b32 s4, s12, 167818; SI-NEXT: v_cvt_f32_f16_e32 v11, s47819; SI-NEXT: s_lshr_b32 s4, s13, 167820; SI-NEXT: v_cvt_f32_f16_e32 v14, s47821; SI-NEXT: s_lshr_b32 s4, s14, 167822; SI-NEXT: v_cvt_f32_f16_e32 v16, s47823; SI-NEXT: s_lshr_b32 s4, s15, 167824; SI-NEXT: v_cvt_f32_f16_e32 v18, s47825; SI-NEXT: s_lshr_b32 s4, s16, 167826; SI-NEXT: v_cvt_f32_f16_e32 v20, s47827; SI-NEXT: s_lshr_b32 s4, s17, 167828; SI-NEXT: v_cvt_f32_f16_e32 v22, s47829; SI-NEXT: s_lshr_b32 s4, s18, 167830; SI-NEXT: v_cvt_f32_f16_e32 v24, s47831; SI-NEXT: s_lshr_b32 s4, s19, 167832; SI-NEXT: v_cvt_f32_f16_e32 v26, s47833; SI-NEXT: s_lshr_b32 s4, s20, 167834; SI-NEXT: v_cvt_f32_f16_e32 v28, s47835; SI-NEXT: s_lshr_b32 s4, s21, 167836; SI-NEXT: v_cvt_f32_f16_e32 v31, s47837; SI-NEXT: s_lshr_b32 s4, s22, 167838; SI-NEXT: v_cvt_f32_f16_e32 v33, s47839; SI-NEXT: s_lshr_b32 s4, s29, 167840; SI-NEXT: v_cvt_f32_f16_e32 v35, s47841; SI-NEXT: s_lshr_b32 s4, s28, 167842; SI-NEXT: v_cvt_f32_f16_e32 v37, s47843; SI-NEXT: s_lshr_b32 s4, s27, 167844; SI-NEXT: v_cvt_f32_f16_e32 v39, s47845; SI-NEXT: s_lshr_b32 s4, s26, 167846; SI-NEXT: v_cvt_f32_f16_e32 v49, s47847; SI-NEXT: s_lshr_b32 s4, s25, 167848; SI-NEXT: v_cvt_f32_f16_e32 v51, s47849; SI-NEXT: s_lshr_b32 s4, s24, 167850; SI-NEXT: v_cvt_f32_f16_e32 v54, s47851; SI-NEXT: s_lshr_b32 s4, s23, 167852; SI-NEXT: s_waitcnt expcnt(4)7853; SI-NEXT: v_cvt_f32_f16_e32 v40, s47854; SI-NEXT: s_lshr_b32 s4, s41, 167855; SI-NEXT: s_waitcnt expcnt(2)7856; SI-NEXT: v_cvt_f32_f16_e32 v42, s47857; SI-NEXT: s_lshr_b32 s4, s40, 167858; SI-NEXT: s_waitcnt expcnt(0)7859; SI-NEXT: v_cvt_f32_f16_e32 v44, s47860; SI-NEXT: v_cvt_f32_f16_e32 v4, s97861; SI-NEXT: v_cvt_f32_f16_e32 v6, s67862; SI-NEXT: v_cvt_f32_f16_e32 v8, s77863; SI-NEXT: v_cvt_f32_f16_e32 v10, s87864; SI-NEXT: v_cvt_f32_f16_e32 v12, s107865; SI-NEXT: v_cvt_f32_f16_e32 v13, s117866; SI-NEXT: v_cvt_f32_f16_e32 v15, s127867; SI-NEXT: v_cvt_f32_f16_e32 v17, s137868; SI-NEXT: v_cvt_f32_f16_e32 v19, s147869; SI-NEXT: v_cvt_f32_f16_e32 v21, s157870; SI-NEXT: v_cvt_f32_f16_e32 v23, s167871; SI-NEXT: v_cvt_f32_f16_e32 v25, s177872; SI-NEXT: v_cvt_f32_f16_e32 v27, s187873; SI-NEXT: v_cvt_f32_f16_e32 v29, s197874; SI-NEXT: v_cvt_f32_f16_e32 v30, s207875; SI-NEXT: v_cvt_f32_f16_e32 v32, s217876; SI-NEXT: v_cvt_f32_f16_e32 v34, s227877; SI-NEXT: v_cvt_f32_f16_e32 v36, s297878; SI-NEXT: v_cvt_f32_f16_e32 v38, s287879; SI-NEXT: v_cvt_f32_f16_e32 v48, s277880; SI-NEXT: v_cvt_f32_f16_e32 v50, s267881; SI-NEXT: v_cvt_f32_f16_e32 v52, s257882; SI-NEXT: v_cvt_f32_f16_e32 v53, s247883; SI-NEXT: v_cvt_f32_f16_e32 v55, s237884; SI-NEXT: v_cvt_f32_f16_e32 v41, s417885; SI-NEXT: v_cvt_f32_f16_e32 v43, s407886; SI-NEXT: s_cbranch_execnz .LBB17_37887; SI-NEXT: .LBB17_2: ; %cmp.true7888; SI-NEXT: s_add_i32 s40, s40, 37889; SI-NEXT: s_add_i32 s41, s41, 37890; SI-NEXT: s_add_i32 s23, s23, 37891; SI-NEXT: s_add_i32 s24, s24, 37892; SI-NEXT: s_add_i32 s25, s25, 37893; SI-NEXT: s_add_i32 s26, s26, 37894; SI-NEXT: s_add_i32 s27, s27, 37895; SI-NEXT: s_add_i32 s28, s28, 37896; SI-NEXT: s_add_i32 s29, s29, 37897; SI-NEXT: s_add_i32 s22, s22, 37898; SI-NEXT: s_add_i32 s21, s21, 37899; SI-NEXT: s_add_i32 s20, s20, 37900; SI-NEXT: s_add_i32 s19, s19, 37901; SI-NEXT: s_add_i32 s18, s18, 37902; SI-NEXT: s_add_i32 s17, s17, 37903; SI-NEXT: s_add_i32 s16, s16, 37904; SI-NEXT: s_add_i32 s15, s15, 37905; SI-NEXT: s_add_i32 s14, s14, 37906; SI-NEXT: s_add_i32 s13, s13, 37907; SI-NEXT: s_add_i32 s12, s12, 37908; SI-NEXT: s_add_i32 s11, s11, 37909; SI-NEXT: s_add_i32 s10, s10, 37910; SI-NEXT: s_add_i32 s8, s8, 37911; SI-NEXT: s_add_i32 s7, s7, 37912; SI-NEXT: s_add_i32 s6, s6, 37913; SI-NEXT: s_add_i32 s9, s9, 37914; SI-NEXT: s_lshr_b32 s4, s40, 167915; SI-NEXT: s_lshr_b32 s5, s41, 167916; SI-NEXT: s_lshr_b32 s42, s23, 167917; SI-NEXT: s_lshr_b32 s43, s24, 167918; SI-NEXT: s_lshr_b32 s44, s25, 167919; SI-NEXT: s_lshr_b32 s45, s26, 167920; SI-NEXT: s_lshr_b32 s46, s27, 167921; SI-NEXT: s_lshr_b32 s47, s28, 167922; SI-NEXT: s_lshr_b32 s56, s29, 167923; SI-NEXT: s_lshr_b32 s57, s22, 167924; SI-NEXT: s_lshr_b32 s58, s21, 167925; SI-NEXT: s_lshr_b32 s59, s20, 167926; SI-NEXT: s_lshr_b32 s60, s19, 167927; SI-NEXT: s_lshr_b32 s61, s18, 167928; SI-NEXT: s_lshr_b32 s62, s17, 167929; SI-NEXT: s_lshr_b32 s63, s16, 167930; SI-NEXT: s_lshr_b32 s72, s15, 167931; SI-NEXT: s_lshr_b32 s73, s14, 167932; SI-NEXT: s_lshr_b32 s74, s13, 167933; SI-NEXT: s_lshr_b32 s75, s12, 167934; SI-NEXT: s_lshr_b32 s76, s11, 167935; SI-NEXT: s_lshr_b32 s77, s10, 167936; SI-NEXT: s_lshr_b32 s78, s8, 167937; SI-NEXT: s_lshr_b32 s79, s7, 167938; SI-NEXT: s_lshr_b32 s88, s6, 167939; SI-NEXT: s_lshr_b32 s89, s9, 167940; SI-NEXT: v_cvt_f32_f16_e32 v4, s97941; SI-NEXT: v_cvt_f32_f16_e32 v6, s67942; SI-NEXT: v_cvt_f32_f16_e32 v8, s77943; SI-NEXT: v_cvt_f32_f16_e32 v10, s87944; SI-NEXT: v_cvt_f32_f16_e32 v12, s107945; SI-NEXT: v_cvt_f32_f16_e32 v13, s117946; SI-NEXT: v_cvt_f32_f16_e32 v15, s127947; SI-NEXT: v_cvt_f32_f16_e32 v17, s137948; SI-NEXT: v_cvt_f32_f16_e32 v19, s147949; SI-NEXT: v_cvt_f32_f16_e32 v21, s157950; SI-NEXT: v_cvt_f32_f16_e32 v23, s167951; SI-NEXT: v_cvt_f32_f16_e32 v25, s177952; SI-NEXT: v_cvt_f32_f16_e32 v27, s187953; SI-NEXT: v_cvt_f32_f16_e32 v29, s197954; SI-NEXT: v_cvt_f32_f16_e32 v30, s207955; SI-NEXT: v_cvt_f32_f16_e32 v32, s217956; SI-NEXT: v_cvt_f32_f16_e32 v34, s227957; SI-NEXT: v_cvt_f32_f16_e32 v36, s297958; SI-NEXT: v_cvt_f32_f16_e32 v38, s287959; SI-NEXT: v_cvt_f32_f16_e32 v48, s277960; SI-NEXT: v_cvt_f32_f16_e32 v50, s267961; SI-NEXT: v_cvt_f32_f16_e32 v52, s257962; SI-NEXT: v_cvt_f32_f16_e32 v53, s247963; SI-NEXT: v_cvt_f32_f16_e32 v55, s237964; SI-NEXT: s_waitcnt expcnt(3)7965; SI-NEXT: v_cvt_f32_f16_e32 v41, s417966; SI-NEXT: s_waitcnt expcnt(1)7967; SI-NEXT: v_cvt_f32_f16_e32 v43, s407968; SI-NEXT: v_cvt_f32_f16_e32 v1, s897969; SI-NEXT: v_cvt_f32_f16_e32 v2, s887970; SI-NEXT: v_cvt_f32_f16_e32 v3, s797971; SI-NEXT: v_cvt_f32_f16_e32 v5, s787972; SI-NEXT: v_cvt_f32_f16_e32 v7, s777973; SI-NEXT: v_cvt_f32_f16_e32 v9, s767974; SI-NEXT: v_cvt_f32_f16_e32 v11, s757975; SI-NEXT: v_cvt_f32_f16_e32 v14, s747976; SI-NEXT: v_cvt_f32_f16_e32 v16, s737977; SI-NEXT: v_cvt_f32_f16_e32 v18, s727978; SI-NEXT: v_cvt_f32_f16_e32 v20, s637979; SI-NEXT: v_cvt_f32_f16_e32 v22, s627980; SI-NEXT: v_cvt_f32_f16_e32 v24, s617981; SI-NEXT: v_cvt_f32_f16_e32 v26, s607982; SI-NEXT: v_cvt_f32_f16_e32 v28, s597983; SI-NEXT: v_cvt_f32_f16_e32 v31, s587984; SI-NEXT: v_cvt_f32_f16_e32 v33, s577985; SI-NEXT: v_cvt_f32_f16_e32 v35, s567986; SI-NEXT: v_cvt_f32_f16_e32 v37, s477987; SI-NEXT: v_cvt_f32_f16_e32 v39, s467988; SI-NEXT: v_cvt_f32_f16_e32 v49, s457989; SI-NEXT: v_cvt_f32_f16_e32 v51, s447990; SI-NEXT: v_cvt_f32_f16_e32 v54, s437991; SI-NEXT: v_cvt_f32_f16_e32 v40, s427992; SI-NEXT: v_cvt_f32_f16_e32 v42, s57993; SI-NEXT: s_waitcnt expcnt(0)7994; SI-NEXT: v_cvt_f32_f16_e32 v44, s47995; SI-NEXT: .LBB17_3: ; %end7996; SI-NEXT: s_waitcnt expcnt(0)7997; SI-NEXT: v_cvt_f16_f32_e32 v44, v447998; SI-NEXT: v_cvt_f16_f32_e32 v43, v437999; SI-NEXT: v_cvt_f16_f32_e32 v42, v428000; SI-NEXT: v_cvt_f16_f32_e32 v41, v418001; SI-NEXT: v_cvt_f16_f32_e32 v40, v408002; SI-NEXT: v_cvt_f16_f32_e32 v55, v558003; SI-NEXT: v_cvt_f16_f32_e32 v54, v548004; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v448005; SI-NEXT: v_cvt_f16_f32_e32 v53, v538006; SI-NEXT: v_cvt_f16_f32_e32 v51, v518007; SI-NEXT: v_or_b32_e32 v43, v43, v448008; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v428009; SI-NEXT: v_cvt_f16_f32_e32 v52, v528010; SI-NEXT: v_cvt_f16_f32_e32 v49, v498011; SI-NEXT: buffer_store_dword v43, v0, s[0:3], 0 offen8012; SI-NEXT: s_waitcnt expcnt(0)8013; SI-NEXT: v_add_i32_e32 v43, vcc, 4, v08014; SI-NEXT: v_or_b32_e32 v41, v41, v428015; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v408016; SI-NEXT: v_cvt_f16_f32_e32 v50, v508017; SI-NEXT: v_cvt_f16_f32_e32 v39, v398018; SI-NEXT: buffer_store_dword v41, v43, s[0:3], 0 offen8019; SI-NEXT: s_waitcnt expcnt(0)8020; SI-NEXT: v_add_i32_e32 v41, vcc, 8, v08021; SI-NEXT: v_or_b32_e32 v55, v55, v408022; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v548023; SI-NEXT: v_cvt_f16_f32_e32 v48, v488024; SI-NEXT: v_cvt_f16_f32_e32 v37, v378025; SI-NEXT: buffer_store_dword v55, v41, s[0:3], 0 offen8026; SI-NEXT: s_waitcnt expcnt(0)8027; SI-NEXT: v_add_i32_e32 v55, vcc, 12, v08028; SI-NEXT: v_or_b32_e32 v53, v53, v548029; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v518030; SI-NEXT: v_cvt_f16_f32_e32 v38, v388031; SI-NEXT: v_cvt_f16_f32_e32 v35, v358032; SI-NEXT: buffer_store_dword v53, v55, s[0:3], 0 offen8033; SI-NEXT: s_waitcnt expcnt(0)8034; SI-NEXT: v_add_i32_e32 v53, vcc, 16, v08035; SI-NEXT: v_or_b32_e32 v51, v52, v518036; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v498037; SI-NEXT: v_cvt_f16_f32_e32 v36, v368038; SI-NEXT: v_cvt_f16_f32_e32 v33, v338039; SI-NEXT: buffer_store_dword v51, v53, s[0:3], 0 offen8040; SI-NEXT: s_waitcnt expcnt(0)8041; SI-NEXT: v_add_i32_e32 v51, vcc, 20, v08042; SI-NEXT: v_or_b32_e32 v49, v50, v498043; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v398044; SI-NEXT: v_cvt_f16_f32_e32 v34, v348045; SI-NEXT: v_cvt_f16_f32_e32 v31, v318046; SI-NEXT: buffer_store_dword v49, v51, s[0:3], 0 offen8047; SI-NEXT: s_waitcnt expcnt(0)8048; SI-NEXT: v_add_i32_e32 v49, vcc, 24, v08049; SI-NEXT: v_or_b32_e32 v39, v48, v398050; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v378051; SI-NEXT: v_cvt_f16_f32_e32 v32, v328052; SI-NEXT: v_cvt_f16_f32_e32 v28, v288053; SI-NEXT: buffer_store_dword v39, v49, s[0:3], 0 offen8054; SI-NEXT: s_waitcnt expcnt(0)8055; SI-NEXT: v_add_i32_e32 v39, vcc, 28, v08056; SI-NEXT: v_or_b32_e32 v37, v38, v378057; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v358058; SI-NEXT: v_cvt_f16_f32_e32 v30, v308059; SI-NEXT: buffer_store_dword v37, v39, s[0:3], 0 offen8060; SI-NEXT: s_waitcnt expcnt(0)8061; SI-NEXT: v_add_i32_e32 v37, vcc, 32, v08062; SI-NEXT: v_or_b32_e32 v35, v36, v358063; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v338064; SI-NEXT: buffer_store_dword v35, v37, s[0:3], 0 offen8065; SI-NEXT: s_waitcnt expcnt(0)8066; SI-NEXT: v_add_i32_e32 v35, vcc, 36, v08067; SI-NEXT: v_or_b32_e32 v33, v34, v338068; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v318069; SI-NEXT: buffer_store_dword v33, v35, s[0:3], 0 offen8070; SI-NEXT: s_waitcnt expcnt(0)8071; SI-NEXT: v_add_i32_e32 v33, vcc, 40, v08072; SI-NEXT: v_or_b32_e32 v31, v32, v318073; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v288074; SI-NEXT: buffer_store_dword v31, v33, s[0:3], 0 offen8075; SI-NEXT: s_waitcnt expcnt(0)8076; SI-NEXT: v_add_i32_e32 v31, vcc, 44, v08077; SI-NEXT: v_or_b32_e32 v28, v30, v288078; SI-NEXT: v_cvt_f16_f32_e32 v26, v268079; SI-NEXT: buffer_store_dword v28, v31, s[0:3], 0 offen8080; SI-NEXT: s_waitcnt expcnt(0)8081; SI-NEXT: v_cvt_f16_f32_e32 v28, v298082; SI-NEXT: v_add_i32_e32 v29, vcc, 48, v08083; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v268084; SI-NEXT: v_or_b32_e32 v26, v28, v268085; SI-NEXT: v_cvt_f16_f32_e32 v24, v248086; SI-NEXT: buffer_store_dword v26, v29, s[0:3], 0 offen8087; SI-NEXT: s_waitcnt expcnt(0)8088; SI-NEXT: v_cvt_f16_f32_e32 v26, v278089; SI-NEXT: v_add_i32_e32 v27, vcc, 52, v08090; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v248091; SI-NEXT: v_or_b32_e32 v24, v26, v248092; SI-NEXT: v_cvt_f16_f32_e32 v22, v228093; SI-NEXT: buffer_store_dword v24, v27, s[0:3], 0 offen8094; SI-NEXT: s_waitcnt expcnt(0)8095; SI-NEXT: v_cvt_f16_f32_e32 v24, v258096; SI-NEXT: v_add_i32_e32 v25, vcc, 56, v08097; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v228098; SI-NEXT: v_or_b32_e32 v22, v24, v228099; SI-NEXT: v_cvt_f16_f32_e32 v20, v208100; SI-NEXT: buffer_store_dword v22, v25, s[0:3], 0 offen8101; SI-NEXT: s_waitcnt expcnt(0)8102; SI-NEXT: v_cvt_f16_f32_e32 v22, v238103; SI-NEXT: v_add_i32_e32 v23, vcc, 60, v08104; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v208105; SI-NEXT: v_or_b32_e32 v20, v22, v208106; SI-NEXT: v_cvt_f16_f32_e32 v18, v188107; SI-NEXT: buffer_store_dword v20, v23, s[0:3], 0 offen8108; SI-NEXT: s_waitcnt expcnt(0)8109; SI-NEXT: v_cvt_f16_f32_e32 v20, v218110; SI-NEXT: v_add_i32_e32 v21, vcc, 64, v08111; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v188112; SI-NEXT: v_or_b32_e32 v18, v20, v188113; SI-NEXT: v_cvt_f16_f32_e32 v16, v168114; SI-NEXT: buffer_store_dword v18, v21, s[0:3], 0 offen8115; SI-NEXT: s_waitcnt expcnt(0)8116; SI-NEXT: v_cvt_f16_f32_e32 v18, v198117; SI-NEXT: v_add_i32_e32 v19, vcc, 0x44, v08118; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v168119; SI-NEXT: v_or_b32_e32 v16, v18, v168120; SI-NEXT: v_cvt_f16_f32_e32 v14, v148121; SI-NEXT: buffer_store_dword v16, v19, s[0:3], 0 offen8122; SI-NEXT: s_waitcnt expcnt(0)8123; SI-NEXT: v_cvt_f16_f32_e32 v16, v178124; SI-NEXT: v_add_i32_e32 v17, vcc, 0x48, v08125; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v148126; SI-NEXT: v_or_b32_e32 v14, v16, v148127; SI-NEXT: v_cvt_f16_f32_e32 v11, v118128; SI-NEXT: buffer_store_dword v14, v17, s[0:3], 0 offen8129; SI-NEXT: s_waitcnt expcnt(0)8130; SI-NEXT: v_cvt_f16_f32_e32 v14, v158131; SI-NEXT: v_add_i32_e32 v15, vcc, 0x4c, v08132; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v118133; SI-NEXT: v_or_b32_e32 v11, v14, v118134; SI-NEXT: v_cvt_f16_f32_e32 v9, v98135; SI-NEXT: buffer_store_dword v11, v15, s[0:3], 0 offen8136; SI-NEXT: s_waitcnt expcnt(0)8137; SI-NEXT: v_cvt_f16_f32_e32 v11, v138138; SI-NEXT: v_add_i32_e32 v13, vcc, 0x50, v08139; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v98140; SI-NEXT: v_or_b32_e32 v9, v11, v98141; SI-NEXT: v_cvt_f16_f32_e32 v7, v78142; SI-NEXT: buffer_store_dword v9, v13, s[0:3], 0 offen8143; SI-NEXT: s_waitcnt expcnt(0)8144; SI-NEXT: v_cvt_f16_f32_e32 v9, v128145; SI-NEXT: v_add_i32_e32 v11, vcc, 0x54, v08146; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v78147; SI-NEXT: v_or_b32_e32 v7, v9, v78148; SI-NEXT: v_cvt_f16_f32_e32 v5, v58149; SI-NEXT: buffer_store_dword v7, v11, s[0:3], 0 offen8150; SI-NEXT: s_waitcnt expcnt(0)8151; SI-NEXT: v_cvt_f16_f32_e32 v7, v108152; SI-NEXT: v_add_i32_e32 v9, vcc, 0x58, v08153; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v58154; SI-NEXT: v_or_b32_e32 v5, v7, v58155; SI-NEXT: v_cvt_f16_f32_e32 v3, v38156; SI-NEXT: buffer_store_dword v5, v9, s[0:3], 0 offen8157; SI-NEXT: s_waitcnt expcnt(0)8158; SI-NEXT: v_cvt_f16_f32_e32 v5, v88159; SI-NEXT: v_add_i32_e32 v7, vcc, 0x5c, v08160; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v38161; SI-NEXT: v_or_b32_e32 v3, v5, v38162; SI-NEXT: v_cvt_f16_f32_e32 v2, v28163; SI-NEXT: buffer_store_dword v3, v7, s[0:3], 0 offen8164; SI-NEXT: s_waitcnt expcnt(0)8165; SI-NEXT: v_cvt_f16_f32_e32 v3, v68166; SI-NEXT: v_add_i32_e32 v5, vcc, 0x60, v08167; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v28168; SI-NEXT: v_or_b32_e32 v2, v3, v28169; SI-NEXT: v_cvt_f16_f32_e32 v1, v18170; SI-NEXT: buffer_store_dword v2, v5, s[0:3], 0 offen8171; SI-NEXT: s_waitcnt expcnt(0)8172; SI-NEXT: v_cvt_f16_f32_e32 v2, v48173; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v08174; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v18175; SI-NEXT: v_or_b32_e32 v1, v2, v18176; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen8177; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 ; 4-byte Folded Reload8178; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload8179; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload8180; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload8181; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload8182; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)8183; SI-NEXT: s_setpc_b64 s[30:31]8184; SI-NEXT: .LBB17_4:8185; SI-NEXT: ; implicit-def: $vgpr438186; SI-NEXT: ; implicit-def: $vgpr448187; SI-NEXT: ; implicit-def: $vgpr418188; SI-NEXT: ; implicit-def: $vgpr428189; SI-NEXT: ; implicit-def: $vgpr558190; SI-NEXT: ; implicit-def: $vgpr408191; SI-NEXT: ; implicit-def: $vgpr538192; SI-NEXT: ; implicit-def: $vgpr548193; SI-NEXT: ; implicit-def: $vgpr528194; SI-NEXT: ; implicit-def: $vgpr518195; SI-NEXT: ; implicit-def: $vgpr508196; SI-NEXT: ; implicit-def: $vgpr498197; SI-NEXT: ; implicit-def: $vgpr488198; SI-NEXT: ; implicit-def: $vgpr398199; SI-NEXT: ; implicit-def: $vgpr388200; SI-NEXT: ; implicit-def: $vgpr378201; SI-NEXT: ; implicit-def: $vgpr368202; SI-NEXT: ; implicit-def: $vgpr358203; SI-NEXT: ; implicit-def: $vgpr348204; SI-NEXT: ; implicit-def: $vgpr338205; SI-NEXT: ; implicit-def: $vgpr328206; SI-NEXT: ; implicit-def: $vgpr318207; SI-NEXT: ; implicit-def: $vgpr308208; SI-NEXT: ; implicit-def: $vgpr288209; SI-NEXT: ; implicit-def: $vgpr298210; SI-NEXT: ; implicit-def: $vgpr268211; SI-NEXT: ; implicit-def: $vgpr278212; SI-NEXT: ; implicit-def: $vgpr248213; SI-NEXT: ; implicit-def: $vgpr258214; SI-NEXT: ; implicit-def: $vgpr228215; SI-NEXT: ; implicit-def: $vgpr238216; SI-NEXT: ; implicit-def: $vgpr208217; SI-NEXT: ; implicit-def: $vgpr218218; SI-NEXT: ; implicit-def: $vgpr188219; SI-NEXT: ; implicit-def: $vgpr198220; SI-NEXT: ; implicit-def: $vgpr168221; SI-NEXT: ; implicit-def: $vgpr178222; SI-NEXT: ; implicit-def: $vgpr148223; SI-NEXT: ; implicit-def: $vgpr158224; SI-NEXT: ; implicit-def: $vgpr118225; SI-NEXT: ; implicit-def: $vgpr138226; SI-NEXT: ; implicit-def: $vgpr98227; SI-NEXT: ; implicit-def: $vgpr128228; SI-NEXT: ; implicit-def: $vgpr78229; SI-NEXT: ; implicit-def: $vgpr108230; SI-NEXT: ; implicit-def: $vgpr58231; SI-NEXT: ; implicit-def: $vgpr88232; SI-NEXT: ; implicit-def: $vgpr38233; SI-NEXT: ; implicit-def: $vgpr68234; SI-NEXT: ; implicit-def: $vgpr28235; SI-NEXT: ; implicit-def: $vgpr48236; SI-NEXT: ; implicit-def: $vgpr18237; SI-NEXT: s_branch .LBB17_28238;8239; VI-LABEL: bitcast_v26i32_to_v52f16_scalar:8240; VI: ; %bb.0:8241; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8242; VI-NEXT: v_mov_b32_e32 v13, s168243; VI-NEXT: v_mov_b32_e32 v14, s178244; VI-NEXT: v_mov_b32_e32 v15, s188245; VI-NEXT: v_mov_b32_e32 v16, s198246; VI-NEXT: v_mov_b32_e32 v17, s208247; VI-NEXT: v_mov_b32_e32 v18, s218248; VI-NEXT: v_mov_b32_e32 v19, s228249; VI-NEXT: v_readfirstlane_b32 s44, v138250; VI-NEXT: v_mov_b32_e32 v13, s238251; VI-NEXT: v_readfirstlane_b32 s43, v148252; VI-NEXT: v_mov_b32_e32 v14, s248253; VI-NEXT: v_readfirstlane_b32 s42, v158254; VI-NEXT: v_mov_b32_e32 v15, s258255; VI-NEXT: v_readfirstlane_b32 s41, v168256; VI-NEXT: v_mov_b32_e32 v16, s268257; VI-NEXT: v_readfirstlane_b32 s40, v178258; VI-NEXT: v_mov_b32_e32 v17, s278259; VI-NEXT: v_readfirstlane_b32 s26, v188260; VI-NEXT: v_mov_b32_e32 v18, s288261; VI-NEXT: v_readfirstlane_b32 s25, v198262; VI-NEXT: v_mov_b32_e32 v19, s298263; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v128264; VI-NEXT: v_readfirstlane_b32 s24, v138265; VI-NEXT: v_readfirstlane_b32 s23, v148266; VI-NEXT: v_readfirstlane_b32 s22, v158267; VI-NEXT: v_readfirstlane_b32 s21, v168268; VI-NEXT: v_readfirstlane_b32 s20, v178269; VI-NEXT: v_readfirstlane_b32 s19, v188270; VI-NEXT: v_readfirstlane_b32 s18, v198271; VI-NEXT: v_readfirstlane_b32 s17, v08272; VI-NEXT: v_readfirstlane_b32 s16, v18273; VI-NEXT: v_readfirstlane_b32 s15, v28274; VI-NEXT: v_readfirstlane_b32 s14, v38275; VI-NEXT: v_readfirstlane_b32 s13, v48276; VI-NEXT: v_readfirstlane_b32 s12, v58277; VI-NEXT: v_readfirstlane_b32 s11, v68278; VI-NEXT: v_readfirstlane_b32 s10, v78279; VI-NEXT: v_readfirstlane_b32 s9, v88280; VI-NEXT: v_readfirstlane_b32 s8, v98281; VI-NEXT: v_readfirstlane_b32 s6, v108282; VI-NEXT: s_and_b64 s[4:5], vcc, exec8283; VI-NEXT: v_readfirstlane_b32 s7, v118284; VI-NEXT: s_cbranch_scc0 .LBB17_48285; VI-NEXT: ; %bb.1: ; %cmp.false8286; VI-NEXT: s_lshr_b32 s27, s7, 168287; VI-NEXT: s_lshr_b32 s28, s6, 168288; VI-NEXT: s_lshr_b32 s29, s8, 168289; VI-NEXT: s_lshr_b32 s45, s9, 168290; VI-NEXT: s_lshr_b32 s46, s10, 168291; VI-NEXT: s_lshr_b32 s47, s11, 168292; VI-NEXT: s_lshr_b32 s56, s12, 168293; VI-NEXT: s_lshr_b32 s57, s13, 168294; VI-NEXT: s_lshr_b32 s58, s14, 168295; VI-NEXT: s_lshr_b32 s59, s15, 168296; VI-NEXT: s_lshr_b32 s60, s16, 168297; VI-NEXT: s_lshr_b32 s61, s17, 168298; VI-NEXT: s_lshr_b32 s62, s18, 168299; VI-NEXT: s_lshr_b32 s63, s19, 168300; VI-NEXT: s_lshr_b32 s72, s20, 168301; VI-NEXT: s_lshr_b32 s73, s21, 168302; VI-NEXT: s_lshr_b32 s74, s22, 168303; VI-NEXT: s_lshr_b32 s75, s23, 168304; VI-NEXT: s_lshr_b32 s76, s24, 168305; VI-NEXT: s_lshr_b32 s77, s25, 168306; VI-NEXT: s_lshr_b32 s78, s26, 168307; VI-NEXT: s_lshr_b32 s79, s40, 168308; VI-NEXT: s_lshr_b32 s88, s41, 168309; VI-NEXT: s_lshr_b32 s89, s42, 168310; VI-NEXT: s_lshr_b32 s90, s43, 168311; VI-NEXT: s_lshr_b32 s91, s44, 168312; VI-NEXT: s_cbranch_execnz .LBB17_38313; VI-NEXT: .LBB17_2: ; %cmp.true8314; VI-NEXT: s_add_i32 s7, s7, 38315; VI-NEXT: s_add_i32 s6, s6, 38316; VI-NEXT: s_add_i32 s8, s8, 38317; VI-NEXT: s_add_i32 s9, s9, 38318; VI-NEXT: s_add_i32 s10, s10, 38319; VI-NEXT: s_add_i32 s11, s11, 38320; VI-NEXT: s_add_i32 s12, s12, 38321; VI-NEXT: s_add_i32 s13, s13, 38322; VI-NEXT: s_add_i32 s14, s14, 38323; VI-NEXT: s_add_i32 s15, s15, 38324; VI-NEXT: s_add_i32 s16, s16, 38325; VI-NEXT: s_add_i32 s17, s17, 38326; VI-NEXT: s_add_i32 s18, s18, 38327; VI-NEXT: s_add_i32 s19, s19, 38328; VI-NEXT: s_add_i32 s20, s20, 38329; VI-NEXT: s_add_i32 s21, s21, 38330; VI-NEXT: s_add_i32 s22, s22, 38331; VI-NEXT: s_add_i32 s23, s23, 38332; VI-NEXT: s_add_i32 s24, s24, 38333; VI-NEXT: s_add_i32 s25, s25, 38334; VI-NEXT: s_add_i32 s26, s26, 38335; VI-NEXT: s_add_i32 s40, s40, 38336; VI-NEXT: s_add_i32 s41, s41, 38337; VI-NEXT: s_add_i32 s42, s42, 38338; VI-NEXT: s_add_i32 s43, s43, 38339; VI-NEXT: s_add_i32 s44, s44, 38340; VI-NEXT: s_lshr_b32 s27, s7, 168341; VI-NEXT: s_lshr_b32 s28, s6, 168342; VI-NEXT: s_lshr_b32 s29, s8, 168343; VI-NEXT: s_lshr_b32 s45, s9, 168344; VI-NEXT: s_lshr_b32 s46, s10, 168345; VI-NEXT: s_lshr_b32 s47, s11, 168346; VI-NEXT: s_lshr_b32 s56, s12, 168347; VI-NEXT: s_lshr_b32 s57, s13, 168348; VI-NEXT: s_lshr_b32 s58, s14, 168349; VI-NEXT: s_lshr_b32 s59, s15, 168350; VI-NEXT: s_lshr_b32 s60, s16, 168351; VI-NEXT: s_lshr_b32 s61, s17, 168352; VI-NEXT: s_lshr_b32 s62, s18, 168353; VI-NEXT: s_lshr_b32 s63, s19, 168354; VI-NEXT: s_lshr_b32 s72, s20, 168355; VI-NEXT: s_lshr_b32 s73, s21, 168356; VI-NEXT: s_lshr_b32 s74, s22, 168357; VI-NEXT: s_lshr_b32 s75, s23, 168358; VI-NEXT: s_lshr_b32 s76, s24, 168359; VI-NEXT: s_lshr_b32 s77, s25, 168360; VI-NEXT: s_lshr_b32 s78, s26, 168361; VI-NEXT: s_lshr_b32 s79, s40, 168362; VI-NEXT: s_lshr_b32 s88, s41, 168363; VI-NEXT: s_lshr_b32 s89, s42, 168364; VI-NEXT: s_lshr_b32 s90, s43, 168365; VI-NEXT: s_lshr_b32 s91, s44, 168366; VI-NEXT: .LBB17_3: ; %end8367; VI-NEXT: s_and_b32 s4, 0xffff, s448368; VI-NEXT: s_lshl_b32 s5, s91, 168369; VI-NEXT: s_or_b32 s4, s4, s58370; VI-NEXT: s_and_b32 s5, 0xffff, s438371; VI-NEXT: s_lshl_b32 s43, s90, 168372; VI-NEXT: s_or_b32 s5, s5, s438373; VI-NEXT: s_and_b32 s42, 0xffff, s428374; VI-NEXT: s_lshl_b32 s43, s89, 168375; VI-NEXT: s_or_b32 s42, s42, s438376; VI-NEXT: s_and_b32 s41, 0xffff, s418377; VI-NEXT: s_lshl_b32 s43, s88, 168378; VI-NEXT: s_or_b32 s41, s41, s438379; VI-NEXT: s_and_b32 s40, 0xffff, s408380; VI-NEXT: s_lshl_b32 s43, s79, 168381; VI-NEXT: s_or_b32 s40, s40, s438382; VI-NEXT: s_and_b32 s26, 0xffff, s268383; VI-NEXT: s_lshl_b32 s43, s78, 168384; VI-NEXT: s_or_b32 s26, s26, s438385; VI-NEXT: s_and_b32 s25, 0xffff, s258386; VI-NEXT: s_lshl_b32 s43, s77, 168387; VI-NEXT: s_or_b32 s25, s25, s438388; VI-NEXT: s_and_b32 s24, 0xffff, s248389; VI-NEXT: s_lshl_b32 s43, s76, 168390; VI-NEXT: s_or_b32 s24, s24, s438391; VI-NEXT: s_and_b32 s23, 0xffff, s238392; VI-NEXT: s_lshl_b32 s43, s75, 168393; VI-NEXT: s_or_b32 s23, s23, s438394; VI-NEXT: s_and_b32 s22, 0xffff, s228395; VI-NEXT: s_lshl_b32 s43, s74, 168396; VI-NEXT: s_or_b32 s22, s22, s438397; VI-NEXT: s_and_b32 s21, 0xffff, s218398; VI-NEXT: s_lshl_b32 s43, s73, 168399; VI-NEXT: s_or_b32 s21, s21, s438400; VI-NEXT: s_and_b32 s20, 0xffff, s208401; VI-NEXT: s_lshl_b32 s43, s72, 168402; VI-NEXT: s_or_b32 s20, s20, s438403; VI-NEXT: s_and_b32 s19, 0xffff, s198404; VI-NEXT: s_lshl_b32 s43, s63, 168405; VI-NEXT: s_or_b32 s19, s19, s438406; VI-NEXT: s_and_b32 s18, 0xffff, s188407; VI-NEXT: s_lshl_b32 s43, s62, 168408; VI-NEXT: s_or_b32 s18, s18, s438409; VI-NEXT: s_and_b32 s17, 0xffff, s178410; VI-NEXT: s_lshl_b32 s43, s61, 168411; VI-NEXT: s_or_b32 s17, s17, s438412; VI-NEXT: s_and_b32 s16, 0xffff, s168413; VI-NEXT: s_lshl_b32 s43, s60, 168414; VI-NEXT: s_or_b32 s16, s16, s438415; VI-NEXT: s_and_b32 s15, 0xffff, s158416; VI-NEXT: s_lshl_b32 s43, s59, 168417; VI-NEXT: s_or_b32 s15, s15, s438418; VI-NEXT: s_and_b32 s14, 0xffff, s148419; VI-NEXT: s_lshl_b32 s43, s58, 168420; VI-NEXT: s_or_b32 s14, s14, s438421; VI-NEXT: s_and_b32 s13, 0xffff, s138422; VI-NEXT: s_lshl_b32 s43, s57, 168423; VI-NEXT: s_or_b32 s13, s13, s438424; VI-NEXT: s_and_b32 s12, 0xffff, s128425; VI-NEXT: s_lshl_b32 s43, s56, 168426; VI-NEXT: s_or_b32 s12, s12, s438427; VI-NEXT: s_and_b32 s11, 0xffff, s118428; VI-NEXT: s_lshl_b32 s43, s47, 168429; VI-NEXT: s_or_b32 s11, s11, s438430; VI-NEXT: s_and_b32 s10, 0xffff, s108431; VI-NEXT: s_lshl_b32 s43, s46, 168432; VI-NEXT: s_or_b32 s10, s10, s438433; VI-NEXT: s_and_b32 s9, 0xffff, s98434; VI-NEXT: s_lshl_b32 s43, s45, 168435; VI-NEXT: s_and_b32 s8, 0xffff, s88436; VI-NEXT: s_lshl_b32 s29, s29, 168437; VI-NEXT: s_and_b32 s6, 0xffff, s68438; VI-NEXT: s_lshl_b32 s28, s28, 168439; VI-NEXT: s_and_b32 s7, 0xffff, s78440; VI-NEXT: s_lshl_b32 s27, s27, 168441; VI-NEXT: s_or_b32 s9, s9, s438442; VI-NEXT: s_or_b32 s8, s8, s298443; VI-NEXT: s_or_b32 s6, s6, s288444; VI-NEXT: s_or_b32 s7, s7, s278445; VI-NEXT: v_mov_b32_e32 v0, s48446; VI-NEXT: v_mov_b32_e32 v1, s58447; VI-NEXT: v_mov_b32_e32 v2, s428448; VI-NEXT: v_mov_b32_e32 v3, s418449; VI-NEXT: v_mov_b32_e32 v4, s408450; VI-NEXT: v_mov_b32_e32 v5, s268451; VI-NEXT: v_mov_b32_e32 v6, s258452; VI-NEXT: v_mov_b32_e32 v7, s248453; VI-NEXT: v_mov_b32_e32 v8, s238454; VI-NEXT: v_mov_b32_e32 v9, s228455; VI-NEXT: v_mov_b32_e32 v10, s218456; VI-NEXT: v_mov_b32_e32 v11, s208457; VI-NEXT: v_mov_b32_e32 v12, s198458; VI-NEXT: v_mov_b32_e32 v13, s188459; VI-NEXT: v_mov_b32_e32 v14, s178460; VI-NEXT: v_mov_b32_e32 v15, s168461; VI-NEXT: v_mov_b32_e32 v16, s158462; VI-NEXT: v_mov_b32_e32 v17, s148463; VI-NEXT: v_mov_b32_e32 v18, s138464; VI-NEXT: v_mov_b32_e32 v19, s128465; VI-NEXT: v_mov_b32_e32 v20, s118466; VI-NEXT: v_mov_b32_e32 v21, s108467; VI-NEXT: v_mov_b32_e32 v22, s98468; VI-NEXT: v_mov_b32_e32 v23, s88469; VI-NEXT: v_mov_b32_e32 v24, s68470; VI-NEXT: v_mov_b32_e32 v25, s78471; VI-NEXT: s_setpc_b64 s[30:31]8472; VI-NEXT: .LBB17_4:8473; VI-NEXT: ; implicit-def: $sgpr918474; VI-NEXT: ; implicit-def: $sgpr908475; VI-NEXT: ; implicit-def: $sgpr898476; VI-NEXT: ; implicit-def: $sgpr888477; VI-NEXT: ; implicit-def: $sgpr798478; VI-NEXT: ; implicit-def: $sgpr788479; VI-NEXT: ; implicit-def: $sgpr778480; VI-NEXT: ; implicit-def: $sgpr768481; VI-NEXT: ; implicit-def: $sgpr758482; VI-NEXT: ; implicit-def: $sgpr748483; VI-NEXT: ; implicit-def: $sgpr738484; VI-NEXT: ; implicit-def: $sgpr728485; VI-NEXT: ; implicit-def: $sgpr638486; VI-NEXT: ; implicit-def: $sgpr628487; VI-NEXT: ; implicit-def: $sgpr618488; VI-NEXT: ; implicit-def: $sgpr608489; VI-NEXT: ; implicit-def: $sgpr598490; VI-NEXT: ; implicit-def: $sgpr588491; VI-NEXT: ; implicit-def: $sgpr578492; VI-NEXT: ; implicit-def: $sgpr568493; VI-NEXT: ; implicit-def: $sgpr478494; VI-NEXT: ; implicit-def: $sgpr468495; VI-NEXT: ; implicit-def: $sgpr458496; VI-NEXT: ; implicit-def: $sgpr298497; VI-NEXT: ; implicit-def: $sgpr288498; VI-NEXT: ; implicit-def: $sgpr278499; VI-NEXT: s_branch .LBB17_28500;8501; GFX9-LABEL: bitcast_v26i32_to_v52f16_scalar:8502; GFX9: ; %bb.0:8503; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8504; GFX9-NEXT: v_mov_b32_e32 v13, s168505; GFX9-NEXT: v_mov_b32_e32 v14, s178506; GFX9-NEXT: v_mov_b32_e32 v15, s188507; GFX9-NEXT: v_mov_b32_e32 v16, s198508; GFX9-NEXT: v_mov_b32_e32 v17, s208509; GFX9-NEXT: v_mov_b32_e32 v18, s218510; GFX9-NEXT: v_mov_b32_e32 v19, s228511; GFX9-NEXT: v_readfirstlane_b32 s6, v138512; GFX9-NEXT: v_mov_b32_e32 v13, s238513; GFX9-NEXT: v_readfirstlane_b32 s7, v148514; GFX9-NEXT: v_mov_b32_e32 v14, s248515; GFX9-NEXT: v_readfirstlane_b32 s8, v158516; GFX9-NEXT: v_mov_b32_e32 v15, s258517; GFX9-NEXT: v_readfirstlane_b32 s9, v168518; GFX9-NEXT: v_mov_b32_e32 v16, s268519; GFX9-NEXT: v_readfirstlane_b32 s10, v178520; GFX9-NEXT: v_mov_b32_e32 v17, s278521; GFX9-NEXT: v_readfirstlane_b32 s11, v188522; GFX9-NEXT: v_mov_b32_e32 v18, s288523; GFX9-NEXT: v_readfirstlane_b32 s12, v198524; GFX9-NEXT: v_mov_b32_e32 v19, s298525; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v128526; GFX9-NEXT: v_readfirstlane_b32 s13, v138527; GFX9-NEXT: v_readfirstlane_b32 s14, v148528; GFX9-NEXT: v_readfirstlane_b32 s15, v158529; GFX9-NEXT: v_readfirstlane_b32 s16, v168530; GFX9-NEXT: v_readfirstlane_b32 s17, v178531; GFX9-NEXT: v_readfirstlane_b32 s18, v188532; GFX9-NEXT: v_readfirstlane_b32 s19, v198533; GFX9-NEXT: v_readfirstlane_b32 s20, v08534; GFX9-NEXT: v_readfirstlane_b32 s21, v18535; GFX9-NEXT: v_readfirstlane_b32 s22, v28536; GFX9-NEXT: v_readfirstlane_b32 s23, v38537; GFX9-NEXT: v_readfirstlane_b32 s24, v48538; GFX9-NEXT: v_readfirstlane_b32 s25, v58539; GFX9-NEXT: v_readfirstlane_b32 s26, v68540; GFX9-NEXT: v_readfirstlane_b32 s27, v78541; GFX9-NEXT: v_readfirstlane_b32 s28, v88542; GFX9-NEXT: v_readfirstlane_b32 s29, v98543; GFX9-NEXT: v_readfirstlane_b32 s40, v108544; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec8545; GFX9-NEXT: v_readfirstlane_b32 s41, v118546; GFX9-NEXT: s_cbranch_scc0 .LBB17_48547; GFX9-NEXT: ; %bb.1: ; %cmp.false8548; GFX9-NEXT: s_lshr_b32 s42, s41, 168549; GFX9-NEXT: s_lshr_b32 s43, s40, 168550; GFX9-NEXT: s_lshr_b32 s44, s29, 168551; GFX9-NEXT: s_lshr_b32 s45, s28, 168552; GFX9-NEXT: s_lshr_b32 s46, s27, 168553; GFX9-NEXT: s_lshr_b32 s47, s26, 168554; GFX9-NEXT: s_lshr_b32 s56, s25, 168555; GFX9-NEXT: s_lshr_b32 s57, s24, 168556; GFX9-NEXT: s_lshr_b32 s58, s23, 168557; GFX9-NEXT: s_lshr_b32 s59, s22, 168558; GFX9-NEXT: s_lshr_b32 s60, s21, 168559; GFX9-NEXT: s_lshr_b32 s61, s20, 168560; GFX9-NEXT: s_lshr_b32 s62, s19, 168561; GFX9-NEXT: s_lshr_b32 s63, s18, 168562; GFX9-NEXT: s_lshr_b32 s72, s17, 168563; GFX9-NEXT: s_lshr_b32 s73, s16, 168564; GFX9-NEXT: s_lshr_b32 s74, s15, 168565; GFX9-NEXT: s_lshr_b32 s75, s14, 168566; GFX9-NEXT: s_lshr_b32 s76, s13, 168567; GFX9-NEXT: s_lshr_b32 s77, s12, 168568; GFX9-NEXT: s_lshr_b32 s78, s11, 168569; GFX9-NEXT: s_lshr_b32 s79, s10, 168570; GFX9-NEXT: s_lshr_b32 s88, s9, 168571; GFX9-NEXT: s_lshr_b32 s89, s8, 168572; GFX9-NEXT: s_lshr_b32 s90, s7, 168573; GFX9-NEXT: s_lshr_b32 s91, s6, 168574; GFX9-NEXT: s_cbranch_execnz .LBB17_38575; GFX9-NEXT: .LBB17_2: ; %cmp.true8576; GFX9-NEXT: s_add_i32 s41, s41, 38577; GFX9-NEXT: s_add_i32 s40, s40, 38578; GFX9-NEXT: s_add_i32 s29, s29, 38579; GFX9-NEXT: s_add_i32 s28, s28, 38580; GFX9-NEXT: s_add_i32 s27, s27, 38581; GFX9-NEXT: s_add_i32 s26, s26, 38582; GFX9-NEXT: s_add_i32 s25, s25, 38583; GFX9-NEXT: s_add_i32 s24, s24, 38584; GFX9-NEXT: s_add_i32 s23, s23, 38585; GFX9-NEXT: s_add_i32 s22, s22, 38586; GFX9-NEXT: s_add_i32 s21, s21, 38587; GFX9-NEXT: s_add_i32 s20, s20, 38588; GFX9-NEXT: s_add_i32 s19, s19, 38589; GFX9-NEXT: s_add_i32 s18, s18, 38590; GFX9-NEXT: s_add_i32 s17, s17, 38591; GFX9-NEXT: s_add_i32 s16, s16, 38592; GFX9-NEXT: s_add_i32 s15, s15, 38593; GFX9-NEXT: s_add_i32 s14, s14, 38594; GFX9-NEXT: s_add_i32 s13, s13, 38595; GFX9-NEXT: s_add_i32 s12, s12, 38596; GFX9-NEXT: s_add_i32 s11, s11, 38597; GFX9-NEXT: s_add_i32 s10, s10, 38598; GFX9-NEXT: s_add_i32 s9, s9, 38599; GFX9-NEXT: s_add_i32 s8, s8, 38600; GFX9-NEXT: s_add_i32 s7, s7, 38601; GFX9-NEXT: s_add_i32 s6, s6, 38602; GFX9-NEXT: s_lshr_b32 s42, s41, 168603; GFX9-NEXT: s_lshr_b32 s43, s40, 168604; GFX9-NEXT: s_lshr_b32 s44, s29, 168605; GFX9-NEXT: s_lshr_b32 s45, s28, 168606; GFX9-NEXT: s_lshr_b32 s46, s27, 168607; GFX9-NEXT: s_lshr_b32 s47, s26, 168608; GFX9-NEXT: s_lshr_b32 s56, s25, 168609; GFX9-NEXT: s_lshr_b32 s57, s24, 168610; GFX9-NEXT: s_lshr_b32 s58, s23, 168611; GFX9-NEXT: s_lshr_b32 s59, s22, 168612; GFX9-NEXT: s_lshr_b32 s60, s21, 168613; GFX9-NEXT: s_lshr_b32 s61, s20, 168614; GFX9-NEXT: s_lshr_b32 s62, s19, 168615; GFX9-NEXT: s_lshr_b32 s63, s18, 168616; GFX9-NEXT: s_lshr_b32 s72, s17, 168617; GFX9-NEXT: s_lshr_b32 s73, s16, 168618; GFX9-NEXT: s_lshr_b32 s74, s15, 168619; GFX9-NEXT: s_lshr_b32 s75, s14, 168620; GFX9-NEXT: s_lshr_b32 s76, s13, 168621; GFX9-NEXT: s_lshr_b32 s77, s12, 168622; GFX9-NEXT: s_lshr_b32 s78, s11, 168623; GFX9-NEXT: s_lshr_b32 s79, s10, 168624; GFX9-NEXT: s_lshr_b32 s88, s9, 168625; GFX9-NEXT: s_lshr_b32 s89, s8, 168626; GFX9-NEXT: s_lshr_b32 s90, s7, 168627; GFX9-NEXT: s_lshr_b32 s91, s6, 168628; GFX9-NEXT: .LBB17_3: ; %end8629; GFX9-NEXT: s_pack_ll_b32_b16 s4, s6, s918630; GFX9-NEXT: s_pack_ll_b32_b16 s5, s7, s908631; GFX9-NEXT: s_pack_ll_b32_b16 s6, s8, s898632; GFX9-NEXT: s_pack_ll_b32_b16 s7, s9, s888633; GFX9-NEXT: s_pack_ll_b32_b16 s8, s10, s798634; GFX9-NEXT: s_pack_ll_b32_b16 s9, s11, s788635; GFX9-NEXT: s_pack_ll_b32_b16 s10, s12, s778636; GFX9-NEXT: s_pack_ll_b32_b16 s11, s13, s768637; GFX9-NEXT: s_pack_ll_b32_b16 s12, s14, s758638; GFX9-NEXT: s_pack_ll_b32_b16 s13, s15, s748639; GFX9-NEXT: s_pack_ll_b32_b16 s14, s16, s738640; GFX9-NEXT: s_pack_ll_b32_b16 s15, s17, s728641; GFX9-NEXT: s_pack_ll_b32_b16 s16, s18, s638642; GFX9-NEXT: s_pack_ll_b32_b16 s17, s19, s628643; GFX9-NEXT: s_pack_ll_b32_b16 s18, s20, s618644; GFX9-NEXT: s_pack_ll_b32_b16 s19, s21, s608645; GFX9-NEXT: s_pack_ll_b32_b16 s20, s22, s598646; GFX9-NEXT: s_pack_ll_b32_b16 s21, s23, s588647; GFX9-NEXT: s_pack_ll_b32_b16 s22, s24, s578648; GFX9-NEXT: s_pack_ll_b32_b16 s23, s25, s568649; GFX9-NEXT: s_pack_ll_b32_b16 s24, s26, s478650; GFX9-NEXT: s_pack_ll_b32_b16 s25, s27, s468651; GFX9-NEXT: s_pack_ll_b32_b16 s26, s28, s458652; GFX9-NEXT: s_pack_ll_b32_b16 s27, s29, s448653; GFX9-NEXT: s_pack_ll_b32_b16 s28, s40, s438654; GFX9-NEXT: s_pack_ll_b32_b16 s29, s41, s428655; GFX9-NEXT: v_mov_b32_e32 v0, s48656; GFX9-NEXT: v_mov_b32_e32 v1, s58657; GFX9-NEXT: v_mov_b32_e32 v2, s68658; GFX9-NEXT: v_mov_b32_e32 v3, s78659; GFX9-NEXT: v_mov_b32_e32 v4, s88660; GFX9-NEXT: v_mov_b32_e32 v5, s98661; GFX9-NEXT: v_mov_b32_e32 v6, s108662; GFX9-NEXT: v_mov_b32_e32 v7, s118663; GFX9-NEXT: v_mov_b32_e32 v8, s128664; GFX9-NEXT: v_mov_b32_e32 v9, s138665; GFX9-NEXT: v_mov_b32_e32 v10, s148666; GFX9-NEXT: v_mov_b32_e32 v11, s158667; GFX9-NEXT: v_mov_b32_e32 v12, s168668; GFX9-NEXT: v_mov_b32_e32 v13, s178669; GFX9-NEXT: v_mov_b32_e32 v14, s188670; GFX9-NEXT: v_mov_b32_e32 v15, s198671; GFX9-NEXT: v_mov_b32_e32 v16, s208672; GFX9-NEXT: v_mov_b32_e32 v17, s218673; GFX9-NEXT: v_mov_b32_e32 v18, s228674; GFX9-NEXT: v_mov_b32_e32 v19, s238675; GFX9-NEXT: v_mov_b32_e32 v20, s248676; GFX9-NEXT: v_mov_b32_e32 v21, s258677; GFX9-NEXT: v_mov_b32_e32 v22, s268678; GFX9-NEXT: v_mov_b32_e32 v23, s278679; GFX9-NEXT: v_mov_b32_e32 v24, s288680; GFX9-NEXT: v_mov_b32_e32 v25, s298681; GFX9-NEXT: s_setpc_b64 s[30:31]8682; GFX9-NEXT: .LBB17_4:8683; GFX9-NEXT: ; implicit-def: $sgpr918684; GFX9-NEXT: ; implicit-def: $sgpr908685; GFX9-NEXT: ; implicit-def: $sgpr898686; GFX9-NEXT: ; implicit-def: $sgpr888687; GFX9-NEXT: ; implicit-def: $sgpr798688; GFX9-NEXT: ; implicit-def: $sgpr788689; GFX9-NEXT: ; implicit-def: $sgpr778690; GFX9-NEXT: ; implicit-def: $sgpr768691; GFX9-NEXT: ; implicit-def: $sgpr758692; GFX9-NEXT: ; implicit-def: $sgpr748693; GFX9-NEXT: ; implicit-def: $sgpr738694; GFX9-NEXT: ; implicit-def: $sgpr728695; GFX9-NEXT: ; implicit-def: $sgpr638696; GFX9-NEXT: ; implicit-def: $sgpr628697; GFX9-NEXT: ; implicit-def: $sgpr618698; GFX9-NEXT: ; implicit-def: $sgpr608699; GFX9-NEXT: ; implicit-def: $sgpr598700; GFX9-NEXT: ; implicit-def: $sgpr588701; GFX9-NEXT: ; implicit-def: $sgpr578702; GFX9-NEXT: ; implicit-def: $sgpr568703; GFX9-NEXT: ; implicit-def: $sgpr478704; GFX9-NEXT: ; implicit-def: $sgpr468705; GFX9-NEXT: ; implicit-def: $sgpr458706; GFX9-NEXT: ; implicit-def: $sgpr448707; GFX9-NEXT: ; implicit-def: $sgpr438708; GFX9-NEXT: ; implicit-def: $sgpr428709; GFX9-NEXT: s_branch .LBB17_28710;8711; GFX11-LABEL: bitcast_v26i32_to_v52f16_scalar:8712; GFX11: ; %bb.0:8713; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8714; GFX11-NEXT: v_dual_mov_b32 v9, s0 :: v_dual_mov_b32 v10, s18715; GFX11-NEXT: v_dual_mov_b32 v11, s2 :: v_dual_mov_b32 v12, s38716; GFX11-NEXT: v_dual_mov_b32 v13, s16 :: v_dual_mov_b32 v14, s178717; GFX11-NEXT: v_dual_mov_b32 v15, s18 :: v_dual_mov_b32 v16, s198718; GFX11-NEXT: v_dual_mov_b32 v17, s20 :: v_dual_mov_b32 v18, s218719; GFX11-NEXT: v_dual_mov_b32 v19, s22 :: v_dual_mov_b32 v20, s238720; GFX11-NEXT: v_dual_mov_b32 v21, s24 :: v_dual_mov_b32 v22, s258721; GFX11-NEXT: v_dual_mov_b32 v23, s26 :: v_dual_mov_b32 v24, s278722; GFX11-NEXT: v_dual_mov_b32 v25, s28 :: v_dual_mov_b32 v26, s298723; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v88724; GFX11-NEXT: v_readfirstlane_b32 s0, v98725; GFX11-NEXT: v_readfirstlane_b32 s1, v108726; GFX11-NEXT: v_readfirstlane_b32 s2, v118727; GFX11-NEXT: v_readfirstlane_b32 s3, v128728; GFX11-NEXT: v_readfirstlane_b32 s4, v138729; GFX11-NEXT: v_readfirstlane_b32 s5, v148730; GFX11-NEXT: v_readfirstlane_b32 s6, v158731; GFX11-NEXT: v_readfirstlane_b32 s7, v168732; GFX11-NEXT: v_readfirstlane_b32 s8, v178733; GFX11-NEXT: v_readfirstlane_b32 s9, v188734; GFX11-NEXT: v_readfirstlane_b32 s10, v198735; GFX11-NEXT: v_readfirstlane_b32 s11, v208736; GFX11-NEXT: v_readfirstlane_b32 s12, v218737; GFX11-NEXT: v_readfirstlane_b32 s13, v228738; GFX11-NEXT: v_readfirstlane_b32 s14, v238739; GFX11-NEXT: v_readfirstlane_b32 s15, v248740; GFX11-NEXT: v_readfirstlane_b32 s16, v258741; GFX11-NEXT: v_readfirstlane_b32 s17, v268742; GFX11-NEXT: v_readfirstlane_b32 s18, v08743; GFX11-NEXT: v_readfirstlane_b32 s19, v18744; GFX11-NEXT: v_readfirstlane_b32 s20, v28745; GFX11-NEXT: v_readfirstlane_b32 s21, v38746; GFX11-NEXT: v_readfirstlane_b32 s22, v48747; GFX11-NEXT: v_readfirstlane_b32 s23, v58748; GFX11-NEXT: v_readfirstlane_b32 s25, v68749; GFX11-NEXT: v_readfirstlane_b32 s24, v78750; GFX11-NEXT: s_mov_b32 s78, 08751; GFX11-NEXT: s_and_b32 s26, vcc_lo, exec_lo8752; GFX11-NEXT: s_cbranch_scc0 .LBB17_48753; GFX11-NEXT: ; %bb.1: ; %cmp.false8754; GFX11-NEXT: s_lshr_b32 s26, s24, 168755; GFX11-NEXT: s_lshr_b32 s27, s25, 168756; GFX11-NEXT: s_lshr_b32 s28, s23, 168757; GFX11-NEXT: s_lshr_b32 s29, s22, 168758; GFX11-NEXT: s_lshr_b32 s40, s21, 168759; GFX11-NEXT: s_lshr_b32 s41, s20, 168760; GFX11-NEXT: s_lshr_b32 s42, s19, 168761; GFX11-NEXT: s_lshr_b32 s43, s18, 168762; GFX11-NEXT: s_lshr_b32 s44, s17, 168763; GFX11-NEXT: s_lshr_b32 s45, s16, 168764; GFX11-NEXT: s_lshr_b32 s46, s15, 168765; GFX11-NEXT: s_lshr_b32 s47, s14, 168766; GFX11-NEXT: s_lshr_b32 s56, s13, 168767; GFX11-NEXT: s_lshr_b32 s57, s12, 168768; GFX11-NEXT: s_lshr_b32 s58, s11, 168769; GFX11-NEXT: s_lshr_b32 s59, s10, 168770; GFX11-NEXT: s_lshr_b32 s60, s9, 168771; GFX11-NEXT: s_lshr_b32 s61, s8, 168772; GFX11-NEXT: s_lshr_b32 s62, s7, 168773; GFX11-NEXT: s_lshr_b32 s63, s6, 168774; GFX11-NEXT: s_lshr_b32 s72, s5, 168775; GFX11-NEXT: s_lshr_b32 s73, s4, 168776; GFX11-NEXT: s_lshr_b32 s74, s3, 168777; GFX11-NEXT: s_lshr_b32 s75, s2, 168778; GFX11-NEXT: s_lshr_b32 s76, s1, 168779; GFX11-NEXT: s_lshr_b32 s77, s0, 168780; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s788781; GFX11-NEXT: s_cbranch_vccnz .LBB17_38782; GFX11-NEXT: .LBB17_2: ; %cmp.true8783; GFX11-NEXT: s_add_i32 s24, s24, 38784; GFX11-NEXT: s_add_i32 s25, s25, 38785; GFX11-NEXT: s_add_i32 s23, s23, 38786; GFX11-NEXT: s_add_i32 s22, s22, 38787; GFX11-NEXT: s_add_i32 s21, s21, 38788; GFX11-NEXT: s_add_i32 s20, s20, 38789; GFX11-NEXT: s_add_i32 s19, s19, 38790; GFX11-NEXT: s_add_i32 s18, s18, 38791; GFX11-NEXT: s_add_i32 s17, s17, 38792; GFX11-NEXT: s_add_i32 s16, s16, 38793; GFX11-NEXT: s_add_i32 s15, s15, 38794; GFX11-NEXT: s_add_i32 s14, s14, 38795; GFX11-NEXT: s_add_i32 s13, s13, 38796; GFX11-NEXT: s_add_i32 s12, s12, 38797; GFX11-NEXT: s_add_i32 s11, s11, 38798; GFX11-NEXT: s_add_i32 s10, s10, 38799; GFX11-NEXT: s_add_i32 s9, s9, 38800; GFX11-NEXT: s_add_i32 s8, s8, 38801; GFX11-NEXT: s_add_i32 s7, s7, 38802; GFX11-NEXT: s_add_i32 s6, s6, 38803; GFX11-NEXT: s_add_i32 s5, s5, 38804; GFX11-NEXT: s_add_i32 s4, s4, 38805; GFX11-NEXT: s_add_i32 s3, s3, 38806; GFX11-NEXT: s_add_i32 s2, s2, 38807; GFX11-NEXT: s_add_i32 s1, s1, 38808; GFX11-NEXT: s_add_i32 s0, s0, 38809; GFX11-NEXT: s_lshr_b32 s26, s24, 168810; GFX11-NEXT: s_lshr_b32 s27, s25, 168811; GFX11-NEXT: s_lshr_b32 s28, s23, 168812; GFX11-NEXT: s_lshr_b32 s29, s22, 168813; GFX11-NEXT: s_lshr_b32 s40, s21, 168814; GFX11-NEXT: s_lshr_b32 s41, s20, 168815; GFX11-NEXT: s_lshr_b32 s42, s19, 168816; GFX11-NEXT: s_lshr_b32 s43, s18, 168817; GFX11-NEXT: s_lshr_b32 s44, s17, 168818; GFX11-NEXT: s_lshr_b32 s45, s16, 168819; GFX11-NEXT: s_lshr_b32 s46, s15, 168820; GFX11-NEXT: s_lshr_b32 s47, s14, 168821; GFX11-NEXT: s_lshr_b32 s56, s13, 168822; GFX11-NEXT: s_lshr_b32 s57, s12, 168823; GFX11-NEXT: s_lshr_b32 s58, s11, 168824; GFX11-NEXT: s_lshr_b32 s59, s10, 168825; GFX11-NEXT: s_lshr_b32 s60, s9, 168826; GFX11-NEXT: s_lshr_b32 s61, s8, 168827; GFX11-NEXT: s_lshr_b32 s62, s7, 168828; GFX11-NEXT: s_lshr_b32 s63, s6, 168829; GFX11-NEXT: s_lshr_b32 s72, s5, 168830; GFX11-NEXT: s_lshr_b32 s73, s4, 168831; GFX11-NEXT: s_lshr_b32 s74, s3, 168832; GFX11-NEXT: s_lshr_b32 s75, s2, 168833; GFX11-NEXT: s_lshr_b32 s76, s1, 168834; GFX11-NEXT: s_lshr_b32 s77, s0, 168835; GFX11-NEXT: .LBB17_3: ; %end8836; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)8837; GFX11-NEXT: s_pack_ll_b32_b16 s0, s0, s778838; GFX11-NEXT: s_pack_ll_b32_b16 s1, s1, s768839; GFX11-NEXT: s_pack_ll_b32_b16 s2, s2, s758840; GFX11-NEXT: s_pack_ll_b32_b16 s3, s3, s748841; GFX11-NEXT: s_pack_ll_b32_b16 s4, s4, s738842; GFX11-NEXT: s_pack_ll_b32_b16 s5, s5, s728843; GFX11-NEXT: s_pack_ll_b32_b16 s6, s6, s638844; GFX11-NEXT: s_pack_ll_b32_b16 s7, s7, s628845; GFX11-NEXT: s_pack_ll_b32_b16 s8, s8, s618846; GFX11-NEXT: s_pack_ll_b32_b16 s9, s9, s608847; GFX11-NEXT: s_pack_ll_b32_b16 s10, s10, s598848; GFX11-NEXT: s_pack_ll_b32_b16 s11, s11, s588849; GFX11-NEXT: s_pack_ll_b32_b16 s12, s12, s578850; GFX11-NEXT: s_pack_ll_b32_b16 s13, s13, s568851; GFX11-NEXT: s_pack_ll_b32_b16 s14, s14, s478852; GFX11-NEXT: s_pack_ll_b32_b16 s15, s15, s468853; GFX11-NEXT: s_pack_ll_b32_b16 s16, s16, s458854; GFX11-NEXT: s_pack_ll_b32_b16 s17, s17, s448855; GFX11-NEXT: s_pack_ll_b32_b16 s18, s18, s438856; GFX11-NEXT: s_pack_ll_b32_b16 s19, s19, s428857; GFX11-NEXT: s_pack_ll_b32_b16 s20, s20, s418858; GFX11-NEXT: s_pack_ll_b32_b16 s21, s21, s408859; GFX11-NEXT: s_pack_ll_b32_b16 s22, s22, s298860; GFX11-NEXT: s_pack_ll_b32_b16 s23, s23, s288861; GFX11-NEXT: s_pack_ll_b32_b16 s25, s25, s278862; GFX11-NEXT: s_pack_ll_b32_b16 s24, s24, s268863; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s18864; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s38865; GFX11-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s58866; GFX11-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s78867; GFX11-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s98868; GFX11-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s118869; GFX11-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s138870; GFX11-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s158871; GFX11-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s178872; GFX11-NEXT: v_dual_mov_b32 v18, s18 :: v_dual_mov_b32 v19, s198873; GFX11-NEXT: v_dual_mov_b32 v20, s20 :: v_dual_mov_b32 v21, s218874; GFX11-NEXT: v_dual_mov_b32 v22, s22 :: v_dual_mov_b32 v23, s238875; GFX11-NEXT: v_dual_mov_b32 v24, s25 :: v_dual_mov_b32 v25, s248876; GFX11-NEXT: s_setpc_b64 s[30:31]8877; GFX11-NEXT: .LBB17_4:8878; GFX11-NEXT: ; implicit-def: $sgpr778879; GFX11-NEXT: ; implicit-def: $sgpr768880; GFX11-NEXT: ; implicit-def: $sgpr758881; GFX11-NEXT: ; implicit-def: $sgpr748882; GFX11-NEXT: ; implicit-def: $sgpr738883; GFX11-NEXT: ; implicit-def: $sgpr728884; GFX11-NEXT: ; implicit-def: $sgpr638885; GFX11-NEXT: ; implicit-def: $sgpr628886; GFX11-NEXT: ; implicit-def: $sgpr618887; GFX11-NEXT: ; implicit-def: $sgpr608888; GFX11-NEXT: ; implicit-def: $sgpr598889; GFX11-NEXT: ; implicit-def: $sgpr588890; GFX11-NEXT: ; implicit-def: $sgpr578891; GFX11-NEXT: ; implicit-def: $sgpr568892; GFX11-NEXT: ; implicit-def: $sgpr478893; GFX11-NEXT: ; implicit-def: $sgpr468894; GFX11-NEXT: ; implicit-def: $sgpr458895; GFX11-NEXT: ; implicit-def: $sgpr448896; GFX11-NEXT: ; implicit-def: $sgpr438897; GFX11-NEXT: ; implicit-def: $sgpr428898; GFX11-NEXT: ; implicit-def: $sgpr418899; GFX11-NEXT: ; implicit-def: $sgpr408900; GFX11-NEXT: ; implicit-def: $sgpr298901; GFX11-NEXT: ; implicit-def: $sgpr288902; GFX11-NEXT: ; implicit-def: $sgpr278903; GFX11-NEXT: ; implicit-def: $sgpr268904; GFX11-NEXT: s_branch .LBB17_28905 %cmp = icmp eq i32 %b, 08906 br i1 %cmp, label %cmp.true, label %cmp.false8907 8908cmp.true:8909 %a1 = add <26 x i32> %a, splat (i32 3)8910 %a2 = bitcast <26 x i32> %a1 to <52 x half>8911 br label %end8912 8913cmp.false:8914 %a3 = bitcast <26 x i32> %a to <52 x half>8915 br label %end8916 8917end:8918 %phi = phi <52 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]8919 ret <52 x half> %phi8920}8921 8922define <26 x i32> @bitcast_v52f16_to_v26i32(<52 x half> %a, i32 %b) {8923; SI-LABEL: bitcast_v52f16_to_v26i32:8924; SI: ; %bb.0:8925; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8926; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill8927; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill8928; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill8929; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill8930; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill8931; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill8932; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill8933; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill8934; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill8935; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill8936; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill8937; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill8938; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill8939; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill8940; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill8941; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill8942; SI-NEXT: v_cvt_f16_f32_e32 v42, v08943; SI-NEXT: v_cvt_f16_f32_e32 v0, v108944; SI-NEXT: buffer_load_dword v31, off, s[0:3], s328945; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:88946; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:48947; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:168948; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:128949; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:248950; SI-NEXT: s_waitcnt expcnt(6)8951; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:208952; SI-NEXT: s_waitcnt expcnt(5)8953; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:328954; SI-NEXT: s_waitcnt expcnt(4)8955; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:288956; SI-NEXT: s_waitcnt expcnt(3)8957; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:408958; SI-NEXT: s_waitcnt expcnt(2)8959; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:368960; SI-NEXT: s_waitcnt expcnt(1)8961; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:488962; SI-NEXT: s_waitcnt expcnt(0)8963; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:448964; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:568965; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:528966; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:648967; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:608968; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:728969; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:688970; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:808971; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:768972; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:848973; SI-NEXT: v_cvt_f16_f32_e32 v43, v18974; SI-NEXT: v_cvt_f16_f32_e32 v41, v38975; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill8976; SI-NEXT: s_waitcnt expcnt(0)8977; SI-NEXT: v_cvt_f16_f32_e32 v0, v138978; SI-NEXT: v_cvt_f16_f32_e32 v40, v28979; SI-NEXT: v_cvt_f16_f32_e32 v55, v58980; SI-NEXT: v_cvt_f16_f32_e32 v54, v48981; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill8982; SI-NEXT: s_waitcnt expcnt(0)8983; SI-NEXT: v_cvt_f16_f32_e32 v0, v128984; SI-NEXT: v_cvt_f16_f32_e32 v53, v78985; SI-NEXT: v_cvt_f16_f32_e32 v52, v68986; SI-NEXT: v_cvt_f16_f32_e32 v51, v98987; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill8988; SI-NEXT: s_waitcnt expcnt(0)8989; SI-NEXT: v_cvt_f16_f32_e32 v0, v158990; SI-NEXT: v_cvt_f16_f32_e32 v50, v88991; SI-NEXT: v_cvt_f16_f32_e32 v49, v118992; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill8993; SI-NEXT: s_waitcnt expcnt(0)8994; SI-NEXT: v_cvt_f16_f32_e32 v0, v148995; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill8996; SI-NEXT: s_waitcnt expcnt(0)8997; SI-NEXT: v_cvt_f16_f32_e32 v0, v178998; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill8999; SI-NEXT: s_waitcnt expcnt(0)9000; SI-NEXT: v_cvt_f16_f32_e32 v0, v169001; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill9002; SI-NEXT: s_waitcnt expcnt(0)9003; SI-NEXT: v_cvt_f16_f32_e32 v0, v199004; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill9005; SI-NEXT: s_waitcnt expcnt(0)9006; SI-NEXT: v_cvt_f16_f32_e32 v0, v189007; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill9008; SI-NEXT: s_waitcnt expcnt(0)9009; SI-NEXT: v_cvt_f16_f32_e32 v0, v219010; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill9011; SI-NEXT: s_waitcnt expcnt(0)9012; SI-NEXT: v_cvt_f16_f32_e32 v0, v209013; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill9014; SI-NEXT: s_waitcnt expcnt(0)9015; SI-NEXT: v_cvt_f16_f32_e32 v0, v239016; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill9017; SI-NEXT: s_waitcnt expcnt(0)9018; SI-NEXT: v_cvt_f16_f32_e32 v0, v229019; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill9020; SI-NEXT: s_waitcnt expcnt(0)9021; SI-NEXT: v_cvt_f16_f32_e32 v0, v259022; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill9023; SI-NEXT: s_waitcnt expcnt(0)9024; SI-NEXT: v_cvt_f16_f32_e32 v0, v249025; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill9026; SI-NEXT: s_waitcnt expcnt(0)9027; SI-NEXT: v_cvt_f16_f32_e32 v0, v279028; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill9029; SI-NEXT: s_waitcnt expcnt(0)9030; SI-NEXT: v_cvt_f16_f32_e32 v0, v269031; SI-NEXT: s_waitcnt vmcnt(14)9032; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v489033; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill9034; SI-NEXT: s_waitcnt expcnt(0)9035; SI-NEXT: v_cvt_f16_f32_e32 v0, v299036; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill9037; SI-NEXT: s_waitcnt expcnt(0)9038; SI-NEXT: v_cvt_f16_f32_e32 v0, v289039; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill9040; SI-NEXT: s_waitcnt expcnt(0)9041; SI-NEXT: v_cvt_f16_f32_e32 v0, v319042; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill9043; SI-NEXT: s_waitcnt expcnt(0)9044; SI-NEXT: v_cvt_f16_f32_e32 v0, v309045; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill9046; SI-NEXT: s_waitcnt expcnt(0)9047; SI-NEXT: v_cvt_f16_f32_e32 v0, v449048; SI-NEXT: v_cvt_f16_f32_e32 v44, v359049; SI-NEXT: v_cvt_f16_f32_e32 v35, v369050; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill9051; SI-NEXT: s_waitcnt expcnt(0)9052; SI-NEXT: v_cvt_f16_f32_e32 v0, v459053; SI-NEXT: v_cvt_f16_f32_e32 v45, v349054; SI-NEXT: v_cvt_f16_f32_e32 v34, v379055; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill9056; SI-NEXT: s_waitcnt expcnt(0)9057; SI-NEXT: v_cvt_f16_f32_e32 v0, v469058; SI-NEXT: v_cvt_f16_f32_e32 v46, v339059; SI-NEXT: v_cvt_f16_f32_e32 v33, v389060; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill9061; SI-NEXT: s_waitcnt expcnt(0)9062; SI-NEXT: v_cvt_f16_f32_e32 v0, v479063; SI-NEXT: v_cvt_f16_f32_e32 v47, v329064; SI-NEXT: v_cvt_f16_f32_e32 v32, v399065; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill9066; SI-NEXT: s_waitcnt expcnt(0)9067; SI-NEXT: v_cvt_f16_f32_e32 v0, v569068; SI-NEXT: v_cvt_f16_f32_e32 v56, v639069; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill9070; SI-NEXT: s_waitcnt expcnt(0)9071; SI-NEXT: v_cvt_f16_f32_e32 v0, v579072; SI-NEXT: v_cvt_f16_f32_e32 v57, v629073; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill9074; SI-NEXT: s_waitcnt expcnt(0)9075; SI-NEXT: v_cvt_f16_f32_e32 v0, v589076; SI-NEXT: v_cvt_f16_f32_e32 v58, v619077; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill9078; SI-NEXT: s_waitcnt expcnt(0)9079; SI-NEXT: v_cvt_f16_f32_e32 v0, v599080; SI-NEXT: v_cvt_f16_f32_e32 v59, v609081; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill9082; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr319083; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc9084; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]9085; SI-NEXT: s_cbranch_execz .LBB18_29086; SI-NEXT: ; %bb.1: ; %cmp.false9087; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload9088; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v499089; SI-NEXT: ; implicit-def: $vgpr269090; SI-NEXT: ; kill: killed $vgpr269091; SI-NEXT: ; implicit-def: $vgpr269092; SI-NEXT: ; kill: killed $vgpr269093; SI-NEXT: ; implicit-def: $vgpr269094; SI-NEXT: ; kill: killed $vgpr269095; SI-NEXT: ; implicit-def: $vgpr269096; SI-NEXT: ; kill: killed $vgpr269097; SI-NEXT: ; implicit-def: $vgpr269098; SI-NEXT: ; kill: killed $vgpr269099; SI-NEXT: ; implicit-def: $vgpr269100; SI-NEXT: ; kill: killed $vgpr269101; SI-NEXT: ; implicit-def: $vgpr269102; SI-NEXT: ; kill: killed $vgpr269103; SI-NEXT: ; implicit-def: $vgpr269104; SI-NEXT: ; kill: killed $vgpr269105; SI-NEXT: ; implicit-def: $vgpr269106; SI-NEXT: ; kill: killed $vgpr269107; SI-NEXT: ; implicit-def: $vgpr269108; SI-NEXT: ; kill: killed $vgpr269109; SI-NEXT: ; implicit-def: $vgpr269110; SI-NEXT: ; kill: killed $vgpr269111; SI-NEXT: ; implicit-def: $vgpr269112; SI-NEXT: ; kill: killed $vgpr269113; SI-NEXT: ; implicit-def: $vgpr269114; SI-NEXT: ; kill: killed $vgpr269115; SI-NEXT: ; implicit-def: $vgpr269116; SI-NEXT: ; kill: killed $vgpr269117; SI-NEXT: ; implicit-def: $vgpr269118; SI-NEXT: ; kill: killed $vgpr269119; SI-NEXT: ; implicit-def: $vgpr269120; SI-NEXT: ; kill: killed $vgpr269121; SI-NEXT: ; implicit-def: $vgpr269122; SI-NEXT: ; kill: killed $vgpr269123; SI-NEXT: ; implicit-def: $vgpr269124; SI-NEXT: ; kill: killed $vgpr269125; SI-NEXT: ; implicit-def: $vgpr269126; SI-NEXT: ; kill: killed $vgpr269127; SI-NEXT: ; implicit-def: $vgpr269128; SI-NEXT: ; kill: killed $vgpr269129; SI-NEXT: ; implicit-def: $vgpr269130; SI-NEXT: ; kill: killed $vgpr269131; SI-NEXT: ; implicit-def: $vgpr269132; SI-NEXT: ; kill: killed $vgpr269133; SI-NEXT: ; implicit-def: $vgpr269134; SI-NEXT: ; kill: killed $vgpr269135; SI-NEXT: ; implicit-def: $vgpr269136; SI-NEXT: ; kill: killed $vgpr269137; SI-NEXT: ; implicit-def: $vgpr269138; SI-NEXT: ; kill: killed $vgpr269139; SI-NEXT: ; implicit-def: $vgpr269140; SI-NEXT: ; kill: killed $vgpr269141; SI-NEXT: ; implicit-def: $vgpr269142; SI-NEXT: s_waitcnt expcnt(0)9143; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v439144; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v419145; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v559146; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v539147; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v519148; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v579149; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v479150; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v459151; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v359152; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v339153; SI-NEXT: ; kill: killed $vgpr269154; SI-NEXT: ; implicit-def: $vgpr269155; SI-NEXT: v_or_b32_e32 v0, v42, v09156; SI-NEXT: v_or_b32_e32 v1, v40, v19157; SI-NEXT: v_or_b32_e32 v2, v54, v29158; SI-NEXT: v_or_b32_e32 v3, v52, v39159; SI-NEXT: v_or_b32_e32 v4, v50, v49160; SI-NEXT: v_or_b32_e32 v21, v56, v219161; SI-NEXT: v_or_b32_e32 v22, v46, v229162; SI-NEXT: v_or_b32_e32 v23, v44, v239163; SI-NEXT: v_or_b32_e32 v24, v34, v249164; SI-NEXT: v_or_b32_e32 v25, v32, v259165; SI-NEXT: ; implicit-def: $vgpr439166; SI-NEXT: ; implicit-def: $vgpr429167; SI-NEXT: ; implicit-def: $vgpr419168; SI-NEXT: ; implicit-def: $vgpr409169; SI-NEXT: ; implicit-def: $vgpr559170; SI-NEXT: ; implicit-def: $vgpr549171; SI-NEXT: ; implicit-def: $vgpr539172; SI-NEXT: ; implicit-def: $vgpr529173; SI-NEXT: ; implicit-def: $vgpr519174; SI-NEXT: ; implicit-def: $vgpr509175; SI-NEXT: ; implicit-def: $vgpr499176; SI-NEXT: ; kill: killed $vgpr269177; SI-NEXT: ; implicit-def: $vgpr269178; SI-NEXT: ; kill: killed $vgpr269179; SI-NEXT: ; implicit-def: $vgpr579180; SI-NEXT: ; implicit-def: $vgpr569181; SI-NEXT: ; implicit-def: $vgpr479182; SI-NEXT: ; implicit-def: $vgpr469183; SI-NEXT: ; implicit-def: $vgpr459184; SI-NEXT: ; implicit-def: $vgpr449185; SI-NEXT: ; implicit-def: $vgpr359186; SI-NEXT: ; implicit-def: $vgpr349187; SI-NEXT: ; implicit-def: $vgpr339188; SI-NEXT: ; implicit-def: $vgpr329189; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload9190; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload9191; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload9192; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload9193; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload9194; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload9195; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload9196; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload9197; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload9198; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload9199; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload9200; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload9201; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload9202; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload9203; SI-NEXT: s_waitcnt vmcnt(14)9204; SI-NEXT: v_or_b32_e32 v5, v6, v59205; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload9206; SI-NEXT: s_waitcnt vmcnt(0)9207; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v69208; SI-NEXT: v_or_b32_e32 v6, v7, v69209; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload9210; SI-NEXT: s_waitcnt vmcnt(0)9211; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v79212; SI-NEXT: v_or_b32_e32 v7, v8, v79213; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload9214; SI-NEXT: s_waitcnt vmcnt(0)9215; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v89216; SI-NEXT: v_or_b32_e32 v8, v9, v89217; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload9218; SI-NEXT: s_waitcnt vmcnt(0)9219; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v99220; SI-NEXT: v_or_b32_e32 v9, v10, v99221; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload9222; SI-NEXT: s_waitcnt vmcnt(0)9223; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v109224; SI-NEXT: v_or_b32_e32 v10, v11, v109225; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload9226; SI-NEXT: s_waitcnt vmcnt(0)9227; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v119228; SI-NEXT: v_or_b32_e32 v11, v12, v119229; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload9230; SI-NEXT: s_waitcnt vmcnt(0)9231; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v129232; SI-NEXT: v_or_b32_e32 v12, v13, v129233; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload9234; SI-NEXT: s_waitcnt vmcnt(0)9235; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v139236; SI-NEXT: v_or_b32_e32 v13, v14, v139237; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload9238; SI-NEXT: s_waitcnt vmcnt(0)9239; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v149240; SI-NEXT: v_or_b32_e32 v14, v15, v149241; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload9242; SI-NEXT: s_waitcnt vmcnt(0)9243; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v159244; SI-NEXT: v_or_b32_e32 v15, v16, v159245; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload9246; SI-NEXT: s_waitcnt vmcnt(0)9247; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v169248; SI-NEXT: v_or_b32_e32 v16, v17, v169249; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload9250; SI-NEXT: s_waitcnt vmcnt(0)9251; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v179252; SI-NEXT: v_or_b32_e32 v17, v18, v179253; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload9254; SI-NEXT: s_waitcnt vmcnt(0)9255; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v189256; SI-NEXT: v_or_b32_e32 v18, v19, v189257; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload9258; SI-NEXT: s_waitcnt vmcnt(0)9259; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v199260; SI-NEXT: v_or_b32_e32 v19, v20, v199261; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v599262; SI-NEXT: v_or_b32_e32 v20, v58, v209263; SI-NEXT: ; implicit-def: $vgpr599264; SI-NEXT: ; implicit-def: $vgpr589265; SI-NEXT: .LBB18_2: ; %Flow9266; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]9267; SI-NEXT: s_cbranch_execz .LBB18_49268; SI-NEXT: ; %bb.3: ; %cmp.true9269; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload9270; SI-NEXT: s_waitcnt expcnt(0)9271; SI-NEXT: v_cvt_f32_f16_e32 v0, v439272; SI-NEXT: v_cvt_f32_f16_e32 v2, v419273; SI-NEXT: v_cvt_f32_f16_e32 v1, v429274; SI-NEXT: v_cvt_f32_f16_e32 v3, v409275; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v09276; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v29277; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v19278; SI-NEXT: v_cvt_f16_f32_e32 v0, v09279; SI-NEXT: v_cvt_f16_f32_e32 v2, v29280; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v39281; SI-NEXT: v_cvt_f16_f32_e32 v1, v19282; SI-NEXT: v_cvt_f16_f32_e32 v3, v39283; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v09284; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v29285; SI-NEXT: v_or_b32_e32 v0, v1, v09286; SI-NEXT: v_or_b32_e32 v1, v3, v29287; SI-NEXT: v_cvt_f32_f16_e32 v2, v559288; SI-NEXT: v_cvt_f32_f16_e32 v3, v549289; SI-NEXT: v_cvt_f32_f16_e32 v4, v529290; SI-NEXT: v_cvt_f32_f16_e32 v5, v509291; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v29292; SI-NEXT: v_cvt_f16_f32_e32 v2, v29293; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v39294; SI-NEXT: v_cvt_f16_f32_e32 v3, v39295; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v49296; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v29297; SI-NEXT: v_cvt_f16_f32_e32 v4, v49298; SI-NEXT: v_or_b32_e32 v2, v3, v29299; SI-NEXT: v_cvt_f32_f16_e32 v3, v539300; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v59301; SI-NEXT: v_cvt_f16_f32_e32 v5, v59302; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload9303; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload9304; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload9305; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload9306; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload9307; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v39308; SI-NEXT: v_cvt_f16_f32_e32 v3, v39309; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload9310; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload9311; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload9312; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v39313; SI-NEXT: v_or_b32_e32 v3, v4, v39314; SI-NEXT: v_cvt_f32_f16_e32 v4, v519315; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload9316; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload9317; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload9318; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v49319; SI-NEXT: v_cvt_f16_f32_e32 v4, v49320; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload9321; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload9322; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload9323; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload9324; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v49325; SI-NEXT: v_or_b32_e32 v4, v5, v49326; SI-NEXT: v_cvt_f32_f16_e32 v5, v499327; SI-NEXT: v_cvt_f32_f16_e32 v22, v589328; SI-NEXT: v_cvt_f32_f16_e32 v23, v479329; SI-NEXT: v_cvt_f32_f16_e32 v24, v469330; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v59331; SI-NEXT: v_cvt_f16_f32_e32 v5, v59332; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v229333; SI-NEXT: v_cvt_f16_f32_e32 v22, v229334; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v239335; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v59336; SI-NEXT: v_cvt_f16_f32_e32 v23, v239337; SI-NEXT: v_cvt_f32_f16_e32 v25, v449338; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v249339; SI-NEXT: v_cvt_f16_f32_e32 v24, v249340; SI-NEXT: v_cvt_f32_f16_e32 v26, v339341; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v259342; SI-NEXT: v_cvt_f16_f32_e32 v25, v259343; SI-NEXT: v_cvt_f32_f16_e32 v27, v329344; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v269345; SI-NEXT: v_cvt_f16_f32_e32 v26, v269346; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v279347; SI-NEXT: v_cvt_f16_f32_e32 v27, v279348; SI-NEXT: s_waitcnt vmcnt(14)9349; SI-NEXT: v_cvt_f32_f16_e32 v6, v69350; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v69351; SI-NEXT: v_cvt_f16_f32_e32 v6, v69352; SI-NEXT: v_or_b32_e32 v5, v6, v59353; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload9354; SI-NEXT: v_cvt_f32_f16_e32 v17, v179355; SI-NEXT: s_waitcnt vmcnt(12)9356; SI-NEXT: v_cvt_f32_f16_e32 v20, v209357; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v179358; SI-NEXT: v_cvt_f16_f32_e32 v17, v179359; SI-NEXT: s_waitcnt vmcnt(11)9360; SI-NEXT: v_cvt_f32_f16_e32 v21, v219361; SI-NEXT: s_waitcnt vmcnt(10)9362; SI-NEXT: v_cvt_f32_f16_e32 v7, v79363; SI-NEXT: s_waitcnt vmcnt(9)9364; SI-NEXT: v_cvt_f32_f16_e32 v8, v89365; SI-NEXT: s_waitcnt vmcnt(8)9366; SI-NEXT: v_cvt_f32_f16_e32 v9, v99367; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v209368; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v79369; SI-NEXT: v_cvt_f16_f32_e32 v7, v79370; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v89371; SI-NEXT: v_cvt_f16_f32_e32 v8, v89372; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v99373; SI-NEXT: v_cvt_f16_f32_e32 v9, v99374; SI-NEXT: s_waitcnt vmcnt(7)9375; SI-NEXT: v_cvt_f32_f16_e32 v10, v109376; SI-NEXT: s_waitcnt vmcnt(6)9377; SI-NEXT: v_cvt_f32_f16_e32 v11, v119378; SI-NEXT: s_waitcnt vmcnt(5)9379; SI-NEXT: v_cvt_f32_f16_e32 v12, v129380; SI-NEXT: s_waitcnt vmcnt(4)9381; SI-NEXT: v_cvt_f32_f16_e32 v13, v139382; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v109383; SI-NEXT: v_cvt_f16_f32_e32 v10, v109384; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v119385; SI-NEXT: v_cvt_f16_f32_e32 v11, v119386; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v129387; SI-NEXT: v_cvt_f16_f32_e32 v12, v129388; SI-NEXT: s_waitcnt vmcnt(3)9389; SI-NEXT: v_cvt_f32_f16_e32 v14, v149390; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v139391; SI-NEXT: v_cvt_f16_f32_e32 v13, v139392; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v219393; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v149394; SI-NEXT: v_cvt_f16_f32_e32 v14, v149395; SI-NEXT: v_cvt_f16_f32_e32 v20, v209396; SI-NEXT: v_cvt_f16_f32_e32 v21, v219397; SI-NEXT: s_waitcnt vmcnt(0)9398; SI-NEXT: v_cvt_f32_f16_e32 v6, v69399; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v69400; SI-NEXT: v_cvt_f16_f32_e32 v6, v69401; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v69402; SI-NEXT: v_or_b32_e32 v6, v7, v69403; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload9404; SI-NEXT: s_waitcnt vmcnt(0)9405; SI-NEXT: v_cvt_f32_f16_e32 v7, v79406; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v79407; SI-NEXT: v_cvt_f16_f32_e32 v7, v79408; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v79409; SI-NEXT: v_or_b32_e32 v7, v8, v79410; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload9411; SI-NEXT: s_waitcnt vmcnt(0)9412; SI-NEXT: v_cvt_f32_f16_e32 v8, v89413; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v89414; SI-NEXT: v_cvt_f16_f32_e32 v8, v89415; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v89416; SI-NEXT: v_or_b32_e32 v8, v9, v89417; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload9418; SI-NEXT: s_waitcnt vmcnt(0)9419; SI-NEXT: v_cvt_f32_f16_e32 v9, v99420; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v99421; SI-NEXT: v_cvt_f16_f32_e32 v9, v99422; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v99423; SI-NEXT: v_or_b32_e32 v9, v10, v99424; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload9425; SI-NEXT: s_waitcnt vmcnt(0)9426; SI-NEXT: v_cvt_f32_f16_e32 v10, v109427; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v109428; SI-NEXT: v_cvt_f16_f32_e32 v10, v109429; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v109430; SI-NEXT: v_or_b32_e32 v10, v11, v109431; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload9432; SI-NEXT: s_waitcnt vmcnt(0)9433; SI-NEXT: v_cvt_f32_f16_e32 v11, v119434; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v119435; SI-NEXT: v_cvt_f16_f32_e32 v11, v119436; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v119437; SI-NEXT: v_or_b32_e32 v11, v12, v119438; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload9439; SI-NEXT: s_waitcnt vmcnt(0)9440; SI-NEXT: v_cvt_f32_f16_e32 v12, v129441; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v129442; SI-NEXT: v_cvt_f16_f32_e32 v12, v129443; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v129444; SI-NEXT: v_or_b32_e32 v12, v13, v129445; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v149446; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload9447; SI-NEXT: v_cvt_f32_f16_e32 v15, v159448; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v159449; SI-NEXT: v_cvt_f16_f32_e32 v15, v159450; SI-NEXT: v_or_b32_e32 v13, v15, v139451; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload9452; SI-NEXT: v_cvt_f32_f16_e32 v16, v169453; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v169454; SI-NEXT: v_cvt_f16_f32_e32 v16, v169455; SI-NEXT: s_waitcnt vmcnt(1)9456; SI-NEXT: v_cvt_f32_f16_e32 v14, v149457; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v149458; SI-NEXT: v_cvt_f16_f32_e32 v14, v149459; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v149460; SI-NEXT: v_or_b32_e32 v14, v16, v149461; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload9462; SI-NEXT: s_waitcnt vmcnt(1)9463; SI-NEXT: v_cvt_f32_f16_e32 v15, v159464; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v159465; SI-NEXT: v_cvt_f16_f32_e32 v15, v159466; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v159467; SI-NEXT: s_waitcnt vmcnt(0)9468; SI-NEXT: v_cvt_f32_f16_e32 v16, v169469; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v169470; SI-NEXT: v_cvt_f16_f32_e32 v16, v169471; SI-NEXT: v_or_b32_e32 v15, v16, v159472; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v179473; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload9474; SI-NEXT: v_cvt_f32_f16_e32 v18, v189475; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v189476; SI-NEXT: v_cvt_f16_f32_e32 v18, v189477; SI-NEXT: v_or_b32_e32 v16, v18, v169478; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload9479; SI-NEXT: v_cvt_f32_f16_e32 v19, v199480; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v199481; SI-NEXT: v_cvt_f16_f32_e32 v19, v199482; SI-NEXT: s_waitcnt vmcnt(1)9483; SI-NEXT: v_cvt_f32_f16_e32 v17, v179484; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v179485; SI-NEXT: v_cvt_f16_f32_e32 v17, v179486; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v179487; SI-NEXT: v_or_b32_e32 v17, v19, v179488; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload9489; SI-NEXT: s_waitcnt vmcnt(1)9490; SI-NEXT: v_cvt_f32_f16_e32 v18, v189491; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v189492; SI-NEXT: v_cvt_f16_f32_e32 v18, v189493; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v189494; SI-NEXT: s_waitcnt vmcnt(0)9495; SI-NEXT: v_cvt_f32_f16_e32 v19, v199496; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v199497; SI-NEXT: v_cvt_f16_f32_e32 v19, v199498; SI-NEXT: v_or_b32_e32 v18, v19, v189499; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v209500; SI-NEXT: v_cvt_f32_f16_e32 v20, v599501; SI-NEXT: v_or_b32_e32 v19, v21, v199502; SI-NEXT: v_cvt_f32_f16_e32 v21, v579503; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v209504; SI-NEXT: v_cvt_f16_f32_e32 v20, v209505; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v219506; SI-NEXT: v_cvt_f16_f32_e32 v21, v219507; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v209508; SI-NEXT: v_or_b32_e32 v20, v22, v209509; SI-NEXT: v_cvt_f32_f16_e32 v22, v569510; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v219511; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v229512; SI-NEXT: v_cvt_f16_f32_e32 v22, v229513; SI-NEXT: v_or_b32_e32 v21, v22, v219514; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v239515; SI-NEXT: v_cvt_f32_f16_e32 v23, v459516; SI-NEXT: v_or_b32_e32 v22, v24, v229517; SI-NEXT: v_cvt_f32_f16_e32 v24, v359518; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v239519; SI-NEXT: v_cvt_f16_f32_e32 v23, v239520; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v249521; SI-NEXT: v_cvt_f16_f32_e32 v24, v249522; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v239523; SI-NEXT: v_or_b32_e32 v23, v25, v239524; SI-NEXT: v_cvt_f32_f16_e32 v25, v349525; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v249526; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v259527; SI-NEXT: v_cvt_f16_f32_e32 v25, v259528; SI-NEXT: v_or_b32_e32 v24, v25, v249529; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v269530; SI-NEXT: v_or_b32_e32 v25, v27, v259531; SI-NEXT: .LBB18_4: ; %end9532; SI-NEXT: s_or_b64 exec, exec, s[4:5]9533; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload9534; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload9535; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload9536; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload9537; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload9538; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload9539; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload9540; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload9541; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload9542; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload9543; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload9544; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload9545; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload9546; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload9547; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload9548; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload9549; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)9550; SI-NEXT: s_setpc_b64 s[30:31]9551;9552; VI-LABEL: bitcast_v52f16_to_v26i32:9553; VI: ; %bb.0:9554; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)9555; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill9556; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill9557; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill9558; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill9559; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill9560; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill9561; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill9562; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill9563; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill9564; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 ; 4-byte Folded Spill9565; VI-NEXT: v_mov_b32_e32 v32, v259566; VI-NEXT: v_mov_b32_e32 v33, v249567; VI-NEXT: v_mov_b32_e32 v34, v239568; VI-NEXT: v_mov_b32_e32 v35, v229569; VI-NEXT: v_mov_b32_e32 v36, v219570; VI-NEXT: v_mov_b32_e32 v37, v209571; VI-NEXT: v_mov_b32_e32 v38, v199572; VI-NEXT: v_mov_b32_e32 v39, v189573; VI-NEXT: v_mov_b32_e32 v48, v179574; VI-NEXT: v_mov_b32_e32 v49, v169575; VI-NEXT: v_mov_b32_e32 v50, v159576; VI-NEXT: v_mov_b32_e32 v51, v149577; VI-NEXT: v_mov_b32_e32 v52, v139578; VI-NEXT: v_mov_b32_e32 v53, v129579; VI-NEXT: v_mov_b32_e32 v54, v119580; VI-NEXT: v_mov_b32_e32 v55, v109581; VI-NEXT: v_mov_b32_e32 v40, v99582; VI-NEXT: v_mov_b32_e32 v41, v89583; VI-NEXT: v_mov_b32_e32 v42, v79584; VI-NEXT: v_mov_b32_e32 v43, v69585; VI-NEXT: v_mov_b32_e32 v44, v59586; VI-NEXT: v_mov_b32_e32 v45, v49587; VI-NEXT: v_mov_b32_e32 v46, v39588; VI-NEXT: v_mov_b32_e32 v47, v29589; VI-NEXT: v_mov_b32_e32 v56, v19590; VI-NEXT: v_mov_b32_e32 v57, v09591; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v269592; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr319593; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc9594; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]9595; VI-NEXT: s_cbranch_execz .LBB18_29596; VI-NEXT: ; %bb.1: ; %cmp.false9597; VI-NEXT: v_mov_b32_e32 v25, 169598; VI-NEXT: v_lshlrev_b32_sdwa v0, v25, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19599; VI-NEXT: v_lshlrev_b32_sdwa v1, v25, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19600; VI-NEXT: v_lshlrev_b32_sdwa v2, v25, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19601; VI-NEXT: v_lshlrev_b32_sdwa v3, v25, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19602; VI-NEXT: v_lshlrev_b32_sdwa v4, v25, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19603; VI-NEXT: v_lshlrev_b32_sdwa v5, v25, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19604; VI-NEXT: v_lshlrev_b32_sdwa v6, v25, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19605; VI-NEXT: v_lshlrev_b32_sdwa v7, v25, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19606; VI-NEXT: v_lshlrev_b32_sdwa v8, v25, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19607; VI-NEXT: v_lshlrev_b32_sdwa v9, v25, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19608; VI-NEXT: v_lshlrev_b32_sdwa v10, v25, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19609; VI-NEXT: v_lshlrev_b32_sdwa v11, v25, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19610; VI-NEXT: v_lshlrev_b32_sdwa v12, v25, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19611; VI-NEXT: v_lshlrev_b32_sdwa v13, v25, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19612; VI-NEXT: v_lshlrev_b32_sdwa v14, v25, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19613; VI-NEXT: v_lshlrev_b32_sdwa v15, v25, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19614; VI-NEXT: v_lshlrev_b32_sdwa v16, v25, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19615; VI-NEXT: v_lshlrev_b32_sdwa v17, v25, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19616; VI-NEXT: v_lshlrev_b32_sdwa v18, v25, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19617; VI-NEXT: v_lshlrev_b32_sdwa v19, v25, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19618; VI-NEXT: v_lshlrev_b32_sdwa v20, v25, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19619; VI-NEXT: v_lshlrev_b32_sdwa v21, v25, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19620; VI-NEXT: v_lshlrev_b32_sdwa v22, v25, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19621; VI-NEXT: v_lshlrev_b32_sdwa v23, v25, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19622; VI-NEXT: v_lshlrev_b32_sdwa v24, v25, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19623; VI-NEXT: v_lshlrev_b32_sdwa v25, v25, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_19624; VI-NEXT: v_or_b32_sdwa v0, v57, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9625; VI-NEXT: v_or_b32_sdwa v1, v56, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9626; VI-NEXT: v_or_b32_sdwa v2, v47, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9627; VI-NEXT: v_or_b32_sdwa v3, v46, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9628; VI-NEXT: v_or_b32_sdwa v4, v45, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9629; VI-NEXT: v_or_b32_sdwa v5, v44, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9630; VI-NEXT: v_or_b32_sdwa v6, v43, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9631; VI-NEXT: v_or_b32_sdwa v7, v42, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9632; VI-NEXT: v_or_b32_sdwa v8, v41, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9633; VI-NEXT: v_or_b32_sdwa v9, v40, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9634; VI-NEXT: v_or_b32_sdwa v10, v55, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9635; VI-NEXT: v_or_b32_sdwa v11, v54, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9636; VI-NEXT: v_or_b32_sdwa v12, v53, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9637; VI-NEXT: v_or_b32_sdwa v13, v52, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9638; VI-NEXT: v_or_b32_sdwa v14, v51, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9639; VI-NEXT: v_or_b32_sdwa v15, v50, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9640; VI-NEXT: v_or_b32_sdwa v16, v49, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9641; VI-NEXT: v_or_b32_sdwa v17, v48, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9642; VI-NEXT: v_or_b32_sdwa v18, v39, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9643; VI-NEXT: v_or_b32_sdwa v19, v38, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9644; VI-NEXT: v_or_b32_sdwa v20, v37, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9645; VI-NEXT: v_or_b32_sdwa v21, v36, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9646; VI-NEXT: v_or_b32_sdwa v22, v35, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9647; VI-NEXT: v_or_b32_sdwa v23, v34, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9648; VI-NEXT: v_or_b32_sdwa v24, v33, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9649; VI-NEXT: v_or_b32_sdwa v25, v32, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD9650; VI-NEXT: ; implicit-def: $vgpr579651; VI-NEXT: ; implicit-def: $vgpr569652; VI-NEXT: ; implicit-def: $vgpr479653; VI-NEXT: ; implicit-def: $vgpr469654; VI-NEXT: ; implicit-def: $vgpr459655; VI-NEXT: ; implicit-def: $vgpr449656; VI-NEXT: ; implicit-def: $vgpr439657; VI-NEXT: ; implicit-def: $vgpr429658; VI-NEXT: ; implicit-def: $vgpr419659; VI-NEXT: ; implicit-def: $vgpr409660; VI-NEXT: ; implicit-def: $vgpr559661; VI-NEXT: ; implicit-def: $vgpr549662; VI-NEXT: ; implicit-def: $vgpr539663; VI-NEXT: ; implicit-def: $vgpr529664; VI-NEXT: ; implicit-def: $vgpr519665; VI-NEXT: ; implicit-def: $vgpr509666; VI-NEXT: ; implicit-def: $vgpr499667; VI-NEXT: ; implicit-def: $vgpr489668; VI-NEXT: ; implicit-def: $vgpr399669; VI-NEXT: ; implicit-def: $vgpr389670; VI-NEXT: ; implicit-def: $vgpr379671; VI-NEXT: ; implicit-def: $vgpr369672; VI-NEXT: ; implicit-def: $vgpr359673; VI-NEXT: ; implicit-def: $vgpr349674; VI-NEXT: ; implicit-def: $vgpr339675; VI-NEXT: ; implicit-def: $vgpr329676; VI-NEXT: .LBB18_2: ; %Flow9677; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]9678; VI-NEXT: s_cbranch_execz .LBB18_49679; VI-NEXT: ; %bb.3: ; %cmp.true9680; VI-NEXT: v_mov_b32_e32 v25, 0x2009681; VI-NEXT: v_add_f16_sdwa v0, v57, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9682; VI-NEXT: v_add_f16_e32 v1, 0x200, v579683; VI-NEXT: v_or_b32_e32 v0, v1, v09684; VI-NEXT: v_add_f16_sdwa v1, v56, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9685; VI-NEXT: v_add_f16_e32 v2, 0x200, v569686; VI-NEXT: v_or_b32_e32 v1, v2, v19687; VI-NEXT: v_add_f16_sdwa v2, v47, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9688; VI-NEXT: v_add_f16_e32 v3, 0x200, v479689; VI-NEXT: v_or_b32_e32 v2, v3, v29690; VI-NEXT: v_add_f16_sdwa v3, v46, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9691; VI-NEXT: v_add_f16_e32 v4, 0x200, v469692; VI-NEXT: v_or_b32_e32 v3, v4, v39693; VI-NEXT: v_add_f16_sdwa v4, v45, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9694; VI-NEXT: v_add_f16_e32 v5, 0x200, v459695; VI-NEXT: v_or_b32_e32 v4, v5, v49696; VI-NEXT: v_add_f16_sdwa v5, v44, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9697; VI-NEXT: v_add_f16_e32 v6, 0x200, v449698; VI-NEXT: v_or_b32_e32 v5, v6, v59699; VI-NEXT: v_add_f16_sdwa v6, v43, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9700; VI-NEXT: v_add_f16_e32 v7, 0x200, v439701; VI-NEXT: v_or_b32_e32 v6, v7, v69702; VI-NEXT: v_add_f16_sdwa v7, v42, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9703; VI-NEXT: v_add_f16_e32 v8, 0x200, v429704; VI-NEXT: v_or_b32_e32 v7, v8, v79705; VI-NEXT: v_add_f16_sdwa v8, v41, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9706; VI-NEXT: v_add_f16_e32 v9, 0x200, v419707; VI-NEXT: v_or_b32_e32 v8, v9, v89708; VI-NEXT: v_add_f16_sdwa v9, v40, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9709; VI-NEXT: v_add_f16_e32 v10, 0x200, v409710; VI-NEXT: v_or_b32_e32 v9, v10, v99711; VI-NEXT: v_add_f16_sdwa v10, v55, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9712; VI-NEXT: v_add_f16_e32 v11, 0x200, v559713; VI-NEXT: v_or_b32_e32 v10, v11, v109714; VI-NEXT: v_add_f16_sdwa v11, v54, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9715; VI-NEXT: v_add_f16_e32 v12, 0x200, v549716; VI-NEXT: v_or_b32_e32 v11, v12, v119717; VI-NEXT: v_add_f16_sdwa v12, v53, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9718; VI-NEXT: v_add_f16_e32 v13, 0x200, v539719; VI-NEXT: v_or_b32_e32 v12, v13, v129720; VI-NEXT: v_add_f16_sdwa v13, v52, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9721; VI-NEXT: v_add_f16_e32 v14, 0x200, v529722; VI-NEXT: v_or_b32_e32 v13, v14, v139723; VI-NEXT: v_add_f16_sdwa v14, v51, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9724; VI-NEXT: v_add_f16_e32 v15, 0x200, v519725; VI-NEXT: v_or_b32_e32 v14, v15, v149726; VI-NEXT: v_add_f16_sdwa v15, v50, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9727; VI-NEXT: v_add_f16_e32 v16, 0x200, v509728; VI-NEXT: v_or_b32_e32 v15, v16, v159729; VI-NEXT: v_add_f16_sdwa v16, v49, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9730; VI-NEXT: v_add_f16_e32 v17, 0x200, v499731; VI-NEXT: v_or_b32_e32 v16, v17, v169732; VI-NEXT: v_add_f16_sdwa v17, v48, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9733; VI-NEXT: v_add_f16_e32 v18, 0x200, v489734; VI-NEXT: v_or_b32_e32 v17, v18, v179735; VI-NEXT: v_add_f16_sdwa v18, v39, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9736; VI-NEXT: v_add_f16_e32 v19, 0x200, v399737; VI-NEXT: v_or_b32_e32 v18, v19, v189738; VI-NEXT: v_add_f16_sdwa v19, v38, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9739; VI-NEXT: v_add_f16_e32 v20, 0x200, v389740; VI-NEXT: v_or_b32_e32 v19, v20, v199741; VI-NEXT: v_add_f16_sdwa v20, v37, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9742; VI-NEXT: v_add_f16_e32 v21, 0x200, v379743; VI-NEXT: v_or_b32_e32 v20, v21, v209744; VI-NEXT: v_add_f16_sdwa v21, v36, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9745; VI-NEXT: v_add_f16_e32 v22, 0x200, v369746; VI-NEXT: v_or_b32_e32 v21, v22, v219747; VI-NEXT: v_add_f16_sdwa v22, v35, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9748; VI-NEXT: v_add_f16_e32 v23, 0x200, v359749; VI-NEXT: v_or_b32_e32 v22, v23, v229750; VI-NEXT: v_add_f16_sdwa v23, v34, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9751; VI-NEXT: v_add_f16_e32 v24, 0x200, v349752; VI-NEXT: v_or_b32_e32 v23, v24, v239753; VI-NEXT: v_add_f16_sdwa v24, v33, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9754; VI-NEXT: v_add_f16_e32 v26, 0x200, v339755; VI-NEXT: v_or_b32_e32 v24, v26, v249756; VI-NEXT: v_add_f16_sdwa v25, v32, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD9757; VI-NEXT: v_add_f16_e32 v26, 0x200, v329758; VI-NEXT: v_or_b32_e32 v25, v26, v259759; VI-NEXT: .LBB18_4: ; %end9760; VI-NEXT: s_or_b64 exec, exec, s[4:5]9761; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 ; 4-byte Folded Reload9762; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload9763; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload9764; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload9765; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload9766; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload9767; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload9768; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload9769; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload9770; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload9771; VI-NEXT: s_waitcnt vmcnt(0)9772; VI-NEXT: s_setpc_b64 s[30:31]9773;9774; GFX9-LABEL: bitcast_v52f16_to_v26i32:9775; GFX9: ; %bb.0:9776; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)9777; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill9778; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill9779; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill9780; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill9781; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill9782; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill9783; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill9784; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill9785; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill9786; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill9787; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill9788; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill9789; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill9790; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill9791; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill9792; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill9793; GFX9-NEXT: v_mov_b32_e32 v57, v09794; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v259795; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill9796; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill9797; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v249798; GFX9-NEXT: v_mov_b32_e32 v35, v229799; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill9800; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill9801; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v239802; GFX9-NEXT: v_mov_b32_e32 v36, v219803; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill9804; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v359805; GFX9-NEXT: v_mov_b32_e32 v37, v209806; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill9807; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v369808; GFX9-NEXT: v_mov_b32_e32 v38, v199809; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill9810; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v379811; GFX9-NEXT: v_mov_b32_e32 v39, v189812; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill9813; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v389814; GFX9-NEXT: v_mov_b32_e32 v48, v179815; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill9816; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v399817; GFX9-NEXT: v_mov_b32_e32 v49, v169818; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill9819; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v489820; GFX9-NEXT: v_mov_b32_e32 v50, v159821; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill9822; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v499823; GFX9-NEXT: v_mov_b32_e32 v51, v149824; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill9825; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v509826; GFX9-NEXT: v_mov_b32_e32 v52, v139827; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill9828; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v519829; GFX9-NEXT: v_mov_b32_e32 v53, v129830; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill9831; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v529832; GFX9-NEXT: v_mov_b32_e32 v54, v119833; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill9834; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v539835; GFX9-NEXT: v_mov_b32_e32 v55, v109836; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill9837; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v549838; GFX9-NEXT: v_mov_b32_e32 v40, v99839; GFX9-NEXT: v_mov_b32_e32 v41, v89840; GFX9-NEXT: v_mov_b32_e32 v42, v79841; GFX9-NEXT: v_mov_b32_e32 v43, v69842; GFX9-NEXT: v_mov_b32_e32 v44, v59843; GFX9-NEXT: v_mov_b32_e32 v45, v49844; GFX9-NEXT: v_mov_b32_e32 v46, v39845; GFX9-NEXT: v_mov_b32_e32 v47, v29846; GFX9-NEXT: v_mov_b32_e32 v56, v19847; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill9848; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v559849; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill9850; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v409851; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v419852; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v429853; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v439854; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v449855; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v459856; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v469857; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v479858; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v569859; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v579860; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v269861; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill9862; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill9863; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr319864; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc9865; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]9866; GFX9-NEXT: s_cbranch_execz .LBB18_29867; GFX9-NEXT: ; %bb.1: ; %cmp.false9868; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload9869; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload9870; GFX9-NEXT: s_mov_b32 s6, 0x50401009871; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v409872; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v559873; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v549874; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v539875; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v529876; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v519877; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v509878; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v499879; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v489880; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v399881; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v389882; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v379883; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v369884; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v359885; GFX9-NEXT: v_perm_b32 v0, v34, v57, s69886; GFX9-NEXT: v_perm_b32 v1, v62, v56, s69887; GFX9-NEXT: v_perm_b32 v2, v33, v47, s69888; GFX9-NEXT: v_perm_b32 v3, v32, v46, s69889; GFX9-NEXT: v_perm_b32 v4, v61, v45, s69890; GFX9-NEXT: v_perm_b32 v5, v60, v44, s69891; GFX9-NEXT: v_perm_b32 v6, v59, v43, s69892; GFX9-NEXT: v_perm_b32 v7, v58, v42, s69893; GFX9-NEXT: v_perm_b32 v8, v63, v41, s69894; GFX9-NEXT: v_perm_b32 v9, v9, v40, s69895; GFX9-NEXT: v_perm_b32 v10, v10, v55, s69896; GFX9-NEXT: v_perm_b32 v11, v11, v54, s69897; GFX9-NEXT: v_perm_b32 v12, v12, v53, s69898; GFX9-NEXT: v_perm_b32 v13, v13, v52, s69899; GFX9-NEXT: v_perm_b32 v14, v14, v51, s69900; GFX9-NEXT: v_perm_b32 v15, v15, v50, s69901; GFX9-NEXT: v_perm_b32 v16, v16, v49, s69902; GFX9-NEXT: v_perm_b32 v17, v17, v48, s69903; GFX9-NEXT: v_perm_b32 v18, v18, v39, s69904; GFX9-NEXT: v_perm_b32 v19, v19, v38, s69905; GFX9-NEXT: v_perm_b32 v20, v20, v37, s69906; GFX9-NEXT: v_perm_b32 v21, v21, v36, s69907; GFX9-NEXT: v_perm_b32 v22, v22, v35, s69908; GFX9-NEXT: ; implicit-def: $vgpr579909; GFX9-NEXT: ; implicit-def: $vgpr569910; GFX9-NEXT: ; implicit-def: $vgpr479911; GFX9-NEXT: ; implicit-def: $vgpr469912; GFX9-NEXT: ; implicit-def: $vgpr459913; GFX9-NEXT: ; implicit-def: $vgpr449914; GFX9-NEXT: ; implicit-def: $vgpr439915; GFX9-NEXT: ; implicit-def: $vgpr429916; GFX9-NEXT: ; implicit-def: $vgpr419917; GFX9-NEXT: ; implicit-def: $vgpr409918; GFX9-NEXT: ; implicit-def: $vgpr559919; GFX9-NEXT: ; implicit-def: $vgpr549920; GFX9-NEXT: ; implicit-def: $vgpr539921; GFX9-NEXT: ; implicit-def: $vgpr529922; GFX9-NEXT: ; implicit-def: $vgpr519923; GFX9-NEXT: ; implicit-def: $vgpr509924; GFX9-NEXT: ; implicit-def: $vgpr499925; GFX9-NEXT: ; implicit-def: $vgpr489926; GFX9-NEXT: ; implicit-def: $vgpr399927; GFX9-NEXT: ; implicit-def: $vgpr389928; GFX9-NEXT: ; implicit-def: $vgpr379929; GFX9-NEXT: ; implicit-def: $vgpr369930; GFX9-NEXT: ; implicit-def: $vgpr359931; GFX9-NEXT: ; implicit-def: $vgpr639932; GFX9-NEXT: ; implicit-def: $vgpr589933; GFX9-NEXT: ; implicit-def: $vgpr599934; GFX9-NEXT: ; implicit-def: $vgpr609935; GFX9-NEXT: ; implicit-def: $vgpr619936; GFX9-NEXT: ; implicit-def: $vgpr329937; GFX9-NEXT: ; implicit-def: $vgpr339938; GFX9-NEXT: ; implicit-def: $vgpr629939; GFX9-NEXT: ; implicit-def: $vgpr349940; GFX9-NEXT: s_waitcnt vmcnt(0)9941; GFX9-NEXT: v_perm_b32 v23, v24, v23, s69942; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload9943; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload9944; GFX9-NEXT: s_waitcnt vmcnt(0)9945; GFX9-NEXT: v_perm_b32 v24, v25, v24, s69946; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload9947; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload9948; GFX9-NEXT: s_waitcnt vmcnt(0)9949; GFX9-NEXT: v_perm_b32 v25, v26, v25, s69950; GFX9-NEXT: ; implicit-def: $vgpr269951; GFX9-NEXT: ; kill: killed $vgpr269952; GFX9-NEXT: ; implicit-def: $vgpr269953; GFX9-NEXT: ; kill: killed $vgpr269954; GFX9-NEXT: ; implicit-def: $vgpr269955; GFX9-NEXT: ; kill: killed $vgpr269956; GFX9-NEXT: ; implicit-def: $vgpr269957; GFX9-NEXT: ; kill: killed $vgpr269958; GFX9-NEXT: ; implicit-def: $vgpr269959; GFX9-NEXT: ; kill: killed $vgpr269960; GFX9-NEXT: ; implicit-def: $vgpr269961; GFX9-NEXT: ; kill: killed $vgpr269962; GFX9-NEXT: ; implicit-def: $vgpr269963; GFX9-NEXT: ; kill: killed $vgpr269964; GFX9-NEXT: ; implicit-def: $vgpr269965; GFX9-NEXT: ; kill: killed $vgpr269966; GFX9-NEXT: ; implicit-def: $vgpr269967; GFX9-NEXT: ; kill: killed $vgpr269968; GFX9-NEXT: ; implicit-def: $vgpr269969; GFX9-NEXT: ; kill: killed $vgpr269970; GFX9-NEXT: ; implicit-def: $vgpr269971; GFX9-NEXT: ; kill: killed $vgpr269972; GFX9-NEXT: ; implicit-def: $vgpr269973; GFX9-NEXT: ; kill: killed $vgpr269974; GFX9-NEXT: ; implicit-def: $vgpr269975; GFX9-NEXT: ; kill: killed $vgpr269976; GFX9-NEXT: ; implicit-def: $vgpr269977; GFX9-NEXT: ; kill: killed $vgpr269978; GFX9-NEXT: ; implicit-def: $vgpr269979; GFX9-NEXT: ; kill: killed $vgpr269980; GFX9-NEXT: ; implicit-def: $vgpr269981; GFX9-NEXT: ; kill: killed $vgpr269982; GFX9-NEXT: ; implicit-def: $vgpr269983; GFX9-NEXT: ; kill: killed $vgpr269984; GFX9-NEXT: ; implicit-def: $vgpr269985; GFX9-NEXT: ; kill: killed $vgpr269986; GFX9-NEXT: ; implicit-def: $vgpr269987; GFX9-NEXT: ; kill: killed $vgpr269988; GFX9-NEXT: ; implicit-def: $vgpr269989; GFX9-NEXT: ; kill: killed $vgpr269990; GFX9-NEXT: .LBB18_2: ; %Flow9991; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]9992; GFX9-NEXT: s_cbranch_execz .LBB18_49993; GFX9-NEXT: ; %bb.3: ; %cmp.true9994; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload9995; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload9996; GFX9-NEXT: s_mov_b32 s6, 0x50401009997; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload9998; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload9999; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload10000; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload10001; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload10002; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload10003; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload10004; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload10005; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload10006; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload10007; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload10008; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload10009; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload10010; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload10011; GFX9-NEXT: v_perm_b32 v0, v34, v57, s610012; GFX9-NEXT: s_movk_i32 s7, 0x20010013; GFX9-NEXT: v_perm_b32 v1, v62, v56, s610014; GFX9-NEXT: v_perm_b32 v2, v33, v47, s610015; GFX9-NEXT: v_perm_b32 v3, v32, v46, s610016; GFX9-NEXT: v_perm_b32 v4, v61, v45, s610017; GFX9-NEXT: v_perm_b32 v5, v60, v44, s610018; GFX9-NEXT: v_perm_b32 v6, v59, v43, s610019; GFX9-NEXT: v_perm_b32 v7, v58, v42, s610020; GFX9-NEXT: v_perm_b32 v8, v63, v41, s610021; GFX9-NEXT: v_pk_add_f16 v0, v0, s7 op_sel_hi:[1,0]10022; GFX9-NEXT: v_pk_add_f16 v1, v1, s7 op_sel_hi:[1,0]10023; GFX9-NEXT: v_pk_add_f16 v2, v2, s7 op_sel_hi:[1,0]10024; GFX9-NEXT: v_pk_add_f16 v3, v3, s7 op_sel_hi:[1,0]10025; GFX9-NEXT: v_pk_add_f16 v4, v4, s7 op_sel_hi:[1,0]10026; GFX9-NEXT: v_pk_add_f16 v5, v5, s7 op_sel_hi:[1,0]10027; GFX9-NEXT: v_pk_add_f16 v6, v6, s7 op_sel_hi:[1,0]10028; GFX9-NEXT: v_pk_add_f16 v7, v7, s7 op_sel_hi:[1,0]10029; GFX9-NEXT: v_pk_add_f16 v8, v8, s7 op_sel_hi:[1,0]10030; GFX9-NEXT: s_waitcnt vmcnt(14)10031; GFX9-NEXT: v_perm_b32 v23, v24, v23, s610032; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload10033; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload10034; GFX9-NEXT: s_waitcnt vmcnt(15)10035; GFX9-NEXT: v_perm_b32 v9, v9, v40, s610036; GFX9-NEXT: s_waitcnt vmcnt(14)10037; GFX9-NEXT: v_perm_b32 v10, v10, v55, s610038; GFX9-NEXT: s_waitcnt vmcnt(13)10039; GFX9-NEXT: v_perm_b32 v11, v11, v54, s610040; GFX9-NEXT: s_waitcnt vmcnt(12)10041; GFX9-NEXT: v_perm_b32 v12, v12, v53, s610042; GFX9-NEXT: s_waitcnt vmcnt(11)10043; GFX9-NEXT: v_perm_b32 v13, v13, v52, s610044; GFX9-NEXT: s_waitcnt vmcnt(10)10045; GFX9-NEXT: v_perm_b32 v14, v14, v51, s610046; GFX9-NEXT: s_waitcnt vmcnt(9)10047; GFX9-NEXT: v_perm_b32 v15, v15, v50, s610048; GFX9-NEXT: s_waitcnt vmcnt(8)10049; GFX9-NEXT: v_perm_b32 v16, v16, v49, s610050; GFX9-NEXT: s_waitcnt vmcnt(7)10051; GFX9-NEXT: v_perm_b32 v17, v17, v48, s610052; GFX9-NEXT: s_waitcnt vmcnt(6)10053; GFX9-NEXT: v_perm_b32 v18, v18, v39, s610054; GFX9-NEXT: s_waitcnt vmcnt(5)10055; GFX9-NEXT: v_perm_b32 v19, v19, v38, s610056; GFX9-NEXT: s_waitcnt vmcnt(4)10057; GFX9-NEXT: v_perm_b32 v20, v20, v37, s610058; GFX9-NEXT: s_waitcnt vmcnt(3)10059; GFX9-NEXT: v_perm_b32 v21, v21, v36, s610060; GFX9-NEXT: s_waitcnt vmcnt(2)10061; GFX9-NEXT: v_perm_b32 v22, v22, v35, s610062; GFX9-NEXT: v_pk_add_f16 v9, v9, s7 op_sel_hi:[1,0]10063; GFX9-NEXT: v_pk_add_f16 v10, v10, s7 op_sel_hi:[1,0]10064; GFX9-NEXT: v_pk_add_f16 v11, v11, s7 op_sel_hi:[1,0]10065; GFX9-NEXT: v_pk_add_f16 v12, v12, s7 op_sel_hi:[1,0]10066; GFX9-NEXT: v_pk_add_f16 v13, v13, s7 op_sel_hi:[1,0]10067; GFX9-NEXT: v_pk_add_f16 v14, v14, s7 op_sel_hi:[1,0]10068; GFX9-NEXT: v_pk_add_f16 v15, v15, s7 op_sel_hi:[1,0]10069; GFX9-NEXT: v_pk_add_f16 v16, v16, s7 op_sel_hi:[1,0]10070; GFX9-NEXT: v_pk_add_f16 v17, v17, s7 op_sel_hi:[1,0]10071; GFX9-NEXT: v_pk_add_f16 v18, v18, s7 op_sel_hi:[1,0]10072; GFX9-NEXT: v_pk_add_f16 v19, v19, s7 op_sel_hi:[1,0]10073; GFX9-NEXT: v_pk_add_f16 v20, v20, s7 op_sel_hi:[1,0]10074; GFX9-NEXT: v_pk_add_f16 v21, v21, s7 op_sel_hi:[1,0]10075; GFX9-NEXT: v_pk_add_f16 v22, v22, s7 op_sel_hi:[1,0]10076; GFX9-NEXT: v_pk_add_f16 v23, v23, s7 op_sel_hi:[1,0]10077; GFX9-NEXT: s_waitcnt vmcnt(0)10078; GFX9-NEXT: v_perm_b32 v24, v25, v24, s610079; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload10080; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload10081; GFX9-NEXT: v_pk_add_f16 v24, v24, s7 op_sel_hi:[1,0]10082; GFX9-NEXT: s_waitcnt vmcnt(0)10083; GFX9-NEXT: v_perm_b32 v25, v26, v25, s610084; GFX9-NEXT: v_pk_add_f16 v25, v25, s7 op_sel_hi:[1,0]10085; GFX9-NEXT: .LBB18_4: ; %end10086; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]10087; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload10088; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload10089; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload10090; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload10091; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload10092; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload10093; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload10094; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload10095; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload10096; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload10097; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload10098; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload10099; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload10100; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload10101; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload10102; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload10103; GFX9-NEXT: s_waitcnt vmcnt(0)10104; GFX9-NEXT: s_setpc_b64 s[30:31]10105;10106; GFX11-TRUE16-LABEL: bitcast_v52f16_to_v26i32:10107; GFX11-TRUE16: ; %bb.0:10108; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10109; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo10110; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2610111; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s010112; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)10113; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s010114; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB18_210115; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true10116; GFX11-TRUE16-NEXT: v_pk_add_f16 v0, 0x200, v0 op_sel_hi:[0,1]10117; GFX11-TRUE16-NEXT: v_pk_add_f16 v1, 0x200, v1 op_sel_hi:[0,1]10118; GFX11-TRUE16-NEXT: v_pk_add_f16 v2, 0x200, v2 op_sel_hi:[0,1]10119; GFX11-TRUE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]10120; GFX11-TRUE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]10121; GFX11-TRUE16-NEXT: v_pk_add_f16 v5, 0x200, v5 op_sel_hi:[0,1]10122; GFX11-TRUE16-NEXT: v_pk_add_f16 v6, 0x200, v6 op_sel_hi:[0,1]10123; GFX11-TRUE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]10124; GFX11-TRUE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]10125; GFX11-TRUE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]10126; GFX11-TRUE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]10127; GFX11-TRUE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]10128; GFX11-TRUE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]10129; GFX11-TRUE16-NEXT: v_pk_add_f16 v13, 0x200, v13 op_sel_hi:[0,1]10130; GFX11-TRUE16-NEXT: v_pk_add_f16 v14, 0x200, v14 op_sel_hi:[0,1]10131; GFX11-TRUE16-NEXT: v_pk_add_f16 v15, 0x200, v15 op_sel_hi:[0,1]10132; GFX11-TRUE16-NEXT: v_pk_add_f16 v16, 0x200, v16 op_sel_hi:[0,1]10133; GFX11-TRUE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]10134; GFX11-TRUE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]10135; GFX11-TRUE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]10136; GFX11-TRUE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]10137; GFX11-TRUE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]10138; GFX11-TRUE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]10139; GFX11-TRUE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]10140; GFX11-TRUE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]10141; GFX11-TRUE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]10142; GFX11-TRUE16-NEXT: .LBB18_2: ; %end10143; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s010144; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]10145;10146; GFX11-FAKE16-LABEL: bitcast_v52f16_to_v26i32:10147; GFX11-FAKE16: ; %bb.0:10148; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10149; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2510150; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2410151; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2310152; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2210153; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2110154; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2010155; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1910156; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1810157; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1710158; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1610159; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1510160; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1410161; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1310162; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1210163; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1110164; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1010165; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v910166; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v810167; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v710168; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v610169; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v510170; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v410171; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v010172; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v110173; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v210174; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v310175; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2610176; GFX11-FAKE16-NEXT: v_perm_b32 v0, v65, v0, 0x504010010177; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x504010010178; GFX11-FAKE16-NEXT: v_perm_b32 v2, v67, v2, 0x504010010179; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x504010010180; GFX11-FAKE16-NEXT: v_perm_b32 v4, v64, v4, 0x504010010181; GFX11-FAKE16-NEXT: v_perm_b32 v5, v55, v5, 0x504010010182; GFX11-FAKE16-NEXT: v_perm_b32 v6, v54, v6, 0x504010010183; GFX11-FAKE16-NEXT: v_perm_b32 v7, v53, v7, 0x504010010184; GFX11-FAKE16-NEXT: v_perm_b32 v8, v52, v8, 0x504010010185; GFX11-FAKE16-NEXT: v_perm_b32 v9, v51, v9, 0x504010010186; GFX11-FAKE16-NEXT: v_perm_b32 v10, v50, v10, 0x504010010187; GFX11-FAKE16-NEXT: v_perm_b32 v11, v49, v11, 0x504010010188; GFX11-FAKE16-NEXT: v_perm_b32 v12, v48, v12, 0x504010010189; GFX11-FAKE16-NEXT: v_perm_b32 v13, v39, v13, 0x504010010190; GFX11-FAKE16-NEXT: v_perm_b32 v14, v38, v14, 0x504010010191; GFX11-FAKE16-NEXT: v_perm_b32 v15, v37, v15, 0x504010010192; GFX11-FAKE16-NEXT: v_perm_b32 v16, v36, v16, 0x504010010193; GFX11-FAKE16-NEXT: v_perm_b32 v17, v35, v17, 0x504010010194; GFX11-FAKE16-NEXT: v_perm_b32 v18, v34, v18, 0x504010010195; GFX11-FAKE16-NEXT: v_perm_b32 v19, v33, v19, 0x504010010196; GFX11-FAKE16-NEXT: v_perm_b32 v20, v32, v20, 0x504010010197; GFX11-FAKE16-NEXT: v_perm_b32 v21, v31, v21, 0x504010010198; GFX11-FAKE16-NEXT: v_perm_b32 v22, v30, v22, 0x504010010199; GFX11-FAKE16-NEXT: v_perm_b32 v23, v29, v23, 0x504010010200; GFX11-FAKE16-NEXT: v_perm_b32 v24, v28, v24, 0x504010010201; GFX11-FAKE16-NEXT: v_perm_b32 v25, v27, v25, 0x504010010202; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo10203; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)10204; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s010205; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s010206; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB18_210207; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.true10208; GFX11-FAKE16-NEXT: v_pk_add_f16 v0, 0x200, v0 op_sel_hi:[0,1]10209; GFX11-FAKE16-NEXT: v_pk_add_f16 v1, 0x200, v1 op_sel_hi:[0,1]10210; GFX11-FAKE16-NEXT: v_pk_add_f16 v2, 0x200, v2 op_sel_hi:[0,1]10211; GFX11-FAKE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]10212; GFX11-FAKE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]10213; GFX11-FAKE16-NEXT: v_pk_add_f16 v5, 0x200, v5 op_sel_hi:[0,1]10214; GFX11-FAKE16-NEXT: v_pk_add_f16 v6, 0x200, v6 op_sel_hi:[0,1]10215; GFX11-FAKE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]10216; GFX11-FAKE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]10217; GFX11-FAKE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]10218; GFX11-FAKE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]10219; GFX11-FAKE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]10220; GFX11-FAKE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]10221; GFX11-FAKE16-NEXT: v_pk_add_f16 v13, 0x200, v13 op_sel_hi:[0,1]10222; GFX11-FAKE16-NEXT: v_pk_add_f16 v14, 0x200, v14 op_sel_hi:[0,1]10223; GFX11-FAKE16-NEXT: v_pk_add_f16 v15, 0x200, v15 op_sel_hi:[0,1]10224; GFX11-FAKE16-NEXT: v_pk_add_f16 v16, 0x200, v16 op_sel_hi:[0,1]10225; GFX11-FAKE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]10226; GFX11-FAKE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]10227; GFX11-FAKE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]10228; GFX11-FAKE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]10229; GFX11-FAKE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]10230; GFX11-FAKE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]10231; GFX11-FAKE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]10232; GFX11-FAKE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]10233; GFX11-FAKE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]10234; GFX11-FAKE16-NEXT: .LBB18_2: ; %end10235; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s010236; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]10237 %cmp = icmp eq i32 %b, 010238 br i1 %cmp, label %cmp.true, label %cmp.false10239 10240cmp.true:10241 %a1 = fadd <52 x half> %a, splat (half 0xH0200)10242 %a2 = bitcast <52 x half> %a1 to <26 x i32>10243 br label %end10244 10245cmp.false:10246 %a3 = bitcast <52 x half> %a to <26 x i32>10247 br label %end10248 10249end:10250 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]10251 ret <26 x i32> %phi10252}10253 10254define inreg <26 x i32> @bitcast_v52f16_to_v26i32_scalar(<52 x half> inreg %a, i32 inreg %b) {10255; SI-LABEL: bitcast_v52f16_to_v26i32_scalar:10256; SI: ; %bb.0:10257; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10258; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill10259; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill10260; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill10261; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill10262; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill10263; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill10264; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill10265; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill10266; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill10267; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill10268; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill10269; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill10270; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill10271; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill10272; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill10273; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill10274; SI-NEXT: buffer_load_dword v31, off, s[0:3], s3210275; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:810276; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:410277; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:1610278; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:1210279; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:2410280; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:2010281; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:2810282; SI-NEXT: v_cvt_f16_f32_e32 v45, v010283; SI-NEXT: v_cvt_f16_f32_e32 v0, v1910284; SI-NEXT: v_cvt_f16_f32_e32 v46, v110285; SI-NEXT: v_cvt_f16_f32_e32 v41, v310286; SI-NEXT: v_cvt_f16_f32_e32 v40, v210287; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill10288; SI-NEXT: s_waitcnt expcnt(0)10289; SI-NEXT: v_cvt_f16_f32_e32 v0, v2810290; SI-NEXT: v_cvt_f16_f32_e32 v42, v510291; SI-NEXT: v_cvt_f16_f32_e32 v55, v410292; SI-NEXT: v_cvt_f16_f32_e32 v56, v710293; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill10294; SI-NEXT: v_cvt_f16_f32_e32 v54, v610295; SI-NEXT: v_cvt_f16_f32_e32 v43, v910296; SI-NEXT: v_cvt_f16_f32_e32 v47, v810297; SI-NEXT: v_cvt_f16_f32_e32 v57, v1110298; SI-NEXT: v_cvt_f16_f32_e32 v60, v1010299; SI-NEXT: v_cvt_f16_f32_e32 v13, v1310300; SI-NEXT: v_cvt_f16_f32_e32 v52, v1210301; SI-NEXT: v_cvt_f16_f32_e32 v15, v1510302; SI-NEXT: v_cvt_f16_f32_e32 v63, v1410303; SI-NEXT: v_cvt_f16_f32_e32 v62, v1710304; SI-NEXT: v_cvt_f16_f32_e32 v61, v1610305; SI-NEXT: v_cvt_f16_f32_e32 v37, v1810306; SI-NEXT: v_cvt_f16_f32_e32 v36, v2110307; SI-NEXT: v_cvt_f16_f32_e32 v35, v2010308; SI-NEXT: v_cvt_f16_f32_e32 v34, v2310309; SI-NEXT: v_cvt_f16_f32_e32 v33, v2210310; SI-NEXT: v_cvt_f16_f32_e32 v32, v2510311; SI-NEXT: v_cvt_f16_f32_e32 v59, v2410312; SI-NEXT: v_cvt_f16_f32_e32 v58, v2710313; SI-NEXT: v_cvt_f16_f32_e32 v27, v2610314; SI-NEXT: v_cvt_f16_f32_e32 v26, v2910315; SI-NEXT: v_cvt_f16_f32_e32 v30, v3010316; SI-NEXT: v_cvt_f16_f32_e32 v53, s1710317; SI-NEXT: v_cvt_f16_f32_e32 v11, s1610318; SI-NEXT: v_cvt_f16_f32_e32 v1, s1910319; SI-NEXT: v_cvt_f16_f32_e32 v2, s1810320; SI-NEXT: v_cvt_f16_f32_e32 v12, s2110321; SI-NEXT: v_cvt_f16_f32_e32 v14, s2010322; SI-NEXT: v_cvt_f16_f32_e32 v3, s2310323; SI-NEXT: v_cvt_f16_f32_e32 v10, s2210324; SI-NEXT: v_cvt_f16_f32_e32 v4, s2510325; SI-NEXT: v_cvt_f16_f32_e32 v9, s2410326; SI-NEXT: v_cvt_f16_f32_e32 v5, s2710327; SI-NEXT: v_cvt_f16_f32_e32 v8, s2610328; SI-NEXT: v_cvt_f16_f32_e32 v6, s2910329; SI-NEXT: v_cvt_f16_f32_e32 v7, s2810330; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill10331; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill10332; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill10333; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill10334; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill10335; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill10336; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill10337; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill10338; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill10339; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill10340; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill10341; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill10342; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill10343; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill10344; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill10345; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill10346; SI-NEXT: s_waitcnt vmcnt(14)10347; SI-NEXT: v_cvt_f16_f32_e32 v31, v3110348; SI-NEXT: v_cvt_f16_f32_e32 v0, v3810349; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill10350; SI-NEXT: s_waitcnt expcnt(0)10351; SI-NEXT: v_cvt_f16_f32_e32 v0, v3910352; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v4410353; SI-NEXT: s_and_b64 s[4:5], vcc, exec10354; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill10355; SI-NEXT: s_waitcnt expcnt(0)10356; SI-NEXT: v_cvt_f16_f32_e32 v0, v4810357; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill10358; SI-NEXT: s_waitcnt expcnt(0)10359; SI-NEXT: v_cvt_f16_f32_e32 v0, v4910360; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill10361; SI-NEXT: s_waitcnt expcnt(0)10362; SI-NEXT: v_cvt_f16_f32_e32 v0, v5010363; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill10364; SI-NEXT: s_waitcnt expcnt(0)10365; SI-NEXT: v_cvt_f16_f32_e32 v0, v5110366; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill10367; SI-NEXT: s_cbranch_scc0 .LBB19_410368; SI-NEXT: ; %bb.1: ; %cmp.false10369; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload10370; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload10371; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload10372; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload10373; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload10374; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload10375; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v110376; SI-NEXT: s_waitcnt expcnt(0)10377; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v5310378; SI-NEXT: v_or_b32_e32 v1, v2, v110379; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v1210380; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v310381; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v410382; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v510383; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v610384; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2610385; SI-NEXT: v_or_b32_e32 v0, v11, v010386; SI-NEXT: v_or_b32_e32 v2, v14, v210387; SI-NEXT: v_or_b32_e32 v3, v10, v310388; SI-NEXT: v_or_b32_e32 v4, v9, v410389; SI-NEXT: v_or_b32_e32 v5, v8, v510390; SI-NEXT: v_or_b32_e32 v6, v7, v610391; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v4610392; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v4110393; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v4210394; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v5610395; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v4310396; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v5710397; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1310398; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1510399; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v6210400; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v3610401; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v3410402; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v3210403; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v5810404; SI-NEXT: v_mov_b32_e32 v51, v4610405; SI-NEXT: v_or_b32_e32 v7, v45, v710406; SI-NEXT: v_or_b32_e32 v8, v40, v810407; SI-NEXT: v_or_b32_e32 v9, v55, v910408; SI-NEXT: v_or_b32_e32 v10, v54, v1010409; SI-NEXT: v_or_b32_e32 v11, v47, v1110410; SI-NEXT: v_or_b32_e32 v12, v60, v1210411; SI-NEXT: v_or_b32_e32 v13, v52, v1310412; SI-NEXT: v_or_b32_e32 v14, v63, v1410413; SI-NEXT: v_or_b32_e32 v15, v61, v1510414; SI-NEXT: v_or_b32_e32 v17, v35, v1710415; SI-NEXT: v_or_b32_e32 v18, v33, v1810416; SI-NEXT: v_or_b32_e32 v19, v59, v1910417; SI-NEXT: v_or_b32_e32 v20, v27, v2010418; SI-NEXT: s_waitcnt vmcnt(5)10419; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v2310420; SI-NEXT: s_waitcnt vmcnt(4)10421; SI-NEXT: v_or_b32_e32 v23, v24, v2310422; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload10423; SI-NEXT: s_waitcnt vmcnt(4)10424; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1610425; SI-NEXT: v_or_b32_e32 v16, v37, v1610426; SI-NEXT: s_waitcnt vmcnt(0)10427; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2410428; SI-NEXT: v_or_b32_e32 v24, v25, v2410429; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload10430; SI-NEXT: v_or_b32_e32 v21, v22, v2110431; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v3110432; SI-NEXT: v_or_b32_e32 v22, v30, v2210433; SI-NEXT: s_waitcnt vmcnt(0)10434; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v2510435; SI-NEXT: v_or_b32_e32 v25, v38, v2510436; SI-NEXT: s_cbranch_execnz .LBB19_310437; SI-NEXT: .LBB19_2: ; %cmp.true10438; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload10439; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload10440; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload10441; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload10442; SI-NEXT: s_waitcnt expcnt(0)10443; SI-NEXT: v_cvt_f32_f16_e32 v0, v5310444; SI-NEXT: v_cvt_f32_f16_e32 v9, v4010445; SI-NEXT: v_cvt_f32_f16_e32 v10, v5510446; SI-NEXT: v_cvt_f32_f16_e32 v11, v5410447; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v010448; SI-NEXT: v_cvt_f16_f32_e32 v0, v010449; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v910450; SI-NEXT: v_cvt_f16_f32_e32 v9, v910451; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1010452; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v010453; SI-NEXT: v_cvt_f16_f32_e32 v10, v1010454; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1110455; SI-NEXT: v_cvt_f16_f32_e32 v11, v1110456; SI-NEXT: v_cvt_f32_f16_e32 v12, v4710457; SI-NEXT: v_cvt_f32_f16_e32 v13, v6010458; SI-NEXT: v_cvt_f32_f16_e32 v15, v5210459; SI-NEXT: v_cvt_f32_f16_e32 v16, v6310460; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1210461; SI-NEXT: v_cvt_f16_f32_e32 v12, v1210462; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v1310463; SI-NEXT: v_cvt_f16_f32_e32 v13, v1310464; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v1510465; SI-NEXT: v_cvt_f16_f32_e32 v15, v1510466; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1610467; SI-NEXT: v_cvt_f16_f32_e32 v16, v1610468; SI-NEXT: v_cvt_f32_f16_e32 v18, v3710469; SI-NEXT: v_cvt_f32_f16_e32 v19, v3510470; SI-NEXT: v_cvt_f32_f16_e32 v20, v3210471; SI-NEXT: v_cvt_f32_f16_e32 v22, v2710472; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1810473; SI-NEXT: v_cvt_f16_f32_e32 v18, v1810474; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1910475; SI-NEXT: v_cvt_f16_f32_e32 v19, v1910476; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2010477; SI-NEXT: v_cvt_f16_f32_e32 v20, v2010478; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2210479; SI-NEXT: v_cvt_f16_f32_e32 v22, v2210480; SI-NEXT: v_cvt_f32_f16_e32 v21, v5910481; SI-NEXT: v_cvt_f32_f16_e32 v23, v3110482; SI-NEXT: v_cvt_f32_f16_e32 v24, v3010483; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload10484; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2110485; SI-NEXT: v_cvt_f16_f32_e32 v21, v2110486; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2310487; SI-NEXT: v_cvt_f16_f32_e32 v23, v2310488; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2410489; SI-NEXT: v_cvt_f16_f32_e32 v24, v2410490; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload10491; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload10492; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload10493; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload10494; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload10495; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload10496; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload10497; SI-NEXT: s_waitcnt vmcnt(11)10498; SI-NEXT: v_cvt_f32_f16_e32 v1, v110499; SI-NEXT: s_waitcnt vmcnt(10)10500; SI-NEXT: v_cvt_f32_f16_e32 v2, v210501; SI-NEXT: s_waitcnt vmcnt(9)10502; SI-NEXT: v_cvt_f32_f16_e32 v3, v310503; SI-NEXT: s_waitcnt vmcnt(8)10504; SI-NEXT: v_cvt_f32_f16_e32 v4, v410505; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v110506; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v210507; SI-NEXT: v_cvt_f16_f32_e32 v2, v210508; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v310509; SI-NEXT: v_cvt_f16_f32_e32 v1, v110510; SI-NEXT: v_cvt_f16_f32_e32 v3, v310511; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v210512; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v410513; SI-NEXT: v_or_b32_e32 v0, v1, v010514; SI-NEXT: v_or_b32_e32 v1, v3, v210515; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload10516; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload10517; SI-NEXT: v_cvt_f16_f32_e32 v4, v410518; SI-NEXT: s_waitcnt vmcnt(9)10519; SI-NEXT: v_cvt_f32_f16_e32 v5, v510520; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v510521; SI-NEXT: v_cvt_f16_f32_e32 v5, v510522; SI-NEXT: s_waitcnt vmcnt(8)10523; SI-NEXT: v_cvt_f32_f16_e32 v6, v610524; SI-NEXT: s_waitcnt vmcnt(7)10525; SI-NEXT: v_cvt_f32_f16_e32 v7, v710526; SI-NEXT: s_waitcnt vmcnt(6)10527; SI-NEXT: v_cvt_f32_f16_e32 v8, v810528; SI-NEXT: s_waitcnt vmcnt(5)10529; SI-NEXT: v_cvt_f32_f16_e32 v14, v1410530; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v610531; SI-NEXT: v_cvt_f16_f32_e32 v6, v610532; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v710533; SI-NEXT: v_cvt_f16_f32_e32 v7, v710534; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v810535; SI-NEXT: v_cvt_f16_f32_e32 v8, v810536; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1410537; SI-NEXT: v_cvt_f16_f32_e32 v14, v1410538; SI-NEXT: s_waitcnt vmcnt(4)10539; SI-NEXT: v_cvt_f32_f16_e32 v17, v1710540; SI-NEXT: s_waitcnt vmcnt(2)10541; SI-NEXT: v_cvt_f32_f16_e32 v27, v2710542; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1710543; SI-NEXT: v_cvt_f16_f32_e32 v17, v1710544; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v2710545; SI-NEXT: v_cvt_f16_f32_e32 v27, v2710546; SI-NEXT: s_waitcnt vmcnt(1)10547; SI-NEXT: v_cvt_f32_f16_e32 v2, v210548; SI-NEXT: s_waitcnt vmcnt(0)10549; SI-NEXT: v_cvt_f32_f16_e32 v3, v310550; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v210551; SI-NEXT: v_cvt_f16_f32_e32 v2, v210552; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v310553; SI-NEXT: v_cvt_f16_f32_e32 v3, v310554; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v210555; SI-NEXT: v_or_b32_e32 v2, v3, v210556; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload10557; SI-NEXT: s_waitcnt vmcnt(0)10558; SI-NEXT: v_cvt_f32_f16_e32 v3, v310559; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v310560; SI-NEXT: v_cvt_f16_f32_e32 v3, v310561; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v310562; SI-NEXT: v_or_b32_e32 v3, v4, v310563; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload10564; SI-NEXT: s_waitcnt vmcnt(0)10565; SI-NEXT: v_cvt_f32_f16_e32 v4, v410566; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v410567; SI-NEXT: v_cvt_f16_f32_e32 v4, v410568; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v410569; SI-NEXT: v_or_b32_e32 v4, v5, v410570; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload10571; SI-NEXT: s_waitcnt vmcnt(0)10572; SI-NEXT: v_cvt_f32_f16_e32 v5, v510573; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v510574; SI-NEXT: v_cvt_f16_f32_e32 v5, v510575; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v510576; SI-NEXT: v_or_b32_e32 v5, v6, v510577; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload10578; SI-NEXT: s_waitcnt vmcnt(0)10579; SI-NEXT: v_cvt_f32_f16_e32 v6, v610580; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v610581; SI-NEXT: v_cvt_f16_f32_e32 v6, v610582; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v610583; SI-NEXT: v_or_b32_e32 v6, v7, v610584; SI-NEXT: v_cvt_f32_f16_e32 v7, v5110585; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v710586; SI-NEXT: v_cvt_f16_f32_e32 v7, v710587; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v710588; SI-NEXT: v_or_b32_e32 v7, v8, v710589; SI-NEXT: v_cvt_f32_f16_e32 v8, v4110590; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v810591; SI-NEXT: v_cvt_f16_f32_e32 v8, v810592; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v810593; SI-NEXT: v_or_b32_e32 v8, v9, v810594; SI-NEXT: v_cvt_f32_f16_e32 v9, v4210595; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v910596; SI-NEXT: v_cvt_f16_f32_e32 v9, v910597; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v910598; SI-NEXT: v_or_b32_e32 v9, v10, v910599; SI-NEXT: v_cvt_f32_f16_e32 v10, v5610600; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1010601; SI-NEXT: v_cvt_f16_f32_e32 v10, v1010602; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v1010603; SI-NEXT: v_or_b32_e32 v10, v11, v1010604; SI-NEXT: v_cvt_f32_f16_e32 v11, v4310605; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1110606; SI-NEXT: v_cvt_f16_f32_e32 v11, v1110607; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v1110608; SI-NEXT: v_or_b32_e32 v11, v12, v1110609; SI-NEXT: v_cvt_f32_f16_e32 v12, v5710610; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1210611; SI-NEXT: v_cvt_f16_f32_e32 v12, v1210612; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v1210613; SI-NEXT: v_or_b32_e32 v12, v13, v1210614; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1410615; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload10616; SI-NEXT: v_or_b32_e32 v13, v15, v1310617; SI-NEXT: v_cvt_f32_f16_e32 v15, v6210618; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v1510619; SI-NEXT: v_cvt_f16_f32_e32 v15, v1510620; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1510621; SI-NEXT: s_waitcnt vmcnt(0)10622; SI-NEXT: v_cvt_f32_f16_e32 v14, v1410623; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1410624; SI-NEXT: v_cvt_f16_f32_e32 v14, v1410625; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1410626; SI-NEXT: v_or_b32_e32 v14, v16, v1410627; SI-NEXT: v_cvt_f32_f16_e32 v16, v6110628; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1610629; SI-NEXT: v_cvt_f16_f32_e32 v16, v1610630; SI-NEXT: v_or_b32_e32 v15, v16, v1510631; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1710632; SI-NEXT: v_cvt_f32_f16_e32 v17, v3610633; SI-NEXT: v_or_b32_e32 v16, v18, v1610634; SI-NEXT: v_cvt_f32_f16_e32 v18, v3410635; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1710636; SI-NEXT: v_cvt_f16_f32_e32 v17, v1710637; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1810638; SI-NEXT: v_cvt_f16_f32_e32 v18, v1810639; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1710640; SI-NEXT: v_or_b32_e32 v17, v19, v1710641; SI-NEXT: v_cvt_f32_f16_e32 v19, v3310642; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1810643; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1910644; SI-NEXT: v_cvt_f16_f32_e32 v19, v1910645; SI-NEXT: v_or_b32_e32 v18, v19, v1810646; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v2010647; SI-NEXT: v_cvt_f32_f16_e32 v20, v5810648; SI-NEXT: v_or_b32_e32 v19, v21, v1910649; SI-NEXT: v_cvt_f32_f16_e32 v21, v2610650; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload10651; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2010652; SI-NEXT: v_cvt_f16_f32_e32 v20, v2010653; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2110654; SI-NEXT: v_cvt_f16_f32_e32 v21, v2110655; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v2010656; SI-NEXT: v_or_b32_e32 v20, v22, v2010657; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload10658; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2110659; SI-NEXT: s_waitcnt vmcnt(1)10660; SI-NEXT: v_cvt_f32_f16_e32 v26, v2610661; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v2610662; SI-NEXT: v_cvt_f16_f32_e32 v26, v2610663; SI-NEXT: s_waitcnt vmcnt(0)10664; SI-NEXT: v_cvt_f32_f16_e32 v22, v2210665; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2210666; SI-NEXT: v_cvt_f16_f32_e32 v22, v2210667; SI-NEXT: v_or_b32_e32 v21, v22, v2110668; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v2310669; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload10670; SI-NEXT: v_or_b32_e32 v22, v24, v2210671; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload10672; SI-NEXT: v_cvt_f32_f16_e32 v25, v2510673; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2510674; SI-NEXT: v_cvt_f16_f32_e32 v25, v2510675; SI-NEXT: s_waitcnt vmcnt(1)10676; SI-NEXT: v_cvt_f32_f16_e32 v23, v2310677; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2310678; SI-NEXT: v_cvt_f16_f32_e32 v23, v2310679; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v2310680; SI-NEXT: v_or_b32_e32 v23, v25, v2310681; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload10682; SI-NEXT: s_waitcnt vmcnt(1)10683; SI-NEXT: v_cvt_f32_f16_e32 v24, v2410684; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2410685; SI-NEXT: v_cvt_f16_f32_e32 v24, v2410686; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2410687; SI-NEXT: s_waitcnt vmcnt(0)10688; SI-NEXT: v_cvt_f32_f16_e32 v25, v2510689; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2510690; SI-NEXT: v_cvt_f16_f32_e32 v25, v2510691; SI-NEXT: v_or_b32_e32 v24, v25, v2410692; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v2610693; SI-NEXT: v_or_b32_e32 v25, v27, v2510694; SI-NEXT: .LBB19_3: ; %end10695; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload10696; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload10697; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload10698; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload10699; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload10700; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload10701; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload10702; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload10703; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload10704; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload10705; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload10706; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload10707; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload10708; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload10709; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload10710; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload10711; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)10712; SI-NEXT: s_setpc_b64 s[30:31]10713; SI-NEXT: .LBB19_4:10714; SI-NEXT: v_mov_b32_e32 v50, v6310715; SI-NEXT: v_mov_b32_e32 v63, v5810716; SI-NEXT: v_mov_b32_e32 v58, v3010717; SI-NEXT: v_mov_b32_e32 v38, v3710718; SI-NEXT: v_mov_b32_e32 v37, v3610719; SI-NEXT: v_mov_b32_e32 v36, v3510720; SI-NEXT: v_mov_b32_e32 v35, v3410721; SI-NEXT: v_mov_b32_e32 v34, v3310722; SI-NEXT: v_mov_b32_e32 v33, v3210723; SI-NEXT: v_mov_b32_e32 v32, v5910724; SI-NEXT: v_mov_b32_e32 v59, v3110725; SI-NEXT: v_mov_b32_e32 v48, v6110726; SI-NEXT: v_mov_b32_e32 v61, v2610727; SI-NEXT: v_mov_b32_e32 v49, v6210728; SI-NEXT: v_mov_b32_e32 v62, v2710729; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3110730; SI-NEXT: v_mov_b32_e32 v51, v4610731; SI-NEXT: v_mov_b32_e32 v27, v6210732; SI-NEXT: v_mov_b32_e32 v62, v4910733; SI-NEXT: v_mov_b32_e32 v26, v6110734; SI-NEXT: v_mov_b32_e32 v61, v4810735; SI-NEXT: v_mov_b32_e32 v31, v5910736; SI-NEXT: v_mov_b32_e32 v59, v3210737; SI-NEXT: v_mov_b32_e32 v32, v3310738; SI-NEXT: v_mov_b32_e32 v33, v3410739; SI-NEXT: v_mov_b32_e32 v34, v3510740; SI-NEXT: v_mov_b32_e32 v35, v3610741; SI-NEXT: v_mov_b32_e32 v36, v3710742; SI-NEXT: v_mov_b32_e32 v37, v3810743; SI-NEXT: v_mov_b32_e32 v30, v5810744; SI-NEXT: v_mov_b32_e32 v58, v6310745; SI-NEXT: v_mov_b32_e32 v63, v5010746; SI-NEXT: s_branch .LBB19_210747;10748; VI-LABEL: bitcast_v52f16_to_v26i32_scalar:10749; VI: ; %bb.0:10750; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10751; VI-NEXT: s_lshr_b32 s6, s29, 1610752; VI-NEXT: s_lshr_b32 s7, s28, 1610753; VI-NEXT: s_lshr_b32 s8, s27, 1610754; VI-NEXT: s_lshr_b32 s9, s26, 1610755; VI-NEXT: s_lshr_b32 s10, s25, 1610756; VI-NEXT: s_lshr_b32 s11, s24, 1610757; VI-NEXT: s_lshr_b32 s12, s23, 1610758; VI-NEXT: s_lshr_b32 s13, s22, 1610759; VI-NEXT: s_lshr_b32 s14, s21, 1610760; VI-NEXT: s_lshr_b32 s15, s20, 1610761; VI-NEXT: s_lshr_b32 s40, s19, 1610762; VI-NEXT: s_lshr_b32 s41, s18, 1610763; VI-NEXT: s_lshr_b32 s42, s17, 1610764; VI-NEXT: s_lshr_b32 s43, s16, 1610765; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1210766; VI-NEXT: v_mov_b32_e32 v32, v1110767; VI-NEXT: v_mov_b32_e32 v33, v1010768; VI-NEXT: v_mov_b32_e32 v34, v910769; VI-NEXT: v_mov_b32_e32 v35, v810770; VI-NEXT: v_mov_b32_e32 v36, v710771; VI-NEXT: v_mov_b32_e32 v37, v610772; VI-NEXT: v_mov_b32_e32 v38, v510773; VI-NEXT: v_mov_b32_e32 v39, v410774; VI-NEXT: v_mov_b32_e32 v48, v310775; VI-NEXT: v_mov_b32_e32 v49, v210776; VI-NEXT: v_mov_b32_e32 v50, v110777; VI-NEXT: v_mov_b32_e32 v51, v010778; VI-NEXT: s_and_b64 s[4:5], vcc, exec10779; VI-NEXT: s_cbranch_scc0 .LBB19_410780; VI-NEXT: ; %bb.1: ; %cmp.false10781; VI-NEXT: s_and_b32 s4, 0xffff, s1610782; VI-NEXT: s_lshl_b32 s5, s43, 1610783; VI-NEXT: s_or_b32 s4, s4, s510784; VI-NEXT: s_and_b32 s5, 0xffff, s1710785; VI-NEXT: s_lshl_b32 s44, s42, 1610786; VI-NEXT: s_or_b32 s5, s5, s4410787; VI-NEXT: s_and_b32 s44, 0xffff, s1810788; VI-NEXT: s_lshl_b32 s45, s41, 1610789; VI-NEXT: s_or_b32 s44, s44, s4510790; VI-NEXT: s_and_b32 s45, 0xffff, s1910791; VI-NEXT: s_lshl_b32 s46, s40, 1610792; VI-NEXT: v_mov_b32_e32 v0, 1610793; VI-NEXT: s_or_b32 s45, s45, s4610794; VI-NEXT: s_and_b32 s46, 0xffff, s2010795; VI-NEXT: s_lshl_b32 s47, s15, 1610796; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110797; VI-NEXT: s_or_b32 s46, s46, s4710798; VI-NEXT: s_and_b32 s47, 0xffff, s2110799; VI-NEXT: s_lshl_b32 s56, s14, 1610800; VI-NEXT: v_or_b32_sdwa v14, v51, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10801; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110802; VI-NEXT: s_or_b32 s47, s47, s5610803; VI-NEXT: s_and_b32 s56, 0xffff, s2210804; VI-NEXT: s_lshl_b32 s57, s13, 1610805; VI-NEXT: v_or_b32_sdwa v16, v49, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10806; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110807; VI-NEXT: s_or_b32 s56, s56, s5710808; VI-NEXT: s_and_b32 s57, 0xffff, s2310809; VI-NEXT: s_lshl_b32 s58, s12, 1610810; VI-NEXT: v_or_b32_sdwa v17, v48, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10811; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110812; VI-NEXT: s_or_b32 s57, s57, s5810813; VI-NEXT: s_and_b32 s58, 0xffff, s2410814; VI-NEXT: s_lshl_b32 s59, s11, 1610815; VI-NEXT: v_or_b32_sdwa v18, v39, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10816; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110817; VI-NEXT: s_or_b32 s58, s58, s5910818; VI-NEXT: s_and_b32 s59, 0xffff, s2510819; VI-NEXT: s_lshl_b32 s60, s10, 1610820; VI-NEXT: v_or_b32_sdwa v19, v38, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10821; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110822; VI-NEXT: s_or_b32 s59, s59, s6010823; VI-NEXT: s_and_b32 s60, 0xffff, s2610824; VI-NEXT: s_lshl_b32 s61, s9, 1610825; VI-NEXT: v_or_b32_sdwa v20, v37, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10826; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110827; VI-NEXT: s_or_b32 s60, s60, s6110828; VI-NEXT: s_and_b32 s61, 0xffff, s2710829; VI-NEXT: s_lshl_b32 s62, s8, 1610830; VI-NEXT: v_or_b32_sdwa v21, v36, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10831; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110832; VI-NEXT: s_or_b32 s61, s61, s6210833; VI-NEXT: s_and_b32 s62, 0xffff, s2810834; VI-NEXT: s_lshl_b32 s63, s7, 1610835; VI-NEXT: v_or_b32_sdwa v22, v35, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10836; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110837; VI-NEXT: s_or_b32 s62, s62, s6310838; VI-NEXT: s_and_b32 s63, 0xffff, s2910839; VI-NEXT: s_lshl_b32 s72, s6, 1610840; VI-NEXT: v_lshlrev_b32_sdwa v2, v0, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110841; VI-NEXT: v_or_b32_sdwa v23, v34, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10842; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110843; VI-NEXT: v_lshlrev_b32_sdwa v0, v0, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110844; VI-NEXT: s_or_b32 s63, s63, s7210845; VI-NEXT: v_or_b32_sdwa v15, v50, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10846; VI-NEXT: v_or_b32_sdwa v24, v33, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10847; VI-NEXT: v_or_b32_sdwa v25, v32, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10848; VI-NEXT: v_mov_b32_e32 v0, s410849; VI-NEXT: v_mov_b32_e32 v1, s510850; VI-NEXT: v_mov_b32_e32 v2, s4410851; VI-NEXT: v_mov_b32_e32 v3, s4510852; VI-NEXT: v_mov_b32_e32 v4, s4610853; VI-NEXT: v_mov_b32_e32 v5, s4710854; VI-NEXT: v_mov_b32_e32 v6, s5610855; VI-NEXT: v_mov_b32_e32 v7, s5710856; VI-NEXT: v_mov_b32_e32 v8, s5810857; VI-NEXT: v_mov_b32_e32 v9, s5910858; VI-NEXT: v_mov_b32_e32 v10, s6010859; VI-NEXT: v_mov_b32_e32 v11, s6110860; VI-NEXT: v_mov_b32_e32 v12, s6210861; VI-NEXT: v_mov_b32_e32 v13, s6310862; VI-NEXT: s_cbranch_execnz .LBB19_310863; VI-NEXT: .LBB19_2: ; %cmp.true10864; VI-NEXT: v_mov_b32_e32 v13, 0x20010865; VI-NEXT: v_mov_b32_e32 v0, s4310866; VI-NEXT: v_mov_b32_e32 v2, s4210867; VI-NEXT: v_add_f16_sdwa v0, v0, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10868; VI-NEXT: v_add_f16_e32 v1, s16, v1310869; VI-NEXT: v_add_f16_sdwa v2, v2, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10870; VI-NEXT: v_add_f16_e32 v3, s17, v1310871; VI-NEXT: v_or_b32_e32 v0, v1, v010872; VI-NEXT: v_or_b32_e32 v1, v3, v210873; VI-NEXT: v_mov_b32_e32 v2, s4110874; VI-NEXT: v_add_f16_sdwa v2, v2, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10875; VI-NEXT: v_add_f16_e32 v3, s18, v1310876; VI-NEXT: v_or_b32_e32 v2, v3, v210877; VI-NEXT: v_mov_b32_e32 v3, s4010878; VI-NEXT: v_add_f16_sdwa v3, v3, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10879; VI-NEXT: v_add_f16_e32 v4, s19, v1310880; VI-NEXT: v_or_b32_e32 v3, v4, v310881; VI-NEXT: v_mov_b32_e32 v4, s1510882; VI-NEXT: v_add_f16_sdwa v4, v4, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10883; VI-NEXT: v_add_f16_e32 v5, s20, v1310884; VI-NEXT: v_or_b32_e32 v4, v5, v410885; VI-NEXT: v_mov_b32_e32 v5, s1410886; VI-NEXT: v_add_f16_sdwa v5, v5, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10887; VI-NEXT: v_add_f16_e32 v6, s21, v1310888; VI-NEXT: v_or_b32_e32 v5, v6, v510889; VI-NEXT: v_mov_b32_e32 v6, s1310890; VI-NEXT: v_add_f16_sdwa v6, v6, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10891; VI-NEXT: v_add_f16_e32 v7, s22, v1310892; VI-NEXT: v_or_b32_e32 v6, v7, v610893; VI-NEXT: v_mov_b32_e32 v7, s1210894; VI-NEXT: v_add_f16_sdwa v7, v7, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10895; VI-NEXT: v_add_f16_e32 v8, s23, v1310896; VI-NEXT: v_or_b32_e32 v7, v8, v710897; VI-NEXT: v_mov_b32_e32 v8, s1110898; VI-NEXT: v_add_f16_sdwa v8, v8, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10899; VI-NEXT: v_add_f16_e32 v9, s24, v1310900; VI-NEXT: v_or_b32_e32 v8, v9, v810901; VI-NEXT: v_mov_b32_e32 v9, s1010902; VI-NEXT: v_add_f16_sdwa v9, v9, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10903; VI-NEXT: v_add_f16_e32 v10, s25, v1310904; VI-NEXT: v_or_b32_e32 v9, v10, v910905; VI-NEXT: v_mov_b32_e32 v10, s910906; VI-NEXT: v_add_f16_sdwa v10, v10, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10907; VI-NEXT: v_add_f16_e32 v11, s26, v1310908; VI-NEXT: v_or_b32_e32 v10, v11, v1010909; VI-NEXT: v_mov_b32_e32 v11, s810910; VI-NEXT: v_add_f16_sdwa v11, v11, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10911; VI-NEXT: v_add_f16_e32 v12, s27, v1310912; VI-NEXT: v_or_b32_e32 v11, v12, v1110913; VI-NEXT: v_mov_b32_e32 v12, s710914; VI-NEXT: v_add_f16_sdwa v12, v12, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10915; VI-NEXT: v_add_f16_e32 v14, s28, v1310916; VI-NEXT: v_or_b32_e32 v12, v14, v1210917; VI-NEXT: v_mov_b32_e32 v14, s610918; VI-NEXT: v_add_f16_sdwa v14, v14, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD10919; VI-NEXT: v_add_f16_e32 v13, s29, v1310920; VI-NEXT: v_mov_b32_e32 v25, 0x20010921; VI-NEXT: v_or_b32_e32 v13, v13, v1410922; VI-NEXT: v_add_f16_sdwa v14, v51, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10923; VI-NEXT: v_add_f16_e32 v15, 0x200, v5110924; VI-NEXT: v_or_b32_e32 v14, v15, v1410925; VI-NEXT: v_add_f16_sdwa v15, v50, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10926; VI-NEXT: v_add_f16_e32 v16, 0x200, v5010927; VI-NEXT: v_or_b32_e32 v15, v16, v1510928; VI-NEXT: v_add_f16_sdwa v16, v49, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10929; VI-NEXT: v_add_f16_e32 v17, 0x200, v4910930; VI-NEXT: v_or_b32_e32 v16, v17, v1610931; VI-NEXT: v_add_f16_sdwa v17, v48, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10932; VI-NEXT: v_add_f16_e32 v18, 0x200, v4810933; VI-NEXT: v_or_b32_e32 v17, v18, v1710934; VI-NEXT: v_add_f16_sdwa v18, v39, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10935; VI-NEXT: v_add_f16_e32 v19, 0x200, v3910936; VI-NEXT: v_or_b32_e32 v18, v19, v1810937; VI-NEXT: v_add_f16_sdwa v19, v38, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10938; VI-NEXT: v_add_f16_e32 v20, 0x200, v3810939; VI-NEXT: v_or_b32_e32 v19, v20, v1910940; VI-NEXT: v_add_f16_sdwa v20, v37, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10941; VI-NEXT: v_add_f16_e32 v21, 0x200, v3710942; VI-NEXT: v_or_b32_e32 v20, v21, v2010943; VI-NEXT: v_add_f16_sdwa v21, v36, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10944; VI-NEXT: v_add_f16_e32 v22, 0x200, v3610945; VI-NEXT: v_or_b32_e32 v21, v22, v2110946; VI-NEXT: v_add_f16_sdwa v22, v35, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10947; VI-NEXT: v_add_f16_e32 v23, 0x200, v3510948; VI-NEXT: v_or_b32_e32 v22, v23, v2210949; VI-NEXT: v_add_f16_sdwa v23, v34, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10950; VI-NEXT: v_add_f16_e32 v24, 0x200, v3410951; VI-NEXT: v_or_b32_e32 v23, v24, v2310952; VI-NEXT: v_add_f16_sdwa v24, v33, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10953; VI-NEXT: v_add_f16_e32 v26, 0x200, v3310954; VI-NEXT: v_or_b32_e32 v24, v26, v2410955; VI-NEXT: v_add_f16_sdwa v25, v32, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10956; VI-NEXT: v_add_f16_e32 v26, 0x200, v3210957; VI-NEXT: v_or_b32_e32 v25, v26, v2510958; VI-NEXT: .LBB19_3: ; %end10959; VI-NEXT: s_setpc_b64 s[30:31]10960; VI-NEXT: .LBB19_4:10961; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3110962; VI-NEXT: s_branch .LBB19_210963;10964; GFX9-LABEL: bitcast_v52f16_to_v26i32_scalar:10965; GFX9: ; %bb.0:10966; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10967; GFX9-NEXT: v_mov_b32_e32 v32, v1110968; GFX9-NEXT: v_mov_b32_e32 v33, v1010969; GFX9-NEXT: v_mov_b32_e32 v34, v910970; GFX9-NEXT: v_mov_b32_e32 v35, v810971; GFX9-NEXT: v_mov_b32_e32 v36, v710972; GFX9-NEXT: v_mov_b32_e32 v37, v610973; GFX9-NEXT: v_mov_b32_e32 v38, v510974; GFX9-NEXT: v_mov_b32_e32 v39, v410975; GFX9-NEXT: v_mov_b32_e32 v48, v310976; GFX9-NEXT: v_mov_b32_e32 v49, v210977; GFX9-NEXT: v_mov_b32_e32 v50, v110978; GFX9-NEXT: v_mov_b32_e32 v51, v010979; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1210980; GFX9-NEXT: s_lshr_b32 s40, s29, 1610981; GFX9-NEXT: s_lshr_b32 s41, s28, 1610982; GFX9-NEXT: s_lshr_b32 s42, s27, 1610983; GFX9-NEXT: s_lshr_b32 s43, s26, 1610984; GFX9-NEXT: s_lshr_b32 s15, s25, 1610985; GFX9-NEXT: s_lshr_b32 s14, s24, 1610986; GFX9-NEXT: s_lshr_b32 s13, s23, 1610987; GFX9-NEXT: s_lshr_b32 s12, s22, 1610988; GFX9-NEXT: s_lshr_b32 s11, s21, 1610989; GFX9-NEXT: s_lshr_b32 s10, s20, 1610990; GFX9-NEXT: s_lshr_b32 s9, s19, 1610991; GFX9-NEXT: s_lshr_b32 s8, s18, 1610992; GFX9-NEXT: s_lshr_b32 s7, s17, 1610993; GFX9-NEXT: s_lshr_b32 s6, s16, 1610994; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill10995; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill10996; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill10997; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill10998; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill10999; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill11000; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill11001; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill11002; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v3211003; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v3311004; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v3411005; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v3511006; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v3611007; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v3711008; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v3811009; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v3911010; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec11011; GFX9-NEXT: s_pack_ll_b32_b16 s6, s16, s611012; GFX9-NEXT: s_pack_ll_b32_b16 s7, s17, s711013; GFX9-NEXT: s_pack_ll_b32_b16 s8, s18, s811014; GFX9-NEXT: s_pack_ll_b32_b16 s9, s19, s911015; GFX9-NEXT: s_pack_ll_b32_b16 s10, s20, s1011016; GFX9-NEXT: s_pack_ll_b32_b16 s11, s21, s1111017; GFX9-NEXT: s_pack_ll_b32_b16 s12, s22, s1211018; GFX9-NEXT: s_pack_ll_b32_b16 s13, s23, s1311019; GFX9-NEXT: s_pack_ll_b32_b16 s14, s24, s1411020; GFX9-NEXT: s_pack_ll_b32_b16 s15, s25, s1511021; GFX9-NEXT: s_pack_ll_b32_b16 s16, s26, s4311022; GFX9-NEXT: s_pack_ll_b32_b16 s17, s27, s4211023; GFX9-NEXT: s_pack_ll_b32_b16 s18, s28, s4111024; GFX9-NEXT: s_pack_ll_b32_b16 s19, s29, s4011025; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v4811026; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v4911027; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5011028; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v5111029; GFX9-NEXT: s_cbranch_scc0 .LBB19_411030; GFX9-NEXT: ; %bb.1: ; %cmp.false11031; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5111032; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v011033; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5011034; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v011035; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4911036; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v011037; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4811038; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v011039; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3911040; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v011041; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3811042; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v011043; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3711044; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v011045; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3611046; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v011047; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3511048; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v011049; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3411050; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v011051; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3311052; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v011053; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3211054; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v011055; GFX9-NEXT: v_mov_b32_e32 v0, s611056; GFX9-NEXT: v_mov_b32_e32 v1, s711057; GFX9-NEXT: v_mov_b32_e32 v2, s811058; GFX9-NEXT: v_mov_b32_e32 v3, s911059; GFX9-NEXT: v_mov_b32_e32 v4, s1011060; GFX9-NEXT: v_mov_b32_e32 v5, s1111061; GFX9-NEXT: v_mov_b32_e32 v6, s1211062; GFX9-NEXT: v_mov_b32_e32 v7, s1311063; GFX9-NEXT: v_mov_b32_e32 v8, s1411064; GFX9-NEXT: v_mov_b32_e32 v9, s1511065; GFX9-NEXT: v_mov_b32_e32 v10, s1611066; GFX9-NEXT: v_mov_b32_e32 v11, s1711067; GFX9-NEXT: v_mov_b32_e32 v12, s1811068; GFX9-NEXT: v_mov_b32_e32 v13, s1911069; GFX9-NEXT: s_cbranch_execnz .LBB19_311070; GFX9-NEXT: .LBB19_2: ; %cmp.true11071; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v5111072; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v5011073; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v4911074; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v4811075; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v3911076; GFX9-NEXT: v_and_b32_e32 v19, 0xffff, v3811077; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v3711078; GFX9-NEXT: v_and_b32_e32 v21, 0xffff, v3611079; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v3511080; GFX9-NEXT: v_and_b32_e32 v23, 0xffff, v3411081; GFX9-NEXT: v_and_b32_e32 v24, 0xffff, v3311082; GFX9-NEXT: v_and_b32_e32 v25, 0xffff, v3211083; GFX9-NEXT: s_movk_i32 s4, 0x20011084; GFX9-NEXT: v_mov_b32_e32 v13, 0x20011085; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v1411086; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v1511087; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v1611088; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v1711089; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v1811090; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v1911091; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v2011092; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v2111093; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v2211094; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v2311095; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v2411096; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v2511097; GFX9-NEXT: v_pk_add_f16 v0, s6, v13 op_sel_hi:[1,0]11098; GFX9-NEXT: v_pk_add_f16 v1, s7, v13 op_sel_hi:[1,0]11099; GFX9-NEXT: v_pk_add_f16 v2, s8, v13 op_sel_hi:[1,0]11100; GFX9-NEXT: v_pk_add_f16 v3, s9, v13 op_sel_hi:[1,0]11101; GFX9-NEXT: v_pk_add_f16 v4, s10, v13 op_sel_hi:[1,0]11102; GFX9-NEXT: v_pk_add_f16 v5, s11, v13 op_sel_hi:[1,0]11103; GFX9-NEXT: v_pk_add_f16 v6, s12, v13 op_sel_hi:[1,0]11104; GFX9-NEXT: v_pk_add_f16 v7, s13, v13 op_sel_hi:[1,0]11105; GFX9-NEXT: v_pk_add_f16 v8, s14, v13 op_sel_hi:[1,0]11106; GFX9-NEXT: v_pk_add_f16 v9, s15, v13 op_sel_hi:[1,0]11107; GFX9-NEXT: v_pk_add_f16 v10, s16, v13 op_sel_hi:[1,0]11108; GFX9-NEXT: v_pk_add_f16 v11, s17, v13 op_sel_hi:[1,0]11109; GFX9-NEXT: v_pk_add_f16 v12, s18, v13 op_sel_hi:[1,0]11110; GFX9-NEXT: v_pk_add_f16 v13, s19, v13 op_sel_hi:[1,0]11111; GFX9-NEXT: v_pk_add_f16 v14, v14, s4 op_sel_hi:[1,0]11112; GFX9-NEXT: v_pk_add_f16 v15, v15, s4 op_sel_hi:[1,0]11113; GFX9-NEXT: v_pk_add_f16 v16, v16, s4 op_sel_hi:[1,0]11114; GFX9-NEXT: v_pk_add_f16 v17, v17, s4 op_sel_hi:[1,0]11115; GFX9-NEXT: v_pk_add_f16 v18, v18, s4 op_sel_hi:[1,0]11116; GFX9-NEXT: v_pk_add_f16 v19, v19, s4 op_sel_hi:[1,0]11117; GFX9-NEXT: v_pk_add_f16 v20, v20, s4 op_sel_hi:[1,0]11118; GFX9-NEXT: v_pk_add_f16 v21, v21, s4 op_sel_hi:[1,0]11119; GFX9-NEXT: v_pk_add_f16 v22, v22, s4 op_sel_hi:[1,0]11120; GFX9-NEXT: v_pk_add_f16 v23, v23, s4 op_sel_hi:[1,0]11121; GFX9-NEXT: v_pk_add_f16 v24, v24, s4 op_sel_hi:[1,0]11122; GFX9-NEXT: v_pk_add_f16 v25, v25, s4 op_sel_hi:[1,0]11123; GFX9-NEXT: .LBB19_3: ; %end11124; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload11125; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload11126; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload11127; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload11128; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload11129; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload11130; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload11131; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload11132; GFX9-NEXT: s_waitcnt vmcnt(0)11133; GFX9-NEXT: s_setpc_b64 s[30:31]11134; GFX9-NEXT: .LBB19_4:11135; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3111136; GFX9-NEXT: s_branch .LBB19_211137;11138; GFX11-TRUE16-LABEL: bitcast_v52f16_to_v26i32_scalar:11139; GFX11-TRUE16: ; %bb.0:11140; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11141; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v811142; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, v7 :: v_dual_mov_b32 v24, v611143; GFX11-TRUE16-NEXT: v_dual_mov_b32 v23, v5 :: v_dual_mov_b32 v22, v411144; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, v3 :: v_dual_mov_b32 v20, v211145; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, v1 :: v_dual_mov_b32 v18, v011146; GFX11-TRUE16-NEXT: s_lshr_b32 s41, s29, 1611147; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 1611148; GFX11-TRUE16-NEXT: s_lshr_b32 s15, s27, 1611149; GFX11-TRUE16-NEXT: s_lshr_b32 s14, s26, 1611150; GFX11-TRUE16-NEXT: s_lshr_b32 s13, s25, 1611151; GFX11-TRUE16-NEXT: s_lshr_b32 s12, s24, 1611152; GFX11-TRUE16-NEXT: s_lshr_b32 s11, s23, 1611153; GFX11-TRUE16-NEXT: s_lshr_b32 s10, s22, 1611154; GFX11-TRUE16-NEXT: s_lshr_b32 s9, s21, 1611155; GFX11-TRUE16-NEXT: s_lshr_b32 s8, s20, 1611156; GFX11-TRUE16-NEXT: s_lshr_b32 s7, s19, 1611157; GFX11-TRUE16-NEXT: s_lshr_b32 s6, s18, 1611158; GFX11-TRUE16-NEXT: s_lshr_b32 s5, s17, 1611159; GFX11-TRUE16-NEXT: s_lshr_b32 s4, s16, 1611160; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s3, 1611161; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s2, 1611162; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s1, 1611163; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s0, 1611164; GFX11-TRUE16-NEXT: s_mov_b32 s40, 011165; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4611166; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4511167; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4411168; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4311169; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s4, s16, s411170; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s5, s17, s511171; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s6, s18, s611172; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s7, s19, s711173; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s8, s20, s811174; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s9, s21, s911175; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1011176; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1111177; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1211178; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1311179; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1411180; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s15, s27, s1511181; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s16, s28, s4211182; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s17, s29, s4111183; GFX11-TRUE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo11184; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB19_411185; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false11186; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s111187; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s311188; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s511189; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s711190; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s911191; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1111192; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1311193; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1511194; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s1711195; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4011196; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB19_311197; GFX11-TRUE16-NEXT: .LBB19_2: ; %cmp.true11198; GFX11-TRUE16-NEXT: v_pk_add_f16 v0, 0x200, s0 op_sel_hi:[0,1]11199; GFX11-TRUE16-NEXT: v_pk_add_f16 v1, 0x200, s1 op_sel_hi:[0,1]11200; GFX11-TRUE16-NEXT: v_pk_add_f16 v2, 0x200, s2 op_sel_hi:[0,1]11201; GFX11-TRUE16-NEXT: v_pk_add_f16 v3, 0x200, s3 op_sel_hi:[0,1]11202; GFX11-TRUE16-NEXT: v_pk_add_f16 v4, 0x200, s4 op_sel_hi:[0,1]11203; GFX11-TRUE16-NEXT: v_pk_add_f16 v5, 0x200, s5 op_sel_hi:[0,1]11204; GFX11-TRUE16-NEXT: v_pk_add_f16 v6, 0x200, s6 op_sel_hi:[0,1]11205; GFX11-TRUE16-NEXT: v_pk_add_f16 v7, 0x200, s7 op_sel_hi:[0,1]11206; GFX11-TRUE16-NEXT: v_pk_add_f16 v8, 0x200, s8 op_sel_hi:[0,1]11207; GFX11-TRUE16-NEXT: v_pk_add_f16 v9, 0x200, s9 op_sel_hi:[0,1]11208; GFX11-TRUE16-NEXT: v_pk_add_f16 v10, 0x200, s10 op_sel_hi:[0,1]11209; GFX11-TRUE16-NEXT: v_pk_add_f16 v11, 0x200, s11 op_sel_hi:[0,1]11210; GFX11-TRUE16-NEXT: v_pk_add_f16 v12, 0x200, s12 op_sel_hi:[0,1]11211; GFX11-TRUE16-NEXT: v_pk_add_f16 v13, 0x200, s13 op_sel_hi:[0,1]11212; GFX11-TRUE16-NEXT: v_pk_add_f16 v14, 0x200, s14 op_sel_hi:[0,1]11213; GFX11-TRUE16-NEXT: v_pk_add_f16 v15, 0x200, s15 op_sel_hi:[0,1]11214; GFX11-TRUE16-NEXT: v_pk_add_f16 v16, 0x200, s16 op_sel_hi:[0,1]11215; GFX11-TRUE16-NEXT: v_pk_add_f16 v17, 0x200, s17 op_sel_hi:[0,1]11216; GFX11-TRUE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]11217; GFX11-TRUE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]11218; GFX11-TRUE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]11219; GFX11-TRUE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]11220; GFX11-TRUE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]11221; GFX11-TRUE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]11222; GFX11-TRUE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]11223; GFX11-TRUE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]11224; GFX11-TRUE16-NEXT: .LBB19_3: ; %end11225; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]11226; GFX11-TRUE16-NEXT: .LBB19_4:11227; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr011228; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr111229; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr211230; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr311231; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr411232; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr511233; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr611234; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr711235; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr811236; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr911237; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1011238; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1111239; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1211240; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1311241; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1411242; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1511243; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1611244; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1711245; GFX11-TRUE16-NEXT: s_branch .LBB19_211246;11247; GFX11-FAKE16-LABEL: bitcast_v52f16_to_v26i32_scalar:11248; GFX11-FAKE16: ; %bb.0:11249; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11250; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v811251; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v711252; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v611253; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v511254; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v411255; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v311256; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v211257; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v111258; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v011259; GFX11-FAKE16-NEXT: v_and_b32_e32 v55, 0xffff, v011260; GFX11-FAKE16-NEXT: v_and_b32_e32 v54, 0xffff, v111261; GFX11-FAKE16-NEXT: v_and_b32_e32 v53, 0xffff, v211262; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v311263; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v411264; GFX11-FAKE16-NEXT: v_and_b32_e32 v50, 0xffff, v511265; GFX11-FAKE16-NEXT: v_and_b32_e32 v49, 0xffff, v611266; GFX11-FAKE16-NEXT: v_and_b32_e32 v48, 0xffff, v711267; GFX11-FAKE16-NEXT: s_lshr_b32 s41, s29, 1611268; GFX11-FAKE16-NEXT: s_lshr_b32 s15, s28, 1611269; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s27, 1611270; GFX11-FAKE16-NEXT: s_lshr_b32 s14, s26, 1611271; GFX11-FAKE16-NEXT: s_lshr_b32 s13, s25, 1611272; GFX11-FAKE16-NEXT: s_lshr_b32 s12, s24, 1611273; GFX11-FAKE16-NEXT: s_lshr_b32 s11, s23, 1611274; GFX11-FAKE16-NEXT: s_lshr_b32 s10, s22, 1611275; GFX11-FAKE16-NEXT: s_lshr_b32 s9, s21, 1611276; GFX11-FAKE16-NEXT: s_lshr_b32 s8, s20, 1611277; GFX11-FAKE16-NEXT: s_lshr_b32 s7, s19, 1611278; GFX11-FAKE16-NEXT: s_lshr_b32 s6, s18, 1611279; GFX11-FAKE16-NEXT: s_lshr_b32 s5, s17, 1611280; GFX11-FAKE16-NEXT: s_lshr_b32 s4, s16, 1611281; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s3, 1611282; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s2, 1611283; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s1, 1611284; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s0, 1611285; GFX11-FAKE16-NEXT: s_mov_b32 s40, 011286; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4611287; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4511288; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4411289; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4311290; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s4, s16, s411291; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s5, s17, s511292; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s6, s18, s611293; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s7, s19, s711294; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s8, s20, s811295; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s9, s21, s911296; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1011297; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1111298; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1211299; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1311300; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1411301; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s17, s27, s4211302; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s15, s28, s1511303; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s16, s29, s4111304; GFX11-FAKE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo11305; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB19_411306; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false11307; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v39, 16, v5511308; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v38, 16, v5411309; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v37, 16, v5311310; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v36, 16, v5211311; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v35, 16, v5111312; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v34, 16, v5011313; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v33, 16, v4911314; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v32, 16, v4811315; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s111316; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s311317; GFX11-FAKE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s511318; GFX11-FAKE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s711319; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s911320; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1111321; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1311322; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1711323; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s15 :: v_dual_mov_b32 v17, s1611324; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4011325; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB19_311326; GFX11-FAKE16-NEXT: .LBB19_2: ; %cmp.true11327; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v39, 16, v5511328; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v38, 16, v5411329; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v37, 16, v5311330; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v36, 16, v5211331; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v35, 16, v5111332; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v34, 16, v5011333; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v33, 16, v4911334; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v32, 16, v4811335; GFX11-FAKE16-NEXT: v_pk_add_f16 v0, 0x200, s0 op_sel_hi:[0,1]11336; GFX11-FAKE16-NEXT: v_pk_add_f16 v1, 0x200, s1 op_sel_hi:[0,1]11337; GFX11-FAKE16-NEXT: v_pk_add_f16 v2, 0x200, s2 op_sel_hi:[0,1]11338; GFX11-FAKE16-NEXT: v_pk_add_f16 v3, 0x200, s3 op_sel_hi:[0,1]11339; GFX11-FAKE16-NEXT: v_pk_add_f16 v4, 0x200, s4 op_sel_hi:[0,1]11340; GFX11-FAKE16-NEXT: v_pk_add_f16 v5, 0x200, s5 op_sel_hi:[0,1]11341; GFX11-FAKE16-NEXT: v_pk_add_f16 v6, 0x200, s6 op_sel_hi:[0,1]11342; GFX11-FAKE16-NEXT: v_pk_add_f16 v7, 0x200, s7 op_sel_hi:[0,1]11343; GFX11-FAKE16-NEXT: v_pk_add_f16 v8, 0x200, s8 op_sel_hi:[0,1]11344; GFX11-FAKE16-NEXT: v_pk_add_f16 v9, 0x200, s9 op_sel_hi:[0,1]11345; GFX11-FAKE16-NEXT: v_pk_add_f16 v10, 0x200, s10 op_sel_hi:[0,1]11346; GFX11-FAKE16-NEXT: v_pk_add_f16 v11, 0x200, s11 op_sel_hi:[0,1]11347; GFX11-FAKE16-NEXT: v_pk_add_f16 v12, 0x200, s12 op_sel_hi:[0,1]11348; GFX11-FAKE16-NEXT: v_pk_add_f16 v13, 0x200, s13 op_sel_hi:[0,1]11349; GFX11-FAKE16-NEXT: v_pk_add_f16 v14, 0x200, s14 op_sel_hi:[0,1]11350; GFX11-FAKE16-NEXT: v_pk_add_f16 v15, 0x200, s17 op_sel_hi:[0,1]11351; GFX11-FAKE16-NEXT: v_pk_add_f16 v16, 0x200, s15 op_sel_hi:[0,1]11352; GFX11-FAKE16-NEXT: v_pk_add_f16 v17, 0x200, s16 op_sel_hi:[0,1]11353; GFX11-FAKE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]11354; GFX11-FAKE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]11355; GFX11-FAKE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]11356; GFX11-FAKE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]11357; GFX11-FAKE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]11358; GFX11-FAKE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]11359; GFX11-FAKE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]11360; GFX11-FAKE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]11361; GFX11-FAKE16-NEXT: .LBB19_3: ; %end11362; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]11363; GFX11-FAKE16-NEXT: .LBB19_4:11364; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3111365; GFX11-FAKE16-NEXT: s_branch .LBB19_211366 %cmp = icmp eq i32 %b, 011367 br i1 %cmp, label %cmp.true, label %cmp.false11368 11369cmp.true:11370 %a1 = fadd <52 x half> %a, splat (half 0xH0200)11371 %a2 = bitcast <52 x half> %a1 to <26 x i32>11372 br label %end11373 11374cmp.false:11375 %a3 = bitcast <52 x half> %a to <26 x i32>11376 br label %end11377 11378end:11379 %phi = phi <26 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]11380 ret <26 x i32> %phi11381}11382 11383define <13 x i64> @bitcast_v26f32_to_v13i64(<26 x float> %a, i32 %b) {11384; SI-LABEL: bitcast_v26f32_to_v13i64:11385; SI: ; %bb.0:11386; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11387; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2611388; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc11389; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]11390; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]11391; SI-NEXT: s_cbranch_execz .LBB20_211392; SI-NEXT: ; %bb.1: ; %cmp.true11393; SI-NEXT: v_add_f32_e32 v25, 1.0, v2511394; SI-NEXT: v_add_f32_e32 v24, 1.0, v2411395; SI-NEXT: v_add_f32_e32 v23, 1.0, v2311396; SI-NEXT: v_add_f32_e32 v22, 1.0, v2211397; SI-NEXT: v_add_f32_e32 v21, 1.0, v2111398; SI-NEXT: v_add_f32_e32 v20, 1.0, v2011399; SI-NEXT: v_add_f32_e32 v19, 1.0, v1911400; SI-NEXT: v_add_f32_e32 v18, 1.0, v1811401; SI-NEXT: v_add_f32_e32 v17, 1.0, v1711402; SI-NEXT: v_add_f32_e32 v16, 1.0, v1611403; SI-NEXT: v_add_f32_e32 v15, 1.0, v1511404; SI-NEXT: v_add_f32_e32 v14, 1.0, v1411405; SI-NEXT: v_add_f32_e32 v13, 1.0, v1311406; SI-NEXT: v_add_f32_e32 v12, 1.0, v1211407; SI-NEXT: v_add_f32_e32 v11, 1.0, v1111408; SI-NEXT: v_add_f32_e32 v10, 1.0, v1011409; SI-NEXT: v_add_f32_e32 v9, 1.0, v911410; SI-NEXT: v_add_f32_e32 v8, 1.0, v811411; SI-NEXT: v_add_f32_e32 v7, 1.0, v711412; SI-NEXT: v_add_f32_e32 v6, 1.0, v611413; SI-NEXT: v_add_f32_e32 v5, 1.0, v511414; SI-NEXT: v_add_f32_e32 v4, 1.0, v411415; SI-NEXT: v_add_f32_e32 v3, 1.0, v311416; SI-NEXT: v_add_f32_e32 v2, 1.0, v211417; SI-NEXT: v_add_f32_e32 v1, 1.0, v111418; SI-NEXT: v_add_f32_e32 v0, 1.0, v011419; SI-NEXT: .LBB20_2: ; %end11420; SI-NEXT: s_or_b64 exec, exec, s[4:5]11421; SI-NEXT: s_setpc_b64 s[30:31]11422;11423; VI-LABEL: bitcast_v26f32_to_v13i64:11424; VI: ; %bb.0:11425; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11426; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2611427; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc11428; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]11429; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]11430; VI-NEXT: s_cbranch_execz .LBB20_211431; VI-NEXT: ; %bb.1: ; %cmp.true11432; VI-NEXT: v_add_f32_e32 v25, 1.0, v2511433; VI-NEXT: v_add_f32_e32 v24, 1.0, v2411434; VI-NEXT: v_add_f32_e32 v23, 1.0, v2311435; VI-NEXT: v_add_f32_e32 v22, 1.0, v2211436; VI-NEXT: v_add_f32_e32 v21, 1.0, v2111437; VI-NEXT: v_add_f32_e32 v20, 1.0, v2011438; VI-NEXT: v_add_f32_e32 v19, 1.0, v1911439; VI-NEXT: v_add_f32_e32 v18, 1.0, v1811440; VI-NEXT: v_add_f32_e32 v17, 1.0, v1711441; VI-NEXT: v_add_f32_e32 v16, 1.0, v1611442; VI-NEXT: v_add_f32_e32 v15, 1.0, v1511443; VI-NEXT: v_add_f32_e32 v14, 1.0, v1411444; VI-NEXT: v_add_f32_e32 v13, 1.0, v1311445; VI-NEXT: v_add_f32_e32 v12, 1.0, v1211446; VI-NEXT: v_add_f32_e32 v11, 1.0, v1111447; VI-NEXT: v_add_f32_e32 v10, 1.0, v1011448; VI-NEXT: v_add_f32_e32 v9, 1.0, v911449; VI-NEXT: v_add_f32_e32 v8, 1.0, v811450; VI-NEXT: v_add_f32_e32 v7, 1.0, v711451; VI-NEXT: v_add_f32_e32 v6, 1.0, v611452; VI-NEXT: v_add_f32_e32 v5, 1.0, v511453; VI-NEXT: v_add_f32_e32 v4, 1.0, v411454; VI-NEXT: v_add_f32_e32 v3, 1.0, v311455; VI-NEXT: v_add_f32_e32 v2, 1.0, v211456; VI-NEXT: v_add_f32_e32 v1, 1.0, v111457; VI-NEXT: v_add_f32_e32 v0, 1.0, v011458; VI-NEXT: .LBB20_2: ; %end11459; VI-NEXT: s_or_b64 exec, exec, s[4:5]11460; VI-NEXT: s_setpc_b64 s[30:31]11461;11462; GFX9-LABEL: bitcast_v26f32_to_v13i64:11463; GFX9: ; %bb.0:11464; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11465; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2611466; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc11467; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]11468; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]11469; GFX9-NEXT: s_cbranch_execz .LBB20_211470; GFX9-NEXT: ; %bb.1: ; %cmp.true11471; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2511472; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2411473; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2311474; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2211475; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2111476; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2011477; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1911478; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1811479; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1711480; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1611481; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1511482; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1411483; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1311484; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1211485; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1111486; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1011487; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v911488; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v811489; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v711490; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v611491; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v511492; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v411493; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v311494; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v211495; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v111496; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v011497; GFX9-NEXT: .LBB20_2: ; %end11498; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]11499; GFX9-NEXT: s_setpc_b64 s[30:31]11500;11501; GFX11-LABEL: bitcast_v26f32_to_v13i64:11502; GFX11: ; %bb.0:11503; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11504; GFX11-NEXT: s_mov_b32 s0, exec_lo11505; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2611506; GFX11-NEXT: s_xor_b32 s0, exec_lo, s011507; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)11508; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s011509; GFX11-NEXT: s_cbranch_execz .LBB20_211510; GFX11-NEXT: ; %bb.1: ; %cmp.true11511; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2411512; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2211513; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2011514; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1811515; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1611516; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1411517; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1211518; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1011519; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v811520; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v611521; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v411522; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v211523; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v011524; GFX11-NEXT: .LBB20_2: ; %end11525; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s011526; GFX11-NEXT: s_setpc_b64 s[30:31]11527 %cmp = icmp eq i32 %b, 011528 br i1 %cmp, label %cmp.true, label %cmp.false11529 11530cmp.true:11531 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)11532 %a2 = bitcast <26 x float> %a1 to <13 x i64>11533 br label %end11534 11535cmp.false:11536 %a3 = bitcast <26 x float> %a to <13 x i64>11537 br label %end11538 11539end:11540 %phi = phi <13 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]11541 ret <13 x i64> %phi11542}11543 11544define inreg <13 x i64> @bitcast_v26f32_to_v13i64_scalar(<26 x float> inreg %a, i32 inreg %b) {11545; SI-LABEL: bitcast_v26f32_to_v13i64_scalar:11546; SI: ; %bb.0:11547; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11548; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1211549; SI-NEXT: v_mov_b32_e32 v25, v1111550; SI-NEXT: v_mov_b32_e32 v24, v1011551; SI-NEXT: v_mov_b32_e32 v23, v911552; SI-NEXT: v_mov_b32_e32 v22, v811553; SI-NEXT: v_mov_b32_e32 v21, v711554; SI-NEXT: v_mov_b32_e32 v20, v611555; SI-NEXT: v_mov_b32_e32 v19, v511556; SI-NEXT: v_mov_b32_e32 v18, v411557; SI-NEXT: v_mov_b32_e32 v17, v311558; SI-NEXT: v_mov_b32_e32 v16, v211559; SI-NEXT: v_mov_b32_e32 v15, v111560; SI-NEXT: v_mov_b32_e32 v14, v011561; SI-NEXT: v_mov_b32_e32 v0, s1611562; SI-NEXT: s_and_b64 s[4:5], vcc, exec11563; SI-NEXT: v_mov_b32_e32 v1, s1711564; SI-NEXT: v_mov_b32_e32 v2, s1811565; SI-NEXT: v_mov_b32_e32 v3, s1911566; SI-NEXT: v_mov_b32_e32 v4, s2011567; SI-NEXT: v_mov_b32_e32 v5, s2111568; SI-NEXT: v_mov_b32_e32 v6, s2211569; SI-NEXT: v_mov_b32_e32 v7, s2311570; SI-NEXT: v_mov_b32_e32 v8, s2411571; SI-NEXT: v_mov_b32_e32 v9, s2511572; SI-NEXT: v_mov_b32_e32 v10, s2611573; SI-NEXT: v_mov_b32_e32 v11, s2711574; SI-NEXT: v_mov_b32_e32 v12, s2811575; SI-NEXT: v_mov_b32_e32 v13, s2911576; SI-NEXT: s_cbranch_scc0 .LBB21_411577; SI-NEXT: ; %bb.1: ; %cmp.false11578; SI-NEXT: s_cbranch_execnz .LBB21_311579; SI-NEXT: .LBB21_2: ; %cmp.true11580; SI-NEXT: v_add_f32_e32 v25, 1.0, v2511581; SI-NEXT: v_add_f32_e32 v24, 1.0, v2411582; SI-NEXT: v_add_f32_e32 v23, 1.0, v2311583; SI-NEXT: v_add_f32_e32 v22, 1.0, v2211584; SI-NEXT: v_add_f32_e32 v21, 1.0, v2111585; SI-NEXT: v_add_f32_e32 v20, 1.0, v2011586; SI-NEXT: v_add_f32_e32 v19, 1.0, v1911587; SI-NEXT: v_add_f32_e32 v18, 1.0, v1811588; SI-NEXT: v_add_f32_e32 v17, 1.0, v1711589; SI-NEXT: v_add_f32_e32 v16, 1.0, v1611590; SI-NEXT: v_add_f32_e32 v15, 1.0, v1511591; SI-NEXT: v_add_f32_e32 v14, 1.0, v1411592; SI-NEXT: v_add_f32_e32 v13, 1.0, v1311593; SI-NEXT: v_add_f32_e32 v12, 1.0, v1211594; SI-NEXT: v_add_f32_e32 v11, 1.0, v1111595; SI-NEXT: v_add_f32_e32 v10, 1.0, v1011596; SI-NEXT: v_add_f32_e32 v9, 1.0, v911597; SI-NEXT: v_add_f32_e32 v8, 1.0, v811598; SI-NEXT: v_add_f32_e32 v7, 1.0, v711599; SI-NEXT: v_add_f32_e32 v6, 1.0, v611600; SI-NEXT: v_add_f32_e32 v5, 1.0, v511601; SI-NEXT: v_add_f32_e32 v4, 1.0, v411602; SI-NEXT: v_add_f32_e32 v3, 1.0, v311603; SI-NEXT: v_add_f32_e32 v2, 1.0, v211604; SI-NEXT: v_add_f32_e32 v1, 1.0, v111605; SI-NEXT: v_add_f32_e32 v0, 1.0, v011606; SI-NEXT: .LBB21_3: ; %end11607; SI-NEXT: s_setpc_b64 s[30:31]11608; SI-NEXT: .LBB21_4:11609; SI-NEXT: s_branch .LBB21_211610;11611; VI-LABEL: bitcast_v26f32_to_v13i64_scalar:11612; VI: ; %bb.0:11613; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11614; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1211615; VI-NEXT: v_mov_b32_e32 v25, v1111616; VI-NEXT: v_mov_b32_e32 v24, v1011617; VI-NEXT: v_mov_b32_e32 v23, v911618; VI-NEXT: v_mov_b32_e32 v22, v811619; VI-NEXT: v_mov_b32_e32 v21, v711620; VI-NEXT: v_mov_b32_e32 v20, v611621; VI-NEXT: v_mov_b32_e32 v19, v511622; VI-NEXT: v_mov_b32_e32 v18, v411623; VI-NEXT: v_mov_b32_e32 v17, v311624; VI-NEXT: v_mov_b32_e32 v16, v211625; VI-NEXT: v_mov_b32_e32 v15, v111626; VI-NEXT: v_mov_b32_e32 v14, v011627; VI-NEXT: v_mov_b32_e32 v0, s1611628; VI-NEXT: s_and_b64 s[4:5], vcc, exec11629; VI-NEXT: v_mov_b32_e32 v1, s1711630; VI-NEXT: v_mov_b32_e32 v2, s1811631; VI-NEXT: v_mov_b32_e32 v3, s1911632; VI-NEXT: v_mov_b32_e32 v4, s2011633; VI-NEXT: v_mov_b32_e32 v5, s2111634; VI-NEXT: v_mov_b32_e32 v6, s2211635; VI-NEXT: v_mov_b32_e32 v7, s2311636; VI-NEXT: v_mov_b32_e32 v8, s2411637; VI-NEXT: v_mov_b32_e32 v9, s2511638; VI-NEXT: v_mov_b32_e32 v10, s2611639; VI-NEXT: v_mov_b32_e32 v11, s2711640; VI-NEXT: v_mov_b32_e32 v12, s2811641; VI-NEXT: v_mov_b32_e32 v13, s2911642; VI-NEXT: s_cbranch_scc0 .LBB21_411643; VI-NEXT: ; %bb.1: ; %cmp.false11644; VI-NEXT: s_cbranch_execnz .LBB21_311645; VI-NEXT: .LBB21_2: ; %cmp.true11646; VI-NEXT: v_add_f32_e32 v25, 1.0, v2511647; VI-NEXT: v_add_f32_e32 v24, 1.0, v2411648; VI-NEXT: v_add_f32_e32 v23, 1.0, v2311649; VI-NEXT: v_add_f32_e32 v22, 1.0, v2211650; VI-NEXT: v_add_f32_e32 v21, 1.0, v2111651; VI-NEXT: v_add_f32_e32 v20, 1.0, v2011652; VI-NEXT: v_add_f32_e32 v19, 1.0, v1911653; VI-NEXT: v_add_f32_e32 v18, 1.0, v1811654; VI-NEXT: v_add_f32_e32 v17, 1.0, v1711655; VI-NEXT: v_add_f32_e32 v16, 1.0, v1611656; VI-NEXT: v_add_f32_e32 v15, 1.0, v1511657; VI-NEXT: v_add_f32_e32 v14, 1.0, v1411658; VI-NEXT: v_add_f32_e32 v13, 1.0, v1311659; VI-NEXT: v_add_f32_e32 v12, 1.0, v1211660; VI-NEXT: v_add_f32_e32 v11, 1.0, v1111661; VI-NEXT: v_add_f32_e32 v10, 1.0, v1011662; VI-NEXT: v_add_f32_e32 v9, 1.0, v911663; VI-NEXT: v_add_f32_e32 v8, 1.0, v811664; VI-NEXT: v_add_f32_e32 v7, 1.0, v711665; VI-NEXT: v_add_f32_e32 v6, 1.0, v611666; VI-NEXT: v_add_f32_e32 v5, 1.0, v511667; VI-NEXT: v_add_f32_e32 v4, 1.0, v411668; VI-NEXT: v_add_f32_e32 v3, 1.0, v311669; VI-NEXT: v_add_f32_e32 v2, 1.0, v211670; VI-NEXT: v_add_f32_e32 v1, 1.0, v111671; VI-NEXT: v_add_f32_e32 v0, 1.0, v011672; VI-NEXT: .LBB21_3: ; %end11673; VI-NEXT: s_setpc_b64 s[30:31]11674; VI-NEXT: .LBB21_4:11675; VI-NEXT: s_branch .LBB21_211676;11677; GFX9-LABEL: bitcast_v26f32_to_v13i64_scalar:11678; GFX9: ; %bb.0:11679; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11680; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1211681; GFX9-NEXT: v_mov_b32_e32 v25, v1111682; GFX9-NEXT: v_mov_b32_e32 v24, v1011683; GFX9-NEXT: v_mov_b32_e32 v23, v911684; GFX9-NEXT: v_mov_b32_e32 v22, v811685; GFX9-NEXT: v_mov_b32_e32 v21, v711686; GFX9-NEXT: v_mov_b32_e32 v20, v611687; GFX9-NEXT: v_mov_b32_e32 v19, v511688; GFX9-NEXT: v_mov_b32_e32 v18, v411689; GFX9-NEXT: v_mov_b32_e32 v17, v311690; GFX9-NEXT: v_mov_b32_e32 v16, v211691; GFX9-NEXT: v_mov_b32_e32 v15, v111692; GFX9-NEXT: v_mov_b32_e32 v14, v011693; GFX9-NEXT: v_mov_b32_e32 v0, s1611694; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec11695; GFX9-NEXT: v_mov_b32_e32 v1, s1711696; GFX9-NEXT: v_mov_b32_e32 v2, s1811697; GFX9-NEXT: v_mov_b32_e32 v3, s1911698; GFX9-NEXT: v_mov_b32_e32 v4, s2011699; GFX9-NEXT: v_mov_b32_e32 v5, s2111700; GFX9-NEXT: v_mov_b32_e32 v6, s2211701; GFX9-NEXT: v_mov_b32_e32 v7, s2311702; GFX9-NEXT: v_mov_b32_e32 v8, s2411703; GFX9-NEXT: v_mov_b32_e32 v9, s2511704; GFX9-NEXT: v_mov_b32_e32 v10, s2611705; GFX9-NEXT: v_mov_b32_e32 v11, s2711706; GFX9-NEXT: v_mov_b32_e32 v12, s2811707; GFX9-NEXT: v_mov_b32_e32 v13, s2911708; GFX9-NEXT: s_cbranch_scc0 .LBB21_411709; GFX9-NEXT: ; %bb.1: ; %cmp.false11710; GFX9-NEXT: s_cbranch_execnz .LBB21_311711; GFX9-NEXT: .LBB21_2: ; %cmp.true11712; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2511713; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2411714; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2311715; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2211716; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2111717; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2011718; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1911719; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1811720; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1711721; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1611722; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1511723; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1411724; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1311725; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1211726; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1111727; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1011728; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v911729; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v811730; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v711731; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v611732; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v511733; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v411734; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v311735; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v211736; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v111737; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v011738; GFX9-NEXT: .LBB21_3: ; %end11739; GFX9-NEXT: s_setpc_b64 s[30:31]11740; GFX9-NEXT: .LBB21_4:11741; GFX9-NEXT: s_branch .LBB21_211742;11743; GFX11-LABEL: bitcast_v26f32_to_v13i64_scalar:11744; GFX11: ; %bb.0:11745; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11746; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v711747; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v511748; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v311749; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)11750; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1611751; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v111752; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s111753; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s311754; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1711755; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1911756; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2111757; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2311758; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2511759; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2711760; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2911761; GFX11-NEXT: v_mov_b32_e32 v16, s2811762; GFX11-NEXT: s_mov_b32 s0, 011763; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo11764; GFX11-NEXT: s_cbranch_scc0 .LBB21_311765; GFX11-NEXT: ; %bb.1: ; %Flow11766; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s011767; GFX11-NEXT: s_cbranch_vccz .LBB21_411768; GFX11-NEXT: ; %bb.2: ; %end11769; GFX11-NEXT: s_setpc_b64 s[30:31]11770; GFX11-NEXT: .LBB21_3:11771; GFX11-NEXT: .LBB21_4: ; %cmp.true11772; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2411773; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2211774; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2011775; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1811776; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1611777; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1411778; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1211779; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1011780; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v811781; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v611782; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v411783; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v211784; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v011785; GFX11-NEXT: s_setpc_b64 s[30:31]11786 %cmp = icmp eq i32 %b, 011787 br i1 %cmp, label %cmp.true, label %cmp.false11788 11789cmp.true:11790 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)11791 %a2 = bitcast <26 x float> %a1 to <13 x i64>11792 br label %end11793 11794cmp.false:11795 %a3 = bitcast <26 x float> %a to <13 x i64>11796 br label %end11797 11798end:11799 %phi = phi <13 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]11800 ret <13 x i64> %phi11801}11802 11803define <26 x float> @bitcast_v13i64_to_v26f32(<13 x i64> %a, i32 %b) {11804; SI-LABEL: bitcast_v13i64_to_v26f32:11805; SI: ; %bb.0:11806; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11807; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2611808; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc11809; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]11810; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]11811; SI-NEXT: s_cbranch_execz .LBB22_211812; SI-NEXT: ; %bb.1: ; %cmp.true11813; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2411814; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc11815; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2211816; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc11817; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2011818; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc11819; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1811820; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc11821; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1611822; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc11823; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1411824; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc11825; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1211826; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc11827; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1011828; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc11829; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v811830; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc11831; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v611832; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc11833; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v411834; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc11835; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v211836; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc11837; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v011838; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc11839; SI-NEXT: .LBB22_2: ; %end11840; SI-NEXT: s_or_b64 exec, exec, s[4:5]11841; SI-NEXT: s_setpc_b64 s[30:31]11842;11843; VI-LABEL: bitcast_v13i64_to_v26f32:11844; VI: ; %bb.0:11845; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11846; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2611847; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc11848; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]11849; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]11850; VI-NEXT: s_cbranch_execz .LBB22_211851; VI-NEXT: ; %bb.1: ; %cmp.true11852; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v2411853; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc11854; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v2211855; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc11856; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v2011857; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc11858; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v1811859; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc11860; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v1611861; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc11862; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v1411863; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc11864; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v1211865; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc11866; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v1011867; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc11868; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v811869; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc11870; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v611871; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc11872; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v411873; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc11874; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v211875; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc11876; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v011877; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc11878; VI-NEXT: .LBB22_2: ; %end11879; VI-NEXT: s_or_b64 exec, exec, s[4:5]11880; VI-NEXT: s_setpc_b64 s[30:31]11881;11882; GFX9-LABEL: bitcast_v13i64_to_v26f32:11883; GFX9: ; %bb.0:11884; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11885; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2611886; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc11887; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]11888; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]11889; GFX9-NEXT: s_cbranch_execz .LBB22_211890; GFX9-NEXT: ; %bb.1: ; %cmp.true11891; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v2411892; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc11893; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v2211894; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc11895; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v2011896; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc11897; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v1811898; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc11899; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v1611900; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc11901; GFX9-NEXT: v_add_co_u32_e32 v14, vcc, 3, v1411902; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc11903; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v1211904; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc11905; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v1011906; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc11907; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v811908; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc11909; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v611910; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc11911; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v411912; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc11913; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v211914; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc11915; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v011916; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc11917; GFX9-NEXT: .LBB22_2: ; %end11918; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]11919; GFX9-NEXT: s_setpc_b64 s[30:31]11920;11921; GFX11-LABEL: bitcast_v13i64_to_v26f32:11922; GFX11: ; %bb.0:11923; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11924; GFX11-NEXT: s_mov_b32 s0, exec_lo11925; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2611926; GFX11-NEXT: s_xor_b32 s0, exec_lo, s011927; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)11928; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s011929; GFX11-NEXT: s_cbranch_execz .LBB22_211930; GFX11-NEXT: ; %bb.1: ; %cmp.true11931; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 311932; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)11933; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo11934; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 311935; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo11936; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 311937; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)11938; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo11939; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 311940; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo11941; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 311942; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)11943; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo11944; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 311945; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo11946; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 311947; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)11948; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo11949; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 311950; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo11951; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 311952; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)11953; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo11954; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 311955; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo11956; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 311957; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)11958; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo11959; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 311960; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo11961; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 311962; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)11963; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo11964; GFX11-NEXT: .LBB22_2: ; %end11965; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s011966; GFX11-NEXT: s_setpc_b64 s[30:31]11967 %cmp = icmp eq i32 %b, 011968 br i1 %cmp, label %cmp.true, label %cmp.false11969 11970cmp.true:11971 %a1 = add <13 x i64> %a, splat (i64 3)11972 %a2 = bitcast <13 x i64> %a1 to <26 x float>11973 br label %end11974 11975cmp.false:11976 %a3 = bitcast <13 x i64> %a to <26 x float>11977 br label %end11978 11979end:11980 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]11981 ret <26 x float> %phi11982}11983 11984define inreg <26 x float> @bitcast_v13i64_to_v26f32_scalar(<13 x i64> inreg %a, i32 inreg %b) {11985; SI-LABEL: bitcast_v13i64_to_v26f32_scalar:11986; SI: ; %bb.0:11987; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11988; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1211989; SI-NEXT: v_mov_b32_e32 v25, v1111990; SI-NEXT: v_mov_b32_e32 v24, v1011991; SI-NEXT: v_mov_b32_e32 v23, v911992; SI-NEXT: v_mov_b32_e32 v22, v811993; SI-NEXT: v_mov_b32_e32 v21, v711994; SI-NEXT: v_mov_b32_e32 v20, v611995; SI-NEXT: v_mov_b32_e32 v19, v511996; SI-NEXT: v_mov_b32_e32 v18, v411997; SI-NEXT: v_mov_b32_e32 v17, v311998; SI-NEXT: v_mov_b32_e32 v16, v211999; SI-NEXT: v_mov_b32_e32 v15, v112000; SI-NEXT: v_mov_b32_e32 v14, v012001; SI-NEXT: v_mov_b32_e32 v0, s1612002; SI-NEXT: s_and_b64 s[4:5], vcc, exec12003; SI-NEXT: v_mov_b32_e32 v1, s1712004; SI-NEXT: v_mov_b32_e32 v2, s1812005; SI-NEXT: v_mov_b32_e32 v3, s1912006; SI-NEXT: v_mov_b32_e32 v4, s2012007; SI-NEXT: v_mov_b32_e32 v5, s2112008; SI-NEXT: v_mov_b32_e32 v6, s2212009; SI-NEXT: v_mov_b32_e32 v7, s2312010; SI-NEXT: v_mov_b32_e32 v8, s2412011; SI-NEXT: v_mov_b32_e32 v9, s2512012; SI-NEXT: v_mov_b32_e32 v10, s2612013; SI-NEXT: v_mov_b32_e32 v11, s2712014; SI-NEXT: v_mov_b32_e32 v12, s2812015; SI-NEXT: v_mov_b32_e32 v13, s2912016; SI-NEXT: s_cbranch_scc0 .LBB23_412017; SI-NEXT: ; %bb.1: ; %cmp.false12018; SI-NEXT: s_cbranch_execnz .LBB23_312019; SI-NEXT: .LBB23_2: ; %cmp.true12020; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2412021; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc12022; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2212023; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc12024; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2012025; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc12026; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1812027; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc12028; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1612029; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc12030; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1412031; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc12032; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1212033; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc12034; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1012035; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc12036; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v812037; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc12038; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v612039; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc12040; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v412041; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc12042; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v212043; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc12044; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v012045; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc12046; SI-NEXT: .LBB23_3: ; %end12047; SI-NEXT: s_setpc_b64 s[30:31]12048; SI-NEXT: .LBB23_4:12049; SI-NEXT: s_branch .LBB23_212050;12051; VI-LABEL: bitcast_v13i64_to_v26f32_scalar:12052; VI: ; %bb.0:12053; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12054; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212055; VI-NEXT: v_mov_b32_e32 v25, v1112056; VI-NEXT: v_mov_b32_e32 v24, v1012057; VI-NEXT: v_mov_b32_e32 v23, v912058; VI-NEXT: v_mov_b32_e32 v22, v812059; VI-NEXT: v_mov_b32_e32 v21, v712060; VI-NEXT: v_mov_b32_e32 v20, v612061; VI-NEXT: v_mov_b32_e32 v19, v512062; VI-NEXT: v_mov_b32_e32 v18, v412063; VI-NEXT: v_mov_b32_e32 v17, v312064; VI-NEXT: v_mov_b32_e32 v16, v212065; VI-NEXT: v_mov_b32_e32 v15, v112066; VI-NEXT: v_mov_b32_e32 v14, v012067; VI-NEXT: v_mov_b32_e32 v0, s1612068; VI-NEXT: s_and_b64 s[4:5], vcc, exec12069; VI-NEXT: v_mov_b32_e32 v1, s1712070; VI-NEXT: v_mov_b32_e32 v2, s1812071; VI-NEXT: v_mov_b32_e32 v3, s1912072; VI-NEXT: v_mov_b32_e32 v4, s2012073; VI-NEXT: v_mov_b32_e32 v5, s2112074; VI-NEXT: v_mov_b32_e32 v6, s2212075; VI-NEXT: v_mov_b32_e32 v7, s2312076; VI-NEXT: v_mov_b32_e32 v8, s2412077; VI-NEXT: v_mov_b32_e32 v9, s2512078; VI-NEXT: v_mov_b32_e32 v10, s2612079; VI-NEXT: v_mov_b32_e32 v11, s2712080; VI-NEXT: v_mov_b32_e32 v12, s2812081; VI-NEXT: v_mov_b32_e32 v13, s2912082; VI-NEXT: s_cbranch_scc0 .LBB23_412083; VI-NEXT: ; %bb.1: ; %cmp.false12084; VI-NEXT: s_cbranch_execnz .LBB23_312085; VI-NEXT: .LBB23_2: ; %cmp.true12086; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v2412087; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc12088; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v2212089; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc12090; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v2012091; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc12092; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v1812093; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc12094; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v1612095; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc12096; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v1412097; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc12098; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v1212099; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc12100; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v1012101; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc12102; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v812103; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc12104; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v612105; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc12106; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v412107; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc12108; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v212109; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc12110; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v012111; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc12112; VI-NEXT: .LBB23_3: ; %end12113; VI-NEXT: s_setpc_b64 s[30:31]12114; VI-NEXT: .LBB23_4:12115; VI-NEXT: s_branch .LBB23_212116;12117; GFX9-LABEL: bitcast_v13i64_to_v26f32_scalar:12118; GFX9: ; %bb.0:12119; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12120; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212121; GFX9-NEXT: v_mov_b32_e32 v25, v1112122; GFX9-NEXT: v_mov_b32_e32 v24, v1012123; GFX9-NEXT: v_mov_b32_e32 v23, v912124; GFX9-NEXT: v_mov_b32_e32 v22, v812125; GFX9-NEXT: v_mov_b32_e32 v21, v712126; GFX9-NEXT: v_mov_b32_e32 v20, v612127; GFX9-NEXT: v_mov_b32_e32 v19, v512128; GFX9-NEXT: v_mov_b32_e32 v18, v412129; GFX9-NEXT: v_mov_b32_e32 v17, v312130; GFX9-NEXT: v_mov_b32_e32 v16, v212131; GFX9-NEXT: v_mov_b32_e32 v15, v112132; GFX9-NEXT: v_mov_b32_e32 v14, v012133; GFX9-NEXT: v_mov_b32_e32 v0, s1612134; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec12135; GFX9-NEXT: v_mov_b32_e32 v1, s1712136; GFX9-NEXT: v_mov_b32_e32 v2, s1812137; GFX9-NEXT: v_mov_b32_e32 v3, s1912138; GFX9-NEXT: v_mov_b32_e32 v4, s2012139; GFX9-NEXT: v_mov_b32_e32 v5, s2112140; GFX9-NEXT: v_mov_b32_e32 v6, s2212141; GFX9-NEXT: v_mov_b32_e32 v7, s2312142; GFX9-NEXT: v_mov_b32_e32 v8, s2412143; GFX9-NEXT: v_mov_b32_e32 v9, s2512144; GFX9-NEXT: v_mov_b32_e32 v10, s2612145; GFX9-NEXT: v_mov_b32_e32 v11, s2712146; GFX9-NEXT: v_mov_b32_e32 v12, s2812147; GFX9-NEXT: v_mov_b32_e32 v13, s2912148; GFX9-NEXT: s_cbranch_scc0 .LBB23_412149; GFX9-NEXT: ; %bb.1: ; %cmp.false12150; GFX9-NEXT: s_cbranch_execnz .LBB23_312151; GFX9-NEXT: .LBB23_2: ; %cmp.true12152; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v2412153; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc12154; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v2212155; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc12156; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v2012157; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc12158; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v1812159; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc12160; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v1612161; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc12162; GFX9-NEXT: v_add_co_u32_e32 v14, vcc, 3, v1412163; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc12164; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v1212165; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc12166; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v1012167; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc12168; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v812169; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc12170; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v612171; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc12172; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v412173; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc12174; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v212175; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc12176; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v012177; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc12178; GFX9-NEXT: .LBB23_3: ; %end12179; GFX9-NEXT: s_setpc_b64 s[30:31]12180; GFX9-NEXT: .LBB23_4:12181; GFX9-NEXT: s_branch .LBB23_212182;12183; GFX11-LABEL: bitcast_v13i64_to_v26f32_scalar:12184; GFX11: ; %bb.0:12185; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12186; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v712187; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v512188; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v312189; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)12190; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1612191; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v112192; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s112193; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s312194; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1712195; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1912196; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2112197; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2312198; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2512199; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2712200; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2912201; GFX11-NEXT: v_mov_b32_e32 v16, s2812202; GFX11-NEXT: s_mov_b32 s0, 012203; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo12204; GFX11-NEXT: s_cbranch_scc0 .LBB23_312205; GFX11-NEXT: ; %bb.1: ; %Flow12206; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s012207; GFX11-NEXT: s_cbranch_vccz .LBB23_412208; GFX11-NEXT: ; %bb.2: ; %end12209; GFX11-NEXT: s_setpc_b64 s[30:31]12210; GFX11-NEXT: .LBB23_3:12211; GFX11-NEXT: .LBB23_4: ; %cmp.true12212; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 312213; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12214; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo12215; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 312216; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo12217; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 312218; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12219; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo12220; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 312221; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo12222; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 312223; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12224; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo12225; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 312226; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo12227; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 312228; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12229; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo12230; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 312231; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo12232; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 312233; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12234; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo12235; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 312236; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo12237; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 312238; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12239; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo12240; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 312241; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo12242; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 312243; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)12244; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo12245; GFX11-NEXT: s_setpc_b64 s[30:31]12246 %cmp = icmp eq i32 %b, 012247 br i1 %cmp, label %cmp.true, label %cmp.false12248 12249cmp.true:12250 %a1 = add <13 x i64> %a, splat (i64 3)12251 %a2 = bitcast <13 x i64> %a1 to <26 x float>12252 br label %end12253 12254cmp.false:12255 %a3 = bitcast <13 x i64> %a to <26 x float>12256 br label %end12257 12258end:12259 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12260 ret <26 x float> %phi12261}12262 12263define <13 x double> @bitcast_v26f32_to_v13f64(<26 x float> %a, i32 %b) {12264; SI-LABEL: bitcast_v26f32_to_v13f64:12265; SI: ; %bb.0:12266; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12267; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2612268; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc12269; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12270; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12271; SI-NEXT: s_cbranch_execz .LBB24_212272; SI-NEXT: ; %bb.1: ; %cmp.true12273; SI-NEXT: v_add_f32_e32 v25, 1.0, v2512274; SI-NEXT: v_add_f32_e32 v24, 1.0, v2412275; SI-NEXT: v_add_f32_e32 v23, 1.0, v2312276; SI-NEXT: v_add_f32_e32 v22, 1.0, v2212277; SI-NEXT: v_add_f32_e32 v21, 1.0, v2112278; SI-NEXT: v_add_f32_e32 v20, 1.0, v2012279; SI-NEXT: v_add_f32_e32 v19, 1.0, v1912280; SI-NEXT: v_add_f32_e32 v18, 1.0, v1812281; SI-NEXT: v_add_f32_e32 v17, 1.0, v1712282; SI-NEXT: v_add_f32_e32 v16, 1.0, v1612283; SI-NEXT: v_add_f32_e32 v15, 1.0, v1512284; SI-NEXT: v_add_f32_e32 v14, 1.0, v1412285; SI-NEXT: v_add_f32_e32 v13, 1.0, v1312286; SI-NEXT: v_add_f32_e32 v12, 1.0, v1212287; SI-NEXT: v_add_f32_e32 v11, 1.0, v1112288; SI-NEXT: v_add_f32_e32 v10, 1.0, v1012289; SI-NEXT: v_add_f32_e32 v9, 1.0, v912290; SI-NEXT: v_add_f32_e32 v8, 1.0, v812291; SI-NEXT: v_add_f32_e32 v7, 1.0, v712292; SI-NEXT: v_add_f32_e32 v6, 1.0, v612293; SI-NEXT: v_add_f32_e32 v5, 1.0, v512294; SI-NEXT: v_add_f32_e32 v4, 1.0, v412295; SI-NEXT: v_add_f32_e32 v3, 1.0, v312296; SI-NEXT: v_add_f32_e32 v2, 1.0, v212297; SI-NEXT: v_add_f32_e32 v1, 1.0, v112298; SI-NEXT: v_add_f32_e32 v0, 1.0, v012299; SI-NEXT: .LBB24_2: ; %end12300; SI-NEXT: s_or_b64 exec, exec, s[4:5]12301; SI-NEXT: s_setpc_b64 s[30:31]12302;12303; VI-LABEL: bitcast_v26f32_to_v13f64:12304; VI: ; %bb.0:12305; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12306; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2612307; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc12308; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12309; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12310; VI-NEXT: s_cbranch_execz .LBB24_212311; VI-NEXT: ; %bb.1: ; %cmp.true12312; VI-NEXT: v_add_f32_e32 v25, 1.0, v2512313; VI-NEXT: v_add_f32_e32 v24, 1.0, v2412314; VI-NEXT: v_add_f32_e32 v23, 1.0, v2312315; VI-NEXT: v_add_f32_e32 v22, 1.0, v2212316; VI-NEXT: v_add_f32_e32 v21, 1.0, v2112317; VI-NEXT: v_add_f32_e32 v20, 1.0, v2012318; VI-NEXT: v_add_f32_e32 v19, 1.0, v1912319; VI-NEXT: v_add_f32_e32 v18, 1.0, v1812320; VI-NEXT: v_add_f32_e32 v17, 1.0, v1712321; VI-NEXT: v_add_f32_e32 v16, 1.0, v1612322; VI-NEXT: v_add_f32_e32 v15, 1.0, v1512323; VI-NEXT: v_add_f32_e32 v14, 1.0, v1412324; VI-NEXT: v_add_f32_e32 v13, 1.0, v1312325; VI-NEXT: v_add_f32_e32 v12, 1.0, v1212326; VI-NEXT: v_add_f32_e32 v11, 1.0, v1112327; VI-NEXT: v_add_f32_e32 v10, 1.0, v1012328; VI-NEXT: v_add_f32_e32 v9, 1.0, v912329; VI-NEXT: v_add_f32_e32 v8, 1.0, v812330; VI-NEXT: v_add_f32_e32 v7, 1.0, v712331; VI-NEXT: v_add_f32_e32 v6, 1.0, v612332; VI-NEXT: v_add_f32_e32 v5, 1.0, v512333; VI-NEXT: v_add_f32_e32 v4, 1.0, v412334; VI-NEXT: v_add_f32_e32 v3, 1.0, v312335; VI-NEXT: v_add_f32_e32 v2, 1.0, v212336; VI-NEXT: v_add_f32_e32 v1, 1.0, v112337; VI-NEXT: v_add_f32_e32 v0, 1.0, v012338; VI-NEXT: .LBB24_2: ; %end12339; VI-NEXT: s_or_b64 exec, exec, s[4:5]12340; VI-NEXT: s_setpc_b64 s[30:31]12341;12342; GFX9-LABEL: bitcast_v26f32_to_v13f64:12343; GFX9: ; %bb.0:12344; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12345; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2612346; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc12347; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12348; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12349; GFX9-NEXT: s_cbranch_execz .LBB24_212350; GFX9-NEXT: ; %bb.1: ; %cmp.true12351; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2512352; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2412353; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2312354; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2212355; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2112356; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2012357; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1912358; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1812359; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1712360; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1612361; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1512362; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1412363; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1312364; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1212365; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1112366; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1012367; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v912368; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v812369; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v712370; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v612371; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v512372; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v412373; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v312374; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v212375; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v112376; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v012377; GFX9-NEXT: .LBB24_2: ; %end12378; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]12379; GFX9-NEXT: s_setpc_b64 s[30:31]12380;12381; GFX11-LABEL: bitcast_v26f32_to_v13f64:12382; GFX11: ; %bb.0:12383; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12384; GFX11-NEXT: s_mov_b32 s0, exec_lo12385; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2612386; GFX11-NEXT: s_xor_b32 s0, exec_lo, s012387; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)12388; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s012389; GFX11-NEXT: s_cbranch_execz .LBB24_212390; GFX11-NEXT: ; %bb.1: ; %cmp.true12391; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2412392; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2212393; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2012394; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1812395; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1612396; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1412397; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1212398; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1012399; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v812400; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v612401; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v412402; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v212403; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v012404; GFX11-NEXT: .LBB24_2: ; %end12405; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s012406; GFX11-NEXT: s_setpc_b64 s[30:31]12407 %cmp = icmp eq i32 %b, 012408 br i1 %cmp, label %cmp.true, label %cmp.false12409 12410cmp.true:12411 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)12412 %a2 = bitcast <26 x float> %a1 to <13 x double>12413 br label %end12414 12415cmp.false:12416 %a3 = bitcast <26 x float> %a to <13 x double>12417 br label %end12418 12419end:12420 %phi = phi <13 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12421 ret <13 x double> %phi12422}12423 12424define inreg <13 x double> @bitcast_v26f32_to_v13f64_scalar(<26 x float> inreg %a, i32 inreg %b) {12425; SI-LABEL: bitcast_v26f32_to_v13f64_scalar:12426; SI: ; %bb.0:12427; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12428; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212429; SI-NEXT: v_mov_b32_e32 v25, v1112430; SI-NEXT: v_mov_b32_e32 v24, v1012431; SI-NEXT: v_mov_b32_e32 v23, v912432; SI-NEXT: v_mov_b32_e32 v22, v812433; SI-NEXT: v_mov_b32_e32 v21, v712434; SI-NEXT: v_mov_b32_e32 v20, v612435; SI-NEXT: v_mov_b32_e32 v19, v512436; SI-NEXT: v_mov_b32_e32 v18, v412437; SI-NEXT: v_mov_b32_e32 v17, v312438; SI-NEXT: v_mov_b32_e32 v16, v212439; SI-NEXT: v_mov_b32_e32 v15, v112440; SI-NEXT: v_mov_b32_e32 v14, v012441; SI-NEXT: v_mov_b32_e32 v0, s1612442; SI-NEXT: s_and_b64 s[4:5], vcc, exec12443; SI-NEXT: v_mov_b32_e32 v1, s1712444; SI-NEXT: v_mov_b32_e32 v2, s1812445; SI-NEXT: v_mov_b32_e32 v3, s1912446; SI-NEXT: v_mov_b32_e32 v4, s2012447; SI-NEXT: v_mov_b32_e32 v5, s2112448; SI-NEXT: v_mov_b32_e32 v6, s2212449; SI-NEXT: v_mov_b32_e32 v7, s2312450; SI-NEXT: v_mov_b32_e32 v8, s2412451; SI-NEXT: v_mov_b32_e32 v9, s2512452; SI-NEXT: v_mov_b32_e32 v10, s2612453; SI-NEXT: v_mov_b32_e32 v11, s2712454; SI-NEXT: v_mov_b32_e32 v12, s2812455; SI-NEXT: v_mov_b32_e32 v13, s2912456; SI-NEXT: s_cbranch_scc0 .LBB25_412457; SI-NEXT: ; %bb.1: ; %cmp.false12458; SI-NEXT: s_cbranch_execnz .LBB25_312459; SI-NEXT: .LBB25_2: ; %cmp.true12460; SI-NEXT: v_add_f32_e32 v25, 1.0, v2512461; SI-NEXT: v_add_f32_e32 v24, 1.0, v2412462; SI-NEXT: v_add_f32_e32 v23, 1.0, v2312463; SI-NEXT: v_add_f32_e32 v22, 1.0, v2212464; SI-NEXT: v_add_f32_e32 v21, 1.0, v2112465; SI-NEXT: v_add_f32_e32 v20, 1.0, v2012466; SI-NEXT: v_add_f32_e32 v19, 1.0, v1912467; SI-NEXT: v_add_f32_e32 v18, 1.0, v1812468; SI-NEXT: v_add_f32_e32 v17, 1.0, v1712469; SI-NEXT: v_add_f32_e32 v16, 1.0, v1612470; SI-NEXT: v_add_f32_e32 v15, 1.0, v1512471; SI-NEXT: v_add_f32_e32 v14, 1.0, v1412472; SI-NEXT: v_add_f32_e32 v13, 1.0, v1312473; SI-NEXT: v_add_f32_e32 v12, 1.0, v1212474; SI-NEXT: v_add_f32_e32 v11, 1.0, v1112475; SI-NEXT: v_add_f32_e32 v10, 1.0, v1012476; SI-NEXT: v_add_f32_e32 v9, 1.0, v912477; SI-NEXT: v_add_f32_e32 v8, 1.0, v812478; SI-NEXT: v_add_f32_e32 v7, 1.0, v712479; SI-NEXT: v_add_f32_e32 v6, 1.0, v612480; SI-NEXT: v_add_f32_e32 v5, 1.0, v512481; SI-NEXT: v_add_f32_e32 v4, 1.0, v412482; SI-NEXT: v_add_f32_e32 v3, 1.0, v312483; SI-NEXT: v_add_f32_e32 v2, 1.0, v212484; SI-NEXT: v_add_f32_e32 v1, 1.0, v112485; SI-NEXT: v_add_f32_e32 v0, 1.0, v012486; SI-NEXT: .LBB25_3: ; %end12487; SI-NEXT: s_setpc_b64 s[30:31]12488; SI-NEXT: .LBB25_4:12489; SI-NEXT: s_branch .LBB25_212490;12491; VI-LABEL: bitcast_v26f32_to_v13f64_scalar:12492; VI: ; %bb.0:12493; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12494; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212495; VI-NEXT: v_mov_b32_e32 v25, v1112496; VI-NEXT: v_mov_b32_e32 v24, v1012497; VI-NEXT: v_mov_b32_e32 v23, v912498; VI-NEXT: v_mov_b32_e32 v22, v812499; VI-NEXT: v_mov_b32_e32 v21, v712500; VI-NEXT: v_mov_b32_e32 v20, v612501; VI-NEXT: v_mov_b32_e32 v19, v512502; VI-NEXT: v_mov_b32_e32 v18, v412503; VI-NEXT: v_mov_b32_e32 v17, v312504; VI-NEXT: v_mov_b32_e32 v16, v212505; VI-NEXT: v_mov_b32_e32 v15, v112506; VI-NEXT: v_mov_b32_e32 v14, v012507; VI-NEXT: v_mov_b32_e32 v0, s1612508; VI-NEXT: s_and_b64 s[4:5], vcc, exec12509; VI-NEXT: v_mov_b32_e32 v1, s1712510; VI-NEXT: v_mov_b32_e32 v2, s1812511; VI-NEXT: v_mov_b32_e32 v3, s1912512; VI-NEXT: v_mov_b32_e32 v4, s2012513; VI-NEXT: v_mov_b32_e32 v5, s2112514; VI-NEXT: v_mov_b32_e32 v6, s2212515; VI-NEXT: v_mov_b32_e32 v7, s2312516; VI-NEXT: v_mov_b32_e32 v8, s2412517; VI-NEXT: v_mov_b32_e32 v9, s2512518; VI-NEXT: v_mov_b32_e32 v10, s2612519; VI-NEXT: v_mov_b32_e32 v11, s2712520; VI-NEXT: v_mov_b32_e32 v12, s2812521; VI-NEXT: v_mov_b32_e32 v13, s2912522; VI-NEXT: s_cbranch_scc0 .LBB25_412523; VI-NEXT: ; %bb.1: ; %cmp.false12524; VI-NEXT: s_cbranch_execnz .LBB25_312525; VI-NEXT: .LBB25_2: ; %cmp.true12526; VI-NEXT: v_add_f32_e32 v25, 1.0, v2512527; VI-NEXT: v_add_f32_e32 v24, 1.0, v2412528; VI-NEXT: v_add_f32_e32 v23, 1.0, v2312529; VI-NEXT: v_add_f32_e32 v22, 1.0, v2212530; VI-NEXT: v_add_f32_e32 v21, 1.0, v2112531; VI-NEXT: v_add_f32_e32 v20, 1.0, v2012532; VI-NEXT: v_add_f32_e32 v19, 1.0, v1912533; VI-NEXT: v_add_f32_e32 v18, 1.0, v1812534; VI-NEXT: v_add_f32_e32 v17, 1.0, v1712535; VI-NEXT: v_add_f32_e32 v16, 1.0, v1612536; VI-NEXT: v_add_f32_e32 v15, 1.0, v1512537; VI-NEXT: v_add_f32_e32 v14, 1.0, v1412538; VI-NEXT: v_add_f32_e32 v13, 1.0, v1312539; VI-NEXT: v_add_f32_e32 v12, 1.0, v1212540; VI-NEXT: v_add_f32_e32 v11, 1.0, v1112541; VI-NEXT: v_add_f32_e32 v10, 1.0, v1012542; VI-NEXT: v_add_f32_e32 v9, 1.0, v912543; VI-NEXT: v_add_f32_e32 v8, 1.0, v812544; VI-NEXT: v_add_f32_e32 v7, 1.0, v712545; VI-NEXT: v_add_f32_e32 v6, 1.0, v612546; VI-NEXT: v_add_f32_e32 v5, 1.0, v512547; VI-NEXT: v_add_f32_e32 v4, 1.0, v412548; VI-NEXT: v_add_f32_e32 v3, 1.0, v312549; VI-NEXT: v_add_f32_e32 v2, 1.0, v212550; VI-NEXT: v_add_f32_e32 v1, 1.0, v112551; VI-NEXT: v_add_f32_e32 v0, 1.0, v012552; VI-NEXT: .LBB25_3: ; %end12553; VI-NEXT: s_setpc_b64 s[30:31]12554; VI-NEXT: .LBB25_4:12555; VI-NEXT: s_branch .LBB25_212556;12557; GFX9-LABEL: bitcast_v26f32_to_v13f64_scalar:12558; GFX9: ; %bb.0:12559; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12560; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212561; GFX9-NEXT: v_mov_b32_e32 v25, v1112562; GFX9-NEXT: v_mov_b32_e32 v24, v1012563; GFX9-NEXT: v_mov_b32_e32 v23, v912564; GFX9-NEXT: v_mov_b32_e32 v22, v812565; GFX9-NEXT: v_mov_b32_e32 v21, v712566; GFX9-NEXT: v_mov_b32_e32 v20, v612567; GFX9-NEXT: v_mov_b32_e32 v19, v512568; GFX9-NEXT: v_mov_b32_e32 v18, v412569; GFX9-NEXT: v_mov_b32_e32 v17, v312570; GFX9-NEXT: v_mov_b32_e32 v16, v212571; GFX9-NEXT: v_mov_b32_e32 v15, v112572; GFX9-NEXT: v_mov_b32_e32 v14, v012573; GFX9-NEXT: v_mov_b32_e32 v0, s1612574; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec12575; GFX9-NEXT: v_mov_b32_e32 v1, s1712576; GFX9-NEXT: v_mov_b32_e32 v2, s1812577; GFX9-NEXT: v_mov_b32_e32 v3, s1912578; GFX9-NEXT: v_mov_b32_e32 v4, s2012579; GFX9-NEXT: v_mov_b32_e32 v5, s2112580; GFX9-NEXT: v_mov_b32_e32 v6, s2212581; GFX9-NEXT: v_mov_b32_e32 v7, s2312582; GFX9-NEXT: v_mov_b32_e32 v8, s2412583; GFX9-NEXT: v_mov_b32_e32 v9, s2512584; GFX9-NEXT: v_mov_b32_e32 v10, s2612585; GFX9-NEXT: v_mov_b32_e32 v11, s2712586; GFX9-NEXT: v_mov_b32_e32 v12, s2812587; GFX9-NEXT: v_mov_b32_e32 v13, s2912588; GFX9-NEXT: s_cbranch_scc0 .LBB25_412589; GFX9-NEXT: ; %bb.1: ; %cmp.false12590; GFX9-NEXT: s_cbranch_execnz .LBB25_312591; GFX9-NEXT: .LBB25_2: ; %cmp.true12592; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2512593; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2412594; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2312595; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2212596; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2112597; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2012598; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1912599; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1812600; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1712601; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1612602; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1512603; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1412604; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1312605; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1212606; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1112607; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1012608; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v912609; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v812610; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v712611; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v612612; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v512613; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v412614; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v312615; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v212616; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v112617; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v012618; GFX9-NEXT: .LBB25_3: ; %end12619; GFX9-NEXT: s_setpc_b64 s[30:31]12620; GFX9-NEXT: .LBB25_4:12621; GFX9-NEXT: s_branch .LBB25_212622;12623; GFX11-LABEL: bitcast_v26f32_to_v13f64_scalar:12624; GFX11: ; %bb.0:12625; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12626; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v712627; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v512628; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v312629; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)12630; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1612631; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v112632; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s112633; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s312634; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1712635; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1912636; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2112637; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2312638; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2512639; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2712640; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2912641; GFX11-NEXT: v_mov_b32_e32 v16, s2812642; GFX11-NEXT: s_mov_b32 s0, 012643; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo12644; GFX11-NEXT: s_cbranch_scc0 .LBB25_312645; GFX11-NEXT: ; %bb.1: ; %Flow12646; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s012647; GFX11-NEXT: s_cbranch_vccz .LBB25_412648; GFX11-NEXT: ; %bb.2: ; %end12649; GFX11-NEXT: s_setpc_b64 s[30:31]12650; GFX11-NEXT: .LBB25_3:12651; GFX11-NEXT: .LBB25_4: ; %cmp.true12652; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2412653; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2212654; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2012655; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1812656; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1612657; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1412658; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1212659; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1012660; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v812661; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v612662; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v412663; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v212664; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v012665; GFX11-NEXT: s_setpc_b64 s[30:31]12666 %cmp = icmp eq i32 %b, 012667 br i1 %cmp, label %cmp.true, label %cmp.false12668 12669cmp.true:12670 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)12671 %a2 = bitcast <26 x float> %a1 to <13 x double>12672 br label %end12673 12674cmp.false:12675 %a3 = bitcast <26 x float> %a to <13 x double>12676 br label %end12677 12678end:12679 %phi = phi <13 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12680 ret <13 x double> %phi12681}12682 12683define <26 x float> @bitcast_v13f64_to_v26f32(<13 x double> %a, i32 %b) {12684; SI-LABEL: bitcast_v13f64_to_v26f32:12685; SI: ; %bb.0:12686; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12687; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2612688; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc12689; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12690; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12691; SI-NEXT: s_cbranch_execz .LBB26_212692; SI-NEXT: ; %bb.1: ; %cmp.true12693; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.012694; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.012695; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.012696; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.012697; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.012698; SI-NEXT: v_add_f64 v[14:15], v[14:15], 1.012699; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.012700; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.012701; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.012702; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.012703; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.012704; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.012705; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.012706; SI-NEXT: .LBB26_2: ; %end12707; SI-NEXT: s_or_b64 exec, exec, s[4:5]12708; SI-NEXT: s_setpc_b64 s[30:31]12709;12710; VI-LABEL: bitcast_v13f64_to_v26f32:12711; VI: ; %bb.0:12712; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12713; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2612714; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc12715; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12716; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12717; VI-NEXT: s_cbranch_execz .LBB26_212718; VI-NEXT: ; %bb.1: ; %cmp.true12719; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.012720; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.012721; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.012722; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.012723; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.012724; VI-NEXT: v_add_f64 v[14:15], v[14:15], 1.012725; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.012726; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.012727; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.012728; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.012729; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.012730; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.012731; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.012732; VI-NEXT: .LBB26_2: ; %end12733; VI-NEXT: s_or_b64 exec, exec, s[4:5]12734; VI-NEXT: s_setpc_b64 s[30:31]12735;12736; GFX9-LABEL: bitcast_v13f64_to_v26f32:12737; GFX9: ; %bb.0:12738; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12739; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2612740; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc12741; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12742; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12743; GFX9-NEXT: s_cbranch_execz .LBB26_212744; GFX9-NEXT: ; %bb.1: ; %cmp.true12745; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.012746; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.012747; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.012748; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.012749; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.012750; GFX9-NEXT: v_add_f64 v[14:15], v[14:15], 1.012751; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.012752; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.012753; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.012754; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.012755; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.012756; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.012757; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.012758; GFX9-NEXT: .LBB26_2: ; %end12759; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]12760; GFX9-NEXT: s_setpc_b64 s[30:31]12761;12762; GFX11-LABEL: bitcast_v13f64_to_v26f32:12763; GFX11: ; %bb.0:12764; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12765; GFX11-NEXT: s_mov_b32 s0, exec_lo12766; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2612767; GFX11-NEXT: s_xor_b32 s0, exec_lo, s012768; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)12769; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s012770; GFX11-NEXT: s_cbranch_execz .LBB26_212771; GFX11-NEXT: ; %bb.1: ; %cmp.true12772; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.012773; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.012774; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.012775; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.012776; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.012777; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.012778; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.012779; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.012780; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.012781; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.012782; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.012783; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.012784; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.012785; GFX11-NEXT: .LBB26_2: ; %end12786; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s012787; GFX11-NEXT: s_setpc_b64 s[30:31]12788 %cmp = icmp eq i32 %b, 012789 br i1 %cmp, label %cmp.true, label %cmp.false12790 12791cmp.true:12792 %a1 = fadd <13 x double> %a, splat (double 1.000000e+00)12793 %a2 = bitcast <13 x double> %a1 to <26 x float>12794 br label %end12795 12796cmp.false:12797 %a3 = bitcast <13 x double> %a to <26 x float>12798 br label %end12799 12800end:12801 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12802 ret <26 x float> %phi12803}12804 12805define inreg <26 x float> @bitcast_v13f64_to_v26f32_scalar(<13 x double> inreg %a, i32 inreg %b) {12806; SI-LABEL: bitcast_v13f64_to_v26f32_scalar:12807; SI: ; %bb.0:12808; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12809; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212810; SI-NEXT: v_mov_b32_e32 v25, v1112811; SI-NEXT: v_mov_b32_e32 v24, v1012812; SI-NEXT: v_mov_b32_e32 v23, v912813; SI-NEXT: v_mov_b32_e32 v22, v812814; SI-NEXT: v_mov_b32_e32 v21, v712815; SI-NEXT: v_mov_b32_e32 v20, v612816; SI-NEXT: v_mov_b32_e32 v19, v512817; SI-NEXT: v_mov_b32_e32 v18, v412818; SI-NEXT: v_mov_b32_e32 v17, v312819; SI-NEXT: v_mov_b32_e32 v16, v212820; SI-NEXT: v_mov_b32_e32 v15, v112821; SI-NEXT: v_mov_b32_e32 v14, v012822; SI-NEXT: v_mov_b32_e32 v0, s1612823; SI-NEXT: v_mov_b32_e32 v1, s1712824; SI-NEXT: v_mov_b32_e32 v2, s1812825; SI-NEXT: v_mov_b32_e32 v3, s1912826; SI-NEXT: v_mov_b32_e32 v4, s2012827; SI-NEXT: v_mov_b32_e32 v5, s2112828; SI-NEXT: v_mov_b32_e32 v6, s2212829; SI-NEXT: v_mov_b32_e32 v7, s2312830; SI-NEXT: v_mov_b32_e32 v8, s2412831; SI-NEXT: v_mov_b32_e32 v9, s2512832; SI-NEXT: v_mov_b32_e32 v10, s2612833; SI-NEXT: v_mov_b32_e32 v11, s2712834; SI-NEXT: s_and_b64 s[4:5], vcc, exec12835; SI-NEXT: v_mov_b32_e32 v12, s2812836; SI-NEXT: v_mov_b32_e32 v13, s2912837; SI-NEXT: s_cbranch_scc0 .LBB27_412838; SI-NEXT: ; %bb.1: ; %cmp.false12839; SI-NEXT: s_cbranch_execnz .LBB27_312840; SI-NEXT: .LBB27_2: ; %cmp.true12841; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.012842; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.012843; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.012844; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.012845; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.012846; SI-NEXT: v_add_f64 v[14:15], v[14:15], 1.012847; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.012848; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.012849; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.012850; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.012851; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.012852; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.012853; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.012854; SI-NEXT: .LBB27_3: ; %end12855; SI-NEXT: s_setpc_b64 s[30:31]12856; SI-NEXT: .LBB27_4:12857; SI-NEXT: s_branch .LBB27_212858;12859; VI-LABEL: bitcast_v13f64_to_v26f32_scalar:12860; VI: ; %bb.0:12861; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12862; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212863; VI-NEXT: v_mov_b32_e32 v25, v1112864; VI-NEXT: v_mov_b32_e32 v24, v1012865; VI-NEXT: v_mov_b32_e32 v23, v912866; VI-NEXT: v_mov_b32_e32 v22, v812867; VI-NEXT: v_mov_b32_e32 v21, v712868; VI-NEXT: v_mov_b32_e32 v20, v612869; VI-NEXT: v_mov_b32_e32 v19, v512870; VI-NEXT: v_mov_b32_e32 v18, v412871; VI-NEXT: v_mov_b32_e32 v17, v312872; VI-NEXT: v_mov_b32_e32 v16, v212873; VI-NEXT: v_mov_b32_e32 v15, v112874; VI-NEXT: v_mov_b32_e32 v14, v012875; VI-NEXT: v_mov_b32_e32 v0, s1612876; VI-NEXT: v_mov_b32_e32 v1, s1712877; VI-NEXT: v_mov_b32_e32 v2, s1812878; VI-NEXT: v_mov_b32_e32 v3, s1912879; VI-NEXT: v_mov_b32_e32 v4, s2012880; VI-NEXT: v_mov_b32_e32 v5, s2112881; VI-NEXT: v_mov_b32_e32 v6, s2212882; VI-NEXT: v_mov_b32_e32 v7, s2312883; VI-NEXT: v_mov_b32_e32 v8, s2412884; VI-NEXT: v_mov_b32_e32 v9, s2512885; VI-NEXT: v_mov_b32_e32 v10, s2612886; VI-NEXT: v_mov_b32_e32 v11, s2712887; VI-NEXT: s_and_b64 s[4:5], vcc, exec12888; VI-NEXT: v_mov_b32_e32 v12, s2812889; VI-NEXT: v_mov_b32_e32 v13, s2912890; VI-NEXT: s_cbranch_scc0 .LBB27_412891; VI-NEXT: ; %bb.1: ; %cmp.false12892; VI-NEXT: s_cbranch_execnz .LBB27_312893; VI-NEXT: .LBB27_2: ; %cmp.true12894; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.012895; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.012896; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.012897; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.012898; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.012899; VI-NEXT: v_add_f64 v[14:15], v[14:15], 1.012900; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.012901; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.012902; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.012903; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.012904; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.012905; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.012906; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.012907; VI-NEXT: .LBB27_3: ; %end12908; VI-NEXT: s_setpc_b64 s[30:31]12909; VI-NEXT: .LBB27_4:12910; VI-NEXT: s_branch .LBB27_212911;12912; GFX9-LABEL: bitcast_v13f64_to_v26f32_scalar:12913; GFX9: ; %bb.0:12914; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12915; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1212916; GFX9-NEXT: v_mov_b32_e32 v25, v1112917; GFX9-NEXT: v_mov_b32_e32 v24, v1012918; GFX9-NEXT: v_mov_b32_e32 v23, v912919; GFX9-NEXT: v_mov_b32_e32 v22, v812920; GFX9-NEXT: v_mov_b32_e32 v21, v712921; GFX9-NEXT: v_mov_b32_e32 v20, v612922; GFX9-NEXT: v_mov_b32_e32 v19, v512923; GFX9-NEXT: v_mov_b32_e32 v18, v412924; GFX9-NEXT: v_mov_b32_e32 v17, v312925; GFX9-NEXT: v_mov_b32_e32 v16, v212926; GFX9-NEXT: v_mov_b32_e32 v15, v112927; GFX9-NEXT: v_mov_b32_e32 v14, v012928; GFX9-NEXT: v_mov_b32_e32 v0, s1612929; GFX9-NEXT: v_mov_b32_e32 v1, s1712930; GFX9-NEXT: v_mov_b32_e32 v2, s1812931; GFX9-NEXT: v_mov_b32_e32 v3, s1912932; GFX9-NEXT: v_mov_b32_e32 v4, s2012933; GFX9-NEXT: v_mov_b32_e32 v5, s2112934; GFX9-NEXT: v_mov_b32_e32 v6, s2212935; GFX9-NEXT: v_mov_b32_e32 v7, s2312936; GFX9-NEXT: v_mov_b32_e32 v8, s2412937; GFX9-NEXT: v_mov_b32_e32 v9, s2512938; GFX9-NEXT: v_mov_b32_e32 v10, s2612939; GFX9-NEXT: v_mov_b32_e32 v11, s2712940; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec12941; GFX9-NEXT: v_mov_b32_e32 v12, s2812942; GFX9-NEXT: v_mov_b32_e32 v13, s2912943; GFX9-NEXT: s_cbranch_scc0 .LBB27_412944; GFX9-NEXT: ; %bb.1: ; %cmp.false12945; GFX9-NEXT: s_cbranch_execnz .LBB27_312946; GFX9-NEXT: .LBB27_2: ; %cmp.true12947; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.012948; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.012949; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.012950; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.012951; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.012952; GFX9-NEXT: v_add_f64 v[14:15], v[14:15], 1.012953; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.012954; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.012955; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.012956; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.012957; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.012958; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.012959; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.012960; GFX9-NEXT: .LBB27_3: ; %end12961; GFX9-NEXT: s_setpc_b64 s[30:31]12962; GFX9-NEXT: .LBB27_4:12963; GFX9-NEXT: s_branch .LBB27_212964;12965; GFX11-LABEL: bitcast_v13f64_to_v26f32_scalar:12966; GFX11: ; %bb.0:12967; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12968; GFX11-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v712969; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v512970; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v312971; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)12972; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1612973; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v112974; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s112975; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s312976; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1712977; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1912978; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2112979; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2312980; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2512981; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2712982; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2912983; GFX11-NEXT: v_mov_b32_e32 v16, s2812984; GFX11-NEXT: s_mov_b32 s0, 012985; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo12986; GFX11-NEXT: s_cbranch_scc0 .LBB27_312987; GFX11-NEXT: ; %bb.1: ; %Flow12988; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s012989; GFX11-NEXT: s_cbranch_vccz .LBB27_412990; GFX11-NEXT: ; %bb.2: ; %end12991; GFX11-NEXT: s_setpc_b64 s[30:31]12992; GFX11-NEXT: .LBB27_3:12993; GFX11-NEXT: .LBB27_4: ; %cmp.true12994; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.012995; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.012996; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.012997; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.012998; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.012999; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.013000; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.013001; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.013002; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.013003; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.013004; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.013005; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.013006; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.013007; GFX11-NEXT: s_setpc_b64 s[30:31]13008 %cmp = icmp eq i32 %b, 013009 br i1 %cmp, label %cmp.true, label %cmp.false13010 13011cmp.true:13012 %a1 = fadd <13 x double> %a, splat (double 1.000000e+00)13013 %a2 = bitcast <13 x double> %a1 to <26 x float>13014 br label %end13015 13016cmp.false:13017 %a3 = bitcast <13 x double> %a to <26 x float>13018 br label %end13019 13020end:13021 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]13022 ret <26 x float> %phi13023}13024 13025define <52 x i16> @bitcast_v26f32_to_v52i16(<26 x float> %a, i32 %b) {13026; SI-LABEL: bitcast_v26f32_to_v52i16:13027; SI: ; %bb.0:13028; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13029; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2713030; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill13031; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill13032; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill13033; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill13034; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 ; 4-byte Folded Spill13035; SI-NEXT: ; implicit-def: $vgpr4013036; SI-NEXT: ; implicit-def: $vgpr4413037; SI-NEXT: ; implicit-def: $vgpr5413038; SI-NEXT: ; implicit-def: $vgpr4313039; SI-NEXT: ; implicit-def: $vgpr5213040; SI-NEXT: ; implicit-def: $vgpr4213041; SI-NEXT: ; implicit-def: $vgpr5013042; SI-NEXT: ; implicit-def: $vgpr4113043; SI-NEXT: ; implicit-def: $vgpr4813044; SI-NEXT: ; implicit-def: $vgpr5513045; SI-NEXT: ; implicit-def: $vgpr3713046; SI-NEXT: ; implicit-def: $vgpr5313047; SI-NEXT: ; implicit-def: $vgpr3513048; SI-NEXT: ; implicit-def: $vgpr5113049; SI-NEXT: ; implicit-def: $vgpr3313050; SI-NEXT: ; implicit-def: $vgpr4913051; SI-NEXT: ; implicit-def: $vgpr3113052; SI-NEXT: ; implicit-def: $vgpr3913053; SI-NEXT: ; implicit-def: $vgpr3013054; SI-NEXT: ; implicit-def: $vgpr3813055; SI-NEXT: ; implicit-def: $vgpr2913056; SI-NEXT: ; implicit-def: $vgpr3613057; SI-NEXT: ; implicit-def: $vgpr2813058; SI-NEXT: ; implicit-def: $vgpr3413059; SI-NEXT: ; implicit-def: $vgpr2713060; SI-NEXT: ; implicit-def: $vgpr3213061; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc13062; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13063; SI-NEXT: s_cbranch_execz .LBB28_213064; SI-NEXT: ; %bb.1: ; %cmp.false13065; SI-NEXT: v_alignbit_b32 v27, v26, v25, 1613066; SI-NEXT: v_alignbit_b32 v28, v24, v23, 1613067; SI-NEXT: v_alignbit_b32 v29, v22, v21, 1613068; SI-NEXT: v_alignbit_b32 v30, v20, v19, 1613069; SI-NEXT: v_alignbit_b32 v31, v18, v17, 1613070; SI-NEXT: v_alignbit_b32 v33, v16, v15, 1613071; SI-NEXT: v_alignbit_b32 v35, v14, v13, 1613072; SI-NEXT: v_alignbit_b32 v37, v12, v11, 1613073; SI-NEXT: v_alignbit_b32 v48, v10, v9, 1613074; SI-NEXT: v_alignbit_b32 v50, v8, v7, 1613075; SI-NEXT: v_alignbit_b32 v52, v6, v5, 1613076; SI-NEXT: v_alignbit_b32 v54, v4, v3, 1613077; SI-NEXT: s_waitcnt expcnt(4)13078; SI-NEXT: v_alignbit_b32 v40, v2, v1, 1613079; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v2613080; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v2413081; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v2213082; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v2013083; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v1813084; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v1613085; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1413086; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v1213087; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1013088; SI-NEXT: s_waitcnt expcnt(3)13089; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v813090; SI-NEXT: s_waitcnt expcnt(2)13091; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v613092; SI-NEXT: s_waitcnt expcnt(1)13093; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v413094; SI-NEXT: s_waitcnt expcnt(0)13095; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v213096; SI-NEXT: .LBB28_2: ; %Flow13097; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13098; SI-NEXT: s_cbranch_execz .LBB28_413099; SI-NEXT: ; %bb.3: ; %cmp.true13100; SI-NEXT: v_add_f32_e32 v2, 1.0, v213101; SI-NEXT: v_add_f32_e32 v1, 1.0, v113102; SI-NEXT: v_add_f32_e32 v4, 1.0, v413103; SI-NEXT: v_add_f32_e32 v3, 1.0, v313104; SI-NEXT: v_add_f32_e32 v6, 1.0, v613105; SI-NEXT: v_add_f32_e32 v5, 1.0, v513106; SI-NEXT: v_add_f32_e32 v8, 1.0, v813107; SI-NEXT: v_add_f32_e32 v7, 1.0, v713108; SI-NEXT: v_add_f32_e32 v10, 1.0, v1013109; SI-NEXT: v_add_f32_e32 v9, 1.0, v913110; SI-NEXT: v_add_f32_e32 v12, 1.0, v1213111; SI-NEXT: v_add_f32_e32 v11, 1.0, v1113112; SI-NEXT: v_add_f32_e32 v14, 1.0, v1413113; SI-NEXT: v_add_f32_e32 v13, 1.0, v1313114; SI-NEXT: v_add_f32_e32 v16, 1.0, v1613115; SI-NEXT: v_add_f32_e32 v15, 1.0, v1513116; SI-NEXT: v_add_f32_e32 v18, 1.0, v1813117; SI-NEXT: v_add_f32_e32 v17, 1.0, v1713118; SI-NEXT: v_add_f32_e32 v20, 1.0, v2013119; SI-NEXT: v_add_f32_e32 v19, 1.0, v1913120; SI-NEXT: v_add_f32_e32 v22, 1.0, v2213121; SI-NEXT: v_add_f32_e32 v21, 1.0, v2113122; SI-NEXT: v_add_f32_e32 v24, 1.0, v2413123; SI-NEXT: v_add_f32_e32 v23, 1.0, v2313124; SI-NEXT: v_add_f32_e32 v26, 1.0, v2613125; SI-NEXT: v_add_f32_e32 v25, 1.0, v2513126; SI-NEXT: v_alignbit_b32 v27, v26, v25, 1613127; SI-NEXT: v_alignbit_b32 v28, v24, v23, 1613128; SI-NEXT: v_alignbit_b32 v29, v22, v21, 1613129; SI-NEXT: v_alignbit_b32 v30, v20, v19, 1613130; SI-NEXT: v_alignbit_b32 v31, v18, v17, 1613131; SI-NEXT: v_alignbit_b32 v33, v16, v15, 1613132; SI-NEXT: v_alignbit_b32 v35, v14, v13, 1613133; SI-NEXT: v_alignbit_b32 v37, v12, v11, 1613134; SI-NEXT: v_alignbit_b32 v48, v10, v9, 1613135; SI-NEXT: v_alignbit_b32 v50, v8, v7, 1613136; SI-NEXT: v_alignbit_b32 v52, v6, v5, 1613137; SI-NEXT: v_alignbit_b32 v54, v4, v3, 1613138; SI-NEXT: s_waitcnt expcnt(4)13139; SI-NEXT: v_alignbit_b32 v40, v2, v1, 1613140; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v2613141; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v2413142; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v2213143; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v2013144; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v1813145; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v1613146; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1413147; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v1213148; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1013149; SI-NEXT: s_waitcnt expcnt(3)13150; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v813151; SI-NEXT: s_waitcnt expcnt(2)13152; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v613153; SI-NEXT: s_waitcnt expcnt(1)13154; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v413155; SI-NEXT: s_waitcnt expcnt(0)13156; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v213157; SI-NEXT: .LBB28_4: ; %end13158; SI-NEXT: s_or_b64 exec, exec, s[4:5]13159; SI-NEXT: v_and_b32_e32 v1, 0xffff, v113160; SI-NEXT: s_waitcnt expcnt(4)13161; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v4013162; SI-NEXT: v_or_b32_e32 v1, v1, v4013163; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen13164; SI-NEXT: s_waitcnt expcnt(0)13165; SI-NEXT: v_and_b32_e32 v1, 0xffff, v213166; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4413167; SI-NEXT: v_or_b32_e32 v1, v1, v213168; SI-NEXT: v_add_i32_e32 v2, vcc, 4, v013169; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13170; SI-NEXT: s_waitcnt expcnt(0)13171; SI-NEXT: v_and_b32_e32 v1, 0xffff, v313172; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5413173; SI-NEXT: v_or_b32_e32 v1, v1, v213174; SI-NEXT: v_add_i32_e32 v2, vcc, 8, v013175; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13176; SI-NEXT: s_waitcnt expcnt(0)13177; SI-NEXT: v_and_b32_e32 v1, 0xffff, v413178; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4313179; SI-NEXT: v_or_b32_e32 v1, v1, v213180; SI-NEXT: v_add_i32_e32 v2, vcc, 12, v013181; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13182; SI-NEXT: s_waitcnt expcnt(0)13183; SI-NEXT: v_and_b32_e32 v1, 0xffff, v513184; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5213185; SI-NEXT: v_or_b32_e32 v1, v1, v213186; SI-NEXT: v_add_i32_e32 v2, vcc, 16, v013187; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13188; SI-NEXT: s_waitcnt expcnt(0)13189; SI-NEXT: v_and_b32_e32 v1, 0xffff, v613190; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4213191; SI-NEXT: v_or_b32_e32 v1, v1, v213192; SI-NEXT: v_add_i32_e32 v2, vcc, 20, v013193; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13194; SI-NEXT: s_waitcnt expcnt(0)13195; SI-NEXT: v_and_b32_e32 v1, 0xffff, v713196; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5013197; SI-NEXT: v_or_b32_e32 v1, v1, v213198; SI-NEXT: v_add_i32_e32 v2, vcc, 24, v013199; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13200; SI-NEXT: s_waitcnt expcnt(0)13201; SI-NEXT: v_and_b32_e32 v1, 0xffff, v813202; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4113203; SI-NEXT: v_or_b32_e32 v1, v1, v213204; SI-NEXT: v_add_i32_e32 v2, vcc, 28, v013205; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13206; SI-NEXT: s_waitcnt expcnt(0)13207; SI-NEXT: v_and_b32_e32 v1, 0xffff, v913208; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4813209; SI-NEXT: v_or_b32_e32 v1, v1, v213210; SI-NEXT: v_add_i32_e32 v2, vcc, 32, v013211; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13212; SI-NEXT: s_waitcnt expcnt(0)13213; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1013214; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5513215; SI-NEXT: v_or_b32_e32 v1, v1, v213216; SI-NEXT: v_add_i32_e32 v2, vcc, 36, v013217; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13218; SI-NEXT: s_waitcnt expcnt(0)13219; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1113220; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3713221; SI-NEXT: v_or_b32_e32 v1, v1, v213222; SI-NEXT: v_add_i32_e32 v2, vcc, 40, v013223; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13224; SI-NEXT: s_waitcnt expcnt(0)13225; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1213226; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5313227; SI-NEXT: v_or_b32_e32 v1, v1, v213228; SI-NEXT: v_add_i32_e32 v2, vcc, 44, v013229; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13230; SI-NEXT: s_waitcnt expcnt(0)13231; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1313232; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3513233; SI-NEXT: v_or_b32_e32 v1, v1, v213234; SI-NEXT: v_add_i32_e32 v2, vcc, 48, v013235; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13236; SI-NEXT: s_waitcnt expcnt(0)13237; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1413238; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5113239; SI-NEXT: v_or_b32_e32 v1, v1, v213240; SI-NEXT: v_add_i32_e32 v2, vcc, 52, v013241; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13242; SI-NEXT: s_waitcnt expcnt(0)13243; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1513244; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3313245; SI-NEXT: v_or_b32_e32 v1, v1, v213246; SI-NEXT: v_add_i32_e32 v2, vcc, 56, v013247; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13248; SI-NEXT: s_waitcnt expcnt(0)13249; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1613250; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4913251; SI-NEXT: v_or_b32_e32 v1, v1, v213252; SI-NEXT: v_add_i32_e32 v2, vcc, 60, v013253; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13254; SI-NEXT: s_waitcnt expcnt(0)13255; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1713256; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3113257; SI-NEXT: v_or_b32_e32 v1, v1, v213258; SI-NEXT: v_add_i32_e32 v2, vcc, 64, v013259; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13260; SI-NEXT: s_waitcnt expcnt(0)13261; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1813262; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3913263; SI-NEXT: v_or_b32_e32 v1, v1, v213264; SI-NEXT: v_add_i32_e32 v2, vcc, 0x44, v013265; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13266; SI-NEXT: s_waitcnt expcnt(0)13267; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1913268; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3013269; SI-NEXT: v_or_b32_e32 v1, v1, v213270; SI-NEXT: v_add_i32_e32 v2, vcc, 0x48, v013271; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13272; SI-NEXT: s_waitcnt expcnt(0)13273; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2013274; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3813275; SI-NEXT: v_or_b32_e32 v1, v1, v213276; SI-NEXT: v_add_i32_e32 v2, vcc, 0x4c, v013277; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13278; SI-NEXT: s_waitcnt expcnt(0)13279; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2113280; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2913281; SI-NEXT: v_or_b32_e32 v1, v1, v213282; SI-NEXT: v_add_i32_e32 v2, vcc, 0x50, v013283; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13284; SI-NEXT: s_waitcnt expcnt(0)13285; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2213286; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3613287; SI-NEXT: v_or_b32_e32 v1, v1, v213288; SI-NEXT: v_add_i32_e32 v2, vcc, 0x54, v013289; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13290; SI-NEXT: s_waitcnt expcnt(0)13291; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2313292; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2813293; SI-NEXT: v_or_b32_e32 v1, v1, v213294; SI-NEXT: v_add_i32_e32 v2, vcc, 0x58, v013295; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13296; SI-NEXT: s_waitcnt expcnt(0)13297; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2413298; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3413299; SI-NEXT: v_or_b32_e32 v1, v1, v213300; SI-NEXT: v_add_i32_e32 v2, vcc, 0x5c, v013301; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13302; SI-NEXT: s_waitcnt expcnt(0)13303; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2513304; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2713305; SI-NEXT: v_or_b32_e32 v1, v1, v213306; SI-NEXT: v_add_i32_e32 v2, vcc, 0x60, v013307; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen13308; SI-NEXT: s_waitcnt expcnt(0)13309; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2613310; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3213311; SI-NEXT: v_or_b32_e32 v1, v1, v213312; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v013313; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen13314; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 ; 4-byte Folded Reload13315; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload13316; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload13317; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload13318; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload13319; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)13320; SI-NEXT: s_setpc_b64 s[30:31]13321;13322; VI-LABEL: bitcast_v26f32_to_v52i16:13323; VI: ; %bb.0:13324; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13325; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2613326; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill13327; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill13328; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill13329; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill13330; VI-NEXT: ; implicit-def: $vgpr4313331; VI-NEXT: ; implicit-def: $vgpr4213332; VI-NEXT: ; implicit-def: $vgpr4113333; VI-NEXT: ; implicit-def: $vgpr4013334; VI-NEXT: ; implicit-def: $vgpr5513335; VI-NEXT: ; implicit-def: $vgpr5413336; VI-NEXT: ; implicit-def: $vgpr5313337; VI-NEXT: ; implicit-def: $vgpr5213338; VI-NEXT: ; implicit-def: $vgpr5113339; VI-NEXT: ; implicit-def: $vgpr5013340; VI-NEXT: ; implicit-def: $vgpr4913341; VI-NEXT: ; implicit-def: $vgpr4813342; VI-NEXT: ; implicit-def: $vgpr3913343; VI-NEXT: ; implicit-def: $vgpr3813344; VI-NEXT: ; implicit-def: $vgpr3713345; VI-NEXT: ; implicit-def: $vgpr3613346; VI-NEXT: ; implicit-def: $vgpr3513347; VI-NEXT: ; implicit-def: $vgpr3413348; VI-NEXT: ; implicit-def: $vgpr3313349; VI-NEXT: ; implicit-def: $vgpr3213350; VI-NEXT: ; implicit-def: $vgpr3113351; VI-NEXT: ; implicit-def: $vgpr3013352; VI-NEXT: ; implicit-def: $vgpr2913353; VI-NEXT: ; implicit-def: $vgpr2813354; VI-NEXT: ; implicit-def: $vgpr2713355; VI-NEXT: ; implicit-def: $vgpr2613356; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc13357; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13358; VI-NEXT: s_cbranch_execz .LBB28_213359; VI-NEXT: ; %bb.1: ; %cmp.false13360; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v2513361; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v2413362; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2313363; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2213364; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2113365; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2013366; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1913367; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v1813368; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1713369; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1613370; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1513371; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1413372; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1313373; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1213374; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1113375; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1013376; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v913377; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v813378; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v713379; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v613380; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v513381; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v413382; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v313383; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v213384; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v113385; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v013386; VI-NEXT: .LBB28_2: ; %Flow13387; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13388; VI-NEXT: s_cbranch_execz .LBB28_413389; VI-NEXT: ; %bb.3: ; %cmp.true13390; VI-NEXT: v_add_f32_e32 v25, 1.0, v2513391; VI-NEXT: v_add_f32_e32 v24, 1.0, v2413392; VI-NEXT: v_add_f32_e32 v23, 1.0, v2313393; VI-NEXT: v_add_f32_e32 v22, 1.0, v2213394; VI-NEXT: v_add_f32_e32 v21, 1.0, v2113395; VI-NEXT: v_add_f32_e32 v20, 1.0, v2013396; VI-NEXT: v_add_f32_e32 v19, 1.0, v1913397; VI-NEXT: v_add_f32_e32 v18, 1.0, v1813398; VI-NEXT: v_add_f32_e32 v17, 1.0, v1713399; VI-NEXT: v_add_f32_e32 v16, 1.0, v1613400; VI-NEXT: v_add_f32_e32 v15, 1.0, v1513401; VI-NEXT: v_add_f32_e32 v14, 1.0, v1413402; VI-NEXT: v_add_f32_e32 v13, 1.0, v1313403; VI-NEXT: v_add_f32_e32 v12, 1.0, v1213404; VI-NEXT: v_add_f32_e32 v11, 1.0, v1113405; VI-NEXT: v_add_f32_e32 v10, 1.0, v1013406; VI-NEXT: v_add_f32_e32 v9, 1.0, v913407; VI-NEXT: v_add_f32_e32 v8, 1.0, v813408; VI-NEXT: v_add_f32_e32 v7, 1.0, v713409; VI-NEXT: v_add_f32_e32 v6, 1.0, v613410; VI-NEXT: v_add_f32_e32 v5, 1.0, v513411; VI-NEXT: v_add_f32_e32 v4, 1.0, v413412; VI-NEXT: v_add_f32_e32 v3, 1.0, v313413; VI-NEXT: v_add_f32_e32 v2, 1.0, v213414; VI-NEXT: v_add_f32_e32 v1, 1.0, v113415; VI-NEXT: v_add_f32_e32 v0, 1.0, v013416; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v2513417; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v2413418; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2313419; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2213420; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2113421; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2013422; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1913423; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v1813424; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1713425; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1613426; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1513427; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1413428; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1313429; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1213430; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1113431; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1013432; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v913433; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v813434; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v713435; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v613436; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v513437; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v413438; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v313439; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v213440; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v113441; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v013442; VI-NEXT: .LBB28_4: ; %end13443; VI-NEXT: s_or_b64 exec, exec, s[4:5]13444; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v4313445; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v4213446; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v4113447; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v4013448; VI-NEXT: v_or_b32_sdwa v0, v0, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13449; VI-NEXT: v_or_b32_sdwa v1, v1, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13450; VI-NEXT: v_or_b32_sdwa v2, v2, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13451; VI-NEXT: v_or_b32_sdwa v3, v3, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13452; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload13453; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload13454; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload13455; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload13456; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v5513457; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v5413458; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v5313459; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v5213460; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v5113461; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v5013462; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v4913463; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v4813464; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v3913465; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v3813466; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v3713467; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v3613468; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v3513469; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v3413470; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v3313471; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v3213472; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v3113473; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v3013474; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v2913475; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v2813476; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v2713477; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v2613478; VI-NEXT: v_or_b32_sdwa v4, v4, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13479; VI-NEXT: v_or_b32_sdwa v5, v5, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13480; VI-NEXT: v_or_b32_sdwa v6, v6, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13481; VI-NEXT: v_or_b32_sdwa v7, v7, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13482; VI-NEXT: v_or_b32_sdwa v8, v8, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13483; VI-NEXT: v_or_b32_sdwa v9, v9, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13484; VI-NEXT: v_or_b32_sdwa v10, v10, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13485; VI-NEXT: v_or_b32_sdwa v11, v11, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13486; VI-NEXT: v_or_b32_sdwa v12, v12, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13487; VI-NEXT: v_or_b32_sdwa v13, v13, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13488; VI-NEXT: v_or_b32_sdwa v14, v14, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13489; VI-NEXT: v_or_b32_sdwa v15, v15, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13490; VI-NEXT: v_or_b32_sdwa v16, v16, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13491; VI-NEXT: v_or_b32_sdwa v17, v17, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13492; VI-NEXT: v_or_b32_sdwa v18, v18, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13493; VI-NEXT: v_or_b32_sdwa v19, v19, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13494; VI-NEXT: v_or_b32_sdwa v20, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13495; VI-NEXT: v_or_b32_sdwa v21, v21, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13496; VI-NEXT: v_or_b32_sdwa v22, v22, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13497; VI-NEXT: v_or_b32_sdwa v23, v23, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13498; VI-NEXT: v_or_b32_sdwa v24, v24, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13499; VI-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD13500; VI-NEXT: s_waitcnt vmcnt(0)13501; VI-NEXT: s_setpc_b64 s[30:31]13502;13503; GFX9-LABEL: bitcast_v26f32_to_v52i16:13504; GFX9: ; %bb.0:13505; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13506; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2613507; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill13508; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill13509; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill13510; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill13511; GFX9-NEXT: ; implicit-def: $vgpr4313512; GFX9-NEXT: ; implicit-def: $vgpr4213513; GFX9-NEXT: ; implicit-def: $vgpr4113514; GFX9-NEXT: ; implicit-def: $vgpr4013515; GFX9-NEXT: ; implicit-def: $vgpr5513516; GFX9-NEXT: ; implicit-def: $vgpr5413517; GFX9-NEXT: ; implicit-def: $vgpr5313518; GFX9-NEXT: ; implicit-def: $vgpr5213519; GFX9-NEXT: ; implicit-def: $vgpr5113520; GFX9-NEXT: ; implicit-def: $vgpr5013521; GFX9-NEXT: ; implicit-def: $vgpr4913522; GFX9-NEXT: ; implicit-def: $vgpr4813523; GFX9-NEXT: ; implicit-def: $vgpr3913524; GFX9-NEXT: ; implicit-def: $vgpr3813525; GFX9-NEXT: ; implicit-def: $vgpr3713526; GFX9-NEXT: ; implicit-def: $vgpr3613527; GFX9-NEXT: ; implicit-def: $vgpr3513528; GFX9-NEXT: ; implicit-def: $vgpr3413529; GFX9-NEXT: ; implicit-def: $vgpr3313530; GFX9-NEXT: ; implicit-def: $vgpr3213531; GFX9-NEXT: ; implicit-def: $vgpr3113532; GFX9-NEXT: ; implicit-def: $vgpr3013533; GFX9-NEXT: ; implicit-def: $vgpr2913534; GFX9-NEXT: ; implicit-def: $vgpr2813535; GFX9-NEXT: ; implicit-def: $vgpr2713536; GFX9-NEXT: ; implicit-def: $vgpr2613537; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc13538; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13539; GFX9-NEXT: s_cbranch_execz .LBB28_213540; GFX9-NEXT: ; %bb.1: ; %cmp.false13541; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v2513542; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v2413543; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2313544; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2213545; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2113546; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2013547; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1913548; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v1813549; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v1713550; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1613551; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1513552; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1413553; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1313554; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1213555; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1113556; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1013557; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v913558; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v813559; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v713560; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v613561; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v513562; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v413563; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v313564; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v213565; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v113566; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v013567; GFX9-NEXT: .LBB28_2: ; %Flow13568; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13569; GFX9-NEXT: s_cbranch_execz .LBB28_413570; GFX9-NEXT: ; %bb.3: ; %cmp.true13571; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2513572; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2413573; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2313574; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2213575; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2113576; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2013577; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1913578; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1813579; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1713580; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1613581; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1513582; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1413583; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1313584; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1213585; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1113586; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1013587; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v913588; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v813589; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v713590; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v613591; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v513592; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v413593; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v313594; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v213595; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v113596; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v013597; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v2513598; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v2413599; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2313600; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2213601; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2113602; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2013603; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1913604; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v1813605; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v1713606; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1613607; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1513608; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1413609; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1313610; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1213611; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1113612; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1013613; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v913614; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v813615; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v713616; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v613617; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v513618; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v413619; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v313620; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v213621; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v113622; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v013623; GFX9-NEXT: .LBB28_4: ; %end13624; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]13625; GFX9-NEXT: s_mov_b32 s4, 0x504010013626; GFX9-NEXT: v_perm_b32 v0, v43, v0, s413627; GFX9-NEXT: v_perm_b32 v1, v42, v1, s413628; GFX9-NEXT: v_perm_b32 v2, v41, v2, s413629; GFX9-NEXT: v_perm_b32 v3, v40, v3, s413630; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload13631; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload13632; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload13633; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload13634; GFX9-NEXT: v_perm_b32 v4, v55, v4, s413635; GFX9-NEXT: v_perm_b32 v5, v54, v5, s413636; GFX9-NEXT: v_perm_b32 v6, v53, v6, s413637; GFX9-NEXT: v_perm_b32 v7, v52, v7, s413638; GFX9-NEXT: v_perm_b32 v8, v51, v8, s413639; GFX9-NEXT: v_perm_b32 v9, v50, v9, s413640; GFX9-NEXT: v_perm_b32 v10, v49, v10, s413641; GFX9-NEXT: v_perm_b32 v11, v48, v11, s413642; GFX9-NEXT: v_perm_b32 v12, v39, v12, s413643; GFX9-NEXT: v_perm_b32 v13, v38, v13, s413644; GFX9-NEXT: v_perm_b32 v14, v37, v14, s413645; GFX9-NEXT: v_perm_b32 v15, v36, v15, s413646; GFX9-NEXT: v_perm_b32 v16, v35, v16, s413647; GFX9-NEXT: v_perm_b32 v17, v34, v17, s413648; GFX9-NEXT: v_perm_b32 v18, v33, v18, s413649; GFX9-NEXT: v_perm_b32 v19, v32, v19, s413650; GFX9-NEXT: v_perm_b32 v20, v31, v20, s413651; GFX9-NEXT: v_perm_b32 v21, v30, v21, s413652; GFX9-NEXT: v_perm_b32 v22, v29, v22, s413653; GFX9-NEXT: v_perm_b32 v23, v28, v23, s413654; GFX9-NEXT: v_perm_b32 v24, v27, v24, s413655; GFX9-NEXT: v_perm_b32 v25, v26, v25, s413656; GFX9-NEXT: s_waitcnt vmcnt(0)13657; GFX9-NEXT: s_setpc_b64 s[30:31]13658;13659; GFX11-TRUE16-LABEL: bitcast_v26f32_to_v52i16:13660; GFX11-TRUE16: ; %bb.0:13661; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13662; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo13663; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2613664; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s013665; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)13666; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s013667; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB28_213668; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true13669; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2413670; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2213671; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2013672; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1813673; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1613674; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1413675; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1213676; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1013677; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v813678; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v613679; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v413680; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v213681; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v013682; GFX11-TRUE16-NEXT: .LBB28_2: ; %end13683; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s013684; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]13685;13686; GFX11-FAKE16-LABEL: bitcast_v26f32_to_v52i16:13687; GFX11-FAKE16: ; %bb.0:13688; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13689; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2613690; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6713691; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6613692; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6513693; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6413694; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5513695; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5413696; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5313697; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5213698; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5113699; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5013700; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4913701; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4813702; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3913703; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3813704; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3713705; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3613706; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3513707; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3413708; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3313709; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3213710; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3113711; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3013712; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2913713; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2813714; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2713715; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2613716; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo13717; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)13718; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s013719; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB28_213720; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false13721; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2513722; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2413723; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2313724; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2213725; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2113726; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2013727; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1913728; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1813729; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1713730; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1613731; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1513732; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1413733; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1313734; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1213735; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1113736; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1013737; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v913738; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v813739; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v713740; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v613741; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v513742; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v413743; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v313744; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v213745; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v113746; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v013747; GFX11-FAKE16-NEXT: .LBB28_2: ; %Flow13748; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s013749; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB28_413750; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true13751; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2413752; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2213753; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2013754; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1813755; GFX11-FAKE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1613756; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1413757; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1213758; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1013759; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v813760; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v613761; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v413762; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v213763; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v013764; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2513765; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2413766; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2313767; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2213768; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2113769; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2013770; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1913771; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1813772; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1713773; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1613774; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1513775; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1413776; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1313777; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1213778; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1113779; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1013780; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v913781; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v813782; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v713783; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v613784; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v513785; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v413786; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v313787; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v213788; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v113789; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v013790; GFX11-FAKE16-NEXT: .LBB28_4: ; %end13791; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s013792; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)13793; GFX11-FAKE16-NEXT: v_perm_b32 v0, v67, v0, 0x504010013794; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x504010013795; GFX11-FAKE16-NEXT: v_perm_b32 v2, v65, v2, 0x504010013796; GFX11-FAKE16-NEXT: v_perm_b32 v3, v64, v3, 0x504010013797; GFX11-FAKE16-NEXT: v_perm_b32 v4, v55, v4, 0x504010013798; GFX11-FAKE16-NEXT: v_perm_b32 v5, v54, v5, 0x504010013799; GFX11-FAKE16-NEXT: v_perm_b32 v6, v53, v6, 0x504010013800; GFX11-FAKE16-NEXT: v_perm_b32 v7, v52, v7, 0x504010013801; GFX11-FAKE16-NEXT: v_perm_b32 v8, v51, v8, 0x504010013802; GFX11-FAKE16-NEXT: v_perm_b32 v9, v50, v9, 0x504010013803; GFX11-FAKE16-NEXT: v_perm_b32 v10, v49, v10, 0x504010013804; GFX11-FAKE16-NEXT: v_perm_b32 v11, v48, v11, 0x504010013805; GFX11-FAKE16-NEXT: v_perm_b32 v12, v39, v12, 0x504010013806; GFX11-FAKE16-NEXT: v_perm_b32 v13, v38, v13, 0x504010013807; GFX11-FAKE16-NEXT: v_perm_b32 v14, v37, v14, 0x504010013808; GFX11-FAKE16-NEXT: v_perm_b32 v15, v36, v15, 0x504010013809; GFX11-FAKE16-NEXT: v_perm_b32 v16, v35, v16, 0x504010013810; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v17, 0x504010013811; GFX11-FAKE16-NEXT: v_perm_b32 v18, v33, v18, 0x504010013812; GFX11-FAKE16-NEXT: v_perm_b32 v19, v32, v19, 0x504010013813; GFX11-FAKE16-NEXT: v_perm_b32 v20, v31, v20, 0x504010013814; GFX11-FAKE16-NEXT: v_perm_b32 v21, v30, v21, 0x504010013815; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v22, 0x504010013816; GFX11-FAKE16-NEXT: v_perm_b32 v23, v28, v23, 0x504010013817; GFX11-FAKE16-NEXT: v_perm_b32 v24, v27, v24, 0x504010013818; GFX11-FAKE16-NEXT: v_perm_b32 v25, v26, v25, 0x504010013819; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]13820 %cmp = icmp eq i32 %b, 013821 br i1 %cmp, label %cmp.true, label %cmp.false13822 13823cmp.true:13824 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)13825 %a2 = bitcast <26 x float> %a1 to <52 x i16>13826 br label %end13827 13828cmp.false:13829 %a3 = bitcast <26 x float> %a to <52 x i16>13830 br label %end13831 13832end:13833 %phi = phi <52 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]13834 ret <52 x i16> %phi13835}13836 13837define inreg <52 x i16> @bitcast_v26f32_to_v52i16_scalar(<26 x float> inreg %a, i32 inreg %b) {13838; SI-LABEL: bitcast_v26f32_to_v52i16_scalar:13839; SI: ; %bb.0:13840; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13841; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1313842; SI-NEXT: v_mov_b32_e32 v25, s1613843; SI-NEXT: v_mov_b32_e32 v26, s1713844; SI-NEXT: v_mov_b32_e32 v23, s1813845; SI-NEXT: v_mov_b32_e32 v24, s1913846; SI-NEXT: v_mov_b32_e32 v19, s2013847; SI-NEXT: v_mov_b32_e32 v20, s2113848; SI-NEXT: v_mov_b32_e32 v21, s2213849; SI-NEXT: v_mov_b32_e32 v22, s2313850; SI-NEXT: v_mov_b32_e32 v17, s2413851; SI-NEXT: v_mov_b32_e32 v18, s2513852; SI-NEXT: v_mov_b32_e32 v15, s2613853; SI-NEXT: v_mov_b32_e32 v16, s2713854; SI-NEXT: s_and_b64 s[4:5], vcc, exec13855; SI-NEXT: v_mov_b32_e32 v13, s2813856; SI-NEXT: v_mov_b32_e32 v14, s2913857; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill13858; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill13859; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill13860; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill13861; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill13862; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill13863; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill13864; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill13865; SI-NEXT: s_cbranch_scc0 .LBB29_413866; SI-NEXT: ; %bb.1: ; %cmp.false13867; SI-NEXT: v_lshr_b64 v[27:28], v[11:12], 1613868; SI-NEXT: v_lshr_b64 v[28:29], v[9:10], 1613869; SI-NEXT: v_lshr_b64 v[29:30], v[7:8], 1613870; SI-NEXT: v_lshr_b64 v[30:31], v[5:6], 1613871; SI-NEXT: v_lshr_b64 v[31:32], v[3:4], 1613872; SI-NEXT: v_lshr_b64 v[32:33], v[1:2], 1613873; SI-NEXT: v_lshr_b64 v[36:37], v[13:14], 1613874; SI-NEXT: v_lshr_b64 v[33:34], v[15:16], 1613875; SI-NEXT: v_lshr_b64 v[37:38], v[21:22], 1613876; SI-NEXT: v_lshr_b64 v[48:49], v[23:24], 1613877; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1213878; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1013879; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v813880; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v613881; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v413882; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v213883; SI-NEXT: s_waitcnt expcnt(6)13884; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v1413885; SI-NEXT: s_waitcnt expcnt(5)13886; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v1613887; SI-NEXT: s_waitcnt expcnt(4)13888; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1813889; SI-NEXT: s_waitcnt expcnt(3)13890; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v2213891; SI-NEXT: s_waitcnt expcnt(2)13892; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v2013893; SI-NEXT: s_waitcnt expcnt(1)13894; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v2413895; SI-NEXT: s_waitcnt expcnt(0)13896; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v2613897; SI-NEXT: v_lshr_b64 v[34:35], v[17:18], 1613898; SI-NEXT: v_lshr_b64 v[38:39], v[19:20], 1613899; SI-NEXT: v_lshr_b64 v[49:50], v[25:26], 1613900; SI-NEXT: s_cbranch_execnz .LBB29_313901; SI-NEXT: .LBB29_2: ; %cmp.true13902; SI-NEXT: v_add_f32_e32 v12, 1.0, v1213903; SI-NEXT: v_add_f32_e32 v11, 1.0, v1113904; SI-NEXT: v_add_f32_e32 v10, 1.0, v1013905; SI-NEXT: v_add_f32_e32 v9, 1.0, v913906; SI-NEXT: v_lshr_b64 v[27:28], v[11:12], 1613907; SI-NEXT: v_add_f32_e32 v8, 1.0, v813908; SI-NEXT: v_add_f32_e32 v7, 1.0, v713909; SI-NEXT: v_lshr_b64 v[28:29], v[9:10], 1613910; SI-NEXT: v_add_f32_e32 v6, 1.0, v613911; SI-NEXT: v_add_f32_e32 v5, 1.0, v513912; SI-NEXT: v_lshr_b64 v[29:30], v[7:8], 1613913; SI-NEXT: v_add_f32_e32 v4, 1.0, v413914; SI-NEXT: v_add_f32_e32 v3, 1.0, v313915; SI-NEXT: v_lshr_b64 v[30:31], v[5:6], 1613916; SI-NEXT: v_add_f32_e32 v14, 1.0, v1413917; SI-NEXT: v_add_f32_e32 v13, 1.0, v1313918; SI-NEXT: v_add_f32_e32 v2, 1.0, v213919; SI-NEXT: v_add_f32_e32 v1, 1.0, v113920; SI-NEXT: v_lshr_b64 v[31:32], v[3:4], 1613921; SI-NEXT: v_add_f32_e32 v24, 1.0, v2413922; SI-NEXT: v_add_f32_e32 v23, 1.0, v2313923; SI-NEXT: v_add_f32_e32 v22, 1.0, v2213924; SI-NEXT: v_add_f32_e32 v21, 1.0, v2113925; SI-NEXT: v_add_f32_e32 v16, 1.0, v1613926; SI-NEXT: v_add_f32_e32 v15, 1.0, v1513927; SI-NEXT: v_lshr_b64 v[32:33], v[1:2], 1613928; SI-NEXT: v_lshr_b64 v[36:37], v[13:14], 1613929; SI-NEXT: v_add_f32_e32 v26, 1.0, v2613930; SI-NEXT: v_add_f32_e32 v25, 1.0, v2513931; SI-NEXT: v_add_f32_e32 v20, 1.0, v2013932; SI-NEXT: v_add_f32_e32 v19, 1.0, v1913933; SI-NEXT: v_add_f32_e32 v18, 1.0, v1813934; SI-NEXT: v_add_f32_e32 v17, 1.0, v1713935; SI-NEXT: v_lshr_b64 v[33:34], v[15:16], 1613936; SI-NEXT: v_lshr_b64 v[37:38], v[21:22], 1613937; SI-NEXT: v_lshr_b64 v[48:49], v[23:24], 1613938; SI-NEXT: v_lshr_b64 v[34:35], v[17:18], 1613939; SI-NEXT: v_lshr_b64 v[38:39], v[19:20], 1613940; SI-NEXT: v_lshr_b64 v[49:50], v[25:26], 1613941; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1213942; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1013943; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v813944; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v613945; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v413946; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v213947; SI-NEXT: s_waitcnt expcnt(6)13948; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v1413949; SI-NEXT: s_waitcnt expcnt(5)13950; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v1613951; SI-NEXT: s_waitcnt expcnt(4)13952; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1813953; SI-NEXT: s_waitcnt expcnt(3)13954; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v2213955; SI-NEXT: s_waitcnt expcnt(2)13956; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v2013957; SI-NEXT: s_waitcnt expcnt(1)13958; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v2413959; SI-NEXT: s_waitcnt expcnt(0)13960; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v2613961; SI-NEXT: .LBB29_3: ; %end13962; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v4913963; SI-NEXT: v_and_b32_e32 v25, 0xffff, v2513964; SI-NEXT: v_or_b32_e32 v25, v25, v3513965; SI-NEXT: buffer_store_dword v25, v0, s[0:3], 0 offen13966; SI-NEXT: s_waitcnt expcnt(0)13967; SI-NEXT: v_and_b32_e32 v25, 0xffff, v2613968; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v4713969; SI-NEXT: v_or_b32_e32 v25, v25, v2613970; SI-NEXT: v_add_i32_e32 v26, vcc, 4, v013971; SI-NEXT: buffer_store_dword v25, v26, s[0:3], 0 offen13972; SI-NEXT: s_waitcnt expcnt(0)13973; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v4813974; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2313975; SI-NEXT: v_or_b32_e32 v23, v23, v2513976; SI-NEXT: v_add_i32_e32 v25, vcc, 8, v013977; SI-NEXT: buffer_store_dword v23, v25, s[0:3], 0 offen13978; SI-NEXT: s_waitcnt expcnt(0)13979; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2413980; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v4613981; SI-NEXT: v_or_b32_e32 v23, v23, v2413982; SI-NEXT: v_add_i32_e32 v24, vcc, 12, v013983; SI-NEXT: buffer_store_dword v23, v24, s[0:3], 0 offen13984; SI-NEXT: v_and_b32_e32 v19, 0xffff, v1913985; SI-NEXT: s_waitcnt expcnt(0)13986; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v3813987; SI-NEXT: v_or_b32_e32 v19, v19, v2313988; SI-NEXT: v_add_i32_e32 v23, vcc, 16, v013989; SI-NEXT: buffer_store_dword v19, v23, s[0:3], 0 offen13990; SI-NEXT: s_waitcnt expcnt(0)13991; SI-NEXT: v_and_b32_e32 v19, 0xffff, v2013992; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v4513993; SI-NEXT: v_or_b32_e32 v19, v19, v2013994; SI-NEXT: v_add_i32_e32 v20, vcc, 20, v013995; SI-NEXT: buffer_store_dword v19, v20, s[0:3], 0 offen13996; SI-NEXT: s_waitcnt expcnt(0)13997; SI-NEXT: v_and_b32_e32 v19, 0xffff, v2113998; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v3713999; SI-NEXT: v_or_b32_e32 v19, v19, v2014000; SI-NEXT: v_add_i32_e32 v20, vcc, 24, v014001; SI-NEXT: buffer_store_dword v19, v20, s[0:3], 0 offen14002; SI-NEXT: s_waitcnt expcnt(0)14003; SI-NEXT: v_and_b32_e32 v19, 0xffff, v2214004; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v4414005; SI-NEXT: v_or_b32_e32 v19, v19, v2014006; SI-NEXT: v_add_i32_e32 v20, vcc, 28, v014007; SI-NEXT: buffer_store_dword v19, v20, s[0:3], 0 offen14008; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1714009; SI-NEXT: s_waitcnt expcnt(0)14010; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v3414011; SI-NEXT: v_or_b32_e32 v17, v17, v1914012; SI-NEXT: v_add_i32_e32 v19, vcc, 32, v014013; SI-NEXT: buffer_store_dword v17, v19, s[0:3], 0 offen14014; SI-NEXT: s_waitcnt expcnt(0)14015; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1814016; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v4314017; SI-NEXT: v_or_b32_e32 v17, v17, v1814018; SI-NEXT: v_add_i32_e32 v18, vcc, 36, v014019; SI-NEXT: buffer_store_dword v17, v18, s[0:3], 0 offen14020; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1514021; SI-NEXT: s_waitcnt expcnt(0)14022; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v3314023; SI-NEXT: v_or_b32_e32 v15, v15, v1714024; SI-NEXT: v_add_i32_e32 v17, vcc, 40, v014025; SI-NEXT: buffer_store_dword v15, v17, s[0:3], 0 offen14026; SI-NEXT: s_waitcnt expcnt(0)14027; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1614028; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v4214029; SI-NEXT: v_or_b32_e32 v15, v15, v1614030; SI-NEXT: v_add_i32_e32 v16, vcc, 44, v014031; SI-NEXT: buffer_store_dword v15, v16, s[0:3], 0 offen14032; SI-NEXT: v_and_b32_e32 v13, 0xffff, v1314033; SI-NEXT: s_waitcnt expcnt(0)14034; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v3614035; SI-NEXT: v_or_b32_e32 v13, v13, v1514036; SI-NEXT: v_add_i32_e32 v15, vcc, 48, v014037; SI-NEXT: buffer_store_dword v13, v15, s[0:3], 0 offen14038; SI-NEXT: s_waitcnt expcnt(0)14039; SI-NEXT: v_and_b32_e32 v13, 0xffff, v1414040; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v4114041; SI-NEXT: v_or_b32_e32 v13, v13, v1414042; SI-NEXT: v_add_i32_e32 v14, vcc, 52, v014043; SI-NEXT: buffer_store_dword v13, v14, s[0:3], 0 offen14044; SI-NEXT: v_and_b32_e32 v1, 0xffff, v114045; SI-NEXT: s_waitcnt expcnt(0)14046; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v3214047; SI-NEXT: v_or_b32_e32 v1, v1, v1314048; SI-NEXT: v_add_i32_e32 v13, vcc, 56, v014049; SI-NEXT: buffer_store_dword v1, v13, s[0:3], 0 offen14050; SI-NEXT: s_waitcnt expcnt(0)14051; SI-NEXT: v_and_b32_e32 v1, 0xffff, v214052; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4014053; SI-NEXT: v_or_b32_e32 v1, v1, v214054; SI-NEXT: v_add_i32_e32 v2, vcc, 60, v014055; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14056; SI-NEXT: s_waitcnt expcnt(0)14057; SI-NEXT: v_and_b32_e32 v1, 0xffff, v314058; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3114059; SI-NEXT: v_or_b32_e32 v1, v1, v214060; SI-NEXT: v_add_i32_e32 v2, vcc, 64, v014061; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14062; SI-NEXT: s_waitcnt expcnt(0)14063; SI-NEXT: v_and_b32_e32 v1, 0xffff, v414064; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5514065; SI-NEXT: v_or_b32_e32 v1, v1, v214066; SI-NEXT: v_add_i32_e32 v2, vcc, 0x44, v014067; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14068; SI-NEXT: s_waitcnt expcnt(0)14069; SI-NEXT: v_and_b32_e32 v1, 0xffff, v514070; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3014071; SI-NEXT: v_or_b32_e32 v1, v1, v214072; SI-NEXT: v_add_i32_e32 v2, vcc, 0x48, v014073; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14074; SI-NEXT: s_waitcnt expcnt(0)14075; SI-NEXT: v_and_b32_e32 v1, 0xffff, v614076; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5414077; SI-NEXT: v_or_b32_e32 v1, v1, v214078; SI-NEXT: v_add_i32_e32 v2, vcc, 0x4c, v014079; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14080; SI-NEXT: s_waitcnt expcnt(0)14081; SI-NEXT: v_and_b32_e32 v1, 0xffff, v714082; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2914083; SI-NEXT: v_or_b32_e32 v1, v1, v214084; SI-NEXT: v_add_i32_e32 v2, vcc, 0x50, v014085; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14086; SI-NEXT: s_waitcnt expcnt(0)14087; SI-NEXT: v_and_b32_e32 v1, 0xffff, v814088; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5314089; SI-NEXT: v_or_b32_e32 v1, v1, v214090; SI-NEXT: v_add_i32_e32 v2, vcc, 0x54, v014091; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14092; SI-NEXT: s_waitcnt expcnt(0)14093; SI-NEXT: v_and_b32_e32 v1, 0xffff, v914094; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2814095; SI-NEXT: v_or_b32_e32 v1, v1, v214096; SI-NEXT: v_add_i32_e32 v2, vcc, 0x58, v014097; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14098; SI-NEXT: s_waitcnt expcnt(0)14099; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1014100; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5214101; SI-NEXT: v_or_b32_e32 v1, v1, v214102; SI-NEXT: v_add_i32_e32 v2, vcc, 0x5c, v014103; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14104; SI-NEXT: s_waitcnt expcnt(0)14105; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1114106; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2714107; SI-NEXT: v_or_b32_e32 v1, v1, v214108; SI-NEXT: v_add_i32_e32 v2, vcc, 0x60, v014109; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14110; SI-NEXT: s_waitcnt expcnt(0)14111; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1214112; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5114113; SI-NEXT: v_or_b32_e32 v1, v1, v214114; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v014115; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen14116; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload14117; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload14118; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload14119; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload14120; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload14121; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload14122; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload14123; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload14124; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)14125; SI-NEXT: s_setpc_b64 s[30:31]14126; SI-NEXT: .LBB29_4:14127; SI-NEXT: ; implicit-def: $vgpr4914128; SI-NEXT: ; implicit-def: $vgpr4714129; SI-NEXT: ; implicit-def: $vgpr4814130; SI-NEXT: ; implicit-def: $vgpr4614131; SI-NEXT: ; implicit-def: $vgpr3814132; SI-NEXT: ; implicit-def: $vgpr4514133; SI-NEXT: ; implicit-def: $vgpr3714134; SI-NEXT: ; implicit-def: $vgpr4414135; SI-NEXT: ; implicit-def: $vgpr3414136; SI-NEXT: ; implicit-def: $vgpr4314137; SI-NEXT: ; implicit-def: $vgpr3314138; SI-NEXT: ; implicit-def: $vgpr4214139; SI-NEXT: ; implicit-def: $vgpr4114140; SI-NEXT: ; implicit-def: $vgpr4014141; SI-NEXT: ; implicit-def: $vgpr5514142; SI-NEXT: ; implicit-def: $vgpr5414143; SI-NEXT: ; implicit-def: $vgpr5314144; SI-NEXT: ; implicit-def: $vgpr5214145; SI-NEXT: ; implicit-def: $vgpr5114146; SI-NEXT: ; implicit-def: $vgpr3614147; SI-NEXT: ; implicit-def: $vgpr3214148; SI-NEXT: ; implicit-def: $vgpr3114149; SI-NEXT: ; implicit-def: $vgpr3014150; SI-NEXT: ; implicit-def: $vgpr2914151; SI-NEXT: ; implicit-def: $vgpr2814152; SI-NEXT: ; implicit-def: $vgpr2714153; SI-NEXT: s_branch .LBB29_214154;14155; VI-LABEL: bitcast_v26f32_to_v52i16_scalar:14156; VI: ; %bb.0:14157; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14158; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1214159; VI-NEXT: v_mov_b32_e32 v22, s1614160; VI-NEXT: v_mov_b32_e32 v20, s1714161; VI-NEXT: v_mov_b32_e32 v18, s1814162; VI-NEXT: v_mov_b32_e32 v17, s1914163; VI-NEXT: v_mov_b32_e32 v15, s2014164; VI-NEXT: v_mov_b32_e32 v14, s2114165; VI-NEXT: v_mov_b32_e32 v13, s2214166; VI-NEXT: v_mov_b32_e32 v24, s2314167; VI-NEXT: s_and_b64 s[4:5], vcc, exec14168; VI-NEXT: v_mov_b32_e32 v25, s2414169; VI-NEXT: v_mov_b32_e32 v23, s2514170; VI-NEXT: v_mov_b32_e32 v21, s2614171; VI-NEXT: v_mov_b32_e32 v19, s2714172; VI-NEXT: v_mov_b32_e32 v12, s2814173; VI-NEXT: v_mov_b32_e32 v16, s2914174; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill14175; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill14176; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill14177; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill14178; VI-NEXT: s_cbranch_scc0 .LBB29_414179; VI-NEXT: ; %bb.1: ; %cmp.false14180; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1114181; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1014182; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v914183; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v814184; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v714185; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v614186; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v514187; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v414188; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v314189; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v214190; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v114191; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v014192; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v1614193; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1214194; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1914195; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2114196; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2314197; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2514198; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2414199; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1314200; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1414201; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v1514202; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v1714203; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v1814204; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2014205; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2214206; VI-NEXT: s_cbranch_execnz .LBB29_314207; VI-NEXT: .LBB29_2: ; %cmp.true14208; VI-NEXT: v_add_f32_e32 v11, 1.0, v1114209; VI-NEXT: v_add_f32_e32 v10, 1.0, v1014210; VI-NEXT: v_add_f32_e32 v9, 1.0, v914211; VI-NEXT: v_add_f32_e32 v8, 1.0, v814212; VI-NEXT: v_add_f32_e32 v7, 1.0, v714213; VI-NEXT: v_add_f32_e32 v6, 1.0, v614214; VI-NEXT: v_add_f32_e32 v5, 1.0, v514215; VI-NEXT: v_add_f32_e32 v4, 1.0, v414216; VI-NEXT: v_add_f32_e32 v3, 1.0, v314217; VI-NEXT: v_add_f32_e32 v2, 1.0, v214218; VI-NEXT: v_add_f32_e32 v1, 1.0, v114219; VI-NEXT: v_add_f32_e32 v0, 1.0, v014220; VI-NEXT: v_add_f32_e32 v16, 1.0, v1614221; VI-NEXT: v_add_f32_e32 v12, 1.0, v1214222; VI-NEXT: v_add_f32_e32 v19, 1.0, v1914223; VI-NEXT: v_add_f32_e32 v21, 1.0, v2114224; VI-NEXT: v_add_f32_e32 v23, 1.0, v2314225; VI-NEXT: v_add_f32_e32 v25, 1.0, v2514226; VI-NEXT: v_add_f32_e32 v24, 1.0, v2414227; VI-NEXT: v_add_f32_e32 v13, 1.0, v1314228; VI-NEXT: v_add_f32_e32 v14, 1.0, v1414229; VI-NEXT: v_add_f32_e32 v15, 1.0, v1514230; VI-NEXT: v_add_f32_e32 v17, 1.0, v1714231; VI-NEXT: v_add_f32_e32 v18, 1.0, v1814232; VI-NEXT: v_add_f32_e32 v20, 1.0, v2014233; VI-NEXT: v_add_f32_e32 v22, 1.0, v2214234; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1114235; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1014236; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v914237; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v814238; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v714239; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v614240; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v514241; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v414242; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v314243; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v214244; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v114245; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v014246; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v1614247; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1214248; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1914249; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2114250; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2314251; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2514252; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2414253; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1314254; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1414255; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v1514256; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v1714257; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v1814258; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2014259; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2214260; VI-NEXT: .LBB29_3: ; %end14261; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v3614262; VI-NEXT: v_or_b32_sdwa v36, v22, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14263; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v3714264; VI-NEXT: v_or_b32_sdwa v37, v20, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14265; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v2614266; VI-NEXT: v_or_b32_sdwa v26, v18, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14267; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v2714268; VI-NEXT: v_or_b32_sdwa v27, v17, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14269; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v2814270; VI-NEXT: v_or_b32_sdwa v28, v15, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14271; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v2914272; VI-NEXT: v_or_b32_sdwa v29, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14273; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v3014274; VI-NEXT: v_or_b32_sdwa v30, v13, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14275; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3114276; VI-NEXT: v_or_b32_sdwa v31, v24, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14277; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3214278; VI-NEXT: v_or_b32_sdwa v32, v25, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14279; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3314280; VI-NEXT: v_or_b32_sdwa v33, v23, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14281; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3414282; VI-NEXT: v_or_b32_sdwa v34, v21, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14283; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3514284; VI-NEXT: v_or_b32_sdwa v35, v19, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14285; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v4314286; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v4114287; VI-NEXT: v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14288; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v4214289; VI-NEXT: v_or_b32_sdwa v14, v0, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14290; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4014291; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload14292; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload14293; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload14294; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload14295; VI-NEXT: v_or_b32_sdwa v15, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14296; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5514297; VI-NEXT: v_or_b32_sdwa v13, v16, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14298; VI-NEXT: v_or_b32_sdwa v16, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14299; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5414300; VI-NEXT: v_or_b32_sdwa v17, v3, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14301; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5314302; VI-NEXT: v_or_b32_sdwa v18, v4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14303; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5214304; VI-NEXT: v_or_b32_sdwa v19, v5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14305; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5114306; VI-NEXT: v_or_b32_sdwa v20, v6, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14307; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5014308; VI-NEXT: v_or_b32_sdwa v21, v7, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14309; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4914310; VI-NEXT: v_or_b32_sdwa v22, v8, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14311; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4814312; VI-NEXT: v_or_b32_sdwa v23, v9, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14313; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v3914314; VI-NEXT: v_or_b32_sdwa v24, v10, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14315; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v3814316; VI-NEXT: v_or_b32_sdwa v25, v11, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14317; VI-NEXT: v_mov_b32_e32 v0, v3614318; VI-NEXT: v_mov_b32_e32 v1, v3714319; VI-NEXT: v_mov_b32_e32 v2, v2614320; VI-NEXT: v_mov_b32_e32 v3, v2714321; VI-NEXT: v_mov_b32_e32 v4, v2814322; VI-NEXT: v_mov_b32_e32 v5, v2914323; VI-NEXT: v_mov_b32_e32 v6, v3014324; VI-NEXT: v_mov_b32_e32 v7, v3114325; VI-NEXT: v_mov_b32_e32 v8, v3214326; VI-NEXT: v_mov_b32_e32 v9, v3314327; VI-NEXT: v_mov_b32_e32 v10, v3414328; VI-NEXT: v_mov_b32_e32 v11, v3514329; VI-NEXT: s_waitcnt vmcnt(0)14330; VI-NEXT: s_setpc_b64 s[30:31]14331; VI-NEXT: .LBB29_4:14332; VI-NEXT: ; implicit-def: $vgpr3614333; VI-NEXT: ; implicit-def: $vgpr3714334; VI-NEXT: ; implicit-def: $vgpr2614335; VI-NEXT: ; implicit-def: $vgpr2714336; VI-NEXT: ; implicit-def: $vgpr2814337; VI-NEXT: ; implicit-def: $vgpr2914338; VI-NEXT: ; implicit-def: $vgpr3014339; VI-NEXT: ; implicit-def: $vgpr3114340; VI-NEXT: ; implicit-def: $vgpr3214341; VI-NEXT: ; implicit-def: $vgpr3314342; VI-NEXT: ; implicit-def: $vgpr3414343; VI-NEXT: ; implicit-def: $vgpr3514344; VI-NEXT: ; implicit-def: $vgpr4314345; VI-NEXT: ; implicit-def: $vgpr4214346; VI-NEXT: ; implicit-def: $vgpr4114347; VI-NEXT: ; implicit-def: $vgpr4014348; VI-NEXT: ; implicit-def: $vgpr5514349; VI-NEXT: ; implicit-def: $vgpr5414350; VI-NEXT: ; implicit-def: $vgpr5314351; VI-NEXT: ; implicit-def: $vgpr5214352; VI-NEXT: ; implicit-def: $vgpr5114353; VI-NEXT: ; implicit-def: $vgpr5014354; VI-NEXT: ; implicit-def: $vgpr4914355; VI-NEXT: ; implicit-def: $vgpr4814356; VI-NEXT: ; implicit-def: $vgpr3914357; VI-NEXT: ; implicit-def: $vgpr3814358; VI-NEXT: s_branch .LBB29_214359;14360; GFX9-LABEL: bitcast_v26f32_to_v52i16_scalar:14361; GFX9: ; %bb.0:14362; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14363; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1214364; GFX9-NEXT: v_mov_b32_e32 v22, s1614365; GFX9-NEXT: v_mov_b32_e32 v20, s1714366; GFX9-NEXT: v_mov_b32_e32 v18, s1814367; GFX9-NEXT: v_mov_b32_e32 v17, s1914368; GFX9-NEXT: v_mov_b32_e32 v15, s2014369; GFX9-NEXT: v_mov_b32_e32 v14, s2114370; GFX9-NEXT: v_mov_b32_e32 v13, s2214371; GFX9-NEXT: v_mov_b32_e32 v24, s2314372; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec14373; GFX9-NEXT: v_mov_b32_e32 v25, s2414374; GFX9-NEXT: v_mov_b32_e32 v23, s2514375; GFX9-NEXT: v_mov_b32_e32 v21, s2614376; GFX9-NEXT: v_mov_b32_e32 v19, s2714377; GFX9-NEXT: v_mov_b32_e32 v12, s2814378; GFX9-NEXT: v_mov_b32_e32 v16, s2914379; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill14380; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill14381; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill14382; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill14383; GFX9-NEXT: s_cbranch_scc0 .LBB29_414384; GFX9-NEXT: ; %bb.1: ; %cmp.false14385; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1114386; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1014387; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v914388; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v814389; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v714390; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v614391; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v514392; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v414393; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v314394; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v214395; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v114396; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v014397; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v1614398; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1214399; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1914400; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2114401; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2314402; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2514403; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2414404; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1314405; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1414406; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v1514407; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v1714408; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v1814409; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2014410; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2214411; GFX9-NEXT: s_cbranch_execnz .LBB29_314412; GFX9-NEXT: .LBB29_2: ; %cmp.true14413; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1114414; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1014415; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v914416; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v814417; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v714418; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v614419; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v514420; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v414421; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v314422; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v214423; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v114424; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v014425; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1614426; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1214427; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1914428; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2114429; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2314430; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2514431; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2414432; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1314433; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1414434; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1514435; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1714436; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1814437; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2014438; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2214439; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1114440; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1014441; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v914442; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v814443; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v714444; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v614445; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v514446; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v414447; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v314448; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v214449; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v114450; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v014451; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v1614452; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1214453; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1914454; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2114455; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2314456; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2514457; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2414458; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1314459; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1414460; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v1514461; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v1714462; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v1814463; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2014464; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2214465; GFX9-NEXT: .LBB29_3: ; %end14466; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v1314467; GFX9-NEXT: v_lshl_or_b32 v30, v30, 16, v1314468; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2414469; GFX9-NEXT: v_lshl_or_b32 v31, v31, 16, v1314470; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2514471; GFX9-NEXT: v_lshl_or_b32 v32, v32, 16, v1314472; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2314473; GFX9-NEXT: v_lshl_or_b32 v33, v33, 16, v1314474; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2114475; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v1414476; GFX9-NEXT: v_lshl_or_b32 v34, v34, 16, v1314477; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v1914478; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v014479; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v1514480; GFX9-NEXT: v_lshl_or_b32 v29, v29, 16, v1414481; GFX9-NEXT: v_lshl_or_b32 v35, v35, 16, v1314482; GFX9-NEXT: v_and_b32_e32 v12, 0xffff, v1214483; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v1614484; GFX9-NEXT: v_lshl_or_b32 v14, v41, 16, v014485; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v114486; GFX9-NEXT: v_lshl_or_b32 v28, v28, 16, v1514487; GFX9-NEXT: v_lshl_or_b32 v12, v43, 16, v1214488; GFX9-NEXT: v_lshl_or_b32 v13, v42, 16, v1314489; GFX9-NEXT: v_lshl_or_b32 v15, v40, 16, v014490; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload14491; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload14492; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload14493; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload14494; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v214495; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v1714496; GFX9-NEXT: v_lshl_or_b32 v16, v55, 16, v014497; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v314498; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v1814499; GFX9-NEXT: v_lshl_or_b32 v27, v27, 16, v1714500; GFX9-NEXT: v_lshl_or_b32 v17, v54, 16, v014501; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v414502; GFX9-NEXT: v_lshl_or_b32 v26, v26, 16, v1814503; GFX9-NEXT: v_lshl_or_b32 v18, v53, 16, v014504; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v514505; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v2014506; GFX9-NEXT: v_lshl_or_b32 v19, v52, 16, v014507; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v614508; GFX9-NEXT: v_lshl_or_b32 v37, v37, 16, v2014509; GFX9-NEXT: v_lshl_or_b32 v20, v51, 16, v014510; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v714511; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v2214512; GFX9-NEXT: v_lshl_or_b32 v21, v50, 16, v014513; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v814514; GFX9-NEXT: v_lshl_or_b32 v36, v36, 16, v2214515; GFX9-NEXT: v_lshl_or_b32 v22, v49, 16, v014516; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v914517; GFX9-NEXT: v_lshl_or_b32 v23, v48, 16, v014518; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1014519; GFX9-NEXT: v_lshl_or_b32 v24, v39, 16, v014520; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1114521; GFX9-NEXT: v_lshl_or_b32 v25, v38, 16, v014522; GFX9-NEXT: v_mov_b32_e32 v0, v3614523; GFX9-NEXT: v_mov_b32_e32 v1, v3714524; GFX9-NEXT: v_mov_b32_e32 v2, v2614525; GFX9-NEXT: v_mov_b32_e32 v3, v2714526; GFX9-NEXT: v_mov_b32_e32 v4, v2814527; GFX9-NEXT: v_mov_b32_e32 v5, v2914528; GFX9-NEXT: v_mov_b32_e32 v6, v3014529; GFX9-NEXT: v_mov_b32_e32 v7, v3114530; GFX9-NEXT: v_mov_b32_e32 v8, v3214531; GFX9-NEXT: v_mov_b32_e32 v9, v3314532; GFX9-NEXT: v_mov_b32_e32 v10, v3414533; GFX9-NEXT: v_mov_b32_e32 v11, v3514534; GFX9-NEXT: s_waitcnt vmcnt(0)14535; GFX9-NEXT: s_setpc_b64 s[30:31]14536; GFX9-NEXT: .LBB29_4:14537; GFX9-NEXT: ; implicit-def: $vgpr3614538; GFX9-NEXT: ; implicit-def: $vgpr3714539; GFX9-NEXT: ; implicit-def: $vgpr2614540; GFX9-NEXT: ; implicit-def: $vgpr2714541; GFX9-NEXT: ; implicit-def: $vgpr2814542; GFX9-NEXT: ; implicit-def: $vgpr2914543; GFX9-NEXT: ; implicit-def: $vgpr3014544; GFX9-NEXT: ; implicit-def: $vgpr3114545; GFX9-NEXT: ; implicit-def: $vgpr3214546; GFX9-NEXT: ; implicit-def: $vgpr3314547; GFX9-NEXT: ; implicit-def: $vgpr3414548; GFX9-NEXT: ; implicit-def: $vgpr3514549; GFX9-NEXT: ; implicit-def: $vgpr4314550; GFX9-NEXT: ; implicit-def: $vgpr4214551; GFX9-NEXT: ; implicit-def: $vgpr4114552; GFX9-NEXT: ; implicit-def: $vgpr4014553; GFX9-NEXT: ; implicit-def: $vgpr5514554; GFX9-NEXT: ; implicit-def: $vgpr5414555; GFX9-NEXT: ; implicit-def: $vgpr5314556; GFX9-NEXT: ; implicit-def: $vgpr5214557; GFX9-NEXT: ; implicit-def: $vgpr5114558; GFX9-NEXT: ; implicit-def: $vgpr5014559; GFX9-NEXT: ; implicit-def: $vgpr4914560; GFX9-NEXT: ; implicit-def: $vgpr4814561; GFX9-NEXT: ; implicit-def: $vgpr3914562; GFX9-NEXT: ; implicit-def: $vgpr3814563; GFX9-NEXT: s_branch .LBB29_214564;14565; GFX11-TRUE16-LABEL: bitcast_v26f32_to_v52i16_scalar:14566; GFX11-TRUE16: ; %bb.0:14567; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14568; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v714569; GFX11-TRUE16-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v514570; GFX11-TRUE16-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v314571; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)14572; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1614573; GFX11-TRUE16-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v114574; GFX11-TRUE16-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s114575; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s314576; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1714577; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1914578; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2114579; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2314580; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2514581; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2714582; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2914583; GFX11-TRUE16-NEXT: v_mov_b32_e32 v16, s2814584; GFX11-TRUE16-NEXT: s_mov_b32 s0, 014585; GFX11-TRUE16-NEXT: s_and_b32 s1, vcc_lo, exec_lo14586; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB29_414587; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false14588; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2514589; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2414590; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2314591; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2214592; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2114593; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2014594; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1914595; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1814596; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1714597; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1614598; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1514599; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1414600; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1314601; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1214602; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1114603; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1014604; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v914605; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v814606; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v714607; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v614608; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v514609; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v414610; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v314611; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v214612; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v114613; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v014614; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s014615; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB29_314616; GFX11-TRUE16-NEXT: .LBB29_2: ; %cmp.true14617; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2414618; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2214619; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2014620; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1814621; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1614622; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1414623; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1214624; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1014625; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v814626; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v614627; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v414628; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v214629; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v014630; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2514631; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2414632; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2314633; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2214634; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2114635; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2014636; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1914637; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1814638; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1714639; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1614640; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1514641; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1414642; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1314643; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1214644; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1114645; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1014646; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v914647; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v814648; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v714649; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v614650; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v514651; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v414652; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v314653; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v214654; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v114655; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v014656; GFX11-TRUE16-NEXT: .LBB29_3: ; %end14657; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_4)14658; GFX11-TRUE16-NEXT: v_dual_mov_b32 v67, v67 :: v_dual_mov_b32 v66, v6614659; GFX11-TRUE16-NEXT: v_dual_mov_b32 v65, v65 :: v_dual_mov_b32 v64, v6414660; GFX11-TRUE16-NEXT: v_dual_mov_b32 v55, v55 :: v_dual_mov_b32 v54, v5414661; GFX11-TRUE16-NEXT: v_dual_mov_b32 v53, v53 :: v_dual_mov_b32 v52, v5214662; GFX11-TRUE16-NEXT: v_dual_mov_b32 v51, v51 :: v_dual_mov_b32 v50, v5014663; GFX11-TRUE16-NEXT: v_dual_mov_b32 v49, v49 :: v_dual_mov_b32 v48, v4814664; GFX11-TRUE16-NEXT: v_dual_mov_b32 v39, v39 :: v_dual_mov_b32 v38, v3814665; GFX11-TRUE16-NEXT: v_dual_mov_b32 v37, v37 :: v_dual_mov_b32 v36, v3614666; GFX11-TRUE16-NEXT: v_dual_mov_b32 v35, v35 :: v_dual_mov_b32 v34, v3414667; GFX11-TRUE16-NEXT: v_dual_mov_b32 v33, v33 :: v_dual_mov_b32 v32, v3214668; GFX11-TRUE16-NEXT: v_dual_mov_b32 v31, v31 :: v_dual_mov_b32 v30, v3014669; GFX11-TRUE16-NEXT: v_dual_mov_b32 v29, v29 :: v_dual_mov_b32 v28, v2814670; GFX11-TRUE16-NEXT: v_dual_mov_b32 v27, v27 :: v_dual_mov_b32 v26, v2614671; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v67.l14672; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v66.l14673; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v65.l14674; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v64.l14675; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v55.l14676; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v54.l14677; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v53.l14678; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v52.l14679; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v51.l14680; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v50.l14681; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v49.l14682; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v48.l14683; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v39.l14684; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v38.l14685; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v37.l14686; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v36.l14687; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v35.l14688; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v34.l14689; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v33.l14690; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v32.l14691; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v31.l14692; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v30.l14693; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v29.l14694; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v28.l14695; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v27.l14696; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l14697; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]14698; GFX11-TRUE16-NEXT: .LBB29_4:14699; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6714700; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6614701; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6514702; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6414703; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5514704; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5414705; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5314706; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5214707; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5114708; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5014709; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr4914710; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr4814711; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3914712; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3814713; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3714714; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3614715; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3514716; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3414717; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3314718; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3214719; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3114720; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3014721; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2914722; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2814723; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2714724; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2614725; GFX11-TRUE16-NEXT: s_branch .LBB29_214726;14727; GFX11-FAKE16-LABEL: bitcast_v26f32_to_v52i16_scalar:14728; GFX11-FAKE16: ; %bb.0:14729; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14730; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v814731; GFX11-FAKE16-NEXT: v_dual_mov_b32 v26, s0 :: v_dual_mov_b32 v25, s114732; GFX11-FAKE16-NEXT: v_dual_mov_b32 v24, s2 :: v_dual_mov_b32 v23, s314733; GFX11-FAKE16-NEXT: v_dual_mov_b32 v22, s16 :: v_dual_mov_b32 v21, s1714734; GFX11-FAKE16-NEXT: v_dual_mov_b32 v20, s18 :: v_dual_mov_b32 v19, s1914735; GFX11-FAKE16-NEXT: v_dual_mov_b32 v18, s20 :: v_dual_mov_b32 v9, s2214736; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s21 :: v_dual_mov_b32 v15, s2314737; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s24 :: v_dual_mov_b32 v13, s2514738; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s26 :: v_dual_mov_b32 v11, s2714739; GFX11-FAKE16-NEXT: v_dual_mov_b32 v17, s28 :: v_dual_mov_b32 v16, s2914740; GFX11-FAKE16-NEXT: s_mov_b32 s0, 014741; GFX11-FAKE16-NEXT: s_and_b32 s1, vcc_lo, exec_lo14742; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB29_414743; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false14744; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v714745; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v614746; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v514747; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v414748; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v314749; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v214750; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v114751; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v014752; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1614753; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1714754; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1114755; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1214756; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1314757; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v1414758; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v1514759; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v914760; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v1014761; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 16, v1814762; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v1914763; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2014764; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2114765; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2214766; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2314767; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v2414768; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2514769; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2614770; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s014771; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB29_314772; GFX11-FAKE16-NEXT: .LBB29_2: ; %cmp.true14773; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v614774; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v414775; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v214776; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v014777; GFX11-FAKE16-NEXT: v_dual_add_f32 v16, 1.0, v16 :: v_dual_add_f32 v17, 1.0, v1714778; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v12, 1.0, v1214779; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v14, 1.0, v1414780; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v10, 1.0, v1014781; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v18, 1.0, v1814782; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v20, 1.0, v2014783; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v22, 1.0, v2214784; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v24, 1.0, v2414785; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v26, 1.0, v2614786; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v714787; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v614788; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v514789; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v414790; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v314791; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v214792; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v114793; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v014794; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1614795; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1714796; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1114797; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1214798; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1314799; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v1414800; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v1514801; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v914802; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v1014803; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 16, v1814804; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v1914805; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2014806; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2114807; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2214808; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2314809; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v2414810; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2514811; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2614812; GFX11-FAKE16-NEXT: .LBB29_3: ; %end14813; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v1914814; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1814815; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xffff, v2514816; GFX11-FAKE16-NEXT: v_and_b32_e32 v23, 0xffff, v2314817; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v2114818; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v1914819; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v8, 16, v1814820; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v1514821; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v1414822; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1214823; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v1114824; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff, v114825; GFX11-FAKE16-NEXT: v_lshl_or_b32 v33, v33, 16, v2514826; GFX11-FAKE16-NEXT: v_and_b32_e32 v26, 0xffff, v2614827; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v27, 16, v2314828; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff, v2414829; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v29, 16, v2114830; GFX11-FAKE16-NEXT: v_and_b32_e32 v22, 0xffff, v2214831; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v2014832; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v64, 16, v1514833; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v55, 16, v1414834; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v53, 16, v1814835; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v52, 16, v1914836; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xffff, v1714837; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1614838; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xffff, v014839; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xffff, v214840; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v114841; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff, v414842; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xffff, v1014843; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v914844; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v1314845; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v51, 16, v1714846; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v50, 16, v1814847; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v014848; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xffff, v314849; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v614850; GFX11-FAKE16-NEXT: v_dual_mov_b32 v7, v31 :: v_dual_and_b32 v4, 0xffff, v714851; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v2014852; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v214853; GFX11-FAKE16-NEXT: v_dual_mov_b32 v5, v29 :: v_dual_and_b32 v2, 0xffff, v514854; GFX11-FAKE16-NEXT: v_lshl_or_b32 v28, v28, 16, v2214855; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v114856; GFX11-FAKE16-NEXT: v_mov_b32_e32 v1, v3314857; GFX11-FAKE16-NEXT: v_lshl_or_b32 v32, v32, 16, v2614858; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v67, 16, v2414859; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v66, 16, v1014860; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v65, 16, v2114861; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v54, 16, v1314862; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v014863; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v214864; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v314865; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v414866; GFX11-FAKE16-NEXT: v_mov_b32_e32 v0, v3214867; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, v26 :: v_dual_mov_b32 v3, v2714868; GFX11-FAKE16-NEXT: v_mov_b32_e32 v4, v2814869; GFX11-FAKE16-NEXT: v_mov_b32_e32 v6, v3014870; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]14871; GFX11-FAKE16-NEXT: .LBB29_4:14872; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3214873; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3314874; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6714875; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2714876; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2814877; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2914878; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3014879; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3114880; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr814881; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6614882; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6514883; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6414884; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5514885; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5414886; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5314887; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5214888; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5114889; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5014890; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4914891; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4814892; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3914893; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3814894; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3714895; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3614896; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3514897; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3414898; GFX11-FAKE16-NEXT: s_branch .LBB29_214899 %cmp = icmp eq i32 %b, 014900 br i1 %cmp, label %cmp.true, label %cmp.false14901 14902cmp.true:14903 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)14904 %a2 = bitcast <26 x float> %a1 to <52 x i16>14905 br label %end14906 14907cmp.false:14908 %a3 = bitcast <26 x float> %a to <52 x i16>14909 br label %end14910 14911end:14912 %phi = phi <52 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]14913 ret <52 x i16> %phi14914}14915 14916define <26 x float> @bitcast_v52i16_to_v26f32(<52 x i16> %a, i32 %b) {14917; SI-LABEL: bitcast_v52i16_to_v26f32:14918; SI: ; %bb.0:14919; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14920; SI-NEXT: v_mov_b32_e32 v50, v1014921; SI-NEXT: v_mov_b32_e32 v51, v814922; SI-NEXT: v_mov_b32_e32 v52, v614923; SI-NEXT: v_mov_b32_e32 v53, v414924; SI-NEXT: v_mov_b32_e32 v54, v214925; SI-NEXT: v_mov_b32_e32 v55, v014926; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:4814927; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:4014928; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:3214929; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:2414930; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:1614931; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:1214932; SI-NEXT: v_mov_b32_e32 v49, v1214933; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill14934; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill14935; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill14936; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill14937; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill14938; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill14939; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill14940; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill14941; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill14942; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill14943; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill14944; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill14945; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill14946; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill14947; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill14948; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill14949; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill14950; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill14951; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill14952; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill14953; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill14954; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill14955; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill14956; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill14957; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill14958; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v114959; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v314960; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v514961; SI-NEXT: v_lshlrev_b32_e32 v57, 16, v714962; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v914963; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v1114964; SI-NEXT: v_lshlrev_b32_e32 v47, 16, v1314965; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v1514966; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v1714967; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v1914968; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v2114969; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v2314970; SI-NEXT: v_lshlrev_b32_e32 v43, 16, v2514971; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v2714972; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v2914973; SI-NEXT: s_waitcnt vmcnt(14)14974; SI-NEXT: v_lshlrev_b32_e32 v62, 16, v014975; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v214976; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v414977; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v614978; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v814979; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill14980; SI-NEXT: s_waitcnt expcnt(0)14981; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:814982; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:414983; SI-NEXT: s_waitcnt vmcnt(1)14984; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v1014985; SI-NEXT: s_waitcnt vmcnt(0)14986; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill14987; SI-NEXT: s_waitcnt expcnt(0)14988; SI-NEXT: buffer_load_dword v12, off, s[0:3], s3214989; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:8414990; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:8014991; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:7614992; SI-NEXT: s_waitcnt vmcnt(3)14993; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v1214994; SI-NEXT: s_waitcnt vmcnt(2)14995; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1414996; SI-NEXT: s_waitcnt vmcnt(1)14997; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v1614998; SI-NEXT: s_waitcnt vmcnt(0)14999; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill15000; SI-NEXT: s_waitcnt expcnt(0)15001; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:7215002; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:6815003; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill15004; SI-NEXT: s_waitcnt vmcnt(2)15005; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v1815006; SI-NEXT: s_waitcnt vmcnt(1)15007; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill15008; SI-NEXT: s_waitcnt expcnt(0)15009; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:6415010; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:6015011; SI-NEXT: s_waitcnt vmcnt(1)15012; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v2015013; SI-NEXT: s_waitcnt vmcnt(0)15014; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill15015; SI-NEXT: s_waitcnt expcnt(0)15016; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:5615017; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:5215018; SI-NEXT: s_waitcnt vmcnt(1)15019; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v2215020; SI-NEXT: s_waitcnt vmcnt(0)15021; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill15022; SI-NEXT: s_waitcnt expcnt(0)15023; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:4415024; SI-NEXT: s_waitcnt vmcnt(0)15025; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill15026; SI-NEXT: s_waitcnt expcnt(0)15027; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:3615028; SI-NEXT: s_waitcnt vmcnt(0)15029; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill15030; SI-NEXT: s_waitcnt expcnt(0)15031; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:2815032; SI-NEXT: s_waitcnt vmcnt(0)15033; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill15034; SI-NEXT: s_waitcnt expcnt(0)15035; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:2015036; SI-NEXT: s_waitcnt vmcnt(0)15037; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill15038; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3115039; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc15040; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]15041; SI-NEXT: s_cbranch_execz .LBB30_215042; SI-NEXT: ; %bb.1: ; %cmp.false15043; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload15044; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload15045; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload15046; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload15047; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload15048; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload15049; SI-NEXT: s_waitcnt expcnt(0)15050; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload15051; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload15052; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload15053; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload15054; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload15055; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload15056; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload15057; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload15058; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload15059; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload15060; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload15061; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload15062; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload15063; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload15064; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5515065; SI-NEXT: v_and_b32_e32 v1, 0xffff, v5415066; SI-NEXT: v_and_b32_e32 v2, 0xffff, v5315067; SI-NEXT: v_and_b32_e32 v3, 0xffff, v5215068; SI-NEXT: v_and_b32_e32 v4, 0xffff, v5115069; SI-NEXT: v_and_b32_e32 v5, 0xffff, v5015070; SI-NEXT: v_and_b32_e32 v6, 0xffff, v4915071; SI-NEXT: v_or_b32_e32 v0, v0, v5815072; SI-NEXT: v_or_b32_e32 v1, v1, v4815073; SI-NEXT: v_or_b32_e32 v2, v2, v3915074; SI-NEXT: v_or_b32_e32 v3, v3, v5715075; SI-NEXT: v_or_b32_e32 v4, v4, v3815076; SI-NEXT: v_or_b32_e32 v5, v5, v5615077; SI-NEXT: v_or_b32_e32 v6, v6, v4715078; SI-NEXT: ; implicit-def: $vgpr5515079; SI-NEXT: ; implicit-def: $vgpr5415080; SI-NEXT: ; implicit-def: $vgpr5315081; SI-NEXT: ; implicit-def: $vgpr5215082; SI-NEXT: ; implicit-def: $vgpr5115083; SI-NEXT: ; implicit-def: $vgpr5015084; SI-NEXT: ; implicit-def: $vgpr4915085; SI-NEXT: ; implicit-def: $vgpr5815086; SI-NEXT: ; implicit-def: $vgpr4815087; SI-NEXT: ; implicit-def: $vgpr3915088; SI-NEXT: ; implicit-def: $vgpr5715089; SI-NEXT: ; implicit-def: $vgpr3815090; SI-NEXT: ; implicit-def: $vgpr5615091; SI-NEXT: ; implicit-def: $vgpr4715092; SI-NEXT: s_waitcnt vmcnt(14)15093; SI-NEXT: v_and_b32_e32 v12, 0xffff, v1215094; SI-NEXT: v_and_b32_e32 v13, 0xffff, v1315095; SI-NEXT: v_and_b32_e32 v14, 0xffff, v1415096; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1515097; SI-NEXT: v_and_b32_e32 v22, 0xffff, v2215098; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2315099; SI-NEXT: s_waitcnt vmcnt(13)15100; SI-NEXT: v_and_b32_e32 v24, 0xffff, v2415101; SI-NEXT: s_waitcnt vmcnt(12)15102; SI-NEXT: v_and_b32_e32 v25, 0xffff, v2515103; SI-NEXT: s_waitcnt vmcnt(11)15104; SI-NEXT: v_and_b32_e32 v7, 0xffff, v715105; SI-NEXT: s_waitcnt vmcnt(10)15106; SI-NEXT: v_or_b32_e32 v25, v25, v2615107; SI-NEXT: ; implicit-def: $vgpr2615108; SI-NEXT: ; kill: killed $vgpr2615109; SI-NEXT: ; implicit-def: $vgpr2615110; SI-NEXT: ; kill: killed $vgpr2615111; SI-NEXT: ; implicit-def: $vgpr2615112; SI-NEXT: ; kill: killed $vgpr2615113; SI-NEXT: ; implicit-def: $vgpr2615114; SI-NEXT: ; kill: killed $vgpr2615115; SI-NEXT: ; implicit-def: $vgpr2615116; SI-NEXT: ; kill: killed $vgpr2615117; SI-NEXT: ; implicit-def: $vgpr2615118; SI-NEXT: ; kill: killed $vgpr2615119; SI-NEXT: ; implicit-def: $vgpr2615120; SI-NEXT: ; kill: killed $vgpr2615121; SI-NEXT: ; implicit-def: $vgpr2615122; SI-NEXT: ; kill: killed $vgpr2615123; SI-NEXT: ; implicit-def: $vgpr2615124; SI-NEXT: ; kill: killed $vgpr2615125; SI-NEXT: ; implicit-def: $vgpr2615126; SI-NEXT: ; kill: killed $vgpr2615127; SI-NEXT: ; implicit-def: $vgpr2615128; SI-NEXT: ; kill: killed $vgpr2615129; SI-NEXT: ; implicit-def: $vgpr2615130; SI-NEXT: ; kill: killed $vgpr2615131; SI-NEXT: ; implicit-def: $vgpr2615132; SI-NEXT: ; kill: killed $vgpr2615133; SI-NEXT: ; implicit-def: $vgpr2615134; SI-NEXT: ; kill: killed $vgpr2615135; SI-NEXT: ; implicit-def: $vgpr2615136; SI-NEXT: ; kill: killed $vgpr2615137; SI-NEXT: ; implicit-def: $vgpr2615138; SI-NEXT: ; kill: killed $vgpr2615139; SI-NEXT: ; implicit-def: $vgpr2615140; SI-NEXT: ; kill: killed $vgpr2615141; SI-NEXT: ; implicit-def: $vgpr2615142; SI-NEXT: s_waitcnt vmcnt(9)15143; SI-NEXT: v_and_b32_e32 v8, 0xffff, v815144; SI-NEXT: s_waitcnt vmcnt(7)15145; SI-NEXT: v_and_b32_e32 v9, 0xffff, v915146; SI-NEXT: s_waitcnt vmcnt(6)15147; SI-NEXT: v_and_b32_e32 v10, 0xffff, v1015148; SI-NEXT: s_waitcnt vmcnt(5)15149; SI-NEXT: v_and_b32_e32 v11, 0xffff, v1115150; SI-NEXT: s_waitcnt vmcnt(4)15151; SI-NEXT: v_and_b32_e32 v16, 0xffff, v1615152; SI-NEXT: s_waitcnt vmcnt(2)15153; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1715154; SI-NEXT: v_and_b32_e32 v18, 0xffff, v1815155; SI-NEXT: v_and_b32_e32 v19, 0xffff, v1915156; SI-NEXT: s_waitcnt vmcnt(1)15157; SI-NEXT: v_and_b32_e32 v20, 0xffff, v2015158; SI-NEXT: s_waitcnt vmcnt(0)15159; SI-NEXT: v_and_b32_e32 v21, 0xffff, v2115160; SI-NEXT: ; kill: killed $vgpr2615161; SI-NEXT: ; implicit-def: $vgpr2615162; SI-NEXT: v_or_b32_e32 v7, v7, v3715163; SI-NEXT: v_or_b32_e32 v8, v8, v4615164; SI-NEXT: v_or_b32_e32 v9, v9, v4515165; SI-NEXT: v_or_b32_e32 v10, v10, v3615166; SI-NEXT: v_or_b32_e32 v11, v11, v4415167; SI-NEXT: v_or_b32_e32 v12, v12, v4315168; SI-NEXT: v_or_b32_e32 v13, v13, v3515169; SI-NEXT: v_or_b32_e32 v14, v14, v4215170; SI-NEXT: v_or_b32_e32 v15, v15, v3415171; SI-NEXT: v_or_b32_e32 v16, v16, v4115172; SI-NEXT: v_or_b32_e32 v17, v17, v3315173; SI-NEXT: v_or_b32_e32 v18, v18, v4015174; SI-NEXT: v_or_b32_e32 v19, v19, v3215175; SI-NEXT: v_or_b32_e32 v20, v20, v6315176; SI-NEXT: v_or_b32_e32 v21, v21, v6215177; SI-NEXT: v_or_b32_e32 v22, v22, v6115178; SI-NEXT: v_or_b32_e32 v23, v23, v6015179; SI-NEXT: v_or_b32_e32 v24, v24, v5915180; SI-NEXT: ; kill: killed $vgpr2615181; SI-NEXT: ; implicit-def: $vgpr3715182; SI-NEXT: ; implicit-def: $vgpr4615183; SI-NEXT: ; implicit-def: $vgpr4515184; SI-NEXT: ; implicit-def: $vgpr3615185; SI-NEXT: ; implicit-def: $vgpr4415186; SI-NEXT: ; implicit-def: $vgpr4315187; SI-NEXT: ; implicit-def: $vgpr3515188; SI-NEXT: ; implicit-def: $vgpr4215189; SI-NEXT: ; implicit-def: $vgpr3415190; SI-NEXT: ; implicit-def: $vgpr4115191; SI-NEXT: ; implicit-def: $vgpr3315192; SI-NEXT: ; implicit-def: $vgpr4015193; SI-NEXT: ; implicit-def: $vgpr3215194; SI-NEXT: ; implicit-def: $vgpr6315195; SI-NEXT: ; implicit-def: $vgpr6215196; SI-NEXT: ; implicit-def: $vgpr6115197; SI-NEXT: ; implicit-def: $vgpr6015198; SI-NEXT: ; implicit-def: $vgpr5915199; SI-NEXT: ; implicit-def: $vgpr2615200; SI-NEXT: ; kill: killed $vgpr2615201; SI-NEXT: .LBB30_2: ; %Flow15202; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]15203; SI-NEXT: s_cbranch_execz .LBB30_415204; SI-NEXT: ; %bb.3: ; %cmp.true15205; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload15206; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload15207; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload15208; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload15209; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload15210; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload15211; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload15212; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload15213; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload15214; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload15215; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload15216; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload15217; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload15218; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload15219; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload15220; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload15221; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload15222; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload15223; SI-NEXT: s_waitcnt expcnt(0)15224; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload15225; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload15226; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5515227; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v5415228; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v5315229; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v5215230; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v5115231; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v5015232; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v4915233; SI-NEXT: v_and_b32_e32 v0, 0xffff, v015234; SI-NEXT: v_and_b32_e32 v1, 0xffff, v115235; SI-NEXT: v_and_b32_e32 v2, 0xffff, v215236; SI-NEXT: v_and_b32_e32 v3, 0xffff, v315237; SI-NEXT: v_and_b32_e32 v4, 0xffff, v415238; SI-NEXT: v_and_b32_e32 v5, 0xffff, v515239; SI-NEXT: v_and_b32_e32 v6, 0xffff, v615240; SI-NEXT: v_or_b32_e32 v0, v58, v015241; SI-NEXT: s_mov_b32 s6, 0x3000015242; SI-NEXT: v_or_b32_e32 v1, v48, v115243; SI-NEXT: v_or_b32_e32 v2, v39, v215244; SI-NEXT: v_or_b32_e32 v3, v57, v315245; SI-NEXT: v_or_b32_e32 v4, v38, v415246; SI-NEXT: v_or_b32_e32 v5, v56, v515247; SI-NEXT: v_or_b32_e32 v6, v47, v615248; SI-NEXT: v_add_i32_e32 v0, vcc, 0x30000, v015249; SI-NEXT: v_add_i32_e32 v1, vcc, s6, v115250; SI-NEXT: v_add_i32_e32 v2, vcc, s6, v215251; SI-NEXT: v_add_i32_e32 v3, vcc, s6, v315252; SI-NEXT: v_add_i32_e32 v4, vcc, s6, v415253; SI-NEXT: v_add_i32_e32 v5, vcc, s6, v515254; SI-NEXT: v_add_i32_e32 v6, vcc, s6, v615255; SI-NEXT: s_waitcnt vmcnt(14)15256; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v715257; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v815258; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v915259; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1015260; SI-NEXT: s_waitcnt vmcnt(13)15261; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v1115262; SI-NEXT: s_waitcnt vmcnt(12)15263; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1615264; SI-NEXT: s_waitcnt vmcnt(7)15265; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1215266; SI-NEXT: s_waitcnt vmcnt(6)15267; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v1315268; SI-NEXT: s_waitcnt vmcnt(5)15269; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1415270; SI-NEXT: s_waitcnt vmcnt(4)15271; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v1515272; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v1715273; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1815274; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v1915275; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2015276; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v2115277; SI-NEXT: s_waitcnt vmcnt(3)15278; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2215279; SI-NEXT: s_waitcnt vmcnt(2)15280; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v2315281; SI-NEXT: s_waitcnt vmcnt(1)15282; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2415283; SI-NEXT: s_waitcnt vmcnt(0)15284; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v2515285; SI-NEXT: v_and_b32_e32 v7, 0xffff, v715286; SI-NEXT: v_and_b32_e32 v8, 0xffff, v815287; SI-NEXT: v_and_b32_e32 v9, 0xffff, v915288; SI-NEXT: v_and_b32_e32 v10, 0xffff, v1015289; SI-NEXT: v_and_b32_e32 v11, 0xffff, v1115290; SI-NEXT: v_and_b32_e32 v12, 0xffff, v1215291; SI-NEXT: v_and_b32_e32 v13, 0xffff, v1315292; SI-NEXT: v_and_b32_e32 v14, 0xffff, v1415293; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1515294; SI-NEXT: v_and_b32_e32 v16, 0xffff, v1615295; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1715296; SI-NEXT: v_and_b32_e32 v18, 0xffff, v1815297; SI-NEXT: v_and_b32_e32 v19, 0xffff, v1915298; SI-NEXT: v_and_b32_e32 v20, 0xffff, v2015299; SI-NEXT: v_and_b32_e32 v21, 0xffff, v2115300; SI-NEXT: v_and_b32_e32 v22, 0xffff, v2215301; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2315302; SI-NEXT: v_and_b32_e32 v24, 0xffff, v2415303; SI-NEXT: v_and_b32_e32 v25, 0xffff, v2515304; SI-NEXT: v_or_b32_e32 v7, v37, v715305; SI-NEXT: v_or_b32_e32 v8, v46, v815306; SI-NEXT: v_or_b32_e32 v9, v45, v915307; SI-NEXT: v_or_b32_e32 v10, v36, v1015308; SI-NEXT: v_or_b32_e32 v11, v44, v1115309; SI-NEXT: v_or_b32_e32 v12, v43, v1215310; SI-NEXT: v_or_b32_e32 v13, v35, v1315311; SI-NEXT: v_or_b32_e32 v14, v42, v1415312; SI-NEXT: v_or_b32_e32 v15, v34, v1515313; SI-NEXT: v_or_b32_e32 v16, v41, v1615314; SI-NEXT: v_or_b32_e32 v17, v33, v1715315; SI-NEXT: v_or_b32_e32 v18, v40, v1815316; SI-NEXT: v_or_b32_e32 v19, v32, v1915317; SI-NEXT: v_or_b32_e32 v20, v63, v2015318; SI-NEXT: v_or_b32_e32 v21, v62, v2115319; SI-NEXT: v_or_b32_e32 v22, v61, v2215320; SI-NEXT: v_or_b32_e32 v23, v60, v2315321; SI-NEXT: v_or_b32_e32 v24, v59, v2415322; SI-NEXT: v_or_b32_e32 v25, v26, v2515323; SI-NEXT: v_add_i32_e32 v7, vcc, s6, v715324; SI-NEXT: v_add_i32_e32 v8, vcc, s6, v815325; SI-NEXT: v_add_i32_e32 v9, vcc, s6, v915326; SI-NEXT: v_add_i32_e32 v10, vcc, s6, v1015327; SI-NEXT: v_add_i32_e32 v11, vcc, s6, v1115328; SI-NEXT: v_add_i32_e32 v12, vcc, s6, v1215329; SI-NEXT: v_add_i32_e32 v13, vcc, s6, v1315330; SI-NEXT: v_add_i32_e32 v14, vcc, s6, v1415331; SI-NEXT: v_add_i32_e32 v15, vcc, s6, v1515332; SI-NEXT: v_add_i32_e32 v16, vcc, s6, v1615333; SI-NEXT: v_add_i32_e32 v17, vcc, s6, v1715334; SI-NEXT: v_add_i32_e32 v18, vcc, s6, v1815335; SI-NEXT: v_add_i32_e32 v19, vcc, s6, v1915336; SI-NEXT: v_add_i32_e32 v20, vcc, s6, v2015337; SI-NEXT: v_add_i32_e32 v21, vcc, s6, v2115338; SI-NEXT: v_add_i32_e32 v22, vcc, s6, v2215339; SI-NEXT: v_add_i32_e32 v23, vcc, s6, v2315340; SI-NEXT: v_add_i32_e32 v24, vcc, 0x30000, v2415341; SI-NEXT: v_add_i32_e32 v25, vcc, 0x30000, v2515342; SI-NEXT: .LBB30_4: ; %end15343; SI-NEXT: s_or_b64 exec, exec, s[4:5]15344; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload15345; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload15346; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload15347; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload15348; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload15349; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload15350; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload15351; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload15352; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload15353; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload15354; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload15355; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload15356; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload15357; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload15358; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload15359; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload15360; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)15361; SI-NEXT: s_setpc_b64 s[30:31]15362;15363; VI-LABEL: bitcast_v52i16_to_v26f32:15364; VI: ; %bb.0:15365; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15366; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill15367; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill15368; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill15369; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill15370; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill15371; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill15372; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill15373; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill15374; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill15375; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 ; 4-byte Folded Spill15376; VI-NEXT: v_mov_b32_e32 v32, v2515377; VI-NEXT: v_mov_b32_e32 v33, v2415378; VI-NEXT: v_mov_b32_e32 v34, v2315379; VI-NEXT: v_mov_b32_e32 v35, v2215380; VI-NEXT: v_mov_b32_e32 v36, v2115381; VI-NEXT: v_mov_b32_e32 v37, v2015382; VI-NEXT: v_mov_b32_e32 v38, v1915383; VI-NEXT: v_mov_b32_e32 v39, v1815384; VI-NEXT: v_mov_b32_e32 v48, v1715385; VI-NEXT: v_mov_b32_e32 v49, v1615386; VI-NEXT: v_mov_b32_e32 v50, v1515387; VI-NEXT: v_mov_b32_e32 v51, v1415388; VI-NEXT: v_mov_b32_e32 v52, v1315389; VI-NEXT: v_mov_b32_e32 v53, v1215390; VI-NEXT: v_mov_b32_e32 v54, v1115391; VI-NEXT: v_mov_b32_e32 v55, v1015392; VI-NEXT: v_mov_b32_e32 v40, v915393; VI-NEXT: v_mov_b32_e32 v41, v815394; VI-NEXT: v_mov_b32_e32 v42, v715395; VI-NEXT: v_mov_b32_e32 v43, v615396; VI-NEXT: v_mov_b32_e32 v44, v515397; VI-NEXT: v_mov_b32_e32 v45, v415398; VI-NEXT: v_mov_b32_e32 v46, v315399; VI-NEXT: v_mov_b32_e32 v47, v215400; VI-NEXT: v_mov_b32_e32 v56, v115401; VI-NEXT: v_mov_b32_e32 v57, v015402; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2615403; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3115404; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc15405; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]15406; VI-NEXT: s_cbranch_execz .LBB30_215407; VI-NEXT: ; %bb.1: ; %cmp.false15408; VI-NEXT: v_mov_b32_e32 v25, 1615409; VI-NEXT: v_lshlrev_b32_sdwa v0, v25, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115410; VI-NEXT: v_lshlrev_b32_sdwa v1, v25, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115411; VI-NEXT: v_lshlrev_b32_sdwa v2, v25, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115412; VI-NEXT: v_lshlrev_b32_sdwa v3, v25, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115413; VI-NEXT: v_lshlrev_b32_sdwa v4, v25, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115414; VI-NEXT: v_lshlrev_b32_sdwa v5, v25, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115415; VI-NEXT: v_lshlrev_b32_sdwa v6, v25, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115416; VI-NEXT: v_lshlrev_b32_sdwa v7, v25, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115417; VI-NEXT: v_lshlrev_b32_sdwa v8, v25, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115418; VI-NEXT: v_lshlrev_b32_sdwa v9, v25, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115419; VI-NEXT: v_lshlrev_b32_sdwa v10, v25, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115420; VI-NEXT: v_lshlrev_b32_sdwa v11, v25, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115421; VI-NEXT: v_lshlrev_b32_sdwa v12, v25, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115422; VI-NEXT: v_lshlrev_b32_sdwa v13, v25, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115423; VI-NEXT: v_lshlrev_b32_sdwa v14, v25, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115424; VI-NEXT: v_lshlrev_b32_sdwa v15, v25, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115425; VI-NEXT: v_lshlrev_b32_sdwa v16, v25, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115426; VI-NEXT: v_lshlrev_b32_sdwa v17, v25, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115427; VI-NEXT: v_lshlrev_b32_sdwa v18, v25, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115428; VI-NEXT: v_lshlrev_b32_sdwa v19, v25, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115429; VI-NEXT: v_lshlrev_b32_sdwa v20, v25, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115430; VI-NEXT: v_lshlrev_b32_sdwa v21, v25, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115431; VI-NEXT: v_lshlrev_b32_sdwa v22, v25, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115432; VI-NEXT: v_lshlrev_b32_sdwa v23, v25, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115433; VI-NEXT: v_lshlrev_b32_sdwa v24, v25, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115434; VI-NEXT: v_lshlrev_b32_sdwa v25, v25, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_115435; VI-NEXT: v_or_b32_sdwa v0, v57, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15436; VI-NEXT: v_or_b32_sdwa v1, v56, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15437; VI-NEXT: v_or_b32_sdwa v2, v47, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15438; VI-NEXT: v_or_b32_sdwa v3, v46, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15439; VI-NEXT: v_or_b32_sdwa v4, v45, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15440; VI-NEXT: v_or_b32_sdwa v5, v44, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15441; VI-NEXT: v_or_b32_sdwa v6, v43, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15442; VI-NEXT: v_or_b32_sdwa v7, v42, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15443; VI-NEXT: v_or_b32_sdwa v8, v41, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15444; VI-NEXT: v_or_b32_sdwa v9, v40, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15445; VI-NEXT: v_or_b32_sdwa v10, v55, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15446; VI-NEXT: v_or_b32_sdwa v11, v54, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15447; VI-NEXT: v_or_b32_sdwa v12, v53, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15448; VI-NEXT: v_or_b32_sdwa v13, v52, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15449; VI-NEXT: v_or_b32_sdwa v14, v51, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15450; VI-NEXT: v_or_b32_sdwa v15, v50, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15451; VI-NEXT: v_or_b32_sdwa v16, v49, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15452; VI-NEXT: v_or_b32_sdwa v17, v48, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15453; VI-NEXT: v_or_b32_sdwa v18, v39, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15454; VI-NEXT: v_or_b32_sdwa v19, v38, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15455; VI-NEXT: v_or_b32_sdwa v20, v37, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15456; VI-NEXT: v_or_b32_sdwa v21, v36, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15457; VI-NEXT: v_or_b32_sdwa v22, v35, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15458; VI-NEXT: v_or_b32_sdwa v23, v34, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15459; VI-NEXT: v_or_b32_sdwa v24, v33, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15460; VI-NEXT: v_or_b32_sdwa v25, v32, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15461; VI-NEXT: ; implicit-def: $vgpr5715462; VI-NEXT: ; implicit-def: $vgpr5615463; VI-NEXT: ; implicit-def: $vgpr4715464; VI-NEXT: ; implicit-def: $vgpr4615465; VI-NEXT: ; implicit-def: $vgpr4515466; VI-NEXT: ; implicit-def: $vgpr4415467; VI-NEXT: ; implicit-def: $vgpr4315468; VI-NEXT: ; implicit-def: $vgpr4215469; VI-NEXT: ; implicit-def: $vgpr4115470; VI-NEXT: ; implicit-def: $vgpr4015471; VI-NEXT: ; implicit-def: $vgpr5515472; VI-NEXT: ; implicit-def: $vgpr5415473; VI-NEXT: ; implicit-def: $vgpr5315474; VI-NEXT: ; implicit-def: $vgpr5215475; VI-NEXT: ; implicit-def: $vgpr5115476; VI-NEXT: ; implicit-def: $vgpr5015477; VI-NEXT: ; implicit-def: $vgpr4915478; VI-NEXT: ; implicit-def: $vgpr4815479; VI-NEXT: ; implicit-def: $vgpr3915480; VI-NEXT: ; implicit-def: $vgpr3815481; VI-NEXT: ; implicit-def: $vgpr3715482; VI-NEXT: ; implicit-def: $vgpr3615483; VI-NEXT: ; implicit-def: $vgpr3515484; VI-NEXT: ; implicit-def: $vgpr3415485; VI-NEXT: ; implicit-def: $vgpr3315486; VI-NEXT: ; implicit-def: $vgpr3215487; VI-NEXT: .LBB30_2: ; %Flow15488; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]15489; VI-NEXT: s_cbranch_execz .LBB30_415490; VI-NEXT: ; %bb.3: ; %cmp.true15491; VI-NEXT: v_mov_b32_e32 v25, 315492; VI-NEXT: v_add_u16_e32 v0, 3, v5715493; VI-NEXT: v_add_u16_sdwa v1, v57, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15494; VI-NEXT: v_or_b32_e32 v0, v0, v115495; VI-NEXT: v_add_u16_e32 v1, 3, v5615496; VI-NEXT: v_add_u16_sdwa v2, v56, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15497; VI-NEXT: v_or_b32_e32 v1, v1, v215498; VI-NEXT: v_add_u16_e32 v2, 3, v4715499; VI-NEXT: v_add_u16_sdwa v3, v47, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15500; VI-NEXT: v_or_b32_e32 v2, v2, v315501; VI-NEXT: v_add_u16_e32 v3, 3, v4615502; VI-NEXT: v_add_u16_sdwa v4, v46, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15503; VI-NEXT: v_or_b32_e32 v3, v3, v415504; VI-NEXT: v_add_u16_e32 v4, 3, v4515505; VI-NEXT: v_add_u16_sdwa v5, v45, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15506; VI-NEXT: v_or_b32_e32 v4, v4, v515507; VI-NEXT: v_add_u16_e32 v5, 3, v4415508; VI-NEXT: v_add_u16_sdwa v6, v44, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15509; VI-NEXT: v_or_b32_e32 v5, v5, v615510; VI-NEXT: v_add_u16_e32 v6, 3, v4315511; VI-NEXT: v_add_u16_sdwa v7, v43, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15512; VI-NEXT: v_or_b32_e32 v6, v6, v715513; VI-NEXT: v_add_u16_e32 v7, 3, v4215514; VI-NEXT: v_add_u16_sdwa v8, v42, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15515; VI-NEXT: v_or_b32_e32 v7, v7, v815516; VI-NEXT: v_add_u16_e32 v8, 3, v4115517; VI-NEXT: v_add_u16_sdwa v9, v41, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15518; VI-NEXT: v_or_b32_e32 v8, v8, v915519; VI-NEXT: v_add_u16_e32 v9, 3, v4015520; VI-NEXT: v_add_u16_sdwa v10, v40, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15521; VI-NEXT: v_or_b32_e32 v9, v9, v1015522; VI-NEXT: v_add_u16_e32 v10, 3, v5515523; VI-NEXT: v_add_u16_sdwa v11, v55, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15524; VI-NEXT: v_or_b32_e32 v10, v10, v1115525; VI-NEXT: v_add_u16_e32 v11, 3, v5415526; VI-NEXT: v_add_u16_sdwa v12, v54, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15527; VI-NEXT: v_or_b32_e32 v11, v11, v1215528; VI-NEXT: v_add_u16_e32 v12, 3, v5315529; VI-NEXT: v_add_u16_sdwa v13, v53, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15530; VI-NEXT: v_or_b32_e32 v12, v12, v1315531; VI-NEXT: v_add_u16_e32 v13, 3, v5215532; VI-NEXT: v_add_u16_sdwa v14, v52, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15533; VI-NEXT: v_or_b32_e32 v13, v13, v1415534; VI-NEXT: v_add_u16_e32 v14, 3, v5115535; VI-NEXT: v_add_u16_sdwa v15, v51, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15536; VI-NEXT: v_or_b32_e32 v14, v14, v1515537; VI-NEXT: v_add_u16_e32 v15, 3, v5015538; VI-NEXT: v_add_u16_sdwa v16, v50, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15539; VI-NEXT: v_or_b32_e32 v15, v15, v1615540; VI-NEXT: v_add_u16_e32 v16, 3, v4915541; VI-NEXT: v_add_u16_sdwa v17, v49, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15542; VI-NEXT: v_or_b32_e32 v16, v16, v1715543; VI-NEXT: v_add_u16_e32 v17, 3, v4815544; VI-NEXT: v_add_u16_sdwa v18, v48, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15545; VI-NEXT: v_or_b32_e32 v17, v17, v1815546; VI-NEXT: v_add_u16_e32 v18, 3, v3915547; VI-NEXT: v_add_u16_sdwa v19, v39, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15548; VI-NEXT: v_or_b32_e32 v18, v18, v1915549; VI-NEXT: v_add_u16_e32 v19, 3, v3815550; VI-NEXT: v_add_u16_sdwa v20, v38, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15551; VI-NEXT: v_or_b32_e32 v19, v19, v2015552; VI-NEXT: v_add_u16_e32 v20, 3, v3715553; VI-NEXT: v_add_u16_sdwa v21, v37, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15554; VI-NEXT: v_or_b32_e32 v20, v20, v2115555; VI-NEXT: v_add_u16_e32 v21, 3, v3615556; VI-NEXT: v_add_u16_sdwa v22, v36, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15557; VI-NEXT: v_or_b32_e32 v21, v21, v2215558; VI-NEXT: v_add_u16_e32 v22, 3, v3515559; VI-NEXT: v_add_u16_sdwa v23, v35, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15560; VI-NEXT: v_or_b32_e32 v22, v22, v2315561; VI-NEXT: v_add_u16_e32 v23, 3, v3415562; VI-NEXT: v_add_u16_sdwa v24, v34, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15563; VI-NEXT: v_or_b32_e32 v23, v23, v2415564; VI-NEXT: v_add_u16_e32 v24, 3, v3315565; VI-NEXT: v_add_u16_sdwa v26, v33, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15566; VI-NEXT: v_or_b32_e32 v24, v24, v2615567; VI-NEXT: v_add_u16_e32 v26, 3, v3215568; VI-NEXT: v_add_u16_sdwa v25, v32, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD15569; VI-NEXT: v_or_b32_e32 v25, v26, v2515570; VI-NEXT: .LBB30_4: ; %end15571; VI-NEXT: s_or_b64 exec, exec, s[4:5]15572; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 ; 4-byte Folded Reload15573; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload15574; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload15575; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload15576; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload15577; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload15578; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload15579; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload15580; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload15581; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload15582; VI-NEXT: s_waitcnt vmcnt(0)15583; VI-NEXT: s_setpc_b64 s[30:31]15584;15585; GFX9-LABEL: bitcast_v52i16_to_v26f32:15586; GFX9: ; %bb.0:15587; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15588; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill15589; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill15590; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill15591; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill15592; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill15593; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill15594; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill15595; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill15596; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill15597; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill15598; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill15599; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill15600; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill15601; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill15602; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill15603; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill15604; GFX9-NEXT: v_mov_b32_e32 v57, v015605; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2515606; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill15607; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill15608; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2415609; GFX9-NEXT: v_mov_b32_e32 v35, v2215610; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill15611; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill15612; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2315613; GFX9-NEXT: v_mov_b32_e32 v36, v2115614; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill15615; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3515616; GFX9-NEXT: v_mov_b32_e32 v37, v2015617; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill15618; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3615619; GFX9-NEXT: v_mov_b32_e32 v38, v1915620; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill15621; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3715622; GFX9-NEXT: v_mov_b32_e32 v39, v1815623; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill15624; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3815625; GFX9-NEXT: v_mov_b32_e32 v48, v1715626; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill15627; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3915628; GFX9-NEXT: v_mov_b32_e32 v49, v1615629; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill15630; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4815631; GFX9-NEXT: v_mov_b32_e32 v50, v1515632; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill15633; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4915634; GFX9-NEXT: v_mov_b32_e32 v51, v1415635; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill15636; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5015637; GFX9-NEXT: v_mov_b32_e32 v52, v1315638; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill15639; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5115640; GFX9-NEXT: v_mov_b32_e32 v53, v1215641; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill15642; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5215643; GFX9-NEXT: v_mov_b32_e32 v54, v1115644; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill15645; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5315646; GFX9-NEXT: v_mov_b32_e32 v55, v1015647; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill15648; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5415649; GFX9-NEXT: v_mov_b32_e32 v40, v915650; GFX9-NEXT: v_mov_b32_e32 v41, v815651; GFX9-NEXT: v_mov_b32_e32 v42, v715652; GFX9-NEXT: v_mov_b32_e32 v43, v615653; GFX9-NEXT: v_mov_b32_e32 v44, v515654; GFX9-NEXT: v_mov_b32_e32 v45, v415655; GFX9-NEXT: v_mov_b32_e32 v46, v315656; GFX9-NEXT: v_mov_b32_e32 v47, v215657; GFX9-NEXT: v_mov_b32_e32 v56, v115658; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill15659; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5515660; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill15661; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4015662; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v4115663; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v4215664; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v4315665; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v4415666; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v4515667; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v4615668; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4715669; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v5615670; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v5715671; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2615672; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill15673; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill15674; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3115675; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc15676; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]15677; GFX9-NEXT: s_cbranch_execz .LBB30_215678; GFX9-NEXT: ; %bb.1: ; %cmp.false15679; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload15680; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload15681; GFX9-NEXT: s_mov_b32 s6, 0x504010015682; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v4015683; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v5515684; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v5415685; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v5315686; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v5215687; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v5115688; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v5015689; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v4915690; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v4815691; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v3915692; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v3815693; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v3715694; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v3615695; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v3515696; GFX9-NEXT: v_perm_b32 v0, v34, v57, s615697; GFX9-NEXT: v_perm_b32 v1, v62, v56, s615698; GFX9-NEXT: v_perm_b32 v2, v33, v47, s615699; GFX9-NEXT: v_perm_b32 v3, v32, v46, s615700; GFX9-NEXT: v_perm_b32 v4, v61, v45, s615701; GFX9-NEXT: v_perm_b32 v5, v60, v44, s615702; GFX9-NEXT: v_perm_b32 v6, v59, v43, s615703; GFX9-NEXT: v_perm_b32 v7, v58, v42, s615704; GFX9-NEXT: v_perm_b32 v8, v63, v41, s615705; GFX9-NEXT: v_perm_b32 v9, v9, v40, s615706; GFX9-NEXT: v_perm_b32 v10, v10, v55, s615707; GFX9-NEXT: v_perm_b32 v11, v11, v54, s615708; GFX9-NEXT: v_perm_b32 v12, v12, v53, s615709; GFX9-NEXT: v_perm_b32 v13, v13, v52, s615710; GFX9-NEXT: v_perm_b32 v14, v14, v51, s615711; GFX9-NEXT: v_perm_b32 v15, v15, v50, s615712; GFX9-NEXT: v_perm_b32 v16, v16, v49, s615713; GFX9-NEXT: v_perm_b32 v17, v17, v48, s615714; GFX9-NEXT: v_perm_b32 v18, v18, v39, s615715; GFX9-NEXT: v_perm_b32 v19, v19, v38, s615716; GFX9-NEXT: v_perm_b32 v20, v20, v37, s615717; GFX9-NEXT: v_perm_b32 v21, v21, v36, s615718; GFX9-NEXT: v_perm_b32 v22, v22, v35, s615719; GFX9-NEXT: ; implicit-def: $vgpr5715720; GFX9-NEXT: ; implicit-def: $vgpr5615721; GFX9-NEXT: ; implicit-def: $vgpr4715722; GFX9-NEXT: ; implicit-def: $vgpr4615723; GFX9-NEXT: ; implicit-def: $vgpr4515724; GFX9-NEXT: ; implicit-def: $vgpr4415725; GFX9-NEXT: ; implicit-def: $vgpr4315726; GFX9-NEXT: ; implicit-def: $vgpr4215727; GFX9-NEXT: ; implicit-def: $vgpr4115728; GFX9-NEXT: ; implicit-def: $vgpr4015729; GFX9-NEXT: ; implicit-def: $vgpr5515730; GFX9-NEXT: ; implicit-def: $vgpr5415731; GFX9-NEXT: ; implicit-def: $vgpr5315732; GFX9-NEXT: ; implicit-def: $vgpr5215733; GFX9-NEXT: ; implicit-def: $vgpr5115734; GFX9-NEXT: ; implicit-def: $vgpr5015735; GFX9-NEXT: ; implicit-def: $vgpr4915736; GFX9-NEXT: ; implicit-def: $vgpr4815737; GFX9-NEXT: ; implicit-def: $vgpr3915738; GFX9-NEXT: ; implicit-def: $vgpr3815739; GFX9-NEXT: ; implicit-def: $vgpr3715740; GFX9-NEXT: ; implicit-def: $vgpr3615741; GFX9-NEXT: ; implicit-def: $vgpr3515742; GFX9-NEXT: ; implicit-def: $vgpr6315743; GFX9-NEXT: ; implicit-def: $vgpr5815744; GFX9-NEXT: ; implicit-def: $vgpr5915745; GFX9-NEXT: ; implicit-def: $vgpr6015746; GFX9-NEXT: ; implicit-def: $vgpr6115747; GFX9-NEXT: ; implicit-def: $vgpr3215748; GFX9-NEXT: ; implicit-def: $vgpr3315749; GFX9-NEXT: ; implicit-def: $vgpr6215750; GFX9-NEXT: ; implicit-def: $vgpr3415751; GFX9-NEXT: s_waitcnt vmcnt(0)15752; GFX9-NEXT: v_perm_b32 v23, v24, v23, s615753; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload15754; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload15755; GFX9-NEXT: s_waitcnt vmcnt(0)15756; GFX9-NEXT: v_perm_b32 v24, v25, v24, s615757; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload15758; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload15759; GFX9-NEXT: s_waitcnt vmcnt(0)15760; GFX9-NEXT: v_perm_b32 v25, v26, v25, s615761; GFX9-NEXT: ; implicit-def: $vgpr2615762; GFX9-NEXT: ; kill: killed $vgpr2615763; GFX9-NEXT: ; implicit-def: $vgpr2615764; GFX9-NEXT: ; kill: killed $vgpr2615765; GFX9-NEXT: ; implicit-def: $vgpr2615766; GFX9-NEXT: ; kill: killed $vgpr2615767; GFX9-NEXT: ; implicit-def: $vgpr2615768; GFX9-NEXT: ; kill: killed $vgpr2615769; GFX9-NEXT: ; implicit-def: $vgpr2615770; GFX9-NEXT: ; kill: killed $vgpr2615771; GFX9-NEXT: ; implicit-def: $vgpr2615772; GFX9-NEXT: ; kill: killed $vgpr2615773; GFX9-NEXT: ; implicit-def: $vgpr2615774; GFX9-NEXT: ; kill: killed $vgpr2615775; GFX9-NEXT: ; implicit-def: $vgpr2615776; GFX9-NEXT: ; kill: killed $vgpr2615777; GFX9-NEXT: ; implicit-def: $vgpr2615778; GFX9-NEXT: ; kill: killed $vgpr2615779; GFX9-NEXT: ; implicit-def: $vgpr2615780; GFX9-NEXT: ; kill: killed $vgpr2615781; GFX9-NEXT: ; implicit-def: $vgpr2615782; GFX9-NEXT: ; kill: killed $vgpr2615783; GFX9-NEXT: ; implicit-def: $vgpr2615784; GFX9-NEXT: ; kill: killed $vgpr2615785; GFX9-NEXT: ; implicit-def: $vgpr2615786; GFX9-NEXT: ; kill: killed $vgpr2615787; GFX9-NEXT: ; implicit-def: $vgpr2615788; GFX9-NEXT: ; kill: killed $vgpr2615789; GFX9-NEXT: ; implicit-def: $vgpr2615790; GFX9-NEXT: ; kill: killed $vgpr2615791; GFX9-NEXT: ; implicit-def: $vgpr2615792; GFX9-NEXT: ; kill: killed $vgpr2615793; GFX9-NEXT: ; implicit-def: $vgpr2615794; GFX9-NEXT: ; kill: killed $vgpr2615795; GFX9-NEXT: ; implicit-def: $vgpr2615796; GFX9-NEXT: ; kill: killed $vgpr2615797; GFX9-NEXT: ; implicit-def: $vgpr2615798; GFX9-NEXT: ; kill: killed $vgpr2615799; GFX9-NEXT: ; implicit-def: $vgpr2615800; GFX9-NEXT: ; kill: killed $vgpr2615801; GFX9-NEXT: .LBB30_2: ; %Flow15802; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]15803; GFX9-NEXT: s_cbranch_execz .LBB30_415804; GFX9-NEXT: ; %bb.3: ; %cmp.true15805; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload15806; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload15807; GFX9-NEXT: s_mov_b32 s6, 0x504010015808; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload15809; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload15810; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload15811; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload15812; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload15813; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload15814; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload15815; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload15816; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload15817; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload15818; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload15819; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload15820; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload15821; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload15822; GFX9-NEXT: v_perm_b32 v0, v34, v57, s615823; GFX9-NEXT: v_perm_b32 v1, v62, v56, s615824; GFX9-NEXT: v_perm_b32 v2, v33, v47, s615825; GFX9-NEXT: v_perm_b32 v3, v32, v46, s615826; GFX9-NEXT: v_perm_b32 v4, v61, v45, s615827; GFX9-NEXT: v_perm_b32 v5, v60, v44, s615828; GFX9-NEXT: v_perm_b32 v6, v59, v43, s615829; GFX9-NEXT: v_perm_b32 v7, v58, v42, s615830; GFX9-NEXT: v_perm_b32 v8, v63, v41, s615831; GFX9-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]15832; GFX9-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]15833; GFX9-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]15834; GFX9-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]15835; GFX9-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]15836; GFX9-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]15837; GFX9-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]15838; GFX9-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]15839; GFX9-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]15840; GFX9-NEXT: s_waitcnt vmcnt(14)15841; GFX9-NEXT: v_perm_b32 v23, v24, v23, s615842; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload15843; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload15844; GFX9-NEXT: s_waitcnt vmcnt(15)15845; GFX9-NEXT: v_perm_b32 v9, v9, v40, s615846; GFX9-NEXT: s_waitcnt vmcnt(14)15847; GFX9-NEXT: v_perm_b32 v10, v10, v55, s615848; GFX9-NEXT: s_waitcnt vmcnt(13)15849; GFX9-NEXT: v_perm_b32 v11, v11, v54, s615850; GFX9-NEXT: s_waitcnt vmcnt(12)15851; GFX9-NEXT: v_perm_b32 v12, v12, v53, s615852; GFX9-NEXT: s_waitcnt vmcnt(11)15853; GFX9-NEXT: v_perm_b32 v13, v13, v52, s615854; GFX9-NEXT: s_waitcnt vmcnt(10)15855; GFX9-NEXT: v_perm_b32 v14, v14, v51, s615856; GFX9-NEXT: s_waitcnt vmcnt(9)15857; GFX9-NEXT: v_perm_b32 v15, v15, v50, s615858; GFX9-NEXT: s_waitcnt vmcnt(8)15859; GFX9-NEXT: v_perm_b32 v16, v16, v49, s615860; GFX9-NEXT: s_waitcnt vmcnt(7)15861; GFX9-NEXT: v_perm_b32 v17, v17, v48, s615862; GFX9-NEXT: s_waitcnt vmcnt(6)15863; GFX9-NEXT: v_perm_b32 v18, v18, v39, s615864; GFX9-NEXT: s_waitcnt vmcnt(5)15865; GFX9-NEXT: v_perm_b32 v19, v19, v38, s615866; GFX9-NEXT: s_waitcnt vmcnt(4)15867; GFX9-NEXT: v_perm_b32 v20, v20, v37, s615868; GFX9-NEXT: s_waitcnt vmcnt(3)15869; GFX9-NEXT: v_perm_b32 v21, v21, v36, s615870; GFX9-NEXT: s_waitcnt vmcnt(2)15871; GFX9-NEXT: v_perm_b32 v22, v22, v35, s615872; GFX9-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]15873; GFX9-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]15874; GFX9-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]15875; GFX9-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]15876; GFX9-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]15877; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]15878; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]15879; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]15880; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]15881; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]15882; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]15883; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]15884; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]15885; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]15886; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]15887; GFX9-NEXT: s_waitcnt vmcnt(0)15888; GFX9-NEXT: v_perm_b32 v24, v25, v24, s615889; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload15890; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload15891; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]15892; GFX9-NEXT: s_waitcnt vmcnt(0)15893; GFX9-NEXT: v_perm_b32 v25, v26, v25, s615894; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]15895; GFX9-NEXT: .LBB30_4: ; %end15896; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]15897; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload15898; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload15899; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload15900; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload15901; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload15902; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload15903; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload15904; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload15905; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload15906; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload15907; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload15908; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload15909; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload15910; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload15911; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload15912; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload15913; GFX9-NEXT: s_waitcnt vmcnt(0)15914; GFX9-NEXT: s_setpc_b64 s[30:31]15915;15916; GFX11-TRUE16-LABEL: bitcast_v52i16_to_v26f32:15917; GFX11-TRUE16: ; %bb.0:15918; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15919; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo15920; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2615921; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s015922; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)15923; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s015924; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB30_215925; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true15926; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]15927; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]15928; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]15929; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]15930; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]15931; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]15932; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]15933; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]15934; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]15935; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]15936; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]15937; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]15938; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]15939; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]15940; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]15941; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]15942; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]15943; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]15944; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]15945; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]15946; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]15947; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]15948; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]15949; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]15950; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]15951; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]15952; GFX11-TRUE16-NEXT: .LBB30_2: ; %end15953; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s015954; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]15955;15956; GFX11-FAKE16-LABEL: bitcast_v52i16_to_v26f32:15957; GFX11-FAKE16: ; %bb.0:15958; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15959; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2515960; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2415961; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2315962; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2215963; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2115964; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2015965; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1915966; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1815967; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1715968; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1615969; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1515970; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1415971; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1315972; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1215973; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1115974; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1015975; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v915976; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v815977; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v715978; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v615979; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v515980; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v415981; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v015982; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v115983; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v215984; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v315985; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2615986; GFX11-FAKE16-NEXT: v_perm_b32 v0, v65, v0, 0x504010015987; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x504010015988; GFX11-FAKE16-NEXT: v_perm_b32 v2, v67, v2, 0x504010015989; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x504010015990; GFX11-FAKE16-NEXT: v_perm_b32 v4, v64, v4, 0x504010015991; GFX11-FAKE16-NEXT: v_perm_b32 v5, v55, v5, 0x504010015992; GFX11-FAKE16-NEXT: v_perm_b32 v6, v54, v6, 0x504010015993; GFX11-FAKE16-NEXT: v_perm_b32 v7, v53, v7, 0x504010015994; GFX11-FAKE16-NEXT: v_perm_b32 v8, v52, v8, 0x504010015995; GFX11-FAKE16-NEXT: v_perm_b32 v9, v51, v9, 0x504010015996; GFX11-FAKE16-NEXT: v_perm_b32 v10, v50, v10, 0x504010015997; GFX11-FAKE16-NEXT: v_perm_b32 v11, v49, v11, 0x504010015998; GFX11-FAKE16-NEXT: v_perm_b32 v12, v48, v12, 0x504010015999; GFX11-FAKE16-NEXT: v_perm_b32 v13, v39, v13, 0x504010016000; GFX11-FAKE16-NEXT: v_perm_b32 v14, v38, v14, 0x504010016001; GFX11-FAKE16-NEXT: v_perm_b32 v15, v37, v15, 0x504010016002; GFX11-FAKE16-NEXT: v_perm_b32 v16, v36, v16, 0x504010016003; GFX11-FAKE16-NEXT: v_perm_b32 v17, v35, v17, 0x504010016004; GFX11-FAKE16-NEXT: v_perm_b32 v18, v34, v18, 0x504010016005; GFX11-FAKE16-NEXT: v_perm_b32 v19, v33, v19, 0x504010016006; GFX11-FAKE16-NEXT: v_perm_b32 v20, v32, v20, 0x504010016007; GFX11-FAKE16-NEXT: v_perm_b32 v21, v31, v21, 0x504010016008; GFX11-FAKE16-NEXT: v_perm_b32 v22, v30, v22, 0x504010016009; GFX11-FAKE16-NEXT: v_perm_b32 v23, v29, v23, 0x504010016010; GFX11-FAKE16-NEXT: v_perm_b32 v24, v28, v24, 0x504010016011; GFX11-FAKE16-NEXT: v_perm_b32 v25, v27, v25, 0x504010016012; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo16013; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)16014; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s016015; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s016016; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB30_216017; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.true16018; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]16019; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]16020; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]16021; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]16022; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]16023; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]16024; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]16025; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]16026; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]16027; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]16028; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]16029; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]16030; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]16031; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]16032; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]16033; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]16034; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]16035; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]16036; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]16037; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]16038; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]16039; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]16040; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]16041; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]16042; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]16043; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]16044; GFX11-FAKE16-NEXT: .LBB30_2: ; %end16045; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s016046; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]16047 %cmp = icmp eq i32 %b, 016048 br i1 %cmp, label %cmp.true, label %cmp.false16049 16050cmp.true:16051 %a1 = add <52 x i16> %a, splat (i16 3)16052 %a2 = bitcast <52 x i16> %a1 to <26 x float>16053 br label %end16054 16055cmp.false:16056 %a3 = bitcast <52 x i16> %a to <26 x float>16057 br label %end16058 16059end:16060 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]16061 ret <26 x float> %phi16062}16063 16064define inreg <26 x float> @bitcast_v52i16_to_v26f32_scalar(<52 x i16> inreg %a, i32 inreg %b) {16065; SI-LABEL: bitcast_v52i16_to_v26f32_scalar:16066; SI: ; %bb.0:16067; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16068; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill16069; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill16070; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill16071; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill16072; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill16073; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill16074; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill16075; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill16076; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill16077; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill16078; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill16079; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill16080; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill16081; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill16082; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill16083; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill16084; SI-NEXT: v_mov_b32_e32 v47, v816085; SI-NEXT: s_waitcnt expcnt(6)16086; SI-NEXT: v_mov_b32_e32 v57, v616087; SI-NEXT: v_mov_b32_e32 v32, v416088; SI-NEXT: v_mov_b32_e32 v34, v216089; SI-NEXT: v_mov_b32_e32 v37, v016090; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:2816091; SI-NEXT: buffer_load_dword v2, off, s[0:3], s3216092; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:816093; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:416094; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:1616095; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:1216096; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:2416097; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:2016098; SI-NEXT: s_waitcnt expcnt(1)16099; SI-NEXT: v_mov_b32_e32 v62, v3016100; SI-NEXT: v_mov_b32_e32 v30, v2416101; SI-NEXT: v_mov_b32_e32 v38, v2216102; SI-NEXT: v_mov_b32_e32 v39, v2016103; SI-NEXT: v_mov_b32_e32 v48, v1816104; SI-NEXT: v_mov_b32_e32 v49, v1616105; SI-NEXT: v_mov_b32_e32 v50, v1416106; SI-NEXT: v_mov_b32_e32 v40, v1216107; SI-NEXT: v_mov_b32_e32 v41, v1016108; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v116109; SI-NEXT: s_waitcnt expcnt(0)16110; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v316111; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v516112; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v716113; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v916114; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v1116115; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v1316116; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v1516117; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v1716118; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v1916119; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v2116120; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v2316121; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v2516122; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v2716123; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v2916124; SI-NEXT: s_waitcnt vmcnt(7)16125; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v016126; SI-NEXT: s_waitcnt vmcnt(6)16127; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v216128; SI-NEXT: s_waitcnt vmcnt(5)16129; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v416130; SI-NEXT: s_and_b64 s[4:5], vcc, exec16131; SI-NEXT: s_waitcnt vmcnt(3)16132; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v616133; SI-NEXT: s_waitcnt vmcnt(1)16134; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v816135; SI-NEXT: s_cbranch_scc0 .LBB31_416136; SI-NEXT: ; %bb.1: ; %cmp.false16137; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3716138; SI-NEXT: v_or_b32_e32 v7, v0, v3116139; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3216140; SI-NEXT: v_or_b32_e32 v9, v0, v6116141; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5716142; SI-NEXT: v_or_b32_e32 v10, v0, v6016143; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4716144; SI-NEXT: v_or_b32_e32 v11, v0, v5916145; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4116146; SI-NEXT: v_or_b32_e32 v12, v0, v3616147; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4016148; SI-NEXT: v_or_b32_e32 v13, v0, v3516149; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5016150; SI-NEXT: v_or_b32_e32 v14, v0, v3316151; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4916152; SI-NEXT: v_or_b32_e32 v15, v0, v5516153; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4816154; SI-NEXT: v_or_b32_e32 v16, v0, v5416155; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3916156; SI-NEXT: v_or_b32_e32 v17, v0, v5816157; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3816158; SI-NEXT: s_and_b32 s4, s16, 0xffff16159; SI-NEXT: s_lshl_b32 s5, s17, 1616160; SI-NEXT: v_or_b32_e32 v18, v0, v5316161; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3016162; SI-NEXT: s_or_b32 s4, s4, s516163; SI-NEXT: s_and_b32 s5, s18, 0xffff16164; SI-NEXT: s_lshl_b32 s6, s19, 1616165; SI-NEXT: v_or_b32_e32 v19, v0, v5616166; SI-NEXT: v_and_b32_e32 v0, 0xffff, v2616167; SI-NEXT: s_or_b32 s5, s5, s616168; SI-NEXT: s_and_b32 s6, s20, 0xffff16169; SI-NEXT: s_lshl_b32 s7, s21, 1616170; SI-NEXT: v_or_b32_e32 v20, v0, v5216171; SI-NEXT: v_and_b32_e32 v0, 0xffff, v2816172; SI-NEXT: s_or_b32 s6, s6, s716173; SI-NEXT: s_and_b32 s7, s22, 0xffff16174; SI-NEXT: s_lshl_b32 s8, s23, 1616175; SI-NEXT: v_or_b32_e32 v21, v0, v4616176; SI-NEXT: v_and_b32_e32 v0, 0xffff, v6216177; SI-NEXT: s_or_b32 s7, s7, s816178; SI-NEXT: s_and_b32 s8, s24, 0xffff16179; SI-NEXT: s_lshl_b32 s9, s25, 1616180; SI-NEXT: v_or_b32_e32 v22, v0, v4516181; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4416182; SI-NEXT: s_or_b32 s8, s8, s916183; SI-NEXT: s_and_b32 s9, s26, 0xffff16184; SI-NEXT: s_lshl_b32 s10, s27, 1616185; SI-NEXT: v_or_b32_e32 v23, v0, v5116186; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4316187; SI-NEXT: s_or_b32 s9, s9, s1016188; SI-NEXT: s_and_b32 s10, s28, 0xffff16189; SI-NEXT: s_lshl_b32 s11, s29, 1616190; SI-NEXT: v_and_b32_e32 v1, 0xffff, v3416191; SI-NEXT: v_or_b32_e32 v24, v0, v2916192; SI-NEXT: s_waitcnt vmcnt(0)16193; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4216194; SI-NEXT: s_or_b32 s10, s10, s1116195; SI-NEXT: v_or_b32_e32 v8, v1, v6316196; SI-NEXT: v_or_b32_e32 v25, v0, v2716197; SI-NEXT: v_mov_b32_e32 v0, s416198; SI-NEXT: v_mov_b32_e32 v1, s516199; SI-NEXT: v_mov_b32_e32 v2, s616200; SI-NEXT: v_mov_b32_e32 v3, s716201; SI-NEXT: v_mov_b32_e32 v4, s816202; SI-NEXT: v_mov_b32_e32 v5, s916203; SI-NEXT: v_mov_b32_e32 v6, s1016204; SI-NEXT: s_cbranch_execnz .LBB31_316205; SI-NEXT: .LBB31_2: ; %cmp.true16206; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3716207; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016208; SI-NEXT: s_waitcnt vmcnt(4)16209; SI-NEXT: v_or_b32_e32 v0, v31, v016210; SI-NEXT: v_add_i32_e32 v7, vcc, 0x30000, v016211; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3216212; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016213; SI-NEXT: s_waitcnt vmcnt(2)16214; SI-NEXT: v_or_b32_e32 v0, v61, v016215; SI-NEXT: v_add_i32_e32 v9, vcc, 0x30000, v016216; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5716217; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016218; SI-NEXT: v_or_b32_e32 v0, v60, v016219; SI-NEXT: v_add_i32_e32 v10, vcc, 0x30000, v016220; SI-NEXT: s_waitcnt vmcnt(0)16221; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4716222; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016223; SI-NEXT: v_or_b32_e32 v0, v59, v016224; SI-NEXT: v_add_i32_e32 v11, vcc, 0x30000, v016225; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4116226; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016227; SI-NEXT: v_or_b32_e32 v0, v36, v016228; SI-NEXT: v_add_i32_e32 v12, vcc, 0x30000, v016229; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4016230; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016231; SI-NEXT: v_or_b32_e32 v0, v35, v016232; SI-NEXT: v_add_i32_e32 v13, vcc, 0x30000, v016233; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5016234; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016235; SI-NEXT: v_or_b32_e32 v0, v33, v016236; SI-NEXT: v_add_i32_e32 v14, vcc, 0x30000, v016237; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4916238; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016239; SI-NEXT: v_or_b32_e32 v0, v55, v016240; SI-NEXT: v_add_i32_e32 v15, vcc, 0x30000, v016241; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4816242; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016243; SI-NEXT: v_or_b32_e32 v0, v54, v016244; SI-NEXT: v_add_i32_e32 v16, vcc, 0x30000, v016245; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3916246; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016247; SI-NEXT: v_or_b32_e32 v0, v58, v016248; SI-NEXT: v_add_i32_e32 v17, vcc, 0x30000, v016249; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3816250; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016251; SI-NEXT: v_or_b32_e32 v0, v53, v016252; SI-NEXT: v_add_i32_e32 v18, vcc, 0x30000, v016253; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3016254; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016255; SI-NEXT: v_or_b32_e32 v0, v56, v016256; SI-NEXT: v_add_i32_e32 v19, vcc, 0x30000, v016257; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v2616258; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016259; SI-NEXT: v_or_b32_e32 v0, v52, v016260; SI-NEXT: v_add_i32_e32 v20, vcc, 0x30000, v016261; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v2816262; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016263; SI-NEXT: v_or_b32_e32 v0, v46, v016264; SI-NEXT: v_add_i32_e32 v21, vcc, 0x30000, v016265; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v6216266; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016267; SI-NEXT: s_add_i32 s16, s16, 316268; SI-NEXT: v_or_b32_e32 v0, v45, v016269; SI-NEXT: s_and_b32 s4, s16, 0xffff16270; SI-NEXT: s_lshl_b32 s5, s17, 1616271; SI-NEXT: s_add_i32 s18, s18, 316272; SI-NEXT: v_add_i32_e32 v22, vcc, 0x30000, v016273; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4416274; SI-NEXT: s_or_b32 s4, s5, s416275; SI-NEXT: s_and_b32 s5, s18, 0xffff16276; SI-NEXT: s_lshl_b32 s6, s19, 1616277; SI-NEXT: s_add_i32 s20, s20, 316278; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016279; SI-NEXT: s_or_b32 s5, s6, s516280; SI-NEXT: s_and_b32 s6, s20, 0xffff16281; SI-NEXT: s_lshl_b32 s7, s21, 1616282; SI-NEXT: s_add_i32 s22, s22, 316283; SI-NEXT: v_or_b32_e32 v0, v51, v016284; SI-NEXT: s_or_b32 s6, s7, s616285; SI-NEXT: s_and_b32 s7, s22, 0xffff16286; SI-NEXT: s_lshl_b32 s8, s23, 1616287; SI-NEXT: s_add_i32 s24, s24, 316288; SI-NEXT: v_add_i32_e32 v23, vcc, 0x30000, v016289; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4316290; SI-NEXT: s_or_b32 s7, s8, s716291; SI-NEXT: s_and_b32 s8, s24, 0xffff16292; SI-NEXT: s_lshl_b32 s9, s25, 1616293; SI-NEXT: s_add_i32 s26, s26, 316294; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016295; SI-NEXT: s_or_b32 s8, s9, s816296; SI-NEXT: s_and_b32 s9, s26, 0xffff16297; SI-NEXT: s_lshl_b32 s10, s27, 1616298; SI-NEXT: s_add_i32 s28, s28, 316299; SI-NEXT: v_or_b32_e32 v0, v29, v016300; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v3416301; SI-NEXT: s_or_b32 s9, s10, s916302; SI-NEXT: s_and_b32 s10, s28, 0xffff16303; SI-NEXT: s_lshl_b32 s11, s29, 1616304; SI-NEXT: v_add_i32_e32 v24, vcc, 0x30000, v016305; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4216306; SI-NEXT: v_and_b32_e32 v1, 0xffff, v116307; SI-NEXT: s_or_b32 s10, s11, s1016308; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016309; SI-NEXT: v_or_b32_e32 v1, v63, v116310; SI-NEXT: s_add_i32 s4, s4, 0x3000016311; SI-NEXT: s_add_i32 s5, s5, 0x3000016312; SI-NEXT: s_add_i32 s6, s6, 0x3000016313; SI-NEXT: s_add_i32 s7, s7, 0x3000016314; SI-NEXT: s_add_i32 s8, s8, 0x3000016315; SI-NEXT: s_add_i32 s9, s9, 0x3000016316; SI-NEXT: s_add_i32 s10, s10, 0x3000016317; SI-NEXT: v_or_b32_e32 v0, v27, v016318; SI-NEXT: v_add_i32_e32 v8, vcc, 0x30000, v116319; SI-NEXT: v_add_i32_e32 v25, vcc, 0x30000, v016320; SI-NEXT: v_mov_b32_e32 v0, s416321; SI-NEXT: v_mov_b32_e32 v1, s516322; SI-NEXT: v_mov_b32_e32 v2, s616323; SI-NEXT: v_mov_b32_e32 v3, s716324; SI-NEXT: v_mov_b32_e32 v4, s816325; SI-NEXT: v_mov_b32_e32 v5, s916326; SI-NEXT: v_mov_b32_e32 v6, s1016327; SI-NEXT: .LBB31_3: ; %end16328; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload16329; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload16330; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload16331; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload16332; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload16333; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload16334; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload16335; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload16336; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload16337; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload16338; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload16339; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload16340; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload16341; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload16342; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload16343; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload16344; SI-NEXT: s_waitcnt vmcnt(0)16345; SI-NEXT: s_setpc_b64 s[30:31]16346; SI-NEXT: .LBB31_4:16347; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill16348; SI-NEXT: s_waitcnt expcnt(0)16349; SI-NEXT: v_mov_b32_e32 v47, v4316350; SI-NEXT: v_mov_b32_e32 v43, v5016351; SI-NEXT: v_mov_b32_e32 v50, v3816352; SI-NEXT: v_mov_b32_e32 v38, v6216353; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill16354; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill16355; SI-NEXT: v_mov_b32_e32 v62, v5616356; SI-NEXT: v_mov_b32_e32 v56, v4416357; SI-NEXT: v_mov_b32_e32 v44, v4016358; SI-NEXT: v_mov_b32_e32 v40, v3916359; SI-NEXT: v_mov_b32_e32 v39, v2816360; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill16361; SI-NEXT: s_waitcnt expcnt(0)16362; SI-NEXT: v_mov_b32_e32 v59, v4516363; SI-NEXT: v_mov_b32_e32 v45, v4116364; SI-NEXT: v_mov_b32_e32 v41, v4816365; SI-NEXT: v_mov_b32_e32 v48, v2616366; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill16367; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill16368; SI-NEXT: s_waitcnt expcnt(0)16369; SI-NEXT: v_mov_b32_e32 v60, v5216370; SI-NEXT: v_mov_b32_e32 v52, v4616371; SI-NEXT: s_waitcnt vmcnt(6)16372; SI-NEXT: v_mov_b32_e32 v46, v4216373; SI-NEXT: v_mov_b32_e32 v42, v4916374; SI-NEXT: v_mov_b32_e32 v49, v3016375; SI-NEXT: v_mov_b32_e32 v61, v6316376; SI-NEXT: v_mov_b32_e32 v63, v5716377; SI-NEXT: v_mov_b32_e32 v57, v2716378; SI-NEXT: v_mov_b32_e32 v53, v3716379; SI-NEXT: v_mov_b32_e32 v37, v3616380; SI-NEXT: v_mov_b32_e32 v36, v3516381; SI-NEXT: v_mov_b32_e32 v35, v3416382; SI-NEXT: v_mov_b32_e32 v34, v3316383; SI-NEXT: v_mov_b32_e32 v33, v5516384; SI-NEXT: v_mov_b32_e32 v55, v3216385; SI-NEXT: v_mov_b32_e32 v32, v5416386; SI-NEXT: v_mov_b32_e32 v54, v5816387; SI-NEXT: v_mov_b32_e32 v58, v5116388; SI-NEXT: v_mov_b32_e32 v51, v2916389; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3116390; SI-NEXT: v_mov_b32_e32 v29, v5116391; SI-NEXT: v_mov_b32_e32 v51, v5816392; SI-NEXT: v_mov_b32_e32 v58, v5416393; SI-NEXT: v_mov_b32_e32 v54, v3216394; SI-NEXT: v_mov_b32_e32 v32, v5516395; SI-NEXT: v_mov_b32_e32 v55, v3316396; SI-NEXT: v_mov_b32_e32 v33, v3416397; SI-NEXT: v_mov_b32_e32 v34, v3516398; SI-NEXT: v_mov_b32_e32 v35, v3616399; SI-NEXT: v_mov_b32_e32 v36, v3716400; SI-NEXT: v_mov_b32_e32 v37, v5316401; SI-NEXT: v_mov_b32_e32 v27, v5716402; SI-NEXT: v_mov_b32_e32 v57, v6316403; SI-NEXT: v_mov_b32_e32 v63, v6116404; SI-NEXT: v_mov_b32_e32 v30, v4916405; SI-NEXT: v_mov_b32_e32 v49, v4216406; SI-NEXT: v_mov_b32_e32 v42, v4616407; SI-NEXT: v_mov_b32_e32 v46, v5216408; SI-NEXT: v_mov_b32_e32 v52, v6016409; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload16410; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload16411; SI-NEXT: v_mov_b32_e32 v26, v4816412; SI-NEXT: v_mov_b32_e32 v48, v4116413; SI-NEXT: v_mov_b32_e32 v41, v4516414; SI-NEXT: v_mov_b32_e32 v45, v5916415; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload16416; SI-NEXT: v_mov_b32_e32 v28, v3916417; SI-NEXT: v_mov_b32_e32 v39, v4016418; SI-NEXT: v_mov_b32_e32 v40, v4416419; SI-NEXT: v_mov_b32_e32 v44, v5616420; SI-NEXT: v_mov_b32_e32 v56, v6216421; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload16422; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload16423; SI-NEXT: v_mov_b32_e32 v62, v3816424; SI-NEXT: v_mov_b32_e32 v38, v5016425; SI-NEXT: v_mov_b32_e32 v50, v4316426; SI-NEXT: v_mov_b32_e32 v43, v4716427; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload16428; SI-NEXT: s_branch .LBB31_216429;16430; VI-LABEL: bitcast_v52i16_to_v26f32_scalar:16431; VI: ; %bb.0:16432; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16433; VI-NEXT: s_lshr_b32 s6, s29, 1616434; VI-NEXT: s_lshr_b32 s7, s28, 1616435; VI-NEXT: s_lshr_b32 s8, s27, 1616436; VI-NEXT: s_lshr_b32 s9, s26, 1616437; VI-NEXT: s_lshr_b32 s10, s25, 1616438; VI-NEXT: s_lshr_b32 s11, s24, 1616439; VI-NEXT: s_lshr_b32 s12, s23, 1616440; VI-NEXT: s_lshr_b32 s13, s22, 1616441; VI-NEXT: s_lshr_b32 s14, s21, 1616442; VI-NEXT: s_lshr_b32 s15, s20, 1616443; VI-NEXT: s_lshr_b32 s40, s19, 1616444; VI-NEXT: s_lshr_b32 s41, s18, 1616445; VI-NEXT: s_lshr_b32 s42, s17, 1616446; VI-NEXT: s_lshr_b32 s43, s16, 1616447; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1216448; VI-NEXT: v_mov_b32_e32 v32, v1116449; VI-NEXT: v_mov_b32_e32 v33, v1016450; VI-NEXT: v_mov_b32_e32 v34, v916451; VI-NEXT: v_mov_b32_e32 v35, v816452; VI-NEXT: v_mov_b32_e32 v36, v716453; VI-NEXT: v_mov_b32_e32 v37, v616454; VI-NEXT: v_mov_b32_e32 v38, v516455; VI-NEXT: v_mov_b32_e32 v39, v416456; VI-NEXT: v_mov_b32_e32 v48, v316457; VI-NEXT: v_mov_b32_e32 v49, v216458; VI-NEXT: v_mov_b32_e32 v50, v116459; VI-NEXT: v_mov_b32_e32 v51, v016460; VI-NEXT: s_and_b64 s[4:5], vcc, exec16461; VI-NEXT: s_cbranch_scc0 .LBB31_416462; VI-NEXT: ; %bb.1: ; %cmp.false16463; VI-NEXT: s_and_b32 s4, 0xffff, s1616464; VI-NEXT: s_lshl_b32 s5, s43, 1616465; VI-NEXT: s_or_b32 s4, s4, s516466; VI-NEXT: s_and_b32 s5, 0xffff, s1716467; VI-NEXT: s_lshl_b32 s44, s42, 1616468; VI-NEXT: s_or_b32 s5, s5, s4416469; VI-NEXT: s_and_b32 s44, 0xffff, s1816470; VI-NEXT: s_lshl_b32 s45, s41, 1616471; VI-NEXT: s_or_b32 s44, s44, s4516472; VI-NEXT: s_and_b32 s45, 0xffff, s1916473; VI-NEXT: s_lshl_b32 s46, s40, 1616474; VI-NEXT: v_mov_b32_e32 v0, 1616475; VI-NEXT: s_or_b32 s45, s45, s4616476; VI-NEXT: s_and_b32 s46, 0xffff, s2016477; VI-NEXT: s_lshl_b32 s47, s15, 1616478; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116479; VI-NEXT: s_or_b32 s46, s46, s4716480; VI-NEXT: s_and_b32 s47, 0xffff, s2116481; VI-NEXT: s_lshl_b32 s56, s14, 1616482; VI-NEXT: v_or_b32_sdwa v14, v51, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16483; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116484; VI-NEXT: s_or_b32 s47, s47, s5616485; VI-NEXT: s_and_b32 s56, 0xffff, s2216486; VI-NEXT: s_lshl_b32 s57, s13, 1616487; VI-NEXT: v_or_b32_sdwa v16, v49, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16488; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116489; VI-NEXT: s_or_b32 s56, s56, s5716490; VI-NEXT: s_and_b32 s57, 0xffff, s2316491; VI-NEXT: s_lshl_b32 s58, s12, 1616492; VI-NEXT: v_or_b32_sdwa v17, v48, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16493; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116494; VI-NEXT: s_or_b32 s57, s57, s5816495; VI-NEXT: s_and_b32 s58, 0xffff, s2416496; VI-NEXT: s_lshl_b32 s59, s11, 1616497; VI-NEXT: v_or_b32_sdwa v18, v39, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16498; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116499; VI-NEXT: s_or_b32 s58, s58, s5916500; VI-NEXT: s_and_b32 s59, 0xffff, s2516501; VI-NEXT: s_lshl_b32 s60, s10, 1616502; VI-NEXT: v_or_b32_sdwa v19, v38, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16503; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116504; VI-NEXT: s_or_b32 s59, s59, s6016505; VI-NEXT: s_and_b32 s60, 0xffff, s2616506; VI-NEXT: s_lshl_b32 s61, s9, 1616507; VI-NEXT: v_or_b32_sdwa v20, v37, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16508; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116509; VI-NEXT: s_or_b32 s60, s60, s6116510; VI-NEXT: s_and_b32 s61, 0xffff, s2716511; VI-NEXT: s_lshl_b32 s62, s8, 1616512; VI-NEXT: v_or_b32_sdwa v21, v36, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16513; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116514; VI-NEXT: s_or_b32 s61, s61, s6216515; VI-NEXT: s_and_b32 s62, 0xffff, s2816516; VI-NEXT: s_lshl_b32 s63, s7, 1616517; VI-NEXT: v_or_b32_sdwa v22, v35, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16518; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116519; VI-NEXT: s_or_b32 s62, s62, s6316520; VI-NEXT: s_and_b32 s63, 0xffff, s2916521; VI-NEXT: s_lshl_b32 s72, s6, 1616522; VI-NEXT: v_lshlrev_b32_sdwa v2, v0, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116523; VI-NEXT: v_or_b32_sdwa v23, v34, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16524; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116525; VI-NEXT: v_lshlrev_b32_sdwa v0, v0, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116526; VI-NEXT: s_or_b32 s63, s63, s7216527; VI-NEXT: v_or_b32_sdwa v15, v50, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16528; VI-NEXT: v_or_b32_sdwa v24, v33, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16529; VI-NEXT: v_or_b32_sdwa v25, v32, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16530; VI-NEXT: v_mov_b32_e32 v0, s416531; VI-NEXT: v_mov_b32_e32 v1, s516532; VI-NEXT: v_mov_b32_e32 v2, s4416533; VI-NEXT: v_mov_b32_e32 v3, s4516534; VI-NEXT: v_mov_b32_e32 v4, s4616535; VI-NEXT: v_mov_b32_e32 v5, s4716536; VI-NEXT: v_mov_b32_e32 v6, s5616537; VI-NEXT: v_mov_b32_e32 v7, s5716538; VI-NEXT: v_mov_b32_e32 v8, s5816539; VI-NEXT: v_mov_b32_e32 v9, s5916540; VI-NEXT: v_mov_b32_e32 v10, s6016541; VI-NEXT: v_mov_b32_e32 v11, s6116542; VI-NEXT: v_mov_b32_e32 v12, s6216543; VI-NEXT: v_mov_b32_e32 v13, s6316544; VI-NEXT: s_cbranch_execnz .LBB31_316545; VI-NEXT: .LBB31_2: ; %cmp.true16546; VI-NEXT: v_mov_b32_e32 v1, 1616547; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v5116548; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116549; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016550; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v5016551; VI-NEXT: v_lshlrev_b32_sdwa v3, v1, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116552; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016553; VI-NEXT: v_add_u32_e32 v14, vcc, 0x30000, v016554; VI-NEXT: v_add_u32_e32 v15, vcc, 0x30000, v216555; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v4916556; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116557; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016558; VI-NEXT: v_add_u32_e32 v16, vcc, 0x30000, v016559; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v4816560; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116561; VI-NEXT: s_add_i32 s16, s16, 316562; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016563; VI-NEXT: s_and_b32 s4, s16, 0xffff16564; VI-NEXT: s_lshl_b32 s5, s43, 1616565; VI-NEXT: s_add_i32 s17, s17, 316566; VI-NEXT: v_add_u32_e32 v17, vcc, 0x30000, v016567; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3916568; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116569; VI-NEXT: s_or_b32 s4, s5, s416570; VI-NEXT: s_and_b32 s5, s17, 0xffff16571; VI-NEXT: s_lshl_b32 s16, s42, 1616572; VI-NEXT: s_add_i32 s18, s18, 316573; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016574; VI-NEXT: s_or_b32 s5, s16, s516575; VI-NEXT: s_and_b32 s16, s18, 0xffff16576; VI-NEXT: s_lshl_b32 s17, s41, 1616577; VI-NEXT: s_add_i32 s19, s19, 316578; VI-NEXT: v_add_u32_e32 v18, vcc, 0x30000, v016579; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3816580; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116581; VI-NEXT: s_or_b32 s16, s17, s1616582; VI-NEXT: s_and_b32 s17, s19, 0xffff16583; VI-NEXT: s_lshl_b32 s18, s40, 1616584; VI-NEXT: s_add_i32 s20, s20, 316585; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016586; VI-NEXT: s_or_b32 s17, s18, s1716587; VI-NEXT: s_and_b32 s18, s20, 0xffff16588; VI-NEXT: s_lshl_b32 s15, s15, 1616589; VI-NEXT: s_add_i32 s21, s21, 316590; VI-NEXT: v_add_u32_e32 v19, vcc, 0x30000, v016591; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3716592; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116593; VI-NEXT: s_or_b32 s15, s15, s1816594; VI-NEXT: s_and_b32 s18, s21, 0xffff16595; VI-NEXT: s_lshl_b32 s14, s14, 1616596; VI-NEXT: s_add_i32 s22, s22, 316597; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016598; VI-NEXT: s_or_b32 s14, s14, s1816599; VI-NEXT: s_and_b32 s18, s22, 0xffff16600; VI-NEXT: s_lshl_b32 s13, s13, 1616601; VI-NEXT: s_add_i32 s23, s23, 316602; VI-NEXT: v_add_u32_e32 v20, vcc, 0x30000, v016603; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3616604; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116605; VI-NEXT: s_or_b32 s13, s13, s1816606; VI-NEXT: s_and_b32 s18, s23, 0xffff16607; VI-NEXT: s_lshl_b32 s12, s12, 1616608; VI-NEXT: s_add_i32 s24, s24, 316609; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016610; VI-NEXT: s_or_b32 s12, s12, s1816611; VI-NEXT: s_and_b32 s18, s24, 0xffff16612; VI-NEXT: s_lshl_b32 s11, s11, 1616613; VI-NEXT: s_add_i32 s25, s25, 316614; VI-NEXT: v_add_u32_e32 v21, vcc, 0x30000, v016615; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3516616; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116617; VI-NEXT: s_or_b32 s11, s11, s1816618; VI-NEXT: s_and_b32 s18, s25, 0xffff16619; VI-NEXT: s_lshl_b32 s10, s10, 1616620; VI-NEXT: s_add_i32 s26, s26, 316621; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016622; VI-NEXT: s_or_b32 s10, s10, s1816623; VI-NEXT: s_and_b32 s18, s26, 0xffff16624; VI-NEXT: s_lshl_b32 s9, s9, 1616625; VI-NEXT: s_add_i32 s27, s27, 316626; VI-NEXT: v_add_u32_e32 v22, vcc, 0x30000, v016627; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3416628; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116629; VI-NEXT: s_or_b32 s9, s9, s1816630; VI-NEXT: s_and_b32 s18, s27, 0xffff16631; VI-NEXT: s_lshl_b32 s8, s8, 1616632; VI-NEXT: s_add_i32 s28, s28, 316633; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016634; VI-NEXT: s_or_b32 s8, s8, s1816635; VI-NEXT: s_and_b32 s18, s28, 0xffff16636; VI-NEXT: s_lshl_b32 s7, s7, 1616637; VI-NEXT: s_add_i32 s29, s29, 316638; VI-NEXT: v_add_u32_e32 v23, vcc, 0x30000, v016639; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3316640; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116641; VI-NEXT: s_or_b32 s7, s7, s1816642; VI-NEXT: s_and_b32 s18, s29, 0xffff16643; VI-NEXT: s_lshl_b32 s6, s6, 1616644; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016645; VI-NEXT: s_or_b32 s6, s6, s1816646; VI-NEXT: v_add_u32_e32 v24, vcc, 0x30000, v016647; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3216648; VI-NEXT: v_lshlrev_b32_sdwa v1, v1, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116649; VI-NEXT: s_add_i32 s4, s4, 0x3000016650; VI-NEXT: s_add_i32 s5, s5, 0x3000016651; VI-NEXT: s_add_i32 s16, s16, 0x3000016652; VI-NEXT: s_add_i32 s17, s17, 0x3000016653; VI-NEXT: s_add_i32 s15, s15, 0x3000016654; VI-NEXT: s_add_i32 s14, s14, 0x3000016655; VI-NEXT: s_add_i32 s13, s13, 0x3000016656; VI-NEXT: s_add_i32 s12, s12, 0x3000016657; VI-NEXT: s_add_i32 s11, s11, 0x3000016658; VI-NEXT: s_add_i32 s10, s10, 0x3000016659; VI-NEXT: s_add_i32 s9, s9, 0x3000016660; VI-NEXT: s_add_i32 s8, s8, 0x3000016661; VI-NEXT: s_add_i32 s7, s7, 0x3000016662; VI-NEXT: s_add_i32 s6, s6, 0x3000016663; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_016664; VI-NEXT: v_add_u32_e32 v25, vcc, 0x30000, v016665; VI-NEXT: v_mov_b32_e32 v0, s416666; VI-NEXT: v_mov_b32_e32 v1, s516667; VI-NEXT: v_mov_b32_e32 v2, s1616668; VI-NEXT: v_mov_b32_e32 v3, s1716669; VI-NEXT: v_mov_b32_e32 v4, s1516670; VI-NEXT: v_mov_b32_e32 v5, s1416671; VI-NEXT: v_mov_b32_e32 v6, s1316672; VI-NEXT: v_mov_b32_e32 v7, s1216673; VI-NEXT: v_mov_b32_e32 v8, s1116674; VI-NEXT: v_mov_b32_e32 v9, s1016675; VI-NEXT: v_mov_b32_e32 v10, s916676; VI-NEXT: v_mov_b32_e32 v11, s816677; VI-NEXT: v_mov_b32_e32 v12, s716678; VI-NEXT: v_mov_b32_e32 v13, s616679; VI-NEXT: .LBB31_3: ; %end16680; VI-NEXT: s_setpc_b64 s[30:31]16681; VI-NEXT: .LBB31_4:16682; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3116683; VI-NEXT: s_branch .LBB31_216684;16685; GFX9-LABEL: bitcast_v52i16_to_v26f32_scalar:16686; GFX9: ; %bb.0:16687; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16688; GFX9-NEXT: v_mov_b32_e32 v32, v1116689; GFX9-NEXT: v_mov_b32_e32 v33, v1016690; GFX9-NEXT: v_mov_b32_e32 v34, v916691; GFX9-NEXT: v_mov_b32_e32 v35, v816692; GFX9-NEXT: v_mov_b32_e32 v36, v716693; GFX9-NEXT: v_mov_b32_e32 v37, v616694; GFX9-NEXT: v_mov_b32_e32 v38, v516695; GFX9-NEXT: v_mov_b32_e32 v39, v416696; GFX9-NEXT: v_mov_b32_e32 v48, v316697; GFX9-NEXT: v_mov_b32_e32 v49, v216698; GFX9-NEXT: v_mov_b32_e32 v50, v116699; GFX9-NEXT: v_mov_b32_e32 v51, v016700; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1216701; GFX9-NEXT: s_lshr_b32 s40, s29, 1616702; GFX9-NEXT: s_lshr_b32 s41, s28, 1616703; GFX9-NEXT: s_lshr_b32 s42, s27, 1616704; GFX9-NEXT: s_lshr_b32 s43, s26, 1616705; GFX9-NEXT: s_lshr_b32 s15, s25, 1616706; GFX9-NEXT: s_lshr_b32 s14, s24, 1616707; GFX9-NEXT: s_lshr_b32 s13, s23, 1616708; GFX9-NEXT: s_lshr_b32 s12, s22, 1616709; GFX9-NEXT: s_lshr_b32 s11, s21, 1616710; GFX9-NEXT: s_lshr_b32 s10, s20, 1616711; GFX9-NEXT: s_lshr_b32 s9, s19, 1616712; GFX9-NEXT: s_lshr_b32 s8, s18, 1616713; GFX9-NEXT: s_lshr_b32 s7, s17, 1616714; GFX9-NEXT: s_lshr_b32 s6, s16, 1616715; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill16716; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill16717; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill16718; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill16719; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill16720; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill16721; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill16722; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill16723; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v3216724; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v3316725; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v3416726; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v3516727; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v3616728; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v3716729; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v3816730; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v3916731; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec16732; GFX9-NEXT: s_pack_ll_b32_b16 s6, s16, s616733; GFX9-NEXT: s_pack_ll_b32_b16 s7, s17, s716734; GFX9-NEXT: s_pack_ll_b32_b16 s8, s18, s816735; GFX9-NEXT: s_pack_ll_b32_b16 s9, s19, s916736; GFX9-NEXT: s_pack_ll_b32_b16 s10, s20, s1016737; GFX9-NEXT: s_pack_ll_b32_b16 s11, s21, s1116738; GFX9-NEXT: s_pack_ll_b32_b16 s12, s22, s1216739; GFX9-NEXT: s_pack_ll_b32_b16 s13, s23, s1316740; GFX9-NEXT: s_pack_ll_b32_b16 s14, s24, s1416741; GFX9-NEXT: s_pack_ll_b32_b16 s15, s25, s1516742; GFX9-NEXT: s_pack_ll_b32_b16 s16, s26, s4316743; GFX9-NEXT: s_pack_ll_b32_b16 s17, s27, s4216744; GFX9-NEXT: s_pack_ll_b32_b16 s18, s28, s4116745; GFX9-NEXT: s_pack_ll_b32_b16 s19, s29, s4016746; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v4816747; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v4916748; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5016749; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v5116750; GFX9-NEXT: s_cbranch_scc0 .LBB31_416751; GFX9-NEXT: ; %bb.1: ; %cmp.false16752; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5116753; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v016754; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5016755; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v016756; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4916757; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v016758; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4816759; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v016760; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3916761; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v016762; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3816763; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v016764; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3716765; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v016766; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3616767; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v016768; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3516769; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v016770; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3416771; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v016772; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3316773; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v016774; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3216775; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v016776; GFX9-NEXT: v_mov_b32_e32 v0, s616777; GFX9-NEXT: v_mov_b32_e32 v1, s716778; GFX9-NEXT: v_mov_b32_e32 v2, s816779; GFX9-NEXT: v_mov_b32_e32 v3, s916780; GFX9-NEXT: v_mov_b32_e32 v4, s1016781; GFX9-NEXT: v_mov_b32_e32 v5, s1116782; GFX9-NEXT: v_mov_b32_e32 v6, s1216783; GFX9-NEXT: v_mov_b32_e32 v7, s1316784; GFX9-NEXT: v_mov_b32_e32 v8, s1416785; GFX9-NEXT: v_mov_b32_e32 v9, s1516786; GFX9-NEXT: v_mov_b32_e32 v10, s1616787; GFX9-NEXT: v_mov_b32_e32 v11, s1716788; GFX9-NEXT: v_mov_b32_e32 v12, s1816789; GFX9-NEXT: v_mov_b32_e32 v13, s1916790; GFX9-NEXT: s_cbranch_execnz .LBB31_316791; GFX9-NEXT: .LBB31_2: ; %cmp.true16792; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v5116793; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v5016794; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v4916795; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v4816796; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v3916797; GFX9-NEXT: v_and_b32_e32 v19, 0xffff, v3816798; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v3716799; GFX9-NEXT: v_and_b32_e32 v21, 0xffff, v3616800; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v3516801; GFX9-NEXT: v_and_b32_e32 v23, 0xffff, v3416802; GFX9-NEXT: v_and_b32_e32 v24, 0xffff, v3316803; GFX9-NEXT: v_and_b32_e32 v25, 0xffff, v3216804; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v1416805; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v1516806; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v1616807; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v1716808; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v1816809; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v1916810; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v2016811; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v2116812; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v2216813; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v2316814; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v2416815; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v2516816; GFX9-NEXT: v_pk_add_u16 v0, s6, 3 op_sel_hi:[1,0]16817; GFX9-NEXT: v_pk_add_u16 v1, s7, 3 op_sel_hi:[1,0]16818; GFX9-NEXT: v_pk_add_u16 v2, s8, 3 op_sel_hi:[1,0]16819; GFX9-NEXT: v_pk_add_u16 v3, s9, 3 op_sel_hi:[1,0]16820; GFX9-NEXT: v_pk_add_u16 v4, s10, 3 op_sel_hi:[1,0]16821; GFX9-NEXT: v_pk_add_u16 v5, s11, 3 op_sel_hi:[1,0]16822; GFX9-NEXT: v_pk_add_u16 v6, s12, 3 op_sel_hi:[1,0]16823; GFX9-NEXT: v_pk_add_u16 v7, s13, 3 op_sel_hi:[1,0]16824; GFX9-NEXT: v_pk_add_u16 v8, s14, 3 op_sel_hi:[1,0]16825; GFX9-NEXT: v_pk_add_u16 v9, s15, 3 op_sel_hi:[1,0]16826; GFX9-NEXT: v_pk_add_u16 v10, s16, 3 op_sel_hi:[1,0]16827; GFX9-NEXT: v_pk_add_u16 v11, s17, 3 op_sel_hi:[1,0]16828; GFX9-NEXT: v_pk_add_u16 v12, s18, 3 op_sel_hi:[1,0]16829; GFX9-NEXT: v_pk_add_u16 v13, s19, 3 op_sel_hi:[1,0]16830; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]16831; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]16832; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]16833; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]16834; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]16835; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]16836; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]16837; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]16838; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]16839; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]16840; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]16841; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]16842; GFX9-NEXT: .LBB31_3: ; %end16843; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload16844; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload16845; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload16846; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload16847; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload16848; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload16849; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload16850; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload16851; GFX9-NEXT: s_waitcnt vmcnt(0)16852; GFX9-NEXT: s_setpc_b64 s[30:31]16853; GFX9-NEXT: .LBB31_4:16854; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3116855; GFX9-NEXT: s_branch .LBB31_216856;16857; GFX11-TRUE16-LABEL: bitcast_v52i16_to_v26f32_scalar:16858; GFX11-TRUE16: ; %bb.0:16859; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16860; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v816861; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, v7 :: v_dual_mov_b32 v24, v616862; GFX11-TRUE16-NEXT: v_dual_mov_b32 v23, v5 :: v_dual_mov_b32 v22, v416863; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, v3 :: v_dual_mov_b32 v20, v216864; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, v1 :: v_dual_mov_b32 v18, v016865; GFX11-TRUE16-NEXT: s_lshr_b32 s41, s29, 1616866; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 1616867; GFX11-TRUE16-NEXT: s_lshr_b32 s15, s27, 1616868; GFX11-TRUE16-NEXT: s_lshr_b32 s14, s26, 1616869; GFX11-TRUE16-NEXT: s_lshr_b32 s13, s25, 1616870; GFX11-TRUE16-NEXT: s_lshr_b32 s12, s24, 1616871; GFX11-TRUE16-NEXT: s_lshr_b32 s11, s23, 1616872; GFX11-TRUE16-NEXT: s_lshr_b32 s10, s22, 1616873; GFX11-TRUE16-NEXT: s_lshr_b32 s9, s21, 1616874; GFX11-TRUE16-NEXT: s_lshr_b32 s8, s20, 1616875; GFX11-TRUE16-NEXT: s_lshr_b32 s7, s19, 1616876; GFX11-TRUE16-NEXT: s_lshr_b32 s6, s18, 1616877; GFX11-TRUE16-NEXT: s_lshr_b32 s5, s17, 1616878; GFX11-TRUE16-NEXT: s_lshr_b32 s4, s16, 1616879; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s3, 1616880; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s2, 1616881; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s1, 1616882; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s0, 1616883; GFX11-TRUE16-NEXT: s_mov_b32 s40, 016884; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4616885; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4516886; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4416887; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4316888; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s4, s16, s416889; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s5, s17, s516890; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s6, s18, s616891; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s7, s19, s716892; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s8, s20, s816893; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s9, s21, s916894; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1016895; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1116896; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1216897; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1316898; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1416899; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s15, s27, s1516900; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s16, s28, s4216901; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s17, s29, s4116902; GFX11-TRUE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo16903; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB31_416904; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false16905; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s116906; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s316907; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s516908; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s716909; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s916910; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1116911; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1316912; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1516913; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s1716914; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4016915; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB31_316916; GFX11-TRUE16-NEXT: .LBB31_2: ; %cmp.true16917; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]16918; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]16919; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]16920; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]16921; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]16922; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]16923; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]16924; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]16925; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]16926; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]16927; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]16928; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]16929; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]16930; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]16931; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]16932; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, s15, 3 op_sel_hi:[1,0]16933; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, s16, 3 op_sel_hi:[1,0]16934; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, s17, 3 op_sel_hi:[1,0]16935; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]16936; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]16937; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]16938; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]16939; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]16940; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]16941; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]16942; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]16943; GFX11-TRUE16-NEXT: .LBB31_3: ; %end16944; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]16945; GFX11-TRUE16-NEXT: .LBB31_4:16946; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr016947; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116948; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr216949; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr316950; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr416951; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr516952; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr616953; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr716954; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr816955; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr916956; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1016957; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1116958; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1216959; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1316960; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1416961; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1516962; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1616963; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1716964; GFX11-TRUE16-NEXT: s_branch .LBB31_216965;16966; GFX11-FAKE16-LABEL: bitcast_v52i16_to_v26f32_scalar:16967; GFX11-FAKE16: ; %bb.0:16968; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16969; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v816970; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v716971; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v616972; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v516973; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v416974; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v316975; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v216976; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v116977; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v016978; GFX11-FAKE16-NEXT: v_and_b32_e32 v55, 0xffff, v016979; GFX11-FAKE16-NEXT: v_and_b32_e32 v54, 0xffff, v116980; GFX11-FAKE16-NEXT: v_and_b32_e32 v53, 0xffff, v216981; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v316982; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v416983; GFX11-FAKE16-NEXT: v_and_b32_e32 v50, 0xffff, v516984; GFX11-FAKE16-NEXT: v_and_b32_e32 v49, 0xffff, v616985; GFX11-FAKE16-NEXT: v_and_b32_e32 v48, 0xffff, v716986; GFX11-FAKE16-NEXT: s_lshr_b32 s41, s29, 1616987; GFX11-FAKE16-NEXT: s_lshr_b32 s15, s28, 1616988; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s27, 1616989; GFX11-FAKE16-NEXT: s_lshr_b32 s14, s26, 1616990; GFX11-FAKE16-NEXT: s_lshr_b32 s13, s25, 1616991; GFX11-FAKE16-NEXT: s_lshr_b32 s12, s24, 1616992; GFX11-FAKE16-NEXT: s_lshr_b32 s11, s23, 1616993; GFX11-FAKE16-NEXT: s_lshr_b32 s10, s22, 1616994; GFX11-FAKE16-NEXT: s_lshr_b32 s9, s21, 1616995; GFX11-FAKE16-NEXT: s_lshr_b32 s8, s20, 1616996; GFX11-FAKE16-NEXT: s_lshr_b32 s7, s19, 1616997; GFX11-FAKE16-NEXT: s_lshr_b32 s6, s18, 1616998; GFX11-FAKE16-NEXT: s_lshr_b32 s5, s17, 1616999; GFX11-FAKE16-NEXT: s_lshr_b32 s4, s16, 1617000; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s3, 1617001; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s2, 1617002; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s1, 1617003; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s0, 1617004; GFX11-FAKE16-NEXT: s_mov_b32 s40, 017005; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4617006; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4517007; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4417008; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4317009; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s4, s16, s417010; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s5, s17, s517011; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s6, s18, s617012; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s7, s19, s717013; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s8, s20, s817014; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s9, s21, s917015; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1017016; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1117017; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1217018; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1317019; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1417020; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s17, s27, s4217021; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s15, s28, s1517022; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s16, s29, s4117023; GFX11-FAKE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo17024; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB31_417025; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false17026; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v39, 16, v5517027; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v38, 16, v5417028; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v37, 16, v5317029; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v36, 16, v5217030; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v35, 16, v5117031; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v34, 16, v5017032; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v33, 16, v4917033; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v32, 16, v4817034; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s117035; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s317036; GFX11-FAKE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s517037; GFX11-FAKE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s717038; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s917039; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1117040; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1317041; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1717042; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s15 :: v_dual_mov_b32 v17, s1617043; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4017044; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB31_317045; GFX11-FAKE16-NEXT: .LBB31_2: ; %cmp.true17046; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v39, 16, v5517047; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v38, 16, v5417048; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v37, 16, v5317049; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v36, 16, v5217050; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v35, 16, v5117051; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v34, 16, v5017052; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v33, 16, v4917053; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v32, 16, v4817054; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]17055; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]17056; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]17057; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]17058; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]17059; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]17060; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]17061; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]17062; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]17063; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]17064; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]17065; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]17066; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]17067; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]17068; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]17069; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, s17, 3 op_sel_hi:[1,0]17070; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, s15, 3 op_sel_hi:[1,0]17071; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, s16, 3 op_sel_hi:[1,0]17072; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]17073; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]17074; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]17075; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]17076; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]17077; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]17078; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]17079; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]17080; GFX11-FAKE16-NEXT: .LBB31_3: ; %end17081; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]17082; GFX11-FAKE16-NEXT: .LBB31_4:17083; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3117084; GFX11-FAKE16-NEXT: s_branch .LBB31_217085 %cmp = icmp eq i32 %b, 017086 br i1 %cmp, label %cmp.true, label %cmp.false17087 17088cmp.true:17089 %a1 = add <52 x i16> %a, splat (i16 3)17090 %a2 = bitcast <52 x i16> %a1 to <26 x float>17091 br label %end17092 17093cmp.false:17094 %a3 = bitcast <52 x i16> %a to <26 x float>17095 br label %end17096 17097end:17098 %phi = phi <26 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]17099 ret <26 x float> %phi17100}17101 17102define <52 x half> @bitcast_v26f32_to_v52f16(<26 x float> %a, i32 %b) {17103; SI-LABEL: bitcast_v26f32_to_v52f16:17104; SI: ; %bb.0:17105; SI-NEXT: ; implicit-def: $vgpr5117106; SI-NEXT: ; implicit-def: $vgpr5017107; SI-NEXT: ; kill: killed $vgpr5117108; SI-NEXT: ; kill: killed $vgpr5017109; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17110; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2717111; SI-NEXT: ; implicit-def: $vgpr5117112; SI-NEXT: ; implicit-def: $vgpr5017113; SI-NEXT: ; kill: killed $vgpr5117114; SI-NEXT: ; kill: killed $vgpr5017115; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill17116; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill17117; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill17118; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill17119; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill17120; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill17121; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill17122; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill17123; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill17124; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill17125; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill17126; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill17127; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill17128; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill17129; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill17130; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill17131; SI-NEXT: ; implicit-def: $vgpr5117132; SI-NEXT: ; implicit-def: $vgpr5017133; SI-NEXT: ; kill: killed $vgpr5117134; SI-NEXT: ; kill: killed $vgpr5017135; SI-NEXT: ; implicit-def: $vgpr4817136; SI-NEXT: ; implicit-def: $vgpr4917137; SI-NEXT: ; implicit-def: $vgpr3817138; SI-NEXT: ; implicit-def: $vgpr3917139; SI-NEXT: ; implicit-def: $vgpr3617140; SI-NEXT: ; implicit-def: $vgpr3717141; SI-NEXT: ; implicit-def: $vgpr3417142; SI-NEXT: ; implicit-def: $vgpr3517143; SI-NEXT: ; implicit-def: $vgpr3317144; SI-NEXT: ; implicit-def: $vgpr3217145; SI-NEXT: ; implicit-def: $vgpr3117146; SI-NEXT: ; implicit-def: $vgpr3017147; SI-NEXT: ; implicit-def: $vgpr2917148; SI-NEXT: ; implicit-def: $vgpr2817149; SI-NEXT: ; implicit-def: $vgpr2717150; SI-NEXT: ; implicit-def: $vgpr6317151; SI-NEXT: ; implicit-def: $vgpr6217152; SI-NEXT: ; implicit-def: $vgpr6117153; SI-NEXT: ; implicit-def: $vgpr6017154; SI-NEXT: ; implicit-def: $vgpr5917155; SI-NEXT: ; implicit-def: $vgpr5817156; SI-NEXT: ; implicit-def: $vgpr5717157; SI-NEXT: ; implicit-def: $vgpr4617158; SI-NEXT: ; implicit-def: $vgpr4417159; SI-NEXT: ; implicit-def: $vgpr4217160; SI-NEXT: ; implicit-def: $vgpr4017161; SI-NEXT: ; implicit-def: $vgpr5417162; SI-NEXT: ; implicit-def: $vgpr5217163; SI-NEXT: ; implicit-def: $vgpr4117164; SI-NEXT: ; implicit-def: $vgpr4317165; SI-NEXT: ; implicit-def: $vgpr5517166; SI-NEXT: ; implicit-def: $vgpr4517167; SI-NEXT: ; implicit-def: $vgpr5317168; SI-NEXT: ; implicit-def: $vgpr4717169; SI-NEXT: ; implicit-def: $vgpr5617170; SI-NEXT: ; implicit-def: $vgpr5117171; SI-NEXT: ; implicit-def: $vgpr5017172; SI-NEXT: ; kill: killed $vgpr5117173; SI-NEXT: ; kill: killed $vgpr5017174; SI-NEXT: ; implicit-def: $vgpr5117175; SI-NEXT: ; implicit-def: $vgpr5017176; SI-NEXT: ; kill: killed $vgpr5117177; SI-NEXT: ; kill: killed $vgpr5017178; SI-NEXT: ; implicit-def: $vgpr5117179; SI-NEXT: ; implicit-def: $vgpr5017180; SI-NEXT: ; kill: killed $vgpr5117181; SI-NEXT: ; kill: killed $vgpr5017182; SI-NEXT: ; implicit-def: $vgpr5117183; SI-NEXT: ; implicit-def: $vgpr5017184; SI-NEXT: ; kill: killed $vgpr5117185; SI-NEXT: ; kill: killed $vgpr5017186; SI-NEXT: ; implicit-def: $vgpr5117187; SI-NEXT: ; implicit-def: $vgpr5017188; SI-NEXT: ; kill: killed $vgpr5117189; SI-NEXT: ; implicit-def: $vgpr5117190; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc17191; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]17192; SI-NEXT: s_cbranch_execz .LBB32_217193; SI-NEXT: ; %bb.1: ; %cmp.false17194; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2617195; SI-NEXT: v_cvt_f32_f16_e32 v56, v2717196; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2517197; SI-NEXT: v_cvt_f32_f16_e32 v47, v2717198; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2417199; SI-NEXT: v_cvt_f32_f16_e32 v45, v2717200; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2317201; SI-NEXT: v_cvt_f32_f16_e32 v43, v2717202; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2217203; SI-NEXT: v_cvt_f32_f16_e32 v41, v2717204; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2117205; SI-NEXT: v_cvt_f32_f16_e32 v27, v2717206; SI-NEXT: v_cvt_f32_f16_e32 v23, v2317207; SI-NEXT: v_cvt_f32_f16_e32 v22, v2217208; SI-NEXT: v_cvt_f32_f16_e32 v21, v2117209; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill17210; SI-NEXT: s_waitcnt expcnt(0)17211; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v2017212; SI-NEXT: v_cvt_f32_f16_e32 v27, v2717213; SI-NEXT: v_cvt_f32_f16_e32 v20, v2017214; SI-NEXT: v_cvt_f32_f16_e32 v51, v2617215; SI-NEXT: v_cvt_f32_f16_e32 v53, v2517216; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill17217; SI-NEXT: s_waitcnt expcnt(0)17218; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1917219; SI-NEXT: v_cvt_f32_f16_e32 v27, v2717220; SI-NEXT: v_cvt_f32_f16_e32 v19, v1917221; SI-NEXT: v_cvt_f32_f16_e32 v55, v2417222; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill17223; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill17224; SI-NEXT: s_waitcnt expcnt(0)17225; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1817226; SI-NEXT: v_cvt_f32_f16_e32 v50, v2717227; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1717228; SI-NEXT: v_cvt_f32_f16_e32 v52, v2717229; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1617230; SI-NEXT: v_cvt_f32_f16_e32 v54, v2717231; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1517232; SI-NEXT: v_cvt_f32_f16_e32 v40, v2717233; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1417234; SI-NEXT: v_cvt_f32_f16_e32 v42, v2717235; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1317236; SI-NEXT: v_cvt_f32_f16_e32 v44, v2717237; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1217238; SI-NEXT: v_cvt_f32_f16_e32 v46, v2717239; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1117240; SI-NEXT: v_cvt_f32_f16_e32 v57, v2717241; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v1017242; SI-NEXT: v_cvt_f32_f16_e32 v59, v2717243; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v917244; SI-NEXT: v_cvt_f32_f16_e32 v61, v2717245; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v817246; SI-NEXT: v_cvt_f32_f16_e32 v63, v2717247; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v717248; SI-NEXT: v_cvt_f32_f16_e32 v28, v2717249; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v617250; SI-NEXT: v_cvt_f32_f16_e32 v30, v2717251; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v517252; SI-NEXT: v_cvt_f32_f16_e32 v32, v2717253; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v417254; SI-NEXT: v_cvt_f32_f16_e32 v18, v1817255; SI-NEXT: v_cvt_f32_f16_e32 v17, v1717256; SI-NEXT: v_cvt_f32_f16_e32 v16, v1617257; SI-NEXT: v_cvt_f32_f16_e32 v15, v1517258; SI-NEXT: v_cvt_f32_f16_e32 v14, v1417259; SI-NEXT: v_cvt_f32_f16_e32 v13, v1317260; SI-NEXT: v_cvt_f32_f16_e32 v12, v1217261; SI-NEXT: v_cvt_f32_f16_e32 v35, v2717262; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v317263; SI-NEXT: v_cvt_f32_f16_e32 v37, v2717264; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v217265; SI-NEXT: v_cvt_f32_f16_e32 v39, v2717266; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v117267; SI-NEXT: v_cvt_f32_f16_e32 v49, v2717268; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill17269; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill17270; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill17271; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill17272; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill17273; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill17274; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill17275; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill17276; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill17277; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill17278; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill17279; SI-NEXT: v_cvt_f32_f16_e32 v58, v1117280; SI-NEXT: v_cvt_f32_f16_e32 v60, v1017281; SI-NEXT: v_cvt_f32_f16_e32 v62, v917282; SI-NEXT: v_cvt_f32_f16_e32 v27, v817283; SI-NEXT: v_cvt_f32_f16_e32 v29, v717284; SI-NEXT: v_cvt_f32_f16_e32 v31, v617285; SI-NEXT: v_cvt_f32_f16_e32 v33, v517286; SI-NEXT: v_cvt_f32_f16_e32 v34, v417287; SI-NEXT: v_cvt_f32_f16_e32 v36, v317288; SI-NEXT: v_cvt_f32_f16_e32 v38, v217289; SI-NEXT: v_cvt_f32_f16_e32 v48, v117290; SI-NEXT: ; implicit-def: $vgpr117291; SI-NEXT: ; implicit-def: $vgpr217292; SI-NEXT: ; implicit-def: $vgpr317293; SI-NEXT: ; implicit-def: $vgpr417294; SI-NEXT: ; implicit-def: $vgpr517295; SI-NEXT: ; implicit-def: $vgpr617296; SI-NEXT: ; implicit-def: $vgpr717297; SI-NEXT: ; implicit-def: $vgpr817298; SI-NEXT: ; implicit-def: $vgpr917299; SI-NEXT: ; implicit-def: $vgpr1017300; SI-NEXT: ; implicit-def: $vgpr1117301; SI-NEXT: ; implicit-def: $vgpr1217302; SI-NEXT: ; implicit-def: $vgpr1317303; SI-NEXT: ; implicit-def: $vgpr1417304; SI-NEXT: ; implicit-def: $vgpr1517305; SI-NEXT: ; implicit-def: $vgpr1617306; SI-NEXT: ; implicit-def: $vgpr1717307; SI-NEXT: ; implicit-def: $vgpr1817308; SI-NEXT: ; implicit-def: $vgpr1917309; SI-NEXT: ; implicit-def: $vgpr2017310; SI-NEXT: ; implicit-def: $vgpr2117311; SI-NEXT: ; implicit-def: $vgpr2217312; SI-NEXT: ; implicit-def: $vgpr2317313; SI-NEXT: ; implicit-def: $vgpr2417314; SI-NEXT: ; implicit-def: $vgpr2517315; SI-NEXT: ; implicit-def: $vgpr2617316; SI-NEXT: .LBB32_2: ; %Flow17317; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]17318; SI-NEXT: s_cbranch_execz .LBB32_417319; SI-NEXT: ; %bb.3: ; %cmp.true17320; SI-NEXT: v_add_f32_e32 v21, 1.0, v2117321; SI-NEXT: v_add_f32_e32 v1, 1.0, v117322; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v2117323; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v117324; SI-NEXT: v_cvt_f32_f16_e32 v48, v117325; SI-NEXT: v_cvt_f32_f16_e32 v1, v5517326; SI-NEXT: v_add_f32_e32 v20, 1.0, v2017327; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v2017328; SI-NEXT: v_add_f32_e32 v2, 1.0, v217329; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill17330; SI-NEXT: s_waitcnt expcnt(0)17331; SI-NEXT: v_cvt_f32_f16_e32 v1, v5317332; SI-NEXT: v_add_f32_e32 v3, 1.0, v317333; SI-NEXT: v_add_f32_e32 v4, 1.0, v417334; SI-NEXT: v_add_f32_e32 v5, 1.0, v517335; SI-NEXT: v_add_f32_e32 v6, 1.0, v617336; SI-NEXT: v_add_f32_e32 v7, 1.0, v717337; SI-NEXT: v_add_f32_e32 v8, 1.0, v817338; SI-NEXT: v_add_f32_e32 v9, 1.0, v917339; SI-NEXT: v_add_f32_e32 v10, 1.0, v1017340; SI-NEXT: v_add_f32_e32 v11, 1.0, v1117341; SI-NEXT: v_add_f32_e32 v12, 1.0, v1217342; SI-NEXT: v_add_f32_e32 v13, 1.0, v1317343; SI-NEXT: v_add_f32_e32 v14, 1.0, v1417344; SI-NEXT: v_add_f32_e32 v15, 1.0, v1517345; SI-NEXT: v_add_f32_e32 v16, 1.0, v1617346; SI-NEXT: v_add_f32_e32 v17, 1.0, v1717347; SI-NEXT: v_add_f32_e32 v18, 1.0, v1817348; SI-NEXT: v_add_f32_e32 v19, 1.0, v1917349; SI-NEXT: v_add_f32_e32 v22, 1.0, v2217350; SI-NEXT: v_add_f32_e32 v23, 1.0, v2317351; SI-NEXT: v_add_f32_e32 v24, 1.0, v2417352; SI-NEXT: v_add_f32_e32 v25, 1.0, v2517353; SI-NEXT: v_add_f32_e32 v26, 1.0, v2617354; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v217355; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v317356; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v417357; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v517358; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v617359; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v717360; SI-NEXT: v_lshrrev_b32_e32 v63, 16, v817361; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v917362; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v1017363; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v1117364; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v1217365; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v1317366; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v1417367; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v1517368; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v1617369; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1717370; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v1817371; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1917372; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v2217373; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v2317374; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v2417375; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v2517376; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v2617377; SI-NEXT: v_cvt_f32_f16_e32 v26, v2617378; SI-NEXT: v_cvt_f32_f16_e32 v25, v2517379; SI-NEXT: v_cvt_f32_f16_e32 v24, v2417380; SI-NEXT: v_cvt_f32_f16_e32 v23, v2317381; SI-NEXT: v_cvt_f32_f16_e32 v22, v2217382; SI-NEXT: v_cvt_f32_f16_e32 v21, v2117383; SI-NEXT: v_cvt_f32_f16_e32 v20, v2017384; SI-NEXT: v_cvt_f32_f16_e32 v19, v1917385; SI-NEXT: v_cvt_f32_f16_e32 v18, v1817386; SI-NEXT: v_cvt_f32_f16_e32 v17, v1717387; SI-NEXT: v_cvt_f32_f16_e32 v16, v1617388; SI-NEXT: v_cvt_f32_f16_e32 v15, v1517389; SI-NEXT: v_cvt_f32_f16_e32 v14, v1417390; SI-NEXT: v_cvt_f32_f16_e32 v13, v1317391; SI-NEXT: v_cvt_f32_f16_e32 v12, v1217392; SI-NEXT: v_cvt_f32_f16_e32 v58, v1117393; SI-NEXT: v_cvt_f32_f16_e32 v60, v1017394; SI-NEXT: v_cvt_f32_f16_e32 v62, v917395; SI-NEXT: v_cvt_f32_f16_e32 v27, v817396; SI-NEXT: v_cvt_f32_f16_e32 v29, v717397; SI-NEXT: v_cvt_f32_f16_e32 v31, v617398; SI-NEXT: v_cvt_f32_f16_e32 v33, v517399; SI-NEXT: v_cvt_f32_f16_e32 v34, v417400; SI-NEXT: v_cvt_f32_f16_e32 v36, v317401; SI-NEXT: v_cvt_f32_f16_e32 v38, v217402; SI-NEXT: v_cvt_f32_f16_e32 v56, v5617403; SI-NEXT: v_cvt_f32_f16_e32 v47, v4717404; SI-NEXT: v_cvt_f32_f16_e32 v45, v4517405; SI-NEXT: v_cvt_f32_f16_e32 v43, v4317406; SI-NEXT: v_cvt_f32_f16_e32 v41, v4117407; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill17408; SI-NEXT: s_waitcnt expcnt(0)17409; SI-NEXT: v_cvt_f32_f16_e32 v1, v5117410; SI-NEXT: v_cvt_f32_f16_e32 v50, v5017411; SI-NEXT: v_cvt_f32_f16_e32 v52, v5217412; SI-NEXT: v_cvt_f32_f16_e32 v54, v5417413; SI-NEXT: v_cvt_f32_f16_e32 v40, v4017414; SI-NEXT: v_cvt_f32_f16_e32 v42, v4217415; SI-NEXT: v_cvt_f32_f16_e32 v44, v4417416; SI-NEXT: v_cvt_f32_f16_e32 v46, v4617417; SI-NEXT: v_cvt_f32_f16_e32 v57, v5717418; SI-NEXT: v_cvt_f32_f16_e32 v59, v5917419; SI-NEXT: v_cvt_f32_f16_e32 v61, v6117420; SI-NEXT: v_cvt_f32_f16_e32 v63, v6317421; SI-NEXT: v_cvt_f32_f16_e32 v28, v2817422; SI-NEXT: v_cvt_f32_f16_e32 v30, v3017423; SI-NEXT: v_cvt_f32_f16_e32 v32, v3217424; SI-NEXT: v_cvt_f32_f16_e32 v35, v3517425; SI-NEXT: v_cvt_f32_f16_e32 v37, v3717426; SI-NEXT: v_cvt_f32_f16_e32 v39, v3917427; SI-NEXT: v_cvt_f32_f16_e32 v49, v4917428; SI-NEXT: v_mov_b32_e32 v55, v2417429; SI-NEXT: v_mov_b32_e32 v53, v2517430; SI-NEXT: v_mov_b32_e32 v51, v2617431; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill17432; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill17433; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill17434; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill17435; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill17436; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill17437; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill17438; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill17439; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill17440; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill17441; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill17442; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill17443; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill17444; SI-NEXT: .LBB32_4: ; %end17445; SI-NEXT: s_or_b64 exec, exec, s[4:5]17446; SI-NEXT: s_waitcnt expcnt(0)17447; SI-NEXT: v_cvt_f16_f32_e32 v1, v4917448; SI-NEXT: v_cvt_f16_f32_e32 v2, v4817449; SI-NEXT: v_cvt_f16_f32_e32 v3, v3917450; SI-NEXT: v_cvt_f16_f32_e32 v4, v3817451; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117452; SI-NEXT: v_or_b32_e32 v1, v2, v117453; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v317454; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen17455; SI-NEXT: s_waitcnt expcnt(0)17456; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v017457; SI-NEXT: v_or_b32_e32 v2, v4, v217458; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen17459; SI-NEXT: v_cvt_f16_f32_e32 v1, v3717460; SI-NEXT: s_waitcnt expcnt(0)17461; SI-NEXT: v_cvt_f16_f32_e32 v2, v3617462; SI-NEXT: v_add_i32_e32 v3, vcc, 8, v017463; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117464; SI-NEXT: v_or_b32_e32 v1, v2, v117465; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17466; SI-NEXT: s_waitcnt expcnt(0)17467; SI-NEXT: v_cvt_f16_f32_e32 v1, v3517468; SI-NEXT: v_cvt_f16_f32_e32 v2, v3417469; SI-NEXT: v_add_i32_e32 v3, vcc, 12, v017470; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117471; SI-NEXT: v_or_b32_e32 v1, v2, v117472; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17473; SI-NEXT: s_waitcnt expcnt(0)17474; SI-NEXT: v_cvt_f16_f32_e32 v1, v3217475; SI-NEXT: v_cvt_f16_f32_e32 v2, v3317476; SI-NEXT: v_add_i32_e32 v3, vcc, 16, v017477; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117478; SI-NEXT: v_or_b32_e32 v1, v2, v117479; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17480; SI-NEXT: s_waitcnt expcnt(0)17481; SI-NEXT: v_cvt_f16_f32_e32 v1, v3017482; SI-NEXT: v_cvt_f16_f32_e32 v2, v3117483; SI-NEXT: v_add_i32_e32 v3, vcc, 20, v017484; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117485; SI-NEXT: v_or_b32_e32 v1, v2, v117486; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17487; SI-NEXT: s_waitcnt expcnt(0)17488; SI-NEXT: v_cvt_f16_f32_e32 v1, v2817489; SI-NEXT: v_cvt_f16_f32_e32 v2, v2917490; SI-NEXT: v_add_i32_e32 v3, vcc, 24, v017491; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117492; SI-NEXT: v_or_b32_e32 v1, v2, v117493; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17494; SI-NEXT: s_waitcnt expcnt(0)17495; SI-NEXT: v_cvt_f16_f32_e32 v1, v6317496; SI-NEXT: v_cvt_f16_f32_e32 v2, v2717497; SI-NEXT: v_add_i32_e32 v3, vcc, 28, v017498; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117499; SI-NEXT: v_or_b32_e32 v1, v2, v117500; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17501; SI-NEXT: s_waitcnt expcnt(0)17502; SI-NEXT: v_cvt_f16_f32_e32 v1, v6117503; SI-NEXT: v_cvt_f16_f32_e32 v2, v6217504; SI-NEXT: v_add_i32_e32 v3, vcc, 32, v017505; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117506; SI-NEXT: v_or_b32_e32 v1, v2, v117507; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17508; SI-NEXT: s_waitcnt expcnt(0)17509; SI-NEXT: v_cvt_f16_f32_e32 v1, v5917510; SI-NEXT: v_cvt_f16_f32_e32 v2, v6017511; SI-NEXT: v_add_i32_e32 v3, vcc, 36, v017512; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117513; SI-NEXT: v_or_b32_e32 v1, v2, v117514; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17515; SI-NEXT: s_waitcnt expcnt(0)17516; SI-NEXT: v_cvt_f16_f32_e32 v1, v5717517; SI-NEXT: v_cvt_f16_f32_e32 v2, v5817518; SI-NEXT: v_add_i32_e32 v3, vcc, 40, v017519; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117520; SI-NEXT: v_or_b32_e32 v1, v2, v117521; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17522; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload17523; SI-NEXT: s_waitcnt expcnt(0)17524; SI-NEXT: v_cvt_f16_f32_e32 v1, v4617525; SI-NEXT: v_add_i32_e32 v3, vcc, 44, v017526; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117527; SI-NEXT: s_waitcnt vmcnt(0)17528; SI-NEXT: v_cvt_f16_f32_e32 v2, v217529; SI-NEXT: v_or_b32_e32 v1, v2, v117530; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17531; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload17532; SI-NEXT: s_waitcnt expcnt(0)17533; SI-NEXT: v_cvt_f16_f32_e32 v1, v4417534; SI-NEXT: v_add_i32_e32 v3, vcc, 48, v017535; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117536; SI-NEXT: s_waitcnt vmcnt(0)17537; SI-NEXT: v_cvt_f16_f32_e32 v2, v217538; SI-NEXT: v_or_b32_e32 v1, v2, v117539; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17540; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload17541; SI-NEXT: s_waitcnt expcnt(0)17542; SI-NEXT: v_cvt_f16_f32_e32 v1, v4217543; SI-NEXT: v_add_i32_e32 v3, vcc, 52, v017544; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117545; SI-NEXT: s_waitcnt vmcnt(0)17546; SI-NEXT: v_cvt_f16_f32_e32 v2, v217547; SI-NEXT: v_or_b32_e32 v1, v2, v117548; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17549; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload17550; SI-NEXT: s_waitcnt expcnt(0)17551; SI-NEXT: v_cvt_f16_f32_e32 v1, v4017552; SI-NEXT: v_add_i32_e32 v3, vcc, 56, v017553; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117554; SI-NEXT: s_waitcnt vmcnt(0)17555; SI-NEXT: v_cvt_f16_f32_e32 v2, v217556; SI-NEXT: v_or_b32_e32 v1, v2, v117557; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17558; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload17559; SI-NEXT: s_waitcnt expcnt(0)17560; SI-NEXT: v_cvt_f16_f32_e32 v1, v5417561; SI-NEXT: v_add_i32_e32 v3, vcc, 60, v017562; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117563; SI-NEXT: s_waitcnt vmcnt(0)17564; SI-NEXT: v_cvt_f16_f32_e32 v2, v217565; SI-NEXT: v_or_b32_e32 v1, v2, v117566; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17567; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload17568; SI-NEXT: s_waitcnt expcnt(0)17569; SI-NEXT: v_cvt_f16_f32_e32 v1, v5217570; SI-NEXT: v_add_i32_e32 v3, vcc, 64, v017571; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117572; SI-NEXT: s_waitcnt vmcnt(0)17573; SI-NEXT: v_cvt_f16_f32_e32 v2, v217574; SI-NEXT: v_or_b32_e32 v1, v2, v117575; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17576; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload17577; SI-NEXT: s_waitcnt expcnt(0)17578; SI-NEXT: v_cvt_f16_f32_e32 v1, v5017579; SI-NEXT: v_add_i32_e32 v3, vcc, 0x44, v017580; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117581; SI-NEXT: s_waitcnt vmcnt(0)17582; SI-NEXT: v_cvt_f16_f32_e32 v2, v217583; SI-NEXT: v_or_b32_e32 v1, v2, v117584; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17585; SI-NEXT: s_waitcnt expcnt(0)17586; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload17587; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload17588; SI-NEXT: v_add_i32_e32 v3, vcc, 0x48, v017589; SI-NEXT: s_waitcnt vmcnt(1)17590; SI-NEXT: v_cvt_f16_f32_e32 v1, v117591; SI-NEXT: s_waitcnt vmcnt(0)17592; SI-NEXT: v_cvt_f16_f32_e32 v2, v217593; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117594; SI-NEXT: v_or_b32_e32 v1, v2, v117595; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17596; SI-NEXT: s_waitcnt expcnt(0)17597; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload17598; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload17599; SI-NEXT: v_add_i32_e32 v3, vcc, 0x4c, v017600; SI-NEXT: s_waitcnt vmcnt(1)17601; SI-NEXT: v_cvt_f16_f32_e32 v1, v117602; SI-NEXT: s_waitcnt vmcnt(0)17603; SI-NEXT: v_cvt_f16_f32_e32 v2, v217604; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117605; SI-NEXT: v_or_b32_e32 v1, v2, v117606; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17607; SI-NEXT: s_waitcnt expcnt(0)17608; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload17609; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload17610; SI-NEXT: v_add_i32_e32 v3, vcc, 0x50, v017611; SI-NEXT: s_waitcnt vmcnt(1)17612; SI-NEXT: v_cvt_f16_f32_e32 v1, v117613; SI-NEXT: s_waitcnt vmcnt(0)17614; SI-NEXT: v_cvt_f16_f32_e32 v2, v217615; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117616; SI-NEXT: v_or_b32_e32 v1, v2, v117617; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17618; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload17619; SI-NEXT: s_waitcnt expcnt(0)17620; SI-NEXT: v_cvt_f16_f32_e32 v1, v4117621; SI-NEXT: v_add_i32_e32 v3, vcc, 0x54, v017622; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117623; SI-NEXT: s_waitcnt vmcnt(0)17624; SI-NEXT: v_cvt_f16_f32_e32 v2, v217625; SI-NEXT: v_or_b32_e32 v1, v2, v117626; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17627; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload17628; SI-NEXT: s_waitcnt expcnt(0)17629; SI-NEXT: v_cvt_f16_f32_e32 v1, v4317630; SI-NEXT: v_add_i32_e32 v3, vcc, 0x58, v017631; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117632; SI-NEXT: s_waitcnt vmcnt(0)17633; SI-NEXT: v_cvt_f16_f32_e32 v2, v217634; SI-NEXT: v_or_b32_e32 v1, v2, v117635; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17636; SI-NEXT: s_waitcnt expcnt(0)17637; SI-NEXT: v_cvt_f16_f32_e32 v1, v4517638; SI-NEXT: v_cvt_f16_f32_e32 v2, v5517639; SI-NEXT: v_add_i32_e32 v3, vcc, 0x5c, v017640; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117641; SI-NEXT: v_or_b32_e32 v1, v2, v117642; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17643; SI-NEXT: s_waitcnt expcnt(0)17644; SI-NEXT: v_cvt_f16_f32_e32 v1, v4717645; SI-NEXT: v_cvt_f16_f32_e32 v2, v5317646; SI-NEXT: v_add_i32_e32 v3, vcc, 0x60, v017647; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117648; SI-NEXT: v_or_b32_e32 v1, v2, v117649; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen17650; SI-NEXT: s_waitcnt expcnt(0)17651; SI-NEXT: v_cvt_f16_f32_e32 v1, v5617652; SI-NEXT: v_cvt_f16_f32_e32 v2, v5117653; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v017654; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v117655; SI-NEXT: v_or_b32_e32 v1, v2, v117656; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen17657; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload17658; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload17659; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload17660; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload17661; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload17662; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload17663; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload17664; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload17665; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload17666; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload17667; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload17668; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload17669; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload17670; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload17671; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload17672; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload17673; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)17674; SI-NEXT: s_setpc_b64 s[30:31]17675;17676; VI-LABEL: bitcast_v26f32_to_v52f16:17677; VI: ; %bb.0:17678; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17679; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2617680; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill17681; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill17682; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill17683; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill17684; VI-NEXT: ; implicit-def: $vgpr4317685; VI-NEXT: ; implicit-def: $vgpr4217686; VI-NEXT: ; implicit-def: $vgpr4117687; VI-NEXT: ; implicit-def: $vgpr4017688; VI-NEXT: ; implicit-def: $vgpr5517689; VI-NEXT: ; implicit-def: $vgpr5417690; VI-NEXT: ; implicit-def: $vgpr5317691; VI-NEXT: ; implicit-def: $vgpr5217692; VI-NEXT: ; implicit-def: $vgpr5117693; VI-NEXT: ; implicit-def: $vgpr5017694; VI-NEXT: ; implicit-def: $vgpr4917695; VI-NEXT: ; implicit-def: $vgpr4817696; VI-NEXT: ; implicit-def: $vgpr3917697; VI-NEXT: ; implicit-def: $vgpr3817698; VI-NEXT: ; implicit-def: $vgpr3717699; VI-NEXT: ; implicit-def: $vgpr3617700; VI-NEXT: ; implicit-def: $vgpr3517701; VI-NEXT: ; implicit-def: $vgpr3417702; VI-NEXT: ; implicit-def: $vgpr3317703; VI-NEXT: ; implicit-def: $vgpr3217704; VI-NEXT: ; implicit-def: $vgpr3117705; VI-NEXT: ; implicit-def: $vgpr3017706; VI-NEXT: ; implicit-def: $vgpr2917707; VI-NEXT: ; implicit-def: $vgpr2817708; VI-NEXT: ; implicit-def: $vgpr2717709; VI-NEXT: ; implicit-def: $vgpr2617710; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc17711; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]17712; VI-NEXT: s_cbranch_execz .LBB32_217713; VI-NEXT: ; %bb.1: ; %cmp.false17714; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v2517715; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v2417716; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2317717; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2217718; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2117719; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2017720; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1917721; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v1817722; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1717723; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1617724; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1517725; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1417726; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1317727; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1217728; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1117729; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1017730; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v917731; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v817732; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v717733; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v617734; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v517735; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v417736; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v317737; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v217738; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v117739; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v017740; VI-NEXT: .LBB32_2: ; %Flow17741; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]17742; VI-NEXT: s_cbranch_execz .LBB32_417743; VI-NEXT: ; %bb.3: ; %cmp.true17744; VI-NEXT: v_add_f32_e32 v25, 1.0, v2517745; VI-NEXT: v_add_f32_e32 v24, 1.0, v2417746; VI-NEXT: v_add_f32_e32 v23, 1.0, v2317747; VI-NEXT: v_add_f32_e32 v22, 1.0, v2217748; VI-NEXT: v_add_f32_e32 v21, 1.0, v2117749; VI-NEXT: v_add_f32_e32 v20, 1.0, v2017750; VI-NEXT: v_add_f32_e32 v19, 1.0, v1917751; VI-NEXT: v_add_f32_e32 v18, 1.0, v1817752; VI-NEXT: v_add_f32_e32 v17, 1.0, v1717753; VI-NEXT: v_add_f32_e32 v16, 1.0, v1617754; VI-NEXT: v_add_f32_e32 v15, 1.0, v1517755; VI-NEXT: v_add_f32_e32 v14, 1.0, v1417756; VI-NEXT: v_add_f32_e32 v13, 1.0, v1317757; VI-NEXT: v_add_f32_e32 v12, 1.0, v1217758; VI-NEXT: v_add_f32_e32 v11, 1.0, v1117759; VI-NEXT: v_add_f32_e32 v10, 1.0, v1017760; VI-NEXT: v_add_f32_e32 v9, 1.0, v917761; VI-NEXT: v_add_f32_e32 v8, 1.0, v817762; VI-NEXT: v_add_f32_e32 v7, 1.0, v717763; VI-NEXT: v_add_f32_e32 v6, 1.0, v617764; VI-NEXT: v_add_f32_e32 v5, 1.0, v517765; VI-NEXT: v_add_f32_e32 v4, 1.0, v417766; VI-NEXT: v_add_f32_e32 v3, 1.0, v317767; VI-NEXT: v_add_f32_e32 v2, 1.0, v217768; VI-NEXT: v_add_f32_e32 v1, 1.0, v117769; VI-NEXT: v_add_f32_e32 v0, 1.0, v017770; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v2517771; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v2417772; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2317773; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2217774; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2117775; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2017776; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1917777; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v1817778; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1717779; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1617780; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1517781; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1417782; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1317783; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1217784; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1117785; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1017786; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v917787; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v817788; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v717789; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v617790; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v517791; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v417792; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v317793; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v217794; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v117795; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v017796; VI-NEXT: .LBB32_4: ; %end17797; VI-NEXT: s_or_b64 exec, exec, s[4:5]17798; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v4317799; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v4217800; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v4117801; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v4017802; VI-NEXT: v_or_b32_sdwa v0, v0, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17803; VI-NEXT: v_or_b32_sdwa v1, v1, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17804; VI-NEXT: v_or_b32_sdwa v2, v2, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17805; VI-NEXT: v_or_b32_sdwa v3, v3, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17806; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload17807; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload17808; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload17809; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload17810; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v5517811; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v5417812; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v5317813; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v5217814; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v5117815; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v5017816; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v4917817; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v4817818; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v3917819; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v3817820; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v3717821; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v3617822; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v3517823; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v3417824; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v3317825; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v3217826; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v3117827; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v3017828; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v2917829; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v2817830; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v2717831; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v2617832; VI-NEXT: v_or_b32_sdwa v4, v4, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17833; VI-NEXT: v_or_b32_sdwa v5, v5, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17834; VI-NEXT: v_or_b32_sdwa v6, v6, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17835; VI-NEXT: v_or_b32_sdwa v7, v7, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17836; VI-NEXT: v_or_b32_sdwa v8, v8, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17837; VI-NEXT: v_or_b32_sdwa v9, v9, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17838; VI-NEXT: v_or_b32_sdwa v10, v10, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17839; VI-NEXT: v_or_b32_sdwa v11, v11, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17840; VI-NEXT: v_or_b32_sdwa v12, v12, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17841; VI-NEXT: v_or_b32_sdwa v13, v13, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17842; VI-NEXT: v_or_b32_sdwa v14, v14, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17843; VI-NEXT: v_or_b32_sdwa v15, v15, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17844; VI-NEXT: v_or_b32_sdwa v16, v16, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17845; VI-NEXT: v_or_b32_sdwa v17, v17, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17846; VI-NEXT: v_or_b32_sdwa v18, v18, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17847; VI-NEXT: v_or_b32_sdwa v19, v19, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17848; VI-NEXT: v_or_b32_sdwa v20, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17849; VI-NEXT: v_or_b32_sdwa v21, v21, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17850; VI-NEXT: v_or_b32_sdwa v22, v22, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17851; VI-NEXT: v_or_b32_sdwa v23, v23, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17852; VI-NEXT: v_or_b32_sdwa v24, v24, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17853; VI-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17854; VI-NEXT: s_waitcnt vmcnt(0)17855; VI-NEXT: s_setpc_b64 s[30:31]17856;17857; GFX9-LABEL: bitcast_v26f32_to_v52f16:17858; GFX9: ; %bb.0:17859; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17860; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2617861; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill17862; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill17863; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill17864; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill17865; GFX9-NEXT: ; implicit-def: $vgpr4317866; GFX9-NEXT: ; implicit-def: $vgpr4217867; GFX9-NEXT: ; implicit-def: $vgpr4117868; GFX9-NEXT: ; implicit-def: $vgpr4017869; GFX9-NEXT: ; implicit-def: $vgpr5517870; GFX9-NEXT: ; implicit-def: $vgpr5417871; GFX9-NEXT: ; implicit-def: $vgpr5317872; GFX9-NEXT: ; implicit-def: $vgpr5217873; GFX9-NEXT: ; implicit-def: $vgpr5117874; GFX9-NEXT: ; implicit-def: $vgpr5017875; GFX9-NEXT: ; implicit-def: $vgpr4917876; GFX9-NEXT: ; implicit-def: $vgpr4817877; GFX9-NEXT: ; implicit-def: $vgpr3917878; GFX9-NEXT: ; implicit-def: $vgpr3817879; GFX9-NEXT: ; implicit-def: $vgpr3717880; GFX9-NEXT: ; implicit-def: $vgpr3617881; GFX9-NEXT: ; implicit-def: $vgpr3517882; GFX9-NEXT: ; implicit-def: $vgpr3417883; GFX9-NEXT: ; implicit-def: $vgpr3317884; GFX9-NEXT: ; implicit-def: $vgpr3217885; GFX9-NEXT: ; implicit-def: $vgpr3117886; GFX9-NEXT: ; implicit-def: $vgpr3017887; GFX9-NEXT: ; implicit-def: $vgpr2917888; GFX9-NEXT: ; implicit-def: $vgpr2817889; GFX9-NEXT: ; implicit-def: $vgpr2717890; GFX9-NEXT: ; implicit-def: $vgpr2617891; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc17892; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]17893; GFX9-NEXT: s_cbranch_execz .LBB32_217894; GFX9-NEXT: ; %bb.1: ; %cmp.false17895; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v2517896; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v2417897; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2317898; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2217899; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2117900; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2017901; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1917902; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v1817903; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v1717904; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1617905; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1517906; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1417907; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1317908; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1217909; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1117910; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1017911; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v917912; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v817913; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v717914; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v617915; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v517916; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v417917; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v317918; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v217919; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v117920; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v017921; GFX9-NEXT: .LBB32_2: ; %Flow17922; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]17923; GFX9-NEXT: s_cbranch_execz .LBB32_417924; GFX9-NEXT: ; %bb.3: ; %cmp.true17925; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2517926; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2417927; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2317928; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2217929; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2117930; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2017931; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1917932; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1817933; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1717934; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1617935; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1517936; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1417937; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1317938; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1217939; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1117940; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1017941; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v917942; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v817943; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v717944; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v617945; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v517946; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v417947; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v317948; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v217949; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v117950; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v017951; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v2517952; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v2417953; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2317954; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2217955; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2117956; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2017957; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1917958; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v1817959; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v1717960; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1617961; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1517962; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1417963; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1317964; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1217965; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1117966; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1017967; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v917968; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v817969; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v717970; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v617971; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v517972; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v417973; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v317974; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v217975; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v117976; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v017977; GFX9-NEXT: .LBB32_4: ; %end17978; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]17979; GFX9-NEXT: s_mov_b32 s4, 0x504010017980; GFX9-NEXT: v_perm_b32 v0, v43, v0, s417981; GFX9-NEXT: v_perm_b32 v1, v42, v1, s417982; GFX9-NEXT: v_perm_b32 v2, v41, v2, s417983; GFX9-NEXT: v_perm_b32 v3, v40, v3, s417984; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload17985; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload17986; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload17987; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload17988; GFX9-NEXT: v_perm_b32 v4, v55, v4, s417989; GFX9-NEXT: v_perm_b32 v5, v54, v5, s417990; GFX9-NEXT: v_perm_b32 v6, v53, v6, s417991; GFX9-NEXT: v_perm_b32 v7, v52, v7, s417992; GFX9-NEXT: v_perm_b32 v8, v51, v8, s417993; GFX9-NEXT: v_perm_b32 v9, v50, v9, s417994; GFX9-NEXT: v_perm_b32 v10, v49, v10, s417995; GFX9-NEXT: v_perm_b32 v11, v48, v11, s417996; GFX9-NEXT: v_perm_b32 v12, v39, v12, s417997; GFX9-NEXT: v_perm_b32 v13, v38, v13, s417998; GFX9-NEXT: v_perm_b32 v14, v37, v14, s417999; GFX9-NEXT: v_perm_b32 v15, v36, v15, s418000; GFX9-NEXT: v_perm_b32 v16, v35, v16, s418001; GFX9-NEXT: v_perm_b32 v17, v34, v17, s418002; GFX9-NEXT: v_perm_b32 v18, v33, v18, s418003; GFX9-NEXT: v_perm_b32 v19, v32, v19, s418004; GFX9-NEXT: v_perm_b32 v20, v31, v20, s418005; GFX9-NEXT: v_perm_b32 v21, v30, v21, s418006; GFX9-NEXT: v_perm_b32 v22, v29, v22, s418007; GFX9-NEXT: v_perm_b32 v23, v28, v23, s418008; GFX9-NEXT: v_perm_b32 v24, v27, v24, s418009; GFX9-NEXT: v_perm_b32 v25, v26, v25, s418010; GFX9-NEXT: s_waitcnt vmcnt(0)18011; GFX9-NEXT: s_setpc_b64 s[30:31]18012;18013; GFX11-TRUE16-LABEL: bitcast_v26f32_to_v52f16:18014; GFX11-TRUE16: ; %bb.0:18015; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18016; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo18017; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2618018; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s018019; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)18020; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s018021; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB32_218022; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true18023; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2418024; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2218025; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2018026; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1818027; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1618028; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1418029; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1218030; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1018031; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v818032; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v618033; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v418034; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v218035; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v018036; GFX11-TRUE16-NEXT: .LBB32_2: ; %end18037; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s018038; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]18039;18040; GFX11-FAKE16-LABEL: bitcast_v26f32_to_v52f16:18041; GFX11-FAKE16: ; %bb.0:18042; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18043; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2618044; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6718045; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6618046; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6518047; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6418048; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5518049; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5418050; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5318051; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5218052; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5118053; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5018054; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4918055; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4818056; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3918057; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3818058; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3718059; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3618060; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3518061; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3418062; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3318063; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3218064; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3118065; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3018066; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2918067; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2818068; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2718069; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2618070; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo18071; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)18072; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s018073; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB32_218074; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false18075; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2518076; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2418077; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2318078; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2218079; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2118080; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2018081; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1918082; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1818083; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1718084; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1618085; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1518086; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1418087; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1318088; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1218089; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1118090; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1018091; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v918092; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v818093; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v718094; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v618095; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v518096; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v418097; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v318098; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v218099; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v118100; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v018101; GFX11-FAKE16-NEXT: .LBB32_2: ; %Flow18102; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s018103; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB32_418104; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true18105; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2418106; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2218107; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2018108; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1818109; GFX11-FAKE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1618110; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1418111; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1218112; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1018113; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v818114; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v618115; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v418116; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v218117; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v018118; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2518119; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2418120; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2318121; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2218122; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2118123; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2018124; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1918125; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1818126; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1718127; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1618128; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1518129; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1418130; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1318131; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1218132; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1118133; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1018134; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v918135; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v818136; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v718137; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v618138; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v518139; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v418140; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v318141; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v218142; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v118143; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v018144; GFX11-FAKE16-NEXT: .LBB32_4: ; %end18145; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s018146; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)18147; GFX11-FAKE16-NEXT: v_perm_b32 v0, v67, v0, 0x504010018148; GFX11-FAKE16-NEXT: v_perm_b32 v1, v66, v1, 0x504010018149; GFX11-FAKE16-NEXT: v_perm_b32 v2, v65, v2, 0x504010018150; GFX11-FAKE16-NEXT: v_perm_b32 v3, v64, v3, 0x504010018151; GFX11-FAKE16-NEXT: v_perm_b32 v4, v55, v4, 0x504010018152; GFX11-FAKE16-NEXT: v_perm_b32 v5, v54, v5, 0x504010018153; GFX11-FAKE16-NEXT: v_perm_b32 v6, v53, v6, 0x504010018154; GFX11-FAKE16-NEXT: v_perm_b32 v7, v52, v7, 0x504010018155; GFX11-FAKE16-NEXT: v_perm_b32 v8, v51, v8, 0x504010018156; GFX11-FAKE16-NEXT: v_perm_b32 v9, v50, v9, 0x504010018157; GFX11-FAKE16-NEXT: v_perm_b32 v10, v49, v10, 0x504010018158; GFX11-FAKE16-NEXT: v_perm_b32 v11, v48, v11, 0x504010018159; GFX11-FAKE16-NEXT: v_perm_b32 v12, v39, v12, 0x504010018160; GFX11-FAKE16-NEXT: v_perm_b32 v13, v38, v13, 0x504010018161; GFX11-FAKE16-NEXT: v_perm_b32 v14, v37, v14, 0x504010018162; GFX11-FAKE16-NEXT: v_perm_b32 v15, v36, v15, 0x504010018163; GFX11-FAKE16-NEXT: v_perm_b32 v16, v35, v16, 0x504010018164; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v17, 0x504010018165; GFX11-FAKE16-NEXT: v_perm_b32 v18, v33, v18, 0x504010018166; GFX11-FAKE16-NEXT: v_perm_b32 v19, v32, v19, 0x504010018167; GFX11-FAKE16-NEXT: v_perm_b32 v20, v31, v20, 0x504010018168; GFX11-FAKE16-NEXT: v_perm_b32 v21, v30, v21, 0x504010018169; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v22, 0x504010018170; GFX11-FAKE16-NEXT: v_perm_b32 v23, v28, v23, 0x504010018171; GFX11-FAKE16-NEXT: v_perm_b32 v24, v27, v24, 0x504010018172; GFX11-FAKE16-NEXT: v_perm_b32 v25, v26, v25, 0x504010018173; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]18174 %cmp = icmp eq i32 %b, 018175 br i1 %cmp, label %cmp.true, label %cmp.false18176 18177cmp.true:18178 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)18179 %a2 = bitcast <26 x float> %a1 to <52 x half>18180 br label %end18181 18182cmp.false:18183 %a3 = bitcast <26 x float> %a to <52 x half>18184 br label %end18185 18186end:18187 %phi = phi <52 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]18188 ret <52 x half> %phi18189}18190 18191define inreg <52 x half> @bitcast_v26f32_to_v52f16_scalar(<26 x float> inreg %a, i32 inreg %b) {18192; SI-LABEL: bitcast_v26f32_to_v52f16_scalar:18193; SI: ; %bb.0:18194; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18195; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1318196; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill18197; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill18198; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill18199; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill18200; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill18201; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill18202; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill18203; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill18204; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill18205; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill18206; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill18207; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill18208; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill18209; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill18210; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill18211; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill18212; SI-NEXT: v_mov_b32_e32 v21, s1618213; SI-NEXT: v_mov_b32_e32 v18, s1718214; SI-NEXT: v_mov_b32_e32 v16, s1818215; SI-NEXT: v_mov_b32_e32 v15, s1918216; SI-NEXT: v_mov_b32_e32 v14, s2018217; SI-NEXT: s_waitcnt expcnt(0)18218; SI-NEXT: v_mov_b32_e32 v63, s2118219; SI-NEXT: v_mov_b32_e32 v25, s2218220; SI-NEXT: s_and_b64 s[4:5], vcc, exec18221; SI-NEXT: v_mov_b32_e32 v26, s2318222; SI-NEXT: v_mov_b32_e32 v24, s2418223; SI-NEXT: v_mov_b32_e32 v23, s2518224; SI-NEXT: v_mov_b32_e32 v22, s2618225; SI-NEXT: v_mov_b32_e32 v19, s2718226; SI-NEXT: v_mov_b32_e32 v17, s2818227; SI-NEXT: v_mov_b32_e32 v13, s2918228; SI-NEXT: s_cbranch_scc0 .LBB33_418229; SI-NEXT: ; %bb.1: ; %cmp.false18230; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1218231; SI-NEXT: v_cvt_f32_f16_e32 v52, v2018232; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1118233; SI-NEXT: v_cvt_f32_f16_e32 v50, v2018234; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1018235; SI-NEXT: v_cvt_f32_f16_e32 v48, v2018236; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v918237; SI-NEXT: v_cvt_f32_f16_e32 v39, v2018238; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v818239; SI-NEXT: v_cvt_f32_f16_e32 v37, v2018240; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v718241; SI-NEXT: v_cvt_f32_f16_e32 v20, v2018242; SI-NEXT: v_cvt_f32_f16_e32 v29, v1218243; SI-NEXT: v_cvt_f32_f16_e32 v35, v1118244; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill18245; SI-NEXT: s_waitcnt expcnt(0)18246; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v618247; SI-NEXT: v_cvt_f32_f16_e32 v20, v2018248; SI-NEXT: v_cvt_f32_f16_e32 v54, v1918249; SI-NEXT: v_cvt_f32_f16_e32 v40, v2218250; SI-NEXT: v_cvt_f32_f16_e32 v42, v2318251; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill18252; SI-NEXT: s_waitcnt expcnt(0)18253; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v518254; SI-NEXT: v_cvt_f32_f16_e32 v20, v2018255; SI-NEXT: v_cvt_f32_f16_e32 v44, v2418256; SI-NEXT: v_cvt_f32_f16_e32 v46, v2618257; SI-NEXT: v_cvt_f32_f16_e32 v56, v2518258; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill18259; SI-NEXT: s_waitcnt expcnt(0)18260; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v418261; SI-NEXT: v_cvt_f32_f16_e32 v28, v2018262; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v318263; SI-NEXT: v_cvt_f32_f16_e32 v30, v2018264; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v218265; SI-NEXT: v_cvt_f32_f16_e32 v31, v2018266; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v118267; SI-NEXT: v_cvt_f32_f16_e32 v32, v2018268; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1318269; SI-NEXT: v_cvt_f32_f16_e32 v33, v2018270; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1718271; SI-NEXT: v_cvt_f32_f16_e32 v34, v2018272; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1918273; SI-NEXT: v_cvt_f32_f16_e32 v36, v2018274; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v2218275; SI-NEXT: v_cvt_f32_f16_e32 v38, v2018276; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v2318277; SI-NEXT: v_cvt_f32_f16_e32 v49, v2018278; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v2418279; SI-NEXT: v_cvt_f32_f16_e32 v51, v2018280; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v2618281; SI-NEXT: v_cvt_f32_f16_e32 v53, v2018282; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v2518283; SI-NEXT: v_cvt_f32_f16_e32 v55, v2018284; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v6318285; SI-NEXT: v_cvt_f32_f16_e32 v41, v2018286; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1418287; SI-NEXT: v_cvt_f32_f16_e32 v43, v2018288; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1518289; SI-NEXT: v_cvt_f32_f16_e32 v45, v2018290; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1618291; SI-NEXT: v_cvt_f32_f16_e32 v47, v2018292; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1818293; SI-NEXT: v_cvt_f32_f16_e32 v58, v2018294; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v2118295; SI-NEXT: v_cvt_f32_f16_e32 v60, v2018296; SI-NEXT: v_cvt_f32_f16_e32 v20, v1018297; SI-NEXT: v_cvt_f32_f16_e32 v57, v6318298; SI-NEXT: v_cvt_f32_f16_e32 v59, v1418299; SI-NEXT: v_cvt_f32_f16_e32 v61, v1518300; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill18301; SI-NEXT: s_waitcnt expcnt(0)18302; SI-NEXT: v_cvt_f32_f16_e32 v20, v918303; SI-NEXT: v_cvt_f32_f16_e32 v62, v1618304; SI-NEXT: v_cvt_f32_f16_e32 v27, v2118305; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill18306; SI-NEXT: s_waitcnt expcnt(0)18307; SI-NEXT: v_cvt_f32_f16_e32 v20, v818308; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill18309; SI-NEXT: s_waitcnt expcnt(0)18310; SI-NEXT: v_cvt_f32_f16_e32 v20, v718311; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill18312; SI-NEXT: s_waitcnt expcnt(0)18313; SI-NEXT: v_cvt_f32_f16_e32 v20, v618314; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill18315; SI-NEXT: s_waitcnt expcnt(0)18316; SI-NEXT: v_cvt_f32_f16_e32 v20, v518317; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill18318; SI-NEXT: s_waitcnt expcnt(0)18319; SI-NEXT: v_cvt_f32_f16_e32 v20, v418320; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill18321; SI-NEXT: s_waitcnt expcnt(0)18322; SI-NEXT: v_cvt_f32_f16_e32 v20, v318323; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill18324; SI-NEXT: s_waitcnt expcnt(0)18325; SI-NEXT: v_cvt_f32_f16_e32 v20, v218326; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill18327; SI-NEXT: s_waitcnt expcnt(0)18328; SI-NEXT: v_cvt_f32_f16_e32 v20, v118329; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill18330; SI-NEXT: s_waitcnt expcnt(0)18331; SI-NEXT: v_cvt_f32_f16_e32 v20, v1318332; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill18333; SI-NEXT: s_waitcnt expcnt(0)18334; SI-NEXT: v_cvt_f32_f16_e32 v20, v1718335; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill18336; SI-NEXT: s_waitcnt expcnt(0)18337; SI-NEXT: v_cvt_f32_f16_e32 v20, v1818338; SI-NEXT: s_cbranch_execnz .LBB33_318339; SI-NEXT: .LBB33_2: ; %cmp.true18340; SI-NEXT: v_add_f32_e32 v1, 1.0, v118341; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v118342; SI-NEXT: v_cvt_f32_f16_e32 v1, v118343; SI-NEXT: v_add_f32_e32 v13, 1.0, v1318344; SI-NEXT: v_add_f32_e32 v17, 1.0, v1718345; SI-NEXT: v_add_f32_e32 v7, 1.0, v718346; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill18347; SI-NEXT: s_waitcnt expcnt(0)18348; SI-NEXT: v_cvt_f32_f16_e32 v1, v1318349; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v718350; SI-NEXT: v_add_f32_e32 v6, 1.0, v618351; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v618352; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill18353; SI-NEXT: s_waitcnt expcnt(0)18354; SI-NEXT: v_cvt_f32_f16_e32 v1, v1718355; SI-NEXT: v_add_f32_e32 v21, 1.0, v2118356; SI-NEXT: v_add_f32_e32 v18, 1.0, v1818357; SI-NEXT: v_add_f32_e32 v16, 1.0, v1618358; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill18359; SI-NEXT: s_waitcnt expcnt(0)18360; SI-NEXT: v_cvt_f32_f16_e32 v1, v3518361; SI-NEXT: v_add_f32_e32 v15, 1.0, v1518362; SI-NEXT: v_add_f32_e32 v14, 1.0, v1418363; SI-NEXT: v_add_f32_e32 v20, 1.0, v6318364; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill18365; SI-NEXT: s_waitcnt expcnt(0)18366; SI-NEXT: v_cvt_f32_f16_e32 v1, v2918367; SI-NEXT: v_add_f32_e32 v25, 1.0, v2518368; SI-NEXT: v_add_f32_e32 v26, 1.0, v2618369; SI-NEXT: v_add_f32_e32 v24, 1.0, v2418370; SI-NEXT: v_add_f32_e32 v23, 1.0, v2318371; SI-NEXT: v_add_f32_e32 v22, 1.0, v2218372; SI-NEXT: v_add_f32_e32 v19, 1.0, v1918373; SI-NEXT: v_add_f32_e32 v2, 1.0, v218374; SI-NEXT: v_add_f32_e32 v3, 1.0, v318375; SI-NEXT: v_add_f32_e32 v4, 1.0, v418376; SI-NEXT: v_add_f32_e32 v5, 1.0, v518377; SI-NEXT: v_add_f32_e32 v8, 1.0, v818378; SI-NEXT: v_add_f32_e32 v9, 1.0, v918379; SI-NEXT: v_add_f32_e32 v10, 1.0, v1018380; SI-NEXT: v_add_f32_e32 v11, 1.0, v1118381; SI-NEXT: v_add_f32_e32 v12, 1.0, v1218382; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v2118383; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v1818384; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v1618385; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v1518386; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1418387; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v2018388; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v2518389; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v2618390; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v2418391; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v2318392; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v2218393; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v1918394; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v1718395; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v1318396; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v218397; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v318398; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v418399; SI-NEXT: v_lshrrev_b32_e32 v63, 16, v518400; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v818401; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v918402; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v1018403; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v1118404; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1218405; SI-NEXT: v_cvt_f32_f16_e32 v12, v1218406; SI-NEXT: v_cvt_f32_f16_e32 v11, v1118407; SI-NEXT: v_cvt_f32_f16_e32 v10, v1018408; SI-NEXT: v_cvt_f32_f16_e32 v9, v918409; SI-NEXT: v_cvt_f32_f16_e32 v8, v818410; SI-NEXT: v_cvt_f32_f16_e32 v7, v718411; SI-NEXT: v_cvt_f32_f16_e32 v6, v618412; SI-NEXT: v_cvt_f32_f16_e32 v5, v518413; SI-NEXT: v_cvt_f32_f16_e32 v4, v418414; SI-NEXT: v_cvt_f32_f16_e32 v3, v318415; SI-NEXT: v_cvt_f32_f16_e32 v2, v218416; SI-NEXT: v_cvt_f32_f16_e32 v54, v1918417; SI-NEXT: v_cvt_f32_f16_e32 v40, v2218418; SI-NEXT: v_cvt_f32_f16_e32 v42, v2318419; SI-NEXT: v_cvt_f32_f16_e32 v44, v2418420; SI-NEXT: v_cvt_f32_f16_e32 v46, v2618421; SI-NEXT: v_cvt_f32_f16_e32 v56, v2518422; SI-NEXT: v_cvt_f32_f16_e32 v57, v2018423; SI-NEXT: v_cvt_f32_f16_e32 v59, v1418424; SI-NEXT: v_cvt_f32_f16_e32 v61, v1518425; SI-NEXT: v_cvt_f32_f16_e32 v62, v1618426; SI-NEXT: v_cvt_f32_f16_e32 v20, v1818427; SI-NEXT: v_cvt_f32_f16_e32 v27, v2118428; SI-NEXT: v_cvt_f32_f16_e32 v52, v5218429; SI-NEXT: v_cvt_f32_f16_e32 v50, v5018430; SI-NEXT: v_cvt_f32_f16_e32 v48, v4818431; SI-NEXT: v_cvt_f32_f16_e32 v39, v3918432; SI-NEXT: v_cvt_f32_f16_e32 v37, v3718433; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill18434; SI-NEXT: s_waitcnt expcnt(0)18435; SI-NEXT: v_cvt_f32_f16_e32 v1, v6318436; SI-NEXT: v_cvt_f32_f16_e32 v28, v2818437; SI-NEXT: v_cvt_f32_f16_e32 v30, v3018438; SI-NEXT: v_cvt_f32_f16_e32 v31, v3118439; SI-NEXT: v_cvt_f32_f16_e32 v32, v3218440; SI-NEXT: v_cvt_f32_f16_e32 v33, v3318441; SI-NEXT: v_cvt_f32_f16_e32 v34, v3418442; SI-NEXT: v_cvt_f32_f16_e32 v36, v3618443; SI-NEXT: v_cvt_f32_f16_e32 v38, v3818444; SI-NEXT: v_cvt_f32_f16_e32 v49, v4918445; SI-NEXT: v_cvt_f32_f16_e32 v51, v5118446; SI-NEXT: v_cvt_f32_f16_e32 v53, v5318447; SI-NEXT: v_cvt_f32_f16_e32 v55, v5518448; SI-NEXT: v_cvt_f32_f16_e32 v41, v4118449; SI-NEXT: v_cvt_f32_f16_e32 v43, v4318450; SI-NEXT: v_cvt_f32_f16_e32 v45, v4518451; SI-NEXT: v_cvt_f32_f16_e32 v47, v4718452; SI-NEXT: v_cvt_f32_f16_e32 v58, v5818453; SI-NEXT: v_cvt_f32_f16_e32 v60, v6018454; SI-NEXT: v_mov_b32_e32 v35, v1118455; SI-NEXT: v_mov_b32_e32 v29, v1218456; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill18457; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill18458; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill18459; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill18460; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill18461; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill18462; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill18463; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill18464; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill18465; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill18466; SI-NEXT: .LBB33_3: ; %end18467; SI-NEXT: s_waitcnt expcnt(0)18468; SI-NEXT: v_cvt_f16_f32_e32 v1, v6018469; SI-NEXT: v_cvt_f16_f32_e32 v2, v2718470; SI-NEXT: v_cvt_f16_f32_e32 v3, v5818471; SI-NEXT: v_cvt_f16_f32_e32 v4, v2018472; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118473; SI-NEXT: v_or_b32_e32 v1, v2, v118474; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v318475; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen18476; SI-NEXT: s_waitcnt expcnt(0)18477; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v018478; SI-NEXT: v_or_b32_e32 v2, v4, v218479; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen18480; SI-NEXT: v_cvt_f16_f32_e32 v1, v4718481; SI-NEXT: s_waitcnt expcnt(0)18482; SI-NEXT: v_cvt_f16_f32_e32 v2, v6218483; SI-NEXT: v_add_i32_e32 v3, vcc, 8, v018484; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118485; SI-NEXT: v_or_b32_e32 v1, v2, v118486; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18487; SI-NEXT: s_waitcnt expcnt(0)18488; SI-NEXT: v_cvt_f16_f32_e32 v1, v4518489; SI-NEXT: v_cvt_f16_f32_e32 v2, v6118490; SI-NEXT: v_add_i32_e32 v3, vcc, 12, v018491; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118492; SI-NEXT: v_or_b32_e32 v1, v2, v118493; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18494; SI-NEXT: s_waitcnt expcnt(0)18495; SI-NEXT: v_cvt_f16_f32_e32 v1, v4318496; SI-NEXT: v_cvt_f16_f32_e32 v2, v5918497; SI-NEXT: v_add_i32_e32 v3, vcc, 16, v018498; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118499; SI-NEXT: v_or_b32_e32 v1, v2, v118500; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18501; SI-NEXT: s_waitcnt expcnt(0)18502; SI-NEXT: v_cvt_f16_f32_e32 v1, v4118503; SI-NEXT: v_cvt_f16_f32_e32 v2, v5718504; SI-NEXT: v_add_i32_e32 v3, vcc, 20, v018505; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118506; SI-NEXT: v_or_b32_e32 v1, v2, v118507; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18508; SI-NEXT: s_waitcnt expcnt(0)18509; SI-NEXT: v_cvt_f16_f32_e32 v1, v5518510; SI-NEXT: v_cvt_f16_f32_e32 v2, v5618511; SI-NEXT: v_add_i32_e32 v3, vcc, 24, v018512; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118513; SI-NEXT: v_or_b32_e32 v1, v2, v118514; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18515; SI-NEXT: s_waitcnt expcnt(0)18516; SI-NEXT: v_cvt_f16_f32_e32 v1, v5318517; SI-NEXT: v_cvt_f16_f32_e32 v2, v4618518; SI-NEXT: v_add_i32_e32 v3, vcc, 28, v018519; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118520; SI-NEXT: v_or_b32_e32 v1, v2, v118521; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18522; SI-NEXT: s_waitcnt expcnt(0)18523; SI-NEXT: v_cvt_f16_f32_e32 v1, v5118524; SI-NEXT: v_cvt_f16_f32_e32 v2, v4418525; SI-NEXT: v_add_i32_e32 v3, vcc, 32, v018526; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118527; SI-NEXT: v_or_b32_e32 v1, v2, v118528; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18529; SI-NEXT: s_waitcnt expcnt(0)18530; SI-NEXT: v_cvt_f16_f32_e32 v1, v4918531; SI-NEXT: v_cvt_f16_f32_e32 v2, v4218532; SI-NEXT: v_add_i32_e32 v3, vcc, 36, v018533; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118534; SI-NEXT: v_or_b32_e32 v1, v2, v118535; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18536; SI-NEXT: s_waitcnt expcnt(0)18537; SI-NEXT: v_cvt_f16_f32_e32 v1, v3818538; SI-NEXT: v_cvt_f16_f32_e32 v2, v4018539; SI-NEXT: v_add_i32_e32 v3, vcc, 40, v018540; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118541; SI-NEXT: v_or_b32_e32 v1, v2, v118542; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18543; SI-NEXT: s_waitcnt expcnt(0)18544; SI-NEXT: v_cvt_f16_f32_e32 v1, v3618545; SI-NEXT: v_cvt_f16_f32_e32 v2, v5418546; SI-NEXT: v_add_i32_e32 v3, vcc, 44, v018547; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118548; SI-NEXT: v_or_b32_e32 v1, v2, v118549; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18550; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload18551; SI-NEXT: s_waitcnt expcnt(0)18552; SI-NEXT: v_cvt_f16_f32_e32 v1, v3418553; SI-NEXT: v_add_i32_e32 v3, vcc, 48, v018554; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118555; SI-NEXT: s_waitcnt vmcnt(0)18556; SI-NEXT: v_cvt_f16_f32_e32 v2, v218557; SI-NEXT: v_or_b32_e32 v1, v2, v118558; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18559; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload18560; SI-NEXT: s_waitcnt expcnt(0)18561; SI-NEXT: v_cvt_f16_f32_e32 v1, v3318562; SI-NEXT: v_add_i32_e32 v3, vcc, 52, v018563; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118564; SI-NEXT: s_waitcnt vmcnt(0)18565; SI-NEXT: v_cvt_f16_f32_e32 v2, v218566; SI-NEXT: v_or_b32_e32 v1, v2, v118567; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18568; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload18569; SI-NEXT: s_waitcnt expcnt(0)18570; SI-NEXT: v_cvt_f16_f32_e32 v1, v3218571; SI-NEXT: v_add_i32_e32 v3, vcc, 56, v018572; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118573; SI-NEXT: s_waitcnt vmcnt(0)18574; SI-NEXT: v_cvt_f16_f32_e32 v2, v218575; SI-NEXT: v_or_b32_e32 v1, v2, v118576; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18577; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload18578; SI-NEXT: s_waitcnt expcnt(0)18579; SI-NEXT: v_cvt_f16_f32_e32 v1, v3118580; SI-NEXT: v_add_i32_e32 v3, vcc, 60, v018581; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118582; SI-NEXT: s_waitcnt vmcnt(0)18583; SI-NEXT: v_cvt_f16_f32_e32 v2, v218584; SI-NEXT: v_or_b32_e32 v1, v2, v118585; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18586; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload18587; SI-NEXT: s_waitcnt expcnt(0)18588; SI-NEXT: v_cvt_f16_f32_e32 v1, v3018589; SI-NEXT: v_add_i32_e32 v3, vcc, 64, v018590; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118591; SI-NEXT: s_waitcnt vmcnt(0)18592; SI-NEXT: v_cvt_f16_f32_e32 v2, v218593; SI-NEXT: v_or_b32_e32 v1, v2, v118594; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18595; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload18596; SI-NEXT: s_waitcnt expcnt(0)18597; SI-NEXT: v_cvt_f16_f32_e32 v1, v2818598; SI-NEXT: v_add_i32_e32 v3, vcc, 0x44, v018599; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118600; SI-NEXT: s_waitcnt vmcnt(0)18601; SI-NEXT: v_cvt_f16_f32_e32 v2, v218602; SI-NEXT: v_or_b32_e32 v1, v2, v118603; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18604; SI-NEXT: s_waitcnt expcnt(0)18605; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload18606; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload18607; SI-NEXT: v_add_i32_e32 v3, vcc, 0x48, v018608; SI-NEXT: s_waitcnt vmcnt(1)18609; SI-NEXT: v_cvt_f16_f32_e32 v1, v118610; SI-NEXT: s_waitcnt vmcnt(0)18611; SI-NEXT: v_cvt_f16_f32_e32 v2, v218612; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118613; SI-NEXT: v_or_b32_e32 v1, v2, v118614; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18615; SI-NEXT: s_waitcnt expcnt(0)18616; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload18617; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload18618; SI-NEXT: v_add_i32_e32 v3, vcc, 0x4c, v018619; SI-NEXT: s_waitcnt vmcnt(1)18620; SI-NEXT: v_cvt_f16_f32_e32 v1, v118621; SI-NEXT: s_waitcnt vmcnt(0)18622; SI-NEXT: v_cvt_f16_f32_e32 v2, v218623; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118624; SI-NEXT: v_or_b32_e32 v1, v2, v118625; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18626; SI-NEXT: s_waitcnt expcnt(0)18627; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload18628; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload18629; SI-NEXT: v_add_i32_e32 v3, vcc, 0x50, v018630; SI-NEXT: s_waitcnt vmcnt(1)18631; SI-NEXT: v_cvt_f16_f32_e32 v1, v118632; SI-NEXT: s_waitcnt vmcnt(0)18633; SI-NEXT: v_cvt_f16_f32_e32 v2, v218634; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118635; SI-NEXT: v_or_b32_e32 v1, v2, v118636; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18637; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload18638; SI-NEXT: s_waitcnt expcnt(0)18639; SI-NEXT: v_cvt_f16_f32_e32 v1, v3718640; SI-NEXT: v_add_i32_e32 v3, vcc, 0x54, v018641; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118642; SI-NEXT: s_waitcnt vmcnt(0)18643; SI-NEXT: v_cvt_f16_f32_e32 v2, v218644; SI-NEXT: v_or_b32_e32 v1, v2, v118645; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18646; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload18647; SI-NEXT: s_waitcnt expcnt(0)18648; SI-NEXT: v_cvt_f16_f32_e32 v1, v3918649; SI-NEXT: v_add_i32_e32 v3, vcc, 0x58, v018650; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118651; SI-NEXT: s_waitcnt vmcnt(0)18652; SI-NEXT: v_cvt_f16_f32_e32 v2, v218653; SI-NEXT: v_or_b32_e32 v1, v2, v118654; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18655; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload18656; SI-NEXT: s_waitcnt expcnt(0)18657; SI-NEXT: v_cvt_f16_f32_e32 v1, v4818658; SI-NEXT: v_add_i32_e32 v3, vcc, 0x5c, v018659; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118660; SI-NEXT: s_waitcnt vmcnt(0)18661; SI-NEXT: v_cvt_f16_f32_e32 v2, v218662; SI-NEXT: v_or_b32_e32 v1, v2, v118663; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18664; SI-NEXT: s_waitcnt expcnt(0)18665; SI-NEXT: v_cvt_f16_f32_e32 v1, v5018666; SI-NEXT: v_cvt_f16_f32_e32 v2, v3518667; SI-NEXT: v_add_i32_e32 v3, vcc, 0x60, v018668; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118669; SI-NEXT: v_or_b32_e32 v1, v2, v118670; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18671; SI-NEXT: s_waitcnt expcnt(0)18672; SI-NEXT: v_cvt_f16_f32_e32 v1, v5218673; SI-NEXT: v_cvt_f16_f32_e32 v2, v2918674; SI-NEXT: v_add_i32_e32 v0, vcc, 0x64, v018675; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118676; SI-NEXT: v_or_b32_e32 v1, v2, v118677; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen18678; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload18679; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload18680; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload18681; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload18682; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload18683; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload18684; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload18685; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload18686; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload18687; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload18688; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload18689; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload18690; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload18691; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload18692; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload18693; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload18694; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)18695; SI-NEXT: s_setpc_b64 s[30:31]18696; SI-NEXT: .LBB33_4:18697; SI-NEXT: ; implicit-def: $vgpr2918698; SI-NEXT: ; kill: killed $vgpr2918699; SI-NEXT: ; implicit-def: $vgpr2818700; SI-NEXT: ; kill: killed $vgpr2818701; SI-NEXT: ; implicit-def: $vgpr2918702; SI-NEXT: ; kill: killed $vgpr2918703; SI-NEXT: ; implicit-def: $vgpr2818704; SI-NEXT: ; kill: killed $vgpr2818705; SI-NEXT: ; implicit-def: $vgpr2718706; SI-NEXT: ; implicit-def: $vgpr6018707; SI-NEXT: ; implicit-def: $vgpr2018708; SI-NEXT: ; implicit-def: $vgpr5818709; SI-NEXT: ; implicit-def: $vgpr6218710; SI-NEXT: ; implicit-def: $vgpr4718711; SI-NEXT: ; implicit-def: $vgpr6118712; SI-NEXT: ; implicit-def: $vgpr4518713; SI-NEXT: ; implicit-def: $vgpr5918714; SI-NEXT: ; implicit-def: $vgpr4318715; SI-NEXT: ; implicit-def: $vgpr5718716; SI-NEXT: ; implicit-def: $vgpr4118717; SI-NEXT: ; implicit-def: $vgpr5618718; SI-NEXT: ; implicit-def: $vgpr5518719; SI-NEXT: ; implicit-def: $vgpr4618720; SI-NEXT: ; implicit-def: $vgpr5318721; SI-NEXT: ; implicit-def: $vgpr4418722; SI-NEXT: ; implicit-def: $vgpr5118723; SI-NEXT: ; implicit-def: $vgpr4218724; SI-NEXT: ; implicit-def: $vgpr4918725; SI-NEXT: ; implicit-def: $vgpr4018726; SI-NEXT: ; implicit-def: $vgpr3818727; SI-NEXT: ; implicit-def: $vgpr5418728; SI-NEXT: ; implicit-def: $vgpr3618729; SI-NEXT: ; implicit-def: $vgpr3418730; SI-NEXT: ; implicit-def: $vgpr3318731; SI-NEXT: ; implicit-def: $vgpr3218732; SI-NEXT: ; implicit-def: $vgpr3118733; SI-NEXT: ; implicit-def: $vgpr3018734; SI-NEXT: ; implicit-def: $vgpr3718735; SI-NEXT: ; implicit-def: $vgpr3918736; SI-NEXT: ; implicit-def: $vgpr4818737; SI-NEXT: ; implicit-def: $vgpr3518738; SI-NEXT: ; implicit-def: $vgpr5018739; SI-NEXT: ; implicit-def: $vgpr5218740; SI-NEXT: ; implicit-def: $vgpr2918741; SI-NEXT: ; kill: killed $vgpr2918742; SI-NEXT: ; implicit-def: $vgpr2818743; SI-NEXT: ; kill: killed $vgpr2818744; SI-NEXT: ; implicit-def: $vgpr2918745; SI-NEXT: ; kill: killed $vgpr2918746; SI-NEXT: ; implicit-def: $vgpr2818747; SI-NEXT: ; kill: killed $vgpr2818748; SI-NEXT: ; implicit-def: $vgpr2918749; SI-NEXT: ; kill: killed $vgpr2918750; SI-NEXT: ; implicit-def: $vgpr2818751; SI-NEXT: ; kill: killed $vgpr2818752; SI-NEXT: ; implicit-def: $vgpr2918753; SI-NEXT: ; kill: killed $vgpr2918754; SI-NEXT: ; implicit-def: $vgpr2818755; SI-NEXT: ; kill: killed $vgpr2818756; SI-NEXT: ; implicit-def: $vgpr2918757; SI-NEXT: ; kill: killed $vgpr2918758; SI-NEXT: ; implicit-def: $vgpr2818759; SI-NEXT: ; implicit-def: $vgpr2918760; SI-NEXT: ; kill: killed $vgpr2918761; SI-NEXT: ; implicit-def: $vgpr2918762; SI-NEXT: ; kill: killed $vgpr2918763; SI-NEXT: ; implicit-def: $vgpr2918764; SI-NEXT: s_branch .LBB33_218765;18766; VI-LABEL: bitcast_v26f32_to_v52f16_scalar:18767; VI: ; %bb.0:18768; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18769; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1218770; VI-NEXT: v_mov_b32_e32 v22, s1618771; VI-NEXT: v_mov_b32_e32 v20, s1718772; VI-NEXT: v_mov_b32_e32 v18, s1818773; VI-NEXT: v_mov_b32_e32 v17, s1918774; VI-NEXT: v_mov_b32_e32 v15, s2018775; VI-NEXT: v_mov_b32_e32 v14, s2118776; VI-NEXT: v_mov_b32_e32 v13, s2218777; VI-NEXT: v_mov_b32_e32 v24, s2318778; VI-NEXT: s_and_b64 s[4:5], vcc, exec18779; VI-NEXT: v_mov_b32_e32 v25, s2418780; VI-NEXT: v_mov_b32_e32 v23, s2518781; VI-NEXT: v_mov_b32_e32 v21, s2618782; VI-NEXT: v_mov_b32_e32 v19, s2718783; VI-NEXT: v_mov_b32_e32 v12, s2818784; VI-NEXT: v_mov_b32_e32 v16, s2918785; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill18786; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill18787; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill18788; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill18789; VI-NEXT: s_cbranch_scc0 .LBB33_418790; VI-NEXT: ; %bb.1: ; %cmp.false18791; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1118792; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1018793; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v918794; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v818795; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v718796; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v618797; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v518798; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v418799; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v318800; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v218801; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v118802; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v018803; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v1618804; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1218805; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1918806; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2118807; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2318808; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2518809; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2418810; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1318811; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1418812; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v1518813; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v1718814; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v1818815; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2018816; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2218817; VI-NEXT: s_cbranch_execnz .LBB33_318818; VI-NEXT: .LBB33_2: ; %cmp.true18819; VI-NEXT: v_add_f32_e32 v11, 1.0, v1118820; VI-NEXT: v_add_f32_e32 v10, 1.0, v1018821; VI-NEXT: v_add_f32_e32 v9, 1.0, v918822; VI-NEXT: v_add_f32_e32 v8, 1.0, v818823; VI-NEXT: v_add_f32_e32 v7, 1.0, v718824; VI-NEXT: v_add_f32_e32 v6, 1.0, v618825; VI-NEXT: v_add_f32_e32 v5, 1.0, v518826; VI-NEXT: v_add_f32_e32 v4, 1.0, v418827; VI-NEXT: v_add_f32_e32 v3, 1.0, v318828; VI-NEXT: v_add_f32_e32 v2, 1.0, v218829; VI-NEXT: v_add_f32_e32 v1, 1.0, v118830; VI-NEXT: v_add_f32_e32 v0, 1.0, v018831; VI-NEXT: v_add_f32_e32 v16, 1.0, v1618832; VI-NEXT: v_add_f32_e32 v12, 1.0, v1218833; VI-NEXT: v_add_f32_e32 v19, 1.0, v1918834; VI-NEXT: v_add_f32_e32 v21, 1.0, v2118835; VI-NEXT: v_add_f32_e32 v23, 1.0, v2318836; VI-NEXT: v_add_f32_e32 v25, 1.0, v2518837; VI-NEXT: v_add_f32_e32 v24, 1.0, v2418838; VI-NEXT: v_add_f32_e32 v13, 1.0, v1318839; VI-NEXT: v_add_f32_e32 v14, 1.0, v1418840; VI-NEXT: v_add_f32_e32 v15, 1.0, v1518841; VI-NEXT: v_add_f32_e32 v17, 1.0, v1718842; VI-NEXT: v_add_f32_e32 v18, 1.0, v1818843; VI-NEXT: v_add_f32_e32 v20, 1.0, v2018844; VI-NEXT: v_add_f32_e32 v22, 1.0, v2218845; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1118846; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1018847; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v918848; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v818849; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v718850; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v618851; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v518852; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v418853; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v318854; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v218855; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v118856; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v018857; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v1618858; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1218859; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v1918860; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2118861; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2318862; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2518863; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2418864; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1318865; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1418866; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v1518867; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v1718868; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v1818869; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2018870; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2218871; VI-NEXT: .LBB33_3: ; %end18872; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v3618873; VI-NEXT: v_or_b32_sdwa v36, v22, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18874; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v3718875; VI-NEXT: v_or_b32_sdwa v37, v20, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18876; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v2618877; VI-NEXT: v_or_b32_sdwa v26, v18, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18878; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v2718879; VI-NEXT: v_or_b32_sdwa v27, v17, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18880; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v2818881; VI-NEXT: v_or_b32_sdwa v28, v15, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18882; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v2918883; VI-NEXT: v_or_b32_sdwa v29, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18884; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v3018885; VI-NEXT: v_or_b32_sdwa v30, v13, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18886; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3118887; VI-NEXT: v_or_b32_sdwa v31, v24, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18888; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3218889; VI-NEXT: v_or_b32_sdwa v32, v25, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18890; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3318891; VI-NEXT: v_or_b32_sdwa v33, v23, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18892; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3418893; VI-NEXT: v_or_b32_sdwa v34, v21, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18894; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v3518895; VI-NEXT: v_or_b32_sdwa v35, v19, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18896; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v4318897; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v4118898; VI-NEXT: v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18899; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v4218900; VI-NEXT: v_or_b32_sdwa v14, v0, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18901; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4018902; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload18903; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload18904; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload18905; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload18906; VI-NEXT: v_or_b32_sdwa v15, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18907; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5518908; VI-NEXT: v_or_b32_sdwa v13, v16, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18909; VI-NEXT: v_or_b32_sdwa v16, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18910; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5418911; VI-NEXT: v_or_b32_sdwa v17, v3, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18912; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5318913; VI-NEXT: v_or_b32_sdwa v18, v4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18914; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5218915; VI-NEXT: v_or_b32_sdwa v19, v5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18916; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5118917; VI-NEXT: v_or_b32_sdwa v20, v6, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18918; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5018919; VI-NEXT: v_or_b32_sdwa v21, v7, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18920; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4918921; VI-NEXT: v_or_b32_sdwa v22, v8, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18922; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4818923; VI-NEXT: v_or_b32_sdwa v23, v9, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18924; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v3918925; VI-NEXT: v_or_b32_sdwa v24, v10, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18926; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v3818927; VI-NEXT: v_or_b32_sdwa v25, v11, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD18928; VI-NEXT: v_mov_b32_e32 v0, v3618929; VI-NEXT: v_mov_b32_e32 v1, v3718930; VI-NEXT: v_mov_b32_e32 v2, v2618931; VI-NEXT: v_mov_b32_e32 v3, v2718932; VI-NEXT: v_mov_b32_e32 v4, v2818933; VI-NEXT: v_mov_b32_e32 v5, v2918934; VI-NEXT: v_mov_b32_e32 v6, v3018935; VI-NEXT: v_mov_b32_e32 v7, v3118936; VI-NEXT: v_mov_b32_e32 v8, v3218937; VI-NEXT: v_mov_b32_e32 v9, v3318938; VI-NEXT: v_mov_b32_e32 v10, v3418939; VI-NEXT: v_mov_b32_e32 v11, v3518940; VI-NEXT: s_waitcnt vmcnt(0)18941; VI-NEXT: s_setpc_b64 s[30:31]18942; VI-NEXT: .LBB33_4:18943; VI-NEXT: ; implicit-def: $vgpr3618944; VI-NEXT: ; implicit-def: $vgpr3718945; VI-NEXT: ; implicit-def: $vgpr2618946; VI-NEXT: ; implicit-def: $vgpr2718947; VI-NEXT: ; implicit-def: $vgpr2818948; VI-NEXT: ; implicit-def: $vgpr2918949; VI-NEXT: ; implicit-def: $vgpr3018950; VI-NEXT: ; implicit-def: $vgpr3118951; VI-NEXT: ; implicit-def: $vgpr3218952; VI-NEXT: ; implicit-def: $vgpr3318953; VI-NEXT: ; implicit-def: $vgpr3418954; VI-NEXT: ; implicit-def: $vgpr3518955; VI-NEXT: ; implicit-def: $vgpr4318956; VI-NEXT: ; implicit-def: $vgpr4218957; VI-NEXT: ; implicit-def: $vgpr4118958; VI-NEXT: ; implicit-def: $vgpr4018959; VI-NEXT: ; implicit-def: $vgpr5518960; VI-NEXT: ; implicit-def: $vgpr5418961; VI-NEXT: ; implicit-def: $vgpr5318962; VI-NEXT: ; implicit-def: $vgpr5218963; VI-NEXT: ; implicit-def: $vgpr5118964; VI-NEXT: ; implicit-def: $vgpr5018965; VI-NEXT: ; implicit-def: $vgpr4918966; VI-NEXT: ; implicit-def: $vgpr4818967; VI-NEXT: ; implicit-def: $vgpr3918968; VI-NEXT: ; implicit-def: $vgpr3818969; VI-NEXT: s_branch .LBB33_218970;18971; GFX9-LABEL: bitcast_v26f32_to_v52f16_scalar:18972; GFX9: ; %bb.0:18973; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18974; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1218975; GFX9-NEXT: v_mov_b32_e32 v22, s1618976; GFX9-NEXT: v_mov_b32_e32 v20, s1718977; GFX9-NEXT: v_mov_b32_e32 v18, s1818978; GFX9-NEXT: v_mov_b32_e32 v17, s1918979; GFX9-NEXT: v_mov_b32_e32 v15, s2018980; GFX9-NEXT: v_mov_b32_e32 v14, s2118981; GFX9-NEXT: v_mov_b32_e32 v13, s2218982; GFX9-NEXT: v_mov_b32_e32 v24, s2318983; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec18984; GFX9-NEXT: v_mov_b32_e32 v25, s2418985; GFX9-NEXT: v_mov_b32_e32 v23, s2518986; GFX9-NEXT: v_mov_b32_e32 v21, s2618987; GFX9-NEXT: v_mov_b32_e32 v19, s2718988; GFX9-NEXT: v_mov_b32_e32 v12, s2818989; GFX9-NEXT: v_mov_b32_e32 v16, s2918990; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill18991; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill18992; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill18993; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 ; 4-byte Folded Spill18994; GFX9-NEXT: s_cbranch_scc0 .LBB33_418995; GFX9-NEXT: ; %bb.1: ; %cmp.false18996; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1118997; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1018998; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v918999; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v819000; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v719001; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v619002; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v519003; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v419004; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v319005; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v219006; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v119007; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v019008; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v1619009; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1219010; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1919011; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2119012; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2319013; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2519014; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2419015; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1319016; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1419017; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v1519018; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v1719019; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v1819020; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2019021; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2219022; GFX9-NEXT: s_cbranch_execnz .LBB33_319023; GFX9-NEXT: .LBB33_2: ; %cmp.true19024; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1119025; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1019026; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v919027; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v819028; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v719029; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v619030; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v519031; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v419032; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v319033; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v219034; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v119035; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v019036; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1619037; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1219038; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1919039; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2119040; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2319041; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2519042; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2419043; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1319044; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1419045; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1519046; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1719047; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1819048; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2019049; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2219050; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1119051; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1019052; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v919053; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v819054; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v719055; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v619056; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v519057; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v419058; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v319059; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v219060; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v119061; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v019062; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v1619063; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1219064; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v1919065; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2119066; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2319067; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2519068; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2419069; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1319070; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1419071; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v1519072; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v1719073; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v1819074; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2019075; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2219076; GFX9-NEXT: .LBB33_3: ; %end19077; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v1319078; GFX9-NEXT: v_lshl_or_b32 v30, v30, 16, v1319079; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2419080; GFX9-NEXT: v_lshl_or_b32 v31, v31, 16, v1319081; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2519082; GFX9-NEXT: v_lshl_or_b32 v32, v32, 16, v1319083; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2319084; GFX9-NEXT: v_lshl_or_b32 v33, v33, 16, v1319085; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v2119086; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v1419087; GFX9-NEXT: v_lshl_or_b32 v34, v34, 16, v1319088; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v1919089; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v019090; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v1519091; GFX9-NEXT: v_lshl_or_b32 v29, v29, 16, v1419092; GFX9-NEXT: v_lshl_or_b32 v35, v35, 16, v1319093; GFX9-NEXT: v_and_b32_e32 v12, 0xffff, v1219094; GFX9-NEXT: v_and_b32_e32 v13, 0xffff, v1619095; GFX9-NEXT: v_lshl_or_b32 v14, v41, 16, v019096; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v119097; GFX9-NEXT: v_lshl_or_b32 v28, v28, 16, v1519098; GFX9-NEXT: v_lshl_or_b32 v12, v43, 16, v1219099; GFX9-NEXT: v_lshl_or_b32 v13, v42, 16, v1319100; GFX9-NEXT: v_lshl_or_b32 v15, v40, 16, v019101; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 ; 4-byte Folded Reload19102; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload19103; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload19104; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload19105; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v219106; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v1719107; GFX9-NEXT: v_lshl_or_b32 v16, v55, 16, v019108; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v319109; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v1819110; GFX9-NEXT: v_lshl_or_b32 v27, v27, 16, v1719111; GFX9-NEXT: v_lshl_or_b32 v17, v54, 16, v019112; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v419113; GFX9-NEXT: v_lshl_or_b32 v26, v26, 16, v1819114; GFX9-NEXT: v_lshl_or_b32 v18, v53, 16, v019115; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v519116; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v2019117; GFX9-NEXT: v_lshl_or_b32 v19, v52, 16, v019118; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v619119; GFX9-NEXT: v_lshl_or_b32 v37, v37, 16, v2019120; GFX9-NEXT: v_lshl_or_b32 v20, v51, 16, v019121; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v719122; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v2219123; GFX9-NEXT: v_lshl_or_b32 v21, v50, 16, v019124; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v819125; GFX9-NEXT: v_lshl_or_b32 v36, v36, 16, v2219126; GFX9-NEXT: v_lshl_or_b32 v22, v49, 16, v019127; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v919128; GFX9-NEXT: v_lshl_or_b32 v23, v48, 16, v019129; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1019130; GFX9-NEXT: v_lshl_or_b32 v24, v39, 16, v019131; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1119132; GFX9-NEXT: v_lshl_or_b32 v25, v38, 16, v019133; GFX9-NEXT: v_mov_b32_e32 v0, v3619134; GFX9-NEXT: v_mov_b32_e32 v1, v3719135; GFX9-NEXT: v_mov_b32_e32 v2, v2619136; GFX9-NEXT: v_mov_b32_e32 v3, v2719137; GFX9-NEXT: v_mov_b32_e32 v4, v2819138; GFX9-NEXT: v_mov_b32_e32 v5, v2919139; GFX9-NEXT: v_mov_b32_e32 v6, v3019140; GFX9-NEXT: v_mov_b32_e32 v7, v3119141; GFX9-NEXT: v_mov_b32_e32 v8, v3219142; GFX9-NEXT: v_mov_b32_e32 v9, v3319143; GFX9-NEXT: v_mov_b32_e32 v10, v3419144; GFX9-NEXT: v_mov_b32_e32 v11, v3519145; GFX9-NEXT: s_waitcnt vmcnt(0)19146; GFX9-NEXT: s_setpc_b64 s[30:31]19147; GFX9-NEXT: .LBB33_4:19148; GFX9-NEXT: ; implicit-def: $vgpr3619149; GFX9-NEXT: ; implicit-def: $vgpr3719150; GFX9-NEXT: ; implicit-def: $vgpr2619151; GFX9-NEXT: ; implicit-def: $vgpr2719152; GFX9-NEXT: ; implicit-def: $vgpr2819153; GFX9-NEXT: ; implicit-def: $vgpr2919154; GFX9-NEXT: ; implicit-def: $vgpr3019155; GFX9-NEXT: ; implicit-def: $vgpr3119156; GFX9-NEXT: ; implicit-def: $vgpr3219157; GFX9-NEXT: ; implicit-def: $vgpr3319158; GFX9-NEXT: ; implicit-def: $vgpr3419159; GFX9-NEXT: ; implicit-def: $vgpr3519160; GFX9-NEXT: ; implicit-def: $vgpr4319161; GFX9-NEXT: ; implicit-def: $vgpr4219162; GFX9-NEXT: ; implicit-def: $vgpr4119163; GFX9-NEXT: ; implicit-def: $vgpr4019164; GFX9-NEXT: ; implicit-def: $vgpr5519165; GFX9-NEXT: ; implicit-def: $vgpr5419166; GFX9-NEXT: ; implicit-def: $vgpr5319167; GFX9-NEXT: ; implicit-def: $vgpr5219168; GFX9-NEXT: ; implicit-def: $vgpr5119169; GFX9-NEXT: ; implicit-def: $vgpr5019170; GFX9-NEXT: ; implicit-def: $vgpr4919171; GFX9-NEXT: ; implicit-def: $vgpr4819172; GFX9-NEXT: ; implicit-def: $vgpr3919173; GFX9-NEXT: ; implicit-def: $vgpr3819174; GFX9-NEXT: s_branch .LBB33_219175;19176; GFX11-TRUE16-LABEL: bitcast_v26f32_to_v52f16_scalar:19177; GFX11-TRUE16: ; %bb.0:19178; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19179; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, v8 :: v_dual_mov_b32 v25, v719180; GFX11-TRUE16-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v519181; GFX11-TRUE16-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v319182; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)19183; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1619184; GFX11-TRUE16-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v119185; GFX11-TRUE16-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s119186; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s319187; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1719188; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1919189; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2119190; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2319191; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2519192; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2719193; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2919194; GFX11-TRUE16-NEXT: v_mov_b32_e32 v16, s2819195; GFX11-TRUE16-NEXT: s_mov_b32 s0, 019196; GFX11-TRUE16-NEXT: s_and_b32 s1, vcc_lo, exec_lo19197; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB33_419198; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false19199; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2519200; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2419201; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2319202; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2219203; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2119204; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2019205; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1919206; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1819207; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1719208; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1619209; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1519210; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1419211; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1319212; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1219213; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1119214; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1019215; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v919216; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v819217; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v719218; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v619219; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v519220; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v419221; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v319222; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v219223; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v119224; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v019225; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s019226; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB33_319227; GFX11-TRUE16-NEXT: .LBB33_2: ; %cmp.true19228; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2419229; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2219230; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2019231; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1819232; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1619233; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1419234; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1219235; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1019236; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v819237; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v619238; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v419239; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v219240; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v019241; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v26, 16, v2519242; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2419243; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2319244; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2219245; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2119246; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2019247; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 16, v1919248; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 16, v1819249; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 16, v1719250; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 16, v1619251; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1519252; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1419253; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1319254; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1219255; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1119256; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1019257; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v919258; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v819259; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v719260; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v619261; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v519262; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v419263; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v319264; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v219265; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v119266; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v019267; GFX11-TRUE16-NEXT: .LBB33_3: ; %end19268; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_4)19269; GFX11-TRUE16-NEXT: v_dual_mov_b32 v67, v67 :: v_dual_mov_b32 v66, v6619270; GFX11-TRUE16-NEXT: v_dual_mov_b32 v65, v65 :: v_dual_mov_b32 v64, v6419271; GFX11-TRUE16-NEXT: v_dual_mov_b32 v55, v55 :: v_dual_mov_b32 v54, v5419272; GFX11-TRUE16-NEXT: v_dual_mov_b32 v53, v53 :: v_dual_mov_b32 v52, v5219273; GFX11-TRUE16-NEXT: v_dual_mov_b32 v51, v51 :: v_dual_mov_b32 v50, v5019274; GFX11-TRUE16-NEXT: v_dual_mov_b32 v49, v49 :: v_dual_mov_b32 v48, v4819275; GFX11-TRUE16-NEXT: v_dual_mov_b32 v39, v39 :: v_dual_mov_b32 v38, v3819276; GFX11-TRUE16-NEXT: v_dual_mov_b32 v37, v37 :: v_dual_mov_b32 v36, v3619277; GFX11-TRUE16-NEXT: v_dual_mov_b32 v35, v35 :: v_dual_mov_b32 v34, v3419278; GFX11-TRUE16-NEXT: v_dual_mov_b32 v33, v33 :: v_dual_mov_b32 v32, v3219279; GFX11-TRUE16-NEXT: v_dual_mov_b32 v31, v31 :: v_dual_mov_b32 v30, v3019280; GFX11-TRUE16-NEXT: v_dual_mov_b32 v29, v29 :: v_dual_mov_b32 v28, v2819281; GFX11-TRUE16-NEXT: v_dual_mov_b32 v27, v27 :: v_dual_mov_b32 v26, v2619282; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v67.l19283; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v66.l19284; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v65.l19285; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v64.l19286; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v55.l19287; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v54.l19288; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v53.l19289; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v52.l19290; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v51.l19291; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v50.l19292; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v49.l19293; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v48.l19294; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v39.l19295; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v38.l19296; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v37.l19297; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v36.l19298; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v35.l19299; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v34.l19300; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v33.l19301; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v32.l19302; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v31.l19303; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v30.l19304; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v29.l19305; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v28.l19306; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v27.l19307; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l19308; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]19309; GFX11-TRUE16-NEXT: .LBB33_4:19310; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6719311; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6619312; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6519313; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6419314; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5519315; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5419316; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5319317; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5219318; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5119319; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5019320; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr4919321; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr4819322; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3919323; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3819324; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3719325; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3619326; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3519327; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3419328; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3319329; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3219330; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3119331; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3019332; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2919333; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2819334; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2719335; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2619336; GFX11-TRUE16-NEXT: s_branch .LBB33_219337;19338; GFX11-FAKE16-LABEL: bitcast_v26f32_to_v52f16_scalar:19339; GFX11-FAKE16: ; %bb.0:19340; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19341; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v819342; GFX11-FAKE16-NEXT: v_dual_mov_b32 v26, s0 :: v_dual_mov_b32 v25, s119343; GFX11-FAKE16-NEXT: v_dual_mov_b32 v24, s2 :: v_dual_mov_b32 v23, s319344; GFX11-FAKE16-NEXT: v_dual_mov_b32 v22, s16 :: v_dual_mov_b32 v21, s1719345; GFX11-FAKE16-NEXT: v_dual_mov_b32 v20, s18 :: v_dual_mov_b32 v19, s1919346; GFX11-FAKE16-NEXT: v_dual_mov_b32 v18, s20 :: v_dual_mov_b32 v9, s2219347; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s21 :: v_dual_mov_b32 v15, s2319348; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s24 :: v_dual_mov_b32 v13, s2519349; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s26 :: v_dual_mov_b32 v11, s2719350; GFX11-FAKE16-NEXT: v_dual_mov_b32 v17, s28 :: v_dual_mov_b32 v16, s2919351; GFX11-FAKE16-NEXT: s_mov_b32 s0, 019352; GFX11-FAKE16-NEXT: s_and_b32 s1, vcc_lo, exec_lo19353; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB33_419354; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false19355; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v719356; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v619357; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v519358; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v419359; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v319360; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v219361; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v119362; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v019363; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1619364; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1719365; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1119366; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1219367; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1319368; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v1419369; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v1519370; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v919371; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v1019372; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 16, v1819373; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v1919374; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2019375; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2119376; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2219377; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2319378; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v2419379; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2519380; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2619381; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s019382; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB33_319383; GFX11-FAKE16-NEXT: .LBB33_2: ; %cmp.true19384; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v619385; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v419386; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v219387; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v019388; GFX11-FAKE16-NEXT: v_dual_add_f32 v16, 1.0, v16 :: v_dual_add_f32 v17, 1.0, v1719389; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v12, 1.0, v1219390; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v14, 1.0, v1419391; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v10, 1.0, v1019392; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v18, 1.0, v1819393; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v20, 1.0, v2019394; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v22, 1.0, v2219395; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v24, 1.0, v2419396; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v26, 1.0, v2619397; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v719398; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v619399; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v519400; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v419401; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v319402; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v219403; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v119404; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v019405; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1619406; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1719407; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1119408; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1219409; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1319410; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v1419411; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v1519412; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v919413; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v1019414; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 16, v1819415; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v1919416; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2019417; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2119418; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2219419; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v2319420; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v2419421; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2519422; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2619423; GFX11-FAKE16-NEXT: .LBB33_3: ; %end19424; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v1919425; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1819426; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xffff, v2519427; GFX11-FAKE16-NEXT: v_and_b32_e32 v23, 0xffff, v2319428; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v2119429; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v1919430; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v8, 16, v1819431; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v1519432; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v1419433; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1219434; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v1119435; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff, v119436; GFX11-FAKE16-NEXT: v_lshl_or_b32 v33, v33, 16, v2519437; GFX11-FAKE16-NEXT: v_and_b32_e32 v26, 0xffff, v2619438; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v27, 16, v2319439; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff, v2419440; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v29, 16, v2119441; GFX11-FAKE16-NEXT: v_and_b32_e32 v22, 0xffff, v2219442; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v2019443; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v64, 16, v1519444; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v55, 16, v1419445; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v53, 16, v1819446; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v52, 16, v1919447; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xffff, v1719448; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1619449; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xffff, v019450; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xffff, v219451; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v119452; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff, v419453; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xffff, v1019454; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v919455; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v1319456; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v51, 16, v1719457; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v50, 16, v1819458; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v019459; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xffff, v319460; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v619461; GFX11-FAKE16-NEXT: v_dual_mov_b32 v7, v31 :: v_dual_and_b32 v4, 0xffff, v719462; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v2019463; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v219464; GFX11-FAKE16-NEXT: v_dual_mov_b32 v5, v29 :: v_dual_and_b32 v2, 0xffff, v519465; GFX11-FAKE16-NEXT: v_lshl_or_b32 v28, v28, 16, v2219466; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v119467; GFX11-FAKE16-NEXT: v_mov_b32_e32 v1, v3319468; GFX11-FAKE16-NEXT: v_lshl_or_b32 v32, v32, 16, v2619469; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v67, 16, v2419470; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v66, 16, v1019471; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v65, 16, v2119472; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v54, 16, v1319473; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v019474; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v219475; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v319476; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v419477; GFX11-FAKE16-NEXT: v_mov_b32_e32 v0, v3219478; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, v26 :: v_dual_mov_b32 v3, v2719479; GFX11-FAKE16-NEXT: v_mov_b32_e32 v4, v2819480; GFX11-FAKE16-NEXT: v_mov_b32_e32 v6, v3019481; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]19482; GFX11-FAKE16-NEXT: .LBB33_4:19483; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3219484; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3319485; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6719486; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2719487; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2819488; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2919489; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3019490; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3119491; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr819492; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6619493; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6519494; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6419495; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5519496; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5419497; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5319498; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5219499; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5119500; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5019501; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4919502; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4819503; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3919504; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3819505; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3719506; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3619507; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3519508; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3419509; GFX11-FAKE16-NEXT: s_branch .LBB33_219510 %cmp = icmp eq i32 %b, 019511 br i1 %cmp, label %cmp.true, label %cmp.false19512 19513cmp.true:19514 %a1 = fadd <26 x float> %a, splat (float 1.000000e+00)19515 %a2 = bitcast <26 x float> %a1 to <52 x half>19516 br label %end19517 19518cmp.false:19519 %a3 = bitcast <26 x float> %a to <52 x half>19520 br label %end19521 19522end:19523 %phi = phi <52 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]19524 ret <52 x half> %phi19525}19526 19527define <26 x float> @bitcast_v52f16_to_v26f32(<52 x half> %a, i32 %b) {19528; SI-LABEL: bitcast_v52f16_to_v26f32:19529; SI: ; %bb.0:19530; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19531; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill19532; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill19533; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill19534; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill19535; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill19536; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill19537; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill19538; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill19539; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill19540; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill19541; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill19542; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill19543; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill19544; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill19545; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill19546; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill19547; SI-NEXT: v_cvt_f16_f32_e32 v42, v019548; SI-NEXT: v_cvt_f16_f32_e32 v0, v1019549; SI-NEXT: buffer_load_dword v31, off, s[0:3], s3219550; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:819551; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:419552; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:1619553; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:1219554; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:2419555; SI-NEXT: s_waitcnt expcnt(6)19556; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:2019557; SI-NEXT: s_waitcnt expcnt(5)19558; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:3219559; SI-NEXT: s_waitcnt expcnt(4)19560; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:2819561; SI-NEXT: s_waitcnt expcnt(3)19562; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:4019563; SI-NEXT: s_waitcnt expcnt(2)19564; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:3619565; SI-NEXT: s_waitcnt expcnt(1)19566; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4819567; SI-NEXT: s_waitcnt expcnt(0)19568; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:4419569; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:5619570; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:5219571; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:6419572; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:6019573; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:7219574; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:6819575; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:8019576; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:7619577; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:8419578; SI-NEXT: v_cvt_f16_f32_e32 v43, v119579; SI-NEXT: v_cvt_f16_f32_e32 v41, v319580; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill19581; SI-NEXT: s_waitcnt expcnt(0)19582; SI-NEXT: v_cvt_f16_f32_e32 v0, v1319583; SI-NEXT: v_cvt_f16_f32_e32 v40, v219584; SI-NEXT: v_cvt_f16_f32_e32 v55, v519585; SI-NEXT: v_cvt_f16_f32_e32 v54, v419586; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill19587; SI-NEXT: s_waitcnt expcnt(0)19588; SI-NEXT: v_cvt_f16_f32_e32 v0, v1219589; SI-NEXT: v_cvt_f16_f32_e32 v53, v719590; SI-NEXT: v_cvt_f16_f32_e32 v52, v619591; SI-NEXT: v_cvt_f16_f32_e32 v51, v919592; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill19593; SI-NEXT: s_waitcnt expcnt(0)19594; SI-NEXT: v_cvt_f16_f32_e32 v0, v1519595; SI-NEXT: v_cvt_f16_f32_e32 v50, v819596; SI-NEXT: v_cvt_f16_f32_e32 v49, v1119597; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill19598; SI-NEXT: s_waitcnt expcnt(0)19599; SI-NEXT: v_cvt_f16_f32_e32 v0, v1419600; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill19601; SI-NEXT: s_waitcnt expcnt(0)19602; SI-NEXT: v_cvt_f16_f32_e32 v0, v1719603; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill19604; SI-NEXT: s_waitcnt expcnt(0)19605; SI-NEXT: v_cvt_f16_f32_e32 v0, v1619606; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill19607; SI-NEXT: s_waitcnt expcnt(0)19608; SI-NEXT: v_cvt_f16_f32_e32 v0, v1919609; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill19610; SI-NEXT: s_waitcnt expcnt(0)19611; SI-NEXT: v_cvt_f16_f32_e32 v0, v1819612; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill19613; SI-NEXT: s_waitcnt expcnt(0)19614; SI-NEXT: v_cvt_f16_f32_e32 v0, v2119615; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill19616; SI-NEXT: s_waitcnt expcnt(0)19617; SI-NEXT: v_cvt_f16_f32_e32 v0, v2019618; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill19619; SI-NEXT: s_waitcnt expcnt(0)19620; SI-NEXT: v_cvt_f16_f32_e32 v0, v2319621; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill19622; SI-NEXT: s_waitcnt expcnt(0)19623; SI-NEXT: v_cvt_f16_f32_e32 v0, v2219624; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill19625; SI-NEXT: s_waitcnt expcnt(0)19626; SI-NEXT: v_cvt_f16_f32_e32 v0, v2519627; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill19628; SI-NEXT: s_waitcnt expcnt(0)19629; SI-NEXT: v_cvt_f16_f32_e32 v0, v2419630; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill19631; SI-NEXT: s_waitcnt expcnt(0)19632; SI-NEXT: v_cvt_f16_f32_e32 v0, v2719633; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill19634; SI-NEXT: s_waitcnt expcnt(0)19635; SI-NEXT: v_cvt_f16_f32_e32 v0, v2619636; SI-NEXT: s_waitcnt vmcnt(14)19637; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v4819638; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill19639; SI-NEXT: s_waitcnt expcnt(0)19640; SI-NEXT: v_cvt_f16_f32_e32 v0, v2919641; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill19642; SI-NEXT: s_waitcnt expcnt(0)19643; SI-NEXT: v_cvt_f16_f32_e32 v0, v2819644; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill19645; SI-NEXT: s_waitcnt expcnt(0)19646; SI-NEXT: v_cvt_f16_f32_e32 v0, v3119647; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill19648; SI-NEXT: s_waitcnt expcnt(0)19649; SI-NEXT: v_cvt_f16_f32_e32 v0, v3019650; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill19651; SI-NEXT: s_waitcnt expcnt(0)19652; SI-NEXT: v_cvt_f16_f32_e32 v0, v4419653; SI-NEXT: v_cvt_f16_f32_e32 v44, v3519654; SI-NEXT: v_cvt_f16_f32_e32 v35, v3619655; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill19656; SI-NEXT: s_waitcnt expcnt(0)19657; SI-NEXT: v_cvt_f16_f32_e32 v0, v4519658; SI-NEXT: v_cvt_f16_f32_e32 v45, v3419659; SI-NEXT: v_cvt_f16_f32_e32 v34, v3719660; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill19661; SI-NEXT: s_waitcnt expcnt(0)19662; SI-NEXT: v_cvt_f16_f32_e32 v0, v4619663; SI-NEXT: v_cvt_f16_f32_e32 v46, v3319664; SI-NEXT: v_cvt_f16_f32_e32 v33, v3819665; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill19666; SI-NEXT: s_waitcnt expcnt(0)19667; SI-NEXT: v_cvt_f16_f32_e32 v0, v4719668; SI-NEXT: v_cvt_f16_f32_e32 v47, v3219669; SI-NEXT: v_cvt_f16_f32_e32 v32, v3919670; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill19671; SI-NEXT: s_waitcnt expcnt(0)19672; SI-NEXT: v_cvt_f16_f32_e32 v0, v5619673; SI-NEXT: v_cvt_f16_f32_e32 v56, v6319674; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill19675; SI-NEXT: s_waitcnt expcnt(0)19676; SI-NEXT: v_cvt_f16_f32_e32 v0, v5719677; SI-NEXT: v_cvt_f16_f32_e32 v57, v6219678; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill19679; SI-NEXT: s_waitcnt expcnt(0)19680; SI-NEXT: v_cvt_f16_f32_e32 v0, v5819681; SI-NEXT: v_cvt_f16_f32_e32 v58, v6119682; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill19683; SI-NEXT: s_waitcnt expcnt(0)19684; SI-NEXT: v_cvt_f16_f32_e32 v0, v5919685; SI-NEXT: v_cvt_f16_f32_e32 v59, v6019686; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill19687; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3119688; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc19689; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]19690; SI-NEXT: s_cbranch_execz .LBB34_219691; SI-NEXT: ; %bb.1: ; %cmp.false19692; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload19693; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v4919694; SI-NEXT: ; implicit-def: $vgpr2619695; SI-NEXT: ; kill: killed $vgpr2619696; SI-NEXT: ; implicit-def: $vgpr2619697; SI-NEXT: ; kill: killed $vgpr2619698; SI-NEXT: ; implicit-def: $vgpr2619699; SI-NEXT: ; kill: killed $vgpr2619700; SI-NEXT: ; implicit-def: $vgpr2619701; SI-NEXT: ; kill: killed $vgpr2619702; SI-NEXT: ; implicit-def: $vgpr2619703; SI-NEXT: ; kill: killed $vgpr2619704; SI-NEXT: ; implicit-def: $vgpr2619705; SI-NEXT: ; kill: killed $vgpr2619706; SI-NEXT: ; implicit-def: $vgpr2619707; SI-NEXT: ; kill: killed $vgpr2619708; SI-NEXT: ; implicit-def: $vgpr2619709; SI-NEXT: ; kill: killed $vgpr2619710; SI-NEXT: ; implicit-def: $vgpr2619711; SI-NEXT: ; kill: killed $vgpr2619712; SI-NEXT: ; implicit-def: $vgpr2619713; SI-NEXT: ; kill: killed $vgpr2619714; SI-NEXT: ; implicit-def: $vgpr2619715; SI-NEXT: ; kill: killed $vgpr2619716; SI-NEXT: ; implicit-def: $vgpr2619717; SI-NEXT: ; kill: killed $vgpr2619718; SI-NEXT: ; implicit-def: $vgpr2619719; SI-NEXT: ; kill: killed $vgpr2619720; SI-NEXT: ; implicit-def: $vgpr2619721; SI-NEXT: ; kill: killed $vgpr2619722; SI-NEXT: ; implicit-def: $vgpr2619723; SI-NEXT: ; kill: killed $vgpr2619724; SI-NEXT: ; implicit-def: $vgpr2619725; SI-NEXT: ; kill: killed $vgpr2619726; SI-NEXT: ; implicit-def: $vgpr2619727; SI-NEXT: ; kill: killed $vgpr2619728; SI-NEXT: ; implicit-def: $vgpr2619729; SI-NEXT: ; kill: killed $vgpr2619730; SI-NEXT: ; implicit-def: $vgpr2619731; SI-NEXT: ; kill: killed $vgpr2619732; SI-NEXT: ; implicit-def: $vgpr2619733; SI-NEXT: ; kill: killed $vgpr2619734; SI-NEXT: ; implicit-def: $vgpr2619735; SI-NEXT: ; kill: killed $vgpr2619736; SI-NEXT: ; implicit-def: $vgpr2619737; SI-NEXT: ; kill: killed $vgpr2619738; SI-NEXT: ; implicit-def: $vgpr2619739; SI-NEXT: ; kill: killed $vgpr2619740; SI-NEXT: ; implicit-def: $vgpr2619741; SI-NEXT: ; kill: killed $vgpr2619742; SI-NEXT: ; implicit-def: $vgpr2619743; SI-NEXT: ; kill: killed $vgpr2619744; SI-NEXT: ; implicit-def: $vgpr2619745; SI-NEXT: ; kill: killed $vgpr2619746; SI-NEXT: ; implicit-def: $vgpr2619747; SI-NEXT: s_waitcnt expcnt(0)19748; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v4319749; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v4119750; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5519751; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v5319752; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v5119753; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v5719754; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v4719755; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v4519756; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v3519757; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v3319758; SI-NEXT: ; kill: killed $vgpr2619759; SI-NEXT: ; implicit-def: $vgpr2619760; SI-NEXT: v_or_b32_e32 v0, v42, v019761; SI-NEXT: v_or_b32_e32 v1, v40, v119762; SI-NEXT: v_or_b32_e32 v2, v54, v219763; SI-NEXT: v_or_b32_e32 v3, v52, v319764; SI-NEXT: v_or_b32_e32 v4, v50, v419765; SI-NEXT: v_or_b32_e32 v21, v56, v2119766; SI-NEXT: v_or_b32_e32 v22, v46, v2219767; SI-NEXT: v_or_b32_e32 v23, v44, v2319768; SI-NEXT: v_or_b32_e32 v24, v34, v2419769; SI-NEXT: v_or_b32_e32 v25, v32, v2519770; SI-NEXT: ; implicit-def: $vgpr4319771; SI-NEXT: ; implicit-def: $vgpr4219772; SI-NEXT: ; implicit-def: $vgpr4119773; SI-NEXT: ; implicit-def: $vgpr4019774; SI-NEXT: ; implicit-def: $vgpr5519775; SI-NEXT: ; implicit-def: $vgpr5419776; SI-NEXT: ; implicit-def: $vgpr5319777; SI-NEXT: ; implicit-def: $vgpr5219778; SI-NEXT: ; implicit-def: $vgpr5119779; SI-NEXT: ; implicit-def: $vgpr5019780; SI-NEXT: ; implicit-def: $vgpr4919781; SI-NEXT: ; kill: killed $vgpr2619782; SI-NEXT: ; implicit-def: $vgpr2619783; SI-NEXT: ; kill: killed $vgpr2619784; SI-NEXT: ; implicit-def: $vgpr5719785; SI-NEXT: ; implicit-def: $vgpr5619786; SI-NEXT: ; implicit-def: $vgpr4719787; SI-NEXT: ; implicit-def: $vgpr4619788; SI-NEXT: ; implicit-def: $vgpr4519789; SI-NEXT: ; implicit-def: $vgpr4419790; SI-NEXT: ; implicit-def: $vgpr3519791; SI-NEXT: ; implicit-def: $vgpr3419792; SI-NEXT: ; implicit-def: $vgpr3319793; SI-NEXT: ; implicit-def: $vgpr3219794; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload19795; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload19796; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload19797; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload19798; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload19799; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload19800; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload19801; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload19802; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload19803; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload19804; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload19805; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload19806; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload19807; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload19808; SI-NEXT: s_waitcnt vmcnt(14)19809; SI-NEXT: v_or_b32_e32 v5, v6, v519810; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload19811; SI-NEXT: s_waitcnt vmcnt(0)19812; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v619813; SI-NEXT: v_or_b32_e32 v6, v7, v619814; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload19815; SI-NEXT: s_waitcnt vmcnt(0)19816; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v719817; SI-NEXT: v_or_b32_e32 v7, v8, v719818; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload19819; SI-NEXT: s_waitcnt vmcnt(0)19820; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v819821; SI-NEXT: v_or_b32_e32 v8, v9, v819822; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload19823; SI-NEXT: s_waitcnt vmcnt(0)19824; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v919825; SI-NEXT: v_or_b32_e32 v9, v10, v919826; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload19827; SI-NEXT: s_waitcnt vmcnt(0)19828; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v1019829; SI-NEXT: v_or_b32_e32 v10, v11, v1019830; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload19831; SI-NEXT: s_waitcnt vmcnt(0)19832; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v1119833; SI-NEXT: v_or_b32_e32 v11, v12, v1119834; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload19835; SI-NEXT: s_waitcnt vmcnt(0)19836; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v1219837; SI-NEXT: v_or_b32_e32 v12, v13, v1219838; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload19839; SI-NEXT: s_waitcnt vmcnt(0)19840; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1319841; SI-NEXT: v_or_b32_e32 v13, v14, v1319842; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload19843; SI-NEXT: s_waitcnt vmcnt(0)19844; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1419845; SI-NEXT: v_or_b32_e32 v14, v15, v1419846; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload19847; SI-NEXT: s_waitcnt vmcnt(0)19848; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1519849; SI-NEXT: v_or_b32_e32 v15, v16, v1519850; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload19851; SI-NEXT: s_waitcnt vmcnt(0)19852; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1619853; SI-NEXT: v_or_b32_e32 v16, v17, v1619854; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload19855; SI-NEXT: s_waitcnt vmcnt(0)19856; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1719857; SI-NEXT: v_or_b32_e32 v17, v18, v1719858; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload19859; SI-NEXT: s_waitcnt vmcnt(0)19860; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1819861; SI-NEXT: v_or_b32_e32 v18, v19, v1819862; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload19863; SI-NEXT: s_waitcnt vmcnt(0)19864; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v1919865; SI-NEXT: v_or_b32_e32 v19, v20, v1919866; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v5919867; SI-NEXT: v_or_b32_e32 v20, v58, v2019868; SI-NEXT: ; implicit-def: $vgpr5919869; SI-NEXT: ; implicit-def: $vgpr5819870; SI-NEXT: .LBB34_2: ; %Flow19871; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]19872; SI-NEXT: s_cbranch_execz .LBB34_419873; SI-NEXT: ; %bb.3: ; %cmp.true19874; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload19875; SI-NEXT: s_waitcnt expcnt(0)19876; SI-NEXT: v_cvt_f32_f16_e32 v0, v4319877; SI-NEXT: v_cvt_f32_f16_e32 v2, v4119878; SI-NEXT: v_cvt_f32_f16_e32 v1, v4219879; SI-NEXT: v_cvt_f32_f16_e32 v3, v4019880; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v019881; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v219882; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v119883; SI-NEXT: v_cvt_f16_f32_e32 v0, v019884; SI-NEXT: v_cvt_f16_f32_e32 v2, v219885; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v319886; SI-NEXT: v_cvt_f16_f32_e32 v1, v119887; SI-NEXT: v_cvt_f16_f32_e32 v3, v319888; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v019889; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v219890; SI-NEXT: v_or_b32_e32 v0, v1, v019891; SI-NEXT: v_or_b32_e32 v1, v3, v219892; SI-NEXT: v_cvt_f32_f16_e32 v2, v5519893; SI-NEXT: v_cvt_f32_f16_e32 v3, v5419894; SI-NEXT: v_cvt_f32_f16_e32 v4, v5219895; SI-NEXT: v_cvt_f32_f16_e32 v5, v5019896; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v219897; SI-NEXT: v_cvt_f16_f32_e32 v2, v219898; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v319899; SI-NEXT: v_cvt_f16_f32_e32 v3, v319900; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v419901; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v219902; SI-NEXT: v_cvt_f16_f32_e32 v4, v419903; SI-NEXT: v_or_b32_e32 v2, v3, v219904; SI-NEXT: v_cvt_f32_f16_e32 v3, v5319905; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v519906; SI-NEXT: v_cvt_f16_f32_e32 v5, v519907; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload19908; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload19909; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload19910; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload19911; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload19912; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v319913; SI-NEXT: v_cvt_f16_f32_e32 v3, v319914; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload19915; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload19916; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload19917; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v319918; SI-NEXT: v_or_b32_e32 v3, v4, v319919; SI-NEXT: v_cvt_f32_f16_e32 v4, v5119920; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload19921; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload19922; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload19923; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v419924; SI-NEXT: v_cvt_f16_f32_e32 v4, v419925; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload19926; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload19927; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload19928; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload19929; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v419930; SI-NEXT: v_or_b32_e32 v4, v5, v419931; SI-NEXT: v_cvt_f32_f16_e32 v5, v4919932; SI-NEXT: v_cvt_f32_f16_e32 v22, v5819933; SI-NEXT: v_cvt_f32_f16_e32 v23, v4719934; SI-NEXT: v_cvt_f32_f16_e32 v24, v4619935; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v519936; SI-NEXT: v_cvt_f16_f32_e32 v5, v519937; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2219938; SI-NEXT: v_cvt_f16_f32_e32 v22, v2219939; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2319940; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v519941; SI-NEXT: v_cvt_f16_f32_e32 v23, v2319942; SI-NEXT: v_cvt_f32_f16_e32 v25, v4419943; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2419944; SI-NEXT: v_cvt_f16_f32_e32 v24, v2419945; SI-NEXT: v_cvt_f32_f16_e32 v26, v3319946; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2519947; SI-NEXT: v_cvt_f16_f32_e32 v25, v2519948; SI-NEXT: v_cvt_f32_f16_e32 v27, v3219949; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v2619950; SI-NEXT: v_cvt_f16_f32_e32 v26, v2619951; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v2719952; SI-NEXT: v_cvt_f16_f32_e32 v27, v2719953; SI-NEXT: s_waitcnt vmcnt(14)19954; SI-NEXT: v_cvt_f32_f16_e32 v6, v619955; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v619956; SI-NEXT: v_cvt_f16_f32_e32 v6, v619957; SI-NEXT: v_or_b32_e32 v5, v6, v519958; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload19959; SI-NEXT: v_cvt_f32_f16_e32 v17, v1719960; SI-NEXT: s_waitcnt vmcnt(12)19961; SI-NEXT: v_cvt_f32_f16_e32 v20, v2019962; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1719963; SI-NEXT: v_cvt_f16_f32_e32 v17, v1719964; SI-NEXT: s_waitcnt vmcnt(11)19965; SI-NEXT: v_cvt_f32_f16_e32 v21, v2119966; SI-NEXT: s_waitcnt vmcnt(10)19967; SI-NEXT: v_cvt_f32_f16_e32 v7, v719968; SI-NEXT: s_waitcnt vmcnt(9)19969; SI-NEXT: v_cvt_f32_f16_e32 v8, v819970; SI-NEXT: s_waitcnt vmcnt(8)19971; SI-NEXT: v_cvt_f32_f16_e32 v9, v919972; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2019973; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v719974; SI-NEXT: v_cvt_f16_f32_e32 v7, v719975; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v819976; SI-NEXT: v_cvt_f16_f32_e32 v8, v819977; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v919978; SI-NEXT: v_cvt_f16_f32_e32 v9, v919979; SI-NEXT: s_waitcnt vmcnt(7)19980; SI-NEXT: v_cvt_f32_f16_e32 v10, v1019981; SI-NEXT: s_waitcnt vmcnt(6)19982; SI-NEXT: v_cvt_f32_f16_e32 v11, v1119983; SI-NEXT: s_waitcnt vmcnt(5)19984; SI-NEXT: v_cvt_f32_f16_e32 v12, v1219985; SI-NEXT: s_waitcnt vmcnt(4)19986; SI-NEXT: v_cvt_f32_f16_e32 v13, v1319987; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1019988; SI-NEXT: v_cvt_f16_f32_e32 v10, v1019989; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1119990; SI-NEXT: v_cvt_f16_f32_e32 v11, v1119991; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1219992; SI-NEXT: v_cvt_f16_f32_e32 v12, v1219993; SI-NEXT: s_waitcnt vmcnt(3)19994; SI-NEXT: v_cvt_f32_f16_e32 v14, v1419995; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v1319996; SI-NEXT: v_cvt_f16_f32_e32 v13, v1319997; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2119998; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1419999; SI-NEXT: v_cvt_f16_f32_e32 v14, v1420000; SI-NEXT: v_cvt_f16_f32_e32 v20, v2020001; SI-NEXT: v_cvt_f16_f32_e32 v21, v2120002; SI-NEXT: s_waitcnt vmcnt(0)20003; SI-NEXT: v_cvt_f32_f16_e32 v6, v620004; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v620005; SI-NEXT: v_cvt_f16_f32_e32 v6, v620006; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v620007; SI-NEXT: v_or_b32_e32 v6, v7, v620008; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload20009; SI-NEXT: s_waitcnt vmcnt(0)20010; SI-NEXT: v_cvt_f32_f16_e32 v7, v720011; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v720012; SI-NEXT: v_cvt_f16_f32_e32 v7, v720013; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v720014; SI-NEXT: v_or_b32_e32 v7, v8, v720015; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload20016; SI-NEXT: s_waitcnt vmcnt(0)20017; SI-NEXT: v_cvt_f32_f16_e32 v8, v820018; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v820019; SI-NEXT: v_cvt_f16_f32_e32 v8, v820020; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v820021; SI-NEXT: v_or_b32_e32 v8, v9, v820022; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload20023; SI-NEXT: s_waitcnt vmcnt(0)20024; SI-NEXT: v_cvt_f32_f16_e32 v9, v920025; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v920026; SI-NEXT: v_cvt_f16_f32_e32 v9, v920027; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v920028; SI-NEXT: v_or_b32_e32 v9, v10, v920029; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload20030; SI-NEXT: s_waitcnt vmcnt(0)20031; SI-NEXT: v_cvt_f32_f16_e32 v10, v1020032; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1020033; SI-NEXT: v_cvt_f16_f32_e32 v10, v1020034; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v1020035; SI-NEXT: v_or_b32_e32 v10, v11, v1020036; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload20037; SI-NEXT: s_waitcnt vmcnt(0)20038; SI-NEXT: v_cvt_f32_f16_e32 v11, v1120039; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1120040; SI-NEXT: v_cvt_f16_f32_e32 v11, v1120041; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v1120042; SI-NEXT: v_or_b32_e32 v11, v12, v1120043; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload20044; SI-NEXT: s_waitcnt vmcnt(0)20045; SI-NEXT: v_cvt_f32_f16_e32 v12, v1220046; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1220047; SI-NEXT: v_cvt_f16_f32_e32 v12, v1220048; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v1220049; SI-NEXT: v_or_b32_e32 v12, v13, v1220050; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1420051; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload20052; SI-NEXT: v_cvt_f32_f16_e32 v15, v1520053; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v1520054; SI-NEXT: v_cvt_f16_f32_e32 v15, v1520055; SI-NEXT: v_or_b32_e32 v13, v15, v1320056; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload20057; SI-NEXT: v_cvt_f32_f16_e32 v16, v1620058; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1620059; SI-NEXT: v_cvt_f16_f32_e32 v16, v1620060; SI-NEXT: s_waitcnt vmcnt(1)20061; SI-NEXT: v_cvt_f32_f16_e32 v14, v1420062; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1420063; SI-NEXT: v_cvt_f16_f32_e32 v14, v1420064; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1420065; SI-NEXT: v_or_b32_e32 v14, v16, v1420066; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload20067; SI-NEXT: s_waitcnt vmcnt(1)20068; SI-NEXT: v_cvt_f32_f16_e32 v15, v1520069; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v1520070; SI-NEXT: v_cvt_f16_f32_e32 v15, v1520071; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1520072; SI-NEXT: s_waitcnt vmcnt(0)20073; SI-NEXT: v_cvt_f32_f16_e32 v16, v1620074; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1620075; SI-NEXT: v_cvt_f16_f32_e32 v16, v1620076; SI-NEXT: v_or_b32_e32 v15, v16, v1520077; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1720078; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload20079; SI-NEXT: v_cvt_f32_f16_e32 v18, v1820080; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1820081; SI-NEXT: v_cvt_f16_f32_e32 v18, v1820082; SI-NEXT: v_or_b32_e32 v16, v18, v1620083; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload20084; SI-NEXT: v_cvt_f32_f16_e32 v19, v1920085; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1920086; SI-NEXT: v_cvt_f16_f32_e32 v19, v1920087; SI-NEXT: s_waitcnt vmcnt(1)20088; SI-NEXT: v_cvt_f32_f16_e32 v17, v1720089; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1720090; SI-NEXT: v_cvt_f16_f32_e32 v17, v1720091; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1720092; SI-NEXT: v_or_b32_e32 v17, v19, v1720093; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload20094; SI-NEXT: s_waitcnt vmcnt(1)20095; SI-NEXT: v_cvt_f32_f16_e32 v18, v1820096; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1820097; SI-NEXT: v_cvt_f16_f32_e32 v18, v1820098; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1820099; SI-NEXT: s_waitcnt vmcnt(0)20100; SI-NEXT: v_cvt_f32_f16_e32 v19, v1920101; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1920102; SI-NEXT: v_cvt_f16_f32_e32 v19, v1920103; SI-NEXT: v_or_b32_e32 v18, v19, v1820104; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v2020105; SI-NEXT: v_cvt_f32_f16_e32 v20, v5920106; SI-NEXT: v_or_b32_e32 v19, v21, v1920107; SI-NEXT: v_cvt_f32_f16_e32 v21, v5720108; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2020109; SI-NEXT: v_cvt_f16_f32_e32 v20, v2020110; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2120111; SI-NEXT: v_cvt_f16_f32_e32 v21, v2120112; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v2020113; SI-NEXT: v_or_b32_e32 v20, v22, v2020114; SI-NEXT: v_cvt_f32_f16_e32 v22, v5620115; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2120116; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2220117; SI-NEXT: v_cvt_f16_f32_e32 v22, v2220118; SI-NEXT: v_or_b32_e32 v21, v22, v2120119; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v2320120; SI-NEXT: v_cvt_f32_f16_e32 v23, v4520121; SI-NEXT: v_or_b32_e32 v22, v24, v2220122; SI-NEXT: v_cvt_f32_f16_e32 v24, v3520123; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2320124; SI-NEXT: v_cvt_f16_f32_e32 v23, v2320125; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2420126; SI-NEXT: v_cvt_f16_f32_e32 v24, v2420127; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v2320128; SI-NEXT: v_or_b32_e32 v23, v25, v2320129; SI-NEXT: v_cvt_f32_f16_e32 v25, v3420130; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2420131; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2520132; SI-NEXT: v_cvt_f16_f32_e32 v25, v2520133; SI-NEXT: v_or_b32_e32 v24, v25, v2420134; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v2620135; SI-NEXT: v_or_b32_e32 v25, v27, v2520136; SI-NEXT: .LBB34_4: ; %end20137; SI-NEXT: s_or_b64 exec, exec, s[4:5]20138; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload20139; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload20140; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload20141; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload20142; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload20143; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload20144; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload20145; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload20146; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload20147; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload20148; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload20149; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload20150; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload20151; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload20152; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload20153; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload20154; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)20155; SI-NEXT: s_setpc_b64 s[30:31]20156;20157; VI-LABEL: bitcast_v52f16_to_v26f32:20158; VI: ; %bb.0:20159; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)20160; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill20161; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill20162; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill20163; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill20164; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill20165; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill20166; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill20167; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill20168; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill20169; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 ; 4-byte Folded Spill20170; VI-NEXT: v_mov_b32_e32 v32, v2520171; VI-NEXT: v_mov_b32_e32 v33, v2420172; VI-NEXT: v_mov_b32_e32 v34, v2320173; VI-NEXT: v_mov_b32_e32 v35, v2220174; VI-NEXT: v_mov_b32_e32 v36, v2120175; VI-NEXT: v_mov_b32_e32 v37, v2020176; VI-NEXT: v_mov_b32_e32 v38, v1920177; VI-NEXT: v_mov_b32_e32 v39, v1820178; VI-NEXT: v_mov_b32_e32 v48, v1720179; VI-NEXT: v_mov_b32_e32 v49, v1620180; VI-NEXT: v_mov_b32_e32 v50, v1520181; VI-NEXT: v_mov_b32_e32 v51, v1420182; VI-NEXT: v_mov_b32_e32 v52, v1320183; VI-NEXT: v_mov_b32_e32 v53, v1220184; VI-NEXT: v_mov_b32_e32 v54, v1120185; VI-NEXT: v_mov_b32_e32 v55, v1020186; VI-NEXT: v_mov_b32_e32 v40, v920187; VI-NEXT: v_mov_b32_e32 v41, v820188; VI-NEXT: v_mov_b32_e32 v42, v720189; VI-NEXT: v_mov_b32_e32 v43, v620190; VI-NEXT: v_mov_b32_e32 v44, v520191; VI-NEXT: v_mov_b32_e32 v45, v420192; VI-NEXT: v_mov_b32_e32 v46, v320193; VI-NEXT: v_mov_b32_e32 v47, v220194; VI-NEXT: v_mov_b32_e32 v56, v120195; VI-NEXT: v_mov_b32_e32 v57, v020196; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2620197; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3120198; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc20199; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]20200; VI-NEXT: s_cbranch_execz .LBB34_220201; VI-NEXT: ; %bb.1: ; %cmp.false20202; VI-NEXT: v_mov_b32_e32 v25, 1620203; VI-NEXT: v_lshlrev_b32_sdwa v0, v25, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120204; VI-NEXT: v_lshlrev_b32_sdwa v1, v25, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120205; VI-NEXT: v_lshlrev_b32_sdwa v2, v25, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120206; VI-NEXT: v_lshlrev_b32_sdwa v3, v25, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120207; VI-NEXT: v_lshlrev_b32_sdwa v4, v25, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120208; VI-NEXT: v_lshlrev_b32_sdwa v5, v25, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120209; VI-NEXT: v_lshlrev_b32_sdwa v6, v25, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120210; VI-NEXT: v_lshlrev_b32_sdwa v7, v25, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120211; VI-NEXT: v_lshlrev_b32_sdwa v8, v25, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120212; VI-NEXT: v_lshlrev_b32_sdwa v9, v25, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120213; VI-NEXT: v_lshlrev_b32_sdwa v10, v25, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120214; VI-NEXT: v_lshlrev_b32_sdwa v11, v25, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120215; VI-NEXT: v_lshlrev_b32_sdwa v12, v25, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120216; VI-NEXT: v_lshlrev_b32_sdwa v13, v25, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120217; VI-NEXT: v_lshlrev_b32_sdwa v14, v25, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120218; VI-NEXT: v_lshlrev_b32_sdwa v15, v25, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120219; VI-NEXT: v_lshlrev_b32_sdwa v16, v25, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120220; VI-NEXT: v_lshlrev_b32_sdwa v17, v25, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120221; VI-NEXT: v_lshlrev_b32_sdwa v18, v25, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120222; VI-NEXT: v_lshlrev_b32_sdwa v19, v25, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120223; VI-NEXT: v_lshlrev_b32_sdwa v20, v25, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120224; VI-NEXT: v_lshlrev_b32_sdwa v21, v25, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120225; VI-NEXT: v_lshlrev_b32_sdwa v22, v25, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120226; VI-NEXT: v_lshlrev_b32_sdwa v23, v25, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120227; VI-NEXT: v_lshlrev_b32_sdwa v24, v25, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120228; VI-NEXT: v_lshlrev_b32_sdwa v25, v25, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_120229; VI-NEXT: v_or_b32_sdwa v0, v57, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20230; VI-NEXT: v_or_b32_sdwa v1, v56, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20231; VI-NEXT: v_or_b32_sdwa v2, v47, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20232; VI-NEXT: v_or_b32_sdwa v3, v46, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20233; VI-NEXT: v_or_b32_sdwa v4, v45, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20234; VI-NEXT: v_or_b32_sdwa v5, v44, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20235; VI-NEXT: v_or_b32_sdwa v6, v43, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20236; VI-NEXT: v_or_b32_sdwa v7, v42, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20237; VI-NEXT: v_or_b32_sdwa v8, v41, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20238; VI-NEXT: v_or_b32_sdwa v9, v40, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20239; VI-NEXT: v_or_b32_sdwa v10, v55, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20240; VI-NEXT: v_or_b32_sdwa v11, v54, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20241; VI-NEXT: v_or_b32_sdwa v12, v53, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20242; VI-NEXT: v_or_b32_sdwa v13, v52, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20243; VI-NEXT: v_or_b32_sdwa v14, v51, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20244; VI-NEXT: v_or_b32_sdwa v15, v50, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20245; VI-NEXT: v_or_b32_sdwa v16, v49, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20246; VI-NEXT: v_or_b32_sdwa v17, v48, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20247; VI-NEXT: v_or_b32_sdwa v18, v39, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20248; VI-NEXT: v_or_b32_sdwa v19, v38, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20249; VI-NEXT: v_or_b32_sdwa v20, v37, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20250; VI-NEXT: v_or_b32_sdwa v21, v36, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20251; VI-NEXT: v_or_b32_sdwa v22, v35, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20252; VI-NEXT: v_or_b32_sdwa v23, v34, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20253; VI-NEXT: v_or_b32_sdwa v24, v33, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20254; VI-NEXT: v_or_b32_sdwa v25, v32, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20255; VI-NEXT: ; implicit-def: $vgpr5720256; VI-NEXT: ; implicit-def: $vgpr5620257; VI-NEXT: ; implicit-def: $vgpr4720258; VI-NEXT: ; implicit-def: $vgpr4620259; VI-NEXT: ; implicit-def: $vgpr4520260; VI-NEXT: ; implicit-def: $vgpr4420261; VI-NEXT: ; implicit-def: $vgpr4320262; VI-NEXT: ; implicit-def: $vgpr4220263; VI-NEXT: ; implicit-def: $vgpr4120264; VI-NEXT: ; implicit-def: $vgpr4020265; VI-NEXT: ; implicit-def: $vgpr5520266; VI-NEXT: ; implicit-def: $vgpr5420267; VI-NEXT: ; implicit-def: $vgpr5320268; VI-NEXT: ; implicit-def: $vgpr5220269; VI-NEXT: ; implicit-def: $vgpr5120270; VI-NEXT: ; implicit-def: $vgpr5020271; VI-NEXT: ; implicit-def: $vgpr4920272; VI-NEXT: ; implicit-def: $vgpr4820273; VI-NEXT: ; implicit-def: $vgpr3920274; VI-NEXT: ; implicit-def: $vgpr3820275; VI-NEXT: ; implicit-def: $vgpr3720276; VI-NEXT: ; implicit-def: $vgpr3620277; VI-NEXT: ; implicit-def: $vgpr3520278; VI-NEXT: ; implicit-def: $vgpr3420279; VI-NEXT: ; implicit-def: $vgpr3320280; VI-NEXT: ; implicit-def: $vgpr3220281; VI-NEXT: .LBB34_2: ; %Flow20282; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]20283; VI-NEXT: s_cbranch_execz .LBB34_420284; VI-NEXT: ; %bb.3: ; %cmp.true20285; VI-NEXT: v_mov_b32_e32 v25, 0x20020286; VI-NEXT: v_add_f16_sdwa v0, v57, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20287; VI-NEXT: v_add_f16_e32 v1, 0x200, v5720288; VI-NEXT: v_or_b32_e32 v0, v1, v020289; VI-NEXT: v_add_f16_sdwa v1, v56, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20290; VI-NEXT: v_add_f16_e32 v2, 0x200, v5620291; VI-NEXT: v_or_b32_e32 v1, v2, v120292; VI-NEXT: v_add_f16_sdwa v2, v47, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20293; VI-NEXT: v_add_f16_e32 v3, 0x200, v4720294; VI-NEXT: v_or_b32_e32 v2, v3, v220295; VI-NEXT: v_add_f16_sdwa v3, v46, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20296; VI-NEXT: v_add_f16_e32 v4, 0x200, v4620297; VI-NEXT: v_or_b32_e32 v3, v4, v320298; VI-NEXT: v_add_f16_sdwa v4, v45, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20299; VI-NEXT: v_add_f16_e32 v5, 0x200, v4520300; VI-NEXT: v_or_b32_e32 v4, v5, v420301; VI-NEXT: v_add_f16_sdwa v5, v44, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20302; VI-NEXT: v_add_f16_e32 v6, 0x200, v4420303; VI-NEXT: v_or_b32_e32 v5, v6, v520304; VI-NEXT: v_add_f16_sdwa v6, v43, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20305; VI-NEXT: v_add_f16_e32 v7, 0x200, v4320306; VI-NEXT: v_or_b32_e32 v6, v7, v620307; VI-NEXT: v_add_f16_sdwa v7, v42, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20308; VI-NEXT: v_add_f16_e32 v8, 0x200, v4220309; VI-NEXT: v_or_b32_e32 v7, v8, v720310; VI-NEXT: v_add_f16_sdwa v8, v41, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20311; VI-NEXT: v_add_f16_e32 v9, 0x200, v4120312; VI-NEXT: v_or_b32_e32 v8, v9, v820313; VI-NEXT: v_add_f16_sdwa v9, v40, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20314; VI-NEXT: v_add_f16_e32 v10, 0x200, v4020315; VI-NEXT: v_or_b32_e32 v9, v10, v920316; VI-NEXT: v_add_f16_sdwa v10, v55, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20317; VI-NEXT: v_add_f16_e32 v11, 0x200, v5520318; VI-NEXT: v_or_b32_e32 v10, v11, v1020319; VI-NEXT: v_add_f16_sdwa v11, v54, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20320; VI-NEXT: v_add_f16_e32 v12, 0x200, v5420321; VI-NEXT: v_or_b32_e32 v11, v12, v1120322; VI-NEXT: v_add_f16_sdwa v12, v53, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20323; VI-NEXT: v_add_f16_e32 v13, 0x200, v5320324; VI-NEXT: v_or_b32_e32 v12, v13, v1220325; VI-NEXT: v_add_f16_sdwa v13, v52, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20326; VI-NEXT: v_add_f16_e32 v14, 0x200, v5220327; VI-NEXT: v_or_b32_e32 v13, v14, v1320328; VI-NEXT: v_add_f16_sdwa v14, v51, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20329; VI-NEXT: v_add_f16_e32 v15, 0x200, v5120330; VI-NEXT: v_or_b32_e32 v14, v15, v1420331; VI-NEXT: v_add_f16_sdwa v15, v50, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20332; VI-NEXT: v_add_f16_e32 v16, 0x200, v5020333; VI-NEXT: v_or_b32_e32 v15, v16, v1520334; VI-NEXT: v_add_f16_sdwa v16, v49, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20335; VI-NEXT: v_add_f16_e32 v17, 0x200, v4920336; VI-NEXT: v_or_b32_e32 v16, v17, v1620337; VI-NEXT: v_add_f16_sdwa v17, v48, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20338; VI-NEXT: v_add_f16_e32 v18, 0x200, v4820339; VI-NEXT: v_or_b32_e32 v17, v18, v1720340; VI-NEXT: v_add_f16_sdwa v18, v39, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20341; VI-NEXT: v_add_f16_e32 v19, 0x200, v3920342; VI-NEXT: v_or_b32_e32 v18, v19, v1820343; VI-NEXT: v_add_f16_sdwa v19, v38, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20344; VI-NEXT: v_add_f16_e32 v20, 0x200, v3820345; VI-NEXT: v_or_b32_e32 v19, v20, v1920346; VI-NEXT: v_add_f16_sdwa v20, v37, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20347; VI-NEXT: v_add_f16_e32 v21, 0x200, v3720348; VI-NEXT: v_or_b32_e32 v20, v21, v2020349; VI-NEXT: v_add_f16_sdwa v21, v36, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20350; VI-NEXT: v_add_f16_e32 v22, 0x200, v3620351; VI-NEXT: v_or_b32_e32 v21, v22, v2120352; VI-NEXT: v_add_f16_sdwa v22, v35, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20353; VI-NEXT: v_add_f16_e32 v23, 0x200, v3520354; VI-NEXT: v_or_b32_e32 v22, v23, v2220355; VI-NEXT: v_add_f16_sdwa v23, v34, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20356; VI-NEXT: v_add_f16_e32 v24, 0x200, v3420357; VI-NEXT: v_or_b32_e32 v23, v24, v2320358; VI-NEXT: v_add_f16_sdwa v24, v33, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20359; VI-NEXT: v_add_f16_e32 v26, 0x200, v3320360; VI-NEXT: v_or_b32_e32 v24, v26, v2420361; VI-NEXT: v_add_f16_sdwa v25, v32, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD20362; VI-NEXT: v_add_f16_e32 v26, 0x200, v3220363; VI-NEXT: v_or_b32_e32 v25, v26, v2520364; VI-NEXT: .LBB34_4: ; %end20365; VI-NEXT: s_or_b64 exec, exec, s[4:5]20366; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 ; 4-byte Folded Reload20367; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload20368; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload20369; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload20370; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload20371; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload20372; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload20373; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload20374; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload20375; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload20376; VI-NEXT: s_waitcnt vmcnt(0)20377; VI-NEXT: s_setpc_b64 s[30:31]20378;20379; GFX9-LABEL: bitcast_v52f16_to_v26f32:20380; GFX9: ; %bb.0:20381; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)20382; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill20383; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill20384; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill20385; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill20386; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill20387; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill20388; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill20389; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill20390; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill20391; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill20392; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill20393; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill20394; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill20395; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill20396; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill20397; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill20398; GFX9-NEXT: v_mov_b32_e32 v57, v020399; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2520400; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill20401; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill20402; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2420403; GFX9-NEXT: v_mov_b32_e32 v35, v2220404; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill20405; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill20406; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2320407; GFX9-NEXT: v_mov_b32_e32 v36, v2120408; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill20409; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3520410; GFX9-NEXT: v_mov_b32_e32 v37, v2020411; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill20412; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3620413; GFX9-NEXT: v_mov_b32_e32 v38, v1920414; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill20415; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3720416; GFX9-NEXT: v_mov_b32_e32 v39, v1820417; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill20418; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3820419; GFX9-NEXT: v_mov_b32_e32 v48, v1720420; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill20421; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3920422; GFX9-NEXT: v_mov_b32_e32 v49, v1620423; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill20424; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4820425; GFX9-NEXT: v_mov_b32_e32 v50, v1520426; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill20427; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4920428; GFX9-NEXT: v_mov_b32_e32 v51, v1420429; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill20430; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5020431; GFX9-NEXT: v_mov_b32_e32 v52, v1320432; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill20433; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5120434; GFX9-NEXT: v_mov_b32_e32 v53, v1220435; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill20436; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5220437; GFX9-NEXT: v_mov_b32_e32 v54, v1120438; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill20439; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5320440; GFX9-NEXT: v_mov_b32_e32 v55, v1020441; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill20442; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5420443; GFX9-NEXT: v_mov_b32_e32 v40, v920444; GFX9-NEXT: v_mov_b32_e32 v41, v820445; GFX9-NEXT: v_mov_b32_e32 v42, v720446; GFX9-NEXT: v_mov_b32_e32 v43, v620447; GFX9-NEXT: v_mov_b32_e32 v44, v520448; GFX9-NEXT: v_mov_b32_e32 v45, v420449; GFX9-NEXT: v_mov_b32_e32 v46, v320450; GFX9-NEXT: v_mov_b32_e32 v47, v220451; GFX9-NEXT: v_mov_b32_e32 v56, v120452; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill20453; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5520454; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill20455; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4020456; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v4120457; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v4220458; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v4320459; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v4420460; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v4520461; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v4620462; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4720463; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v5620464; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v5720465; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2620466; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill20467; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill20468; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3120469; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc20470; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]20471; GFX9-NEXT: s_cbranch_execz .LBB34_220472; GFX9-NEXT: ; %bb.1: ; %cmp.false20473; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload20474; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload20475; GFX9-NEXT: s_mov_b32 s6, 0x504010020476; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v4020477; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v5520478; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v5420479; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v5320480; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v5220481; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v5120482; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v5020483; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v4920484; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v4820485; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v3920486; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v3820487; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v3720488; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v3620489; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v3520490; GFX9-NEXT: v_perm_b32 v0, v34, v57, s620491; GFX9-NEXT: v_perm_b32 v1, v62, v56, s620492; GFX9-NEXT: v_perm_b32 v2, v33, v47, s620493; GFX9-NEXT: v_perm_b32 v3, v32, v46, s620494; GFX9-NEXT: v_perm_b32 v4, v61, v45, s620495; GFX9-NEXT: v_perm_b32 v5, v60, v44, s620496; GFX9-NEXT: v_perm_b32 v6, v59, v43, s620497; GFX9-NEXT: v_perm_b32 v7, v58, v42, s620498; GFX9-NEXT: v_perm_b32 v8, v63, v41, s620499; GFX9-NEXT: v_perm_b32 v9, v9, v40, s620500; GFX9-NEXT: v_perm_b32 v10, v10, v55, s620501; GFX9-NEXT: v_perm_b32 v11, v11, v54, s620502; GFX9-NEXT: v_perm_b32 v12, v12, v53, s620503; GFX9-NEXT: v_perm_b32 v13, v13, v52, s620504; GFX9-NEXT: v_perm_b32 v14, v14, v51, s620505; GFX9-NEXT: v_perm_b32 v15, v15, v50, s620506; GFX9-NEXT: v_perm_b32 v16, v16, v49, s620507; GFX9-NEXT: v_perm_b32 v17, v17, v48, s620508; GFX9-NEXT: v_perm_b32 v18, v18, v39, s620509; GFX9-NEXT: v_perm_b32 v19, v19, v38, s620510; GFX9-NEXT: v_perm_b32 v20, v20, v37, s620511; GFX9-NEXT: v_perm_b32 v21, v21, v36, s620512; GFX9-NEXT: v_perm_b32 v22, v22, v35, s620513; GFX9-NEXT: ; implicit-def: $vgpr5720514; GFX9-NEXT: ; implicit-def: $vgpr5620515; GFX9-NEXT: ; implicit-def: $vgpr4720516; GFX9-NEXT: ; implicit-def: $vgpr4620517; GFX9-NEXT: ; implicit-def: $vgpr4520518; GFX9-NEXT: ; implicit-def: $vgpr4420519; GFX9-NEXT: ; implicit-def: $vgpr4320520; GFX9-NEXT: ; implicit-def: $vgpr4220521; GFX9-NEXT: ; implicit-def: $vgpr4120522; GFX9-NEXT: ; implicit-def: $vgpr4020523; GFX9-NEXT: ; implicit-def: $vgpr5520524; GFX9-NEXT: ; implicit-def: $vgpr5420525; GFX9-NEXT: ; implicit-def: $vgpr5320526; GFX9-NEXT: ; implicit-def: $vgpr5220527; GFX9-NEXT: ; implicit-def: $vgpr5120528; GFX9-NEXT: ; implicit-def: $vgpr5020529; GFX9-NEXT: ; implicit-def: $vgpr4920530; GFX9-NEXT: ; implicit-def: $vgpr4820531; GFX9-NEXT: ; implicit-def: $vgpr3920532; GFX9-NEXT: ; implicit-def: $vgpr3820533; GFX9-NEXT: ; implicit-def: $vgpr3720534; GFX9-NEXT: ; implicit-def: $vgpr3620535; GFX9-NEXT: ; implicit-def: $vgpr3520536; GFX9-NEXT: ; implicit-def: $vgpr6320537; GFX9-NEXT: ; implicit-def: $vgpr5820538; GFX9-NEXT: ; implicit-def: $vgpr5920539; GFX9-NEXT: ; implicit-def: $vgpr6020540; GFX9-NEXT: ; implicit-def: $vgpr6120541; GFX9-NEXT: ; implicit-def: $vgpr3220542; GFX9-NEXT: ; implicit-def: $vgpr3320543; GFX9-NEXT: ; implicit-def: $vgpr6220544; GFX9-NEXT: ; implicit-def: $vgpr3420545; GFX9-NEXT: s_waitcnt vmcnt(0)20546; GFX9-NEXT: v_perm_b32 v23, v24, v23, s620547; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload20548; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload20549; GFX9-NEXT: s_waitcnt vmcnt(0)20550; GFX9-NEXT: v_perm_b32 v24, v25, v24, s620551; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload20552; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload20553; GFX9-NEXT: s_waitcnt vmcnt(0)20554; GFX9-NEXT: v_perm_b32 v25, v26, v25, s620555; GFX9-NEXT: ; implicit-def: $vgpr2620556; GFX9-NEXT: ; kill: killed $vgpr2620557; GFX9-NEXT: ; implicit-def: $vgpr2620558; GFX9-NEXT: ; kill: killed $vgpr2620559; GFX9-NEXT: ; implicit-def: $vgpr2620560; GFX9-NEXT: ; kill: killed $vgpr2620561; GFX9-NEXT: ; implicit-def: $vgpr2620562; GFX9-NEXT: ; kill: killed $vgpr2620563; GFX9-NEXT: ; implicit-def: $vgpr2620564; GFX9-NEXT: ; kill: killed $vgpr2620565; GFX9-NEXT: ; implicit-def: $vgpr2620566; GFX9-NEXT: ; kill: killed $vgpr2620567; GFX9-NEXT: ; implicit-def: $vgpr2620568; GFX9-NEXT: ; kill: killed $vgpr2620569; GFX9-NEXT: ; implicit-def: $vgpr2620570; GFX9-NEXT: ; kill: killed $vgpr2620571; GFX9-NEXT: ; implicit-def: $vgpr2620572; GFX9-NEXT: ; kill: killed $vgpr2620573; GFX9-NEXT: ; implicit-def: $vgpr2620574; GFX9-NEXT: ; kill: killed $vgpr2620575; GFX9-NEXT: ; implicit-def: $vgpr2620576; GFX9-NEXT: ; kill: killed $vgpr2620577; GFX9-NEXT: ; implicit-def: $vgpr2620578; GFX9-NEXT: ; kill: killed $vgpr2620579; GFX9-NEXT: ; implicit-def: $vgpr2620580; GFX9-NEXT: ; kill: killed $vgpr2620581; GFX9-NEXT: ; implicit-def: $vgpr2620582; GFX9-NEXT: ; kill: killed $vgpr2620583; GFX9-NEXT: ; implicit-def: $vgpr2620584; GFX9-NEXT: ; kill: killed $vgpr2620585; GFX9-NEXT: ; implicit-def: $vgpr2620586; GFX9-NEXT: ; kill: killed $vgpr2620587; GFX9-NEXT: ; implicit-def: $vgpr2620588; GFX9-NEXT: ; kill: killed $vgpr2620589; GFX9-NEXT: ; implicit-def: $vgpr2620590; GFX9-NEXT: ; kill: killed $vgpr2620591; GFX9-NEXT: ; implicit-def: $vgpr2620592; GFX9-NEXT: ; kill: killed $vgpr2620593; GFX9-NEXT: ; implicit-def: $vgpr2620594; GFX9-NEXT: ; kill: killed $vgpr2620595; GFX9-NEXT: .LBB34_2: ; %Flow20596; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]20597; GFX9-NEXT: s_cbranch_execz .LBB34_420598; GFX9-NEXT: ; %bb.3: ; %cmp.true20599; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload20600; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload20601; GFX9-NEXT: s_mov_b32 s6, 0x504010020602; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload20603; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload20604; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload20605; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload20606; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload20607; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload20608; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload20609; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload20610; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload20611; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload20612; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload20613; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload20614; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload20615; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload20616; GFX9-NEXT: v_perm_b32 v0, v34, v57, s620617; GFX9-NEXT: s_movk_i32 s7, 0x20020618; GFX9-NEXT: v_perm_b32 v1, v62, v56, s620619; GFX9-NEXT: v_perm_b32 v2, v33, v47, s620620; GFX9-NEXT: v_perm_b32 v3, v32, v46, s620621; GFX9-NEXT: v_perm_b32 v4, v61, v45, s620622; GFX9-NEXT: v_perm_b32 v5, v60, v44, s620623; GFX9-NEXT: v_perm_b32 v6, v59, v43, s620624; GFX9-NEXT: v_perm_b32 v7, v58, v42, s620625; GFX9-NEXT: v_perm_b32 v8, v63, v41, s620626; GFX9-NEXT: v_pk_add_f16 v0, v0, s7 op_sel_hi:[1,0]20627; GFX9-NEXT: v_pk_add_f16 v1, v1, s7 op_sel_hi:[1,0]20628; GFX9-NEXT: v_pk_add_f16 v2, v2, s7 op_sel_hi:[1,0]20629; GFX9-NEXT: v_pk_add_f16 v3, v3, s7 op_sel_hi:[1,0]20630; GFX9-NEXT: v_pk_add_f16 v4, v4, s7 op_sel_hi:[1,0]20631; GFX9-NEXT: v_pk_add_f16 v5, v5, s7 op_sel_hi:[1,0]20632; GFX9-NEXT: v_pk_add_f16 v6, v6, s7 op_sel_hi:[1,0]20633; GFX9-NEXT: v_pk_add_f16 v7, v7, s7 op_sel_hi:[1,0]20634; GFX9-NEXT: v_pk_add_f16 v8, v8, s7 op_sel_hi:[1,0]20635; GFX9-NEXT: s_waitcnt vmcnt(14)20636; GFX9-NEXT: v_perm_b32 v23, v24, v23, s620637; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload20638; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload20639; GFX9-NEXT: s_waitcnt vmcnt(15)20640; GFX9-NEXT: v_perm_b32 v9, v9, v40, s620641; GFX9-NEXT: s_waitcnt vmcnt(14)20642; GFX9-NEXT: v_perm_b32 v10, v10, v55, s620643; GFX9-NEXT: s_waitcnt vmcnt(13)20644; GFX9-NEXT: v_perm_b32 v11, v11, v54, s620645; GFX9-NEXT: s_waitcnt vmcnt(12)20646; GFX9-NEXT: v_perm_b32 v12, v12, v53, s620647; GFX9-NEXT: s_waitcnt vmcnt(11)20648; GFX9-NEXT: v_perm_b32 v13, v13, v52, s620649; GFX9-NEXT: s_waitcnt vmcnt(10)20650; GFX9-NEXT: v_perm_b32 v14, v14, v51, s620651; GFX9-NEXT: s_waitcnt vmcnt(9)20652; GFX9-NEXT: v_perm_b32 v15, v15, v50, s620653; GFX9-NEXT: s_waitcnt vmcnt(8)20654; GFX9-NEXT: v_perm_b32 v16, v16, v49, s620655; GFX9-NEXT: s_waitcnt vmcnt(7)20656; GFX9-NEXT: v_perm_b32 v17, v17, v48, s620657; GFX9-NEXT: s_waitcnt vmcnt(6)20658; GFX9-NEXT: v_perm_b32 v18, v18, v39, s620659; GFX9-NEXT: s_waitcnt vmcnt(5)20660; GFX9-NEXT: v_perm_b32 v19, v19, v38, s620661; GFX9-NEXT: s_waitcnt vmcnt(4)20662; GFX9-NEXT: v_perm_b32 v20, v20, v37, s620663; GFX9-NEXT: s_waitcnt vmcnt(3)20664; GFX9-NEXT: v_perm_b32 v21, v21, v36, s620665; GFX9-NEXT: s_waitcnt vmcnt(2)20666; GFX9-NEXT: v_perm_b32 v22, v22, v35, s620667; GFX9-NEXT: v_pk_add_f16 v9, v9, s7 op_sel_hi:[1,0]20668; GFX9-NEXT: v_pk_add_f16 v10, v10, s7 op_sel_hi:[1,0]20669; GFX9-NEXT: v_pk_add_f16 v11, v11, s7 op_sel_hi:[1,0]20670; GFX9-NEXT: v_pk_add_f16 v12, v12, s7 op_sel_hi:[1,0]20671; GFX9-NEXT: v_pk_add_f16 v13, v13, s7 op_sel_hi:[1,0]20672; GFX9-NEXT: v_pk_add_f16 v14, v14, s7 op_sel_hi:[1,0]20673; GFX9-NEXT: v_pk_add_f16 v15, v15, s7 op_sel_hi:[1,0]20674; GFX9-NEXT: v_pk_add_f16 v16, v16, s7 op_sel_hi:[1,0]20675; GFX9-NEXT: v_pk_add_f16 v17, v17, s7 op_sel_hi:[1,0]20676; GFX9-NEXT: v_pk_add_f16 v18, v18, s7 op_sel_hi:[1,0]20677; GFX9-NEXT: v_pk_add_f16 v19, v19, s7 op_sel_hi:[1,0]20678; GFX9-NEXT: v_pk_add_f16 v20, v20, s7 op_sel_hi:[1,0]20679; GFX9-NEXT: v_pk_add_f16 v21, v21, s7 op_sel_hi:[1,0]20680; GFX9-NEXT: v_pk_add_f16 v22, v22, s7 op_sel_hi:[1,0]20681; GFX9-NEXT: v_pk_add_f16 v23, v23, s7 op_sel_hi:[1,0]20682; GFX9-NEXT: s_waitcnt vmcnt(0)20683; GFX9-NEXT: v_perm_b32 v24, v25, v24, s620684; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload20685; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload20686; GFX9-NEXT: v_pk_add_f16 v24, v24, s7 op_sel_hi:[1,0]20687; GFX9-NEXT: s_waitcnt vmcnt(0)20688; GFX9-NEXT: v_perm_b32 v25, v26, v25, s620689; GFX9-NEXT: v_pk_add_f16 v25, v25, s7 op_sel_hi:[1,0]20690; GFX9-NEXT: .LBB34_4: ; %end20691; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]20692; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload20693; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload20694; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload20695; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload20696; GFX9-NEXT: bufferFile truncated to the first 1 MiB.