20657 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 <28 x float> @bitcast_v28i32_to_v28f32(<28 x i32> %a, i32 %b) {10; SI-LABEL: bitcast_v28i32_to_v28f32: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, v2814; 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 v27, vcc, 3, v2720; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v2621; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v2522; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2423; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v2324; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2225; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v2126; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2027; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v1928; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1829; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v1730; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1631; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v1532; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1433; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v1334; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1235; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v1136; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1037; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v938; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v839; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v740; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v641; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v542; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v443; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v344; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v245; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v146; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v047; SI-NEXT: .LBB0_2: ; %end48; SI-NEXT: s_or_b64 exec, exec, s[4:5]49; SI-NEXT: s_setpc_b64 s[30:31]50;51; VI-LABEL: bitcast_v28i32_to_v28f32:52; VI: ; %bb.0:53; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)54; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2855; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc56; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]57; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]58; VI-NEXT: s_cbranch_execz .LBB0_259; VI-NEXT: ; %bb.1: ; %cmp.true60; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v2761; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v2662; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v2563; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v2464; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v2365; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v2266; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v2167; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v2068; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v1969; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v1870; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v1771; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v1672; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v1573; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v1474; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v1375; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v1276; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v1177; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v1078; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v979; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v880; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v781; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v682; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v583; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v484; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v385; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v286; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v187; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v088; VI-NEXT: .LBB0_2: ; %end89; VI-NEXT: s_or_b64 exec, exec, s[4:5]90; VI-NEXT: s_setpc_b64 s[30:31]91;92; GFX9-LABEL: bitcast_v28i32_to_v28f32:93; GFX9: ; %bb.0:94; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)95; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2896; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc97; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]98; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]99; GFX9-NEXT: s_cbranch_execz .LBB0_2100; GFX9-NEXT: ; %bb.1: ; %cmp.true101; GFX9-NEXT: v_add_u32_e32 v27, 3, v27102; GFX9-NEXT: v_add_u32_e32 v26, 3, v26103; GFX9-NEXT: v_add_u32_e32 v25, 3, v25104; GFX9-NEXT: v_add_u32_e32 v24, 3, v24105; GFX9-NEXT: v_add_u32_e32 v23, 3, v23106; GFX9-NEXT: v_add_u32_e32 v22, 3, v22107; GFX9-NEXT: v_add_u32_e32 v21, 3, v21108; GFX9-NEXT: v_add_u32_e32 v20, 3, v20109; GFX9-NEXT: v_add_u32_e32 v19, 3, v19110; GFX9-NEXT: v_add_u32_e32 v18, 3, v18111; GFX9-NEXT: v_add_u32_e32 v17, 3, v17112; GFX9-NEXT: v_add_u32_e32 v16, 3, v16113; GFX9-NEXT: v_add_u32_e32 v15, 3, v15114; GFX9-NEXT: v_add_u32_e32 v14, 3, v14115; GFX9-NEXT: v_add_u32_e32 v13, 3, v13116; GFX9-NEXT: v_add_u32_e32 v12, 3, v12117; GFX9-NEXT: v_add_u32_e32 v11, 3, v11118; GFX9-NEXT: v_add_u32_e32 v10, 3, v10119; GFX9-NEXT: v_add_u32_e32 v9, 3, v9120; GFX9-NEXT: v_add_u32_e32 v8, 3, v8121; GFX9-NEXT: v_add_u32_e32 v7, 3, v7122; GFX9-NEXT: v_add_u32_e32 v6, 3, v6123; GFX9-NEXT: v_add_u32_e32 v5, 3, v5124; GFX9-NEXT: v_add_u32_e32 v4, 3, v4125; GFX9-NEXT: v_add_u32_e32 v3, 3, v3126; GFX9-NEXT: v_add_u32_e32 v2, 3, v2127; GFX9-NEXT: v_add_u32_e32 v1, 3, v1128; GFX9-NEXT: v_add_u32_e32 v0, 3, v0129; GFX9-NEXT: .LBB0_2: ; %end130; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]131; GFX9-NEXT: s_setpc_b64 s[30:31]132;133; GFX11-LABEL: bitcast_v28i32_to_v28f32:134; GFX11: ; %bb.0:135; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)136; GFX11-NEXT: s_mov_b32 s0, exec_lo137; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v28138; GFX11-NEXT: s_xor_b32 s0, exec_lo, s0139; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)140; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s0141; GFX11-NEXT: s_cbranch_execz .LBB0_2142; GFX11-NEXT: ; %bb.1: ; %cmp.true143; GFX11-NEXT: v_add_nc_u32_e32 v27, 3, v27144; GFX11-NEXT: v_add_nc_u32_e32 v26, 3, v26145; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v25146; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v24147; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v23148; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v22149; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v21150; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v20151; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v19152; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v18153; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v17154; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v16155; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v15156; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v14157; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v13158; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v12159; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v11160; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v10161; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v9162; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v8163; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v7164; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v6165; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v5166; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v4167; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v3168; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v2169; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v1170; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v0171; GFX11-NEXT: .LBB0_2: ; %end172; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s0173; GFX11-NEXT: s_setpc_b64 s[30:31]174 %cmp = icmp eq i32 %b, 0175 br i1 %cmp, label %cmp.true, label %cmp.false176 177cmp.true:178 %a1 = add <28 x i32> %a, splat (i32 3)179 %a2 = bitcast <28 x i32> %a1 to <28 x float>180 br label %end181 182cmp.false:183 %a3 = bitcast <28 x i32> %a to <28 x float>184 br label %end185 186end:187 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]188 ret <28 x float> %phi189}190 191define inreg <28 x float> @bitcast_v28i32_to_v28f32_scalar(<28 x i32> inreg %a, i32 inreg %b) {192; SI-LABEL: bitcast_v28i32_to_v28f32_scalar:193; SI: ; %bb.0:194; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)195; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v14196; SI-NEXT: v_mov_b32_e32 v27, v13197; SI-NEXT: v_mov_b32_e32 v26, v12198; SI-NEXT: v_mov_b32_e32 v25, v11199; SI-NEXT: v_mov_b32_e32 v24, v10200; SI-NEXT: v_mov_b32_e32 v23, v9201; SI-NEXT: v_mov_b32_e32 v22, v8202; SI-NEXT: v_mov_b32_e32 v21, v7203; SI-NEXT: v_mov_b32_e32 v20, v6204; SI-NEXT: v_mov_b32_e32 v19, v5205; SI-NEXT: v_mov_b32_e32 v18, v4206; SI-NEXT: v_mov_b32_e32 v17, v3207; SI-NEXT: v_mov_b32_e32 v16, v2208; SI-NEXT: v_mov_b32_e32 v15, v1209; SI-NEXT: v_mov_b32_e32 v28, v0210; SI-NEXT: v_mov_b32_e32 v0, s16211; SI-NEXT: v_mov_b32_e32 v1, s17212; SI-NEXT: v_mov_b32_e32 v2, s18213; SI-NEXT: v_mov_b32_e32 v3, s19214; SI-NEXT: v_mov_b32_e32 v4, s20215; SI-NEXT: v_mov_b32_e32 v5, s21216; SI-NEXT: s_and_b64 s[4:5], vcc, exec217; SI-NEXT: v_mov_b32_e32 v6, s22218; SI-NEXT: v_mov_b32_e32 v7, s23219; SI-NEXT: v_mov_b32_e32 v8, s24220; SI-NEXT: v_mov_b32_e32 v9, s25221; SI-NEXT: v_mov_b32_e32 v10, s26222; SI-NEXT: v_mov_b32_e32 v11, s27223; SI-NEXT: v_mov_b32_e32 v12, s28224; SI-NEXT: v_mov_b32_e32 v13, s29225; SI-NEXT: s_cbranch_scc0 .LBB1_4226; SI-NEXT: ; %bb.1: ; %cmp.false227; SI-NEXT: s_cbranch_execnz .LBB1_3228; SI-NEXT: .LBB1_2: ; %cmp.true229; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v27230; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v26231; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v25232; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v24233; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v23234; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v22235; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v21236; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v20237; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v19238; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v18239; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v17240; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v16241; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v15242; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v28243; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v13244; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v12245; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v11246; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v10247; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v9248; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v8249; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v7250; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v6251; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v5252; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v4253; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v3254; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v2255; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v1256; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v0257; SI-NEXT: .LBB1_3: ; %end258; SI-NEXT: v_mov_b32_e32 v14, v28259; SI-NEXT: s_setpc_b64 s[30:31]260; SI-NEXT: .LBB1_4:261; SI-NEXT: s_branch .LBB1_2262;263; VI-LABEL: bitcast_v28i32_to_v28f32_scalar:264; VI: ; %bb.0:265; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)266; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v14267; VI-NEXT: v_mov_b32_e32 v27, v13268; VI-NEXT: v_mov_b32_e32 v26, v12269; VI-NEXT: v_mov_b32_e32 v25, v11270; VI-NEXT: v_mov_b32_e32 v24, v10271; VI-NEXT: v_mov_b32_e32 v23, v9272; VI-NEXT: v_mov_b32_e32 v22, v8273; VI-NEXT: v_mov_b32_e32 v21, v7274; VI-NEXT: v_mov_b32_e32 v20, v6275; VI-NEXT: v_mov_b32_e32 v19, v5276; VI-NEXT: v_mov_b32_e32 v18, v4277; VI-NEXT: v_mov_b32_e32 v17, v3278; VI-NEXT: v_mov_b32_e32 v16, v2279; VI-NEXT: v_mov_b32_e32 v15, v1280; VI-NEXT: v_mov_b32_e32 v28, v0281; VI-NEXT: v_mov_b32_e32 v0, s16282; VI-NEXT: v_mov_b32_e32 v1, s17283; VI-NEXT: v_mov_b32_e32 v2, s18284; VI-NEXT: v_mov_b32_e32 v3, s19285; VI-NEXT: v_mov_b32_e32 v4, s20286; VI-NEXT: v_mov_b32_e32 v5, s21287; VI-NEXT: s_and_b64 s[4:5], vcc, exec288; VI-NEXT: v_mov_b32_e32 v6, s22289; VI-NEXT: v_mov_b32_e32 v7, s23290; VI-NEXT: v_mov_b32_e32 v8, s24291; VI-NEXT: v_mov_b32_e32 v9, s25292; VI-NEXT: v_mov_b32_e32 v10, s26293; VI-NEXT: v_mov_b32_e32 v11, s27294; VI-NEXT: v_mov_b32_e32 v12, s28295; VI-NEXT: v_mov_b32_e32 v13, s29296; VI-NEXT: s_cbranch_scc0 .LBB1_4297; VI-NEXT: ; %bb.1: ; %cmp.false298; VI-NEXT: s_cbranch_execnz .LBB1_3299; VI-NEXT: .LBB1_2: ; %cmp.true300; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v27301; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v26302; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v25303; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v24304; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v23305; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v22306; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v21307; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v20308; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v19309; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v18310; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v17311; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v16312; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v15313; VI-NEXT: v_add_u32_e32 v28, vcc, 3, v28314; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v13315; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v12316; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v11317; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v10318; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v9319; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v8320; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v7321; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v6322; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v5323; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v4324; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v3325; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v2326; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v1327; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0328; VI-NEXT: .LBB1_3: ; %end329; VI-NEXT: v_mov_b32_e32 v14, v28330; VI-NEXT: s_setpc_b64 s[30:31]331; VI-NEXT: .LBB1_4:332; VI-NEXT: s_branch .LBB1_2333;334; GFX9-LABEL: bitcast_v28i32_to_v28f32_scalar:335; GFX9: ; %bb.0:336; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)337; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v14338; GFX9-NEXT: v_mov_b32_e32 v27, v13339; GFX9-NEXT: v_mov_b32_e32 v26, v12340; GFX9-NEXT: v_mov_b32_e32 v25, v11341; GFX9-NEXT: v_mov_b32_e32 v24, v10342; GFX9-NEXT: v_mov_b32_e32 v23, v9343; GFX9-NEXT: v_mov_b32_e32 v22, v8344; GFX9-NEXT: v_mov_b32_e32 v21, v7345; GFX9-NEXT: v_mov_b32_e32 v20, v6346; GFX9-NEXT: v_mov_b32_e32 v19, v5347; GFX9-NEXT: v_mov_b32_e32 v18, v4348; GFX9-NEXT: v_mov_b32_e32 v17, v3349; GFX9-NEXT: v_mov_b32_e32 v16, v2350; GFX9-NEXT: v_mov_b32_e32 v15, v1351; GFX9-NEXT: v_mov_b32_e32 v28, v0352; GFX9-NEXT: v_mov_b32_e32 v0, s16353; GFX9-NEXT: v_mov_b32_e32 v1, s17354; GFX9-NEXT: v_mov_b32_e32 v2, s18355; GFX9-NEXT: v_mov_b32_e32 v3, s19356; GFX9-NEXT: v_mov_b32_e32 v4, s20357; GFX9-NEXT: v_mov_b32_e32 v5, s21358; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec359; GFX9-NEXT: v_mov_b32_e32 v6, s22360; GFX9-NEXT: v_mov_b32_e32 v7, s23361; GFX9-NEXT: v_mov_b32_e32 v8, s24362; GFX9-NEXT: v_mov_b32_e32 v9, s25363; GFX9-NEXT: v_mov_b32_e32 v10, s26364; GFX9-NEXT: v_mov_b32_e32 v11, s27365; GFX9-NEXT: v_mov_b32_e32 v12, s28366; GFX9-NEXT: v_mov_b32_e32 v13, s29367; GFX9-NEXT: s_cbranch_scc0 .LBB1_4368; GFX9-NEXT: ; %bb.1: ; %cmp.false369; GFX9-NEXT: s_cbranch_execnz .LBB1_3370; GFX9-NEXT: .LBB1_2: ; %cmp.true371; GFX9-NEXT: v_add_u32_e32 v27, 3, v27372; GFX9-NEXT: v_add_u32_e32 v26, 3, v26373; GFX9-NEXT: v_add_u32_e32 v25, 3, v25374; GFX9-NEXT: v_add_u32_e32 v24, 3, v24375; GFX9-NEXT: v_add_u32_e32 v23, 3, v23376; GFX9-NEXT: v_add_u32_e32 v22, 3, v22377; GFX9-NEXT: v_add_u32_e32 v21, 3, v21378; GFX9-NEXT: v_add_u32_e32 v20, 3, v20379; GFX9-NEXT: v_add_u32_e32 v19, 3, v19380; GFX9-NEXT: v_add_u32_e32 v18, 3, v18381; GFX9-NEXT: v_add_u32_e32 v17, 3, v17382; GFX9-NEXT: v_add_u32_e32 v16, 3, v16383; GFX9-NEXT: v_add_u32_e32 v15, 3, v15384; GFX9-NEXT: v_add_u32_e32 v28, 3, v28385; GFX9-NEXT: v_add_u32_e32 v13, 3, v13386; GFX9-NEXT: v_add_u32_e32 v12, 3, v12387; GFX9-NEXT: v_add_u32_e32 v11, 3, v11388; GFX9-NEXT: v_add_u32_e32 v10, 3, v10389; GFX9-NEXT: v_add_u32_e32 v9, 3, v9390; GFX9-NEXT: v_add_u32_e32 v8, 3, v8391; GFX9-NEXT: v_add_u32_e32 v7, 3, v7392; GFX9-NEXT: v_add_u32_e32 v6, 3, v6393; GFX9-NEXT: v_add_u32_e32 v5, 3, v5394; GFX9-NEXT: v_add_u32_e32 v4, 3, v4395; GFX9-NEXT: v_add_u32_e32 v3, 3, v3396; GFX9-NEXT: v_add_u32_e32 v2, 3, v2397; GFX9-NEXT: v_add_u32_e32 v1, 3, v1398; GFX9-NEXT: v_add_u32_e32 v0, 3, v0399; GFX9-NEXT: .LBB1_3: ; %end400; GFX9-NEXT: v_mov_b32_e32 v14, v28401; GFX9-NEXT: s_setpc_b64 s[30:31]402; GFX9-NEXT: .LBB1_4:403; GFX9-NEXT: s_branch .LBB1_2404;405; GFX11-LABEL: bitcast_v28i32_to_v28f32_scalar:406; GFX11: ; %bb.0:407; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)408; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v9409; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v7410; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v5411; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)412; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v16413; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v3414; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v1415; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s1416; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3417; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s17418; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s19419; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s21420; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s23421; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s25422; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s27423; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s29424; GFX11-NEXT: v_mov_b32_e32 v16, s28425; GFX11-NEXT: s_mov_b32 s0, 0426; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo427; GFX11-NEXT: s_cbranch_scc0 .LBB1_3428; GFX11-NEXT: ; %bb.1: ; %Flow429; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s0430; GFX11-NEXT: s_cbranch_vccz .LBB1_4431; GFX11-NEXT: ; %bb.2: ; %end432; GFX11-NEXT: s_setpc_b64 s[30:31]433; GFX11-NEXT: .LBB1_3:434; GFX11-NEXT: .LBB1_4: ; %cmp.true435; GFX11-NEXT: v_add_nc_u32_e32 v27, 3, v27436; GFX11-NEXT: v_add_nc_u32_e32 v26, 3, v26437; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v25438; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v24439; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v23440; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v22441; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v21442; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v20443; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v19444; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v18445; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v17446; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v16447; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v15448; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v14449; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v13450; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v12451; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v11452; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v10453; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v9454; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v8455; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v7456; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v6457; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v5458; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v4459; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v3460; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v2461; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v1462; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v0463; GFX11-NEXT: s_setpc_b64 s[30:31]464 %cmp = icmp eq i32 %b, 0465 br i1 %cmp, label %cmp.true, label %cmp.false466 467cmp.true:468 %a1 = add <28 x i32> %a, splat (i32 3)469 %a2 = bitcast <28 x i32> %a1 to <28 x float>470 br label %end471 472cmp.false:473 %a3 = bitcast <28 x i32> %a to <28 x float>474 br label %end475 476end:477 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]478 ret <28 x float> %phi479}480 481define <28 x i32> @bitcast_v28f32_to_v28i32(<28 x float> %a, i32 %b) {482; SI-LABEL: bitcast_v28f32_to_v28i32:483; SI: ; %bb.0:484; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)485; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v28486; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc487; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]488; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]489; SI-NEXT: s_cbranch_execz .LBB2_2490; SI-NEXT: ; %bb.1: ; %cmp.true491; SI-NEXT: v_add_f32_e32 v27, 1.0, v27492; SI-NEXT: v_add_f32_e32 v26, 1.0, v26493; SI-NEXT: v_add_f32_e32 v25, 1.0, v25494; SI-NEXT: v_add_f32_e32 v24, 1.0, v24495; SI-NEXT: v_add_f32_e32 v23, 1.0, v23496; SI-NEXT: v_add_f32_e32 v22, 1.0, v22497; SI-NEXT: v_add_f32_e32 v21, 1.0, v21498; SI-NEXT: v_add_f32_e32 v20, 1.0, v20499; SI-NEXT: v_add_f32_e32 v19, 1.0, v19500; SI-NEXT: v_add_f32_e32 v18, 1.0, v18501; SI-NEXT: v_add_f32_e32 v17, 1.0, v17502; SI-NEXT: v_add_f32_e32 v16, 1.0, v16503; SI-NEXT: v_add_f32_e32 v15, 1.0, v15504; SI-NEXT: v_add_f32_e32 v14, 1.0, v14505; SI-NEXT: v_add_f32_e32 v13, 1.0, v13506; SI-NEXT: v_add_f32_e32 v12, 1.0, v12507; SI-NEXT: v_add_f32_e32 v11, 1.0, v11508; SI-NEXT: v_add_f32_e32 v10, 1.0, v10509; SI-NEXT: v_add_f32_e32 v9, 1.0, v9510; SI-NEXT: v_add_f32_e32 v8, 1.0, v8511; SI-NEXT: v_add_f32_e32 v7, 1.0, v7512; SI-NEXT: v_add_f32_e32 v6, 1.0, v6513; SI-NEXT: v_add_f32_e32 v5, 1.0, v5514; SI-NEXT: v_add_f32_e32 v4, 1.0, v4515; SI-NEXT: v_add_f32_e32 v3, 1.0, v3516; SI-NEXT: v_add_f32_e32 v2, 1.0, v2517; SI-NEXT: v_add_f32_e32 v1, 1.0, v1518; SI-NEXT: v_add_f32_e32 v0, 1.0, v0519; SI-NEXT: .LBB2_2: ; %end520; SI-NEXT: s_or_b64 exec, exec, s[4:5]521; SI-NEXT: s_setpc_b64 s[30:31]522;523; VI-LABEL: bitcast_v28f32_to_v28i32:524; VI: ; %bb.0:525; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)526; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v28527; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc528; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]529; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]530; VI-NEXT: s_cbranch_execz .LBB2_2531; VI-NEXT: ; %bb.1: ; %cmp.true532; VI-NEXT: v_add_f32_e32 v27, 1.0, v27533; VI-NEXT: v_add_f32_e32 v26, 1.0, v26534; VI-NEXT: v_add_f32_e32 v25, 1.0, v25535; VI-NEXT: v_add_f32_e32 v24, 1.0, v24536; VI-NEXT: v_add_f32_e32 v23, 1.0, v23537; VI-NEXT: v_add_f32_e32 v22, 1.0, v22538; VI-NEXT: v_add_f32_e32 v21, 1.0, v21539; VI-NEXT: v_add_f32_e32 v20, 1.0, v20540; VI-NEXT: v_add_f32_e32 v19, 1.0, v19541; VI-NEXT: v_add_f32_e32 v18, 1.0, v18542; VI-NEXT: v_add_f32_e32 v17, 1.0, v17543; VI-NEXT: v_add_f32_e32 v16, 1.0, v16544; VI-NEXT: v_add_f32_e32 v15, 1.0, v15545; VI-NEXT: v_add_f32_e32 v14, 1.0, v14546; VI-NEXT: v_add_f32_e32 v13, 1.0, v13547; VI-NEXT: v_add_f32_e32 v12, 1.0, v12548; VI-NEXT: v_add_f32_e32 v11, 1.0, v11549; VI-NEXT: v_add_f32_e32 v10, 1.0, v10550; VI-NEXT: v_add_f32_e32 v9, 1.0, v9551; VI-NEXT: v_add_f32_e32 v8, 1.0, v8552; VI-NEXT: v_add_f32_e32 v7, 1.0, v7553; VI-NEXT: v_add_f32_e32 v6, 1.0, v6554; VI-NEXT: v_add_f32_e32 v5, 1.0, v5555; VI-NEXT: v_add_f32_e32 v4, 1.0, v4556; VI-NEXT: v_add_f32_e32 v3, 1.0, v3557; VI-NEXT: v_add_f32_e32 v2, 1.0, v2558; VI-NEXT: v_add_f32_e32 v1, 1.0, v1559; VI-NEXT: v_add_f32_e32 v0, 1.0, v0560; VI-NEXT: .LBB2_2: ; %end561; VI-NEXT: s_or_b64 exec, exec, s[4:5]562; VI-NEXT: s_setpc_b64 s[30:31]563;564; GFX9-LABEL: bitcast_v28f32_to_v28i32:565; GFX9: ; %bb.0:566; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)567; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v28568; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc569; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]570; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]571; GFX9-NEXT: s_cbranch_execz .LBB2_2572; GFX9-NEXT: ; %bb.1: ; %cmp.true573; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v27574; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v26575; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v25576; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v24577; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v23578; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v22579; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v21580; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v20581; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v19582; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v18583; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v17584; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v16585; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v15586; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v14587; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v13588; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v12589; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v11590; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v10591; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v9592; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v8593; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v7594; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v6595; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v5596; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v4597; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v3598; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v2599; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v1600; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v0601; GFX9-NEXT: .LBB2_2: ; %end602; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]603; GFX9-NEXT: s_setpc_b64 s[30:31]604;605; GFX11-LABEL: bitcast_v28f32_to_v28i32:606; GFX11: ; %bb.0:607; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)608; GFX11-NEXT: s_mov_b32 s0, exec_lo609; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v28610; GFX11-NEXT: s_xor_b32 s0, exec_lo, s0611; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)612; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s0613; GFX11-NEXT: s_cbranch_execz .LBB2_2614; GFX11-NEXT: ; %bb.1: ; %cmp.true615; GFX11-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v26616; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v24617; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v22618; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v20619; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v18620; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v16621; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v14622; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v12623; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v10624; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v8625; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v6626; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v4627; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v2628; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v0629; GFX11-NEXT: .LBB2_2: ; %end630; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s0631; GFX11-NEXT: s_setpc_b64 s[30:31]632 %cmp = icmp eq i32 %b, 0633 br i1 %cmp, label %cmp.true, label %cmp.false634 635cmp.true:636 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)637 %a2 = bitcast <28 x float> %a1 to <28 x i32>638 br label %end639 640cmp.false:641 %a3 = bitcast <28 x float> %a to <28 x i32>642 br label %end643 644end:645 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]646 ret <28 x i32> %phi647}648 649define inreg <28 x i32> @bitcast_v28f32_to_v28i32_scalar(<28 x float> inreg %a, i32 inreg %b) {650; SI-LABEL: bitcast_v28f32_to_v28i32_scalar:651; SI: ; %bb.0:652; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)653; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v14654; SI-NEXT: v_mov_b32_e32 v27, v13655; SI-NEXT: v_mov_b32_e32 v26, v12656; SI-NEXT: v_mov_b32_e32 v25, v11657; SI-NEXT: v_mov_b32_e32 v24, v10658; SI-NEXT: v_mov_b32_e32 v23, v9659; SI-NEXT: v_mov_b32_e32 v22, v8660; SI-NEXT: v_mov_b32_e32 v21, v7661; SI-NEXT: v_mov_b32_e32 v20, v6662; SI-NEXT: v_mov_b32_e32 v19, v5663; SI-NEXT: v_mov_b32_e32 v18, v4664; SI-NEXT: v_mov_b32_e32 v17, v3665; SI-NEXT: v_mov_b32_e32 v16, v2666; SI-NEXT: v_mov_b32_e32 v15, v1667; SI-NEXT: v_mov_b32_e32 v28, v0668; SI-NEXT: v_mov_b32_e32 v0, s16669; SI-NEXT: v_mov_b32_e32 v1, s17670; SI-NEXT: v_mov_b32_e32 v2, s18671; SI-NEXT: v_mov_b32_e32 v3, s19672; SI-NEXT: v_mov_b32_e32 v4, s20673; SI-NEXT: v_mov_b32_e32 v5, s21674; SI-NEXT: s_and_b64 s[4:5], vcc, exec675; SI-NEXT: v_mov_b32_e32 v6, s22676; SI-NEXT: v_mov_b32_e32 v7, s23677; SI-NEXT: v_mov_b32_e32 v8, s24678; SI-NEXT: v_mov_b32_e32 v9, s25679; SI-NEXT: v_mov_b32_e32 v10, s26680; SI-NEXT: v_mov_b32_e32 v11, s27681; SI-NEXT: v_mov_b32_e32 v12, s28682; SI-NEXT: v_mov_b32_e32 v13, s29683; SI-NEXT: s_cbranch_scc0 .LBB3_4684; SI-NEXT: ; %bb.1: ; %cmp.false685; SI-NEXT: s_cbranch_execnz .LBB3_3686; SI-NEXT: .LBB3_2: ; %cmp.true687; SI-NEXT: v_add_f32_e32 v27, 1.0, v27688; SI-NEXT: v_add_f32_e32 v26, 1.0, v26689; SI-NEXT: v_add_f32_e32 v25, 1.0, v25690; SI-NEXT: v_add_f32_e32 v24, 1.0, v24691; SI-NEXT: v_add_f32_e32 v23, 1.0, v23692; SI-NEXT: v_add_f32_e32 v22, 1.0, v22693; SI-NEXT: v_add_f32_e32 v21, 1.0, v21694; SI-NEXT: v_add_f32_e32 v20, 1.0, v20695; SI-NEXT: v_add_f32_e32 v19, 1.0, v19696; SI-NEXT: v_add_f32_e32 v18, 1.0, v18697; SI-NEXT: v_add_f32_e32 v17, 1.0, v17698; SI-NEXT: v_add_f32_e32 v16, 1.0, v16699; SI-NEXT: v_add_f32_e32 v15, 1.0, v15700; SI-NEXT: v_add_f32_e32 v28, 1.0, v28701; SI-NEXT: v_add_f32_e32 v13, 1.0, v13702; SI-NEXT: v_add_f32_e32 v12, 1.0, v12703; SI-NEXT: v_add_f32_e32 v11, 1.0, v11704; SI-NEXT: v_add_f32_e32 v10, 1.0, v10705; SI-NEXT: v_add_f32_e32 v9, 1.0, v9706; SI-NEXT: v_add_f32_e32 v8, 1.0, v8707; SI-NEXT: v_add_f32_e32 v7, 1.0, v7708; SI-NEXT: v_add_f32_e32 v6, 1.0, v6709; SI-NEXT: v_add_f32_e32 v5, 1.0, v5710; SI-NEXT: v_add_f32_e32 v4, 1.0, v4711; SI-NEXT: v_add_f32_e32 v3, 1.0, v3712; SI-NEXT: v_add_f32_e32 v2, 1.0, v2713; SI-NEXT: v_add_f32_e32 v1, 1.0, v1714; SI-NEXT: v_add_f32_e32 v0, 1.0, v0715; SI-NEXT: .LBB3_3: ; %end716; SI-NEXT: v_mov_b32_e32 v14, v28717; SI-NEXT: s_setpc_b64 s[30:31]718; SI-NEXT: .LBB3_4:719; SI-NEXT: s_branch .LBB3_2720;721; VI-LABEL: bitcast_v28f32_to_v28i32_scalar:722; VI: ; %bb.0:723; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)724; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v14725; VI-NEXT: v_mov_b32_e32 v27, v13726; VI-NEXT: v_mov_b32_e32 v26, v12727; VI-NEXT: v_mov_b32_e32 v25, v11728; VI-NEXT: v_mov_b32_e32 v24, v10729; VI-NEXT: v_mov_b32_e32 v23, v9730; VI-NEXT: v_mov_b32_e32 v22, v8731; VI-NEXT: v_mov_b32_e32 v21, v7732; VI-NEXT: v_mov_b32_e32 v20, v6733; VI-NEXT: v_mov_b32_e32 v19, v5734; VI-NEXT: v_mov_b32_e32 v18, v4735; VI-NEXT: v_mov_b32_e32 v17, v3736; VI-NEXT: v_mov_b32_e32 v16, v2737; VI-NEXT: v_mov_b32_e32 v15, v1738; VI-NEXT: v_mov_b32_e32 v28, v0739; VI-NEXT: v_mov_b32_e32 v0, s16740; VI-NEXT: v_mov_b32_e32 v1, s17741; VI-NEXT: v_mov_b32_e32 v2, s18742; VI-NEXT: v_mov_b32_e32 v3, s19743; VI-NEXT: v_mov_b32_e32 v4, s20744; VI-NEXT: v_mov_b32_e32 v5, s21745; VI-NEXT: s_and_b64 s[4:5], vcc, exec746; VI-NEXT: v_mov_b32_e32 v6, s22747; VI-NEXT: v_mov_b32_e32 v7, s23748; VI-NEXT: v_mov_b32_e32 v8, s24749; VI-NEXT: v_mov_b32_e32 v9, s25750; VI-NEXT: v_mov_b32_e32 v10, s26751; VI-NEXT: v_mov_b32_e32 v11, s27752; VI-NEXT: v_mov_b32_e32 v12, s28753; VI-NEXT: v_mov_b32_e32 v13, s29754; VI-NEXT: s_cbranch_scc0 .LBB3_4755; VI-NEXT: ; %bb.1: ; %cmp.false756; VI-NEXT: s_cbranch_execnz .LBB3_3757; VI-NEXT: .LBB3_2: ; %cmp.true758; VI-NEXT: v_add_f32_e32 v27, 1.0, v27759; VI-NEXT: v_add_f32_e32 v26, 1.0, v26760; VI-NEXT: v_add_f32_e32 v25, 1.0, v25761; VI-NEXT: v_add_f32_e32 v24, 1.0, v24762; VI-NEXT: v_add_f32_e32 v23, 1.0, v23763; VI-NEXT: v_add_f32_e32 v22, 1.0, v22764; VI-NEXT: v_add_f32_e32 v21, 1.0, v21765; VI-NEXT: v_add_f32_e32 v20, 1.0, v20766; VI-NEXT: v_add_f32_e32 v19, 1.0, v19767; VI-NEXT: v_add_f32_e32 v18, 1.0, v18768; VI-NEXT: v_add_f32_e32 v17, 1.0, v17769; VI-NEXT: v_add_f32_e32 v16, 1.0, v16770; VI-NEXT: v_add_f32_e32 v15, 1.0, v15771; VI-NEXT: v_add_f32_e32 v28, 1.0, v28772; VI-NEXT: v_add_f32_e32 v13, 1.0, v13773; VI-NEXT: v_add_f32_e32 v12, 1.0, v12774; VI-NEXT: v_add_f32_e32 v11, 1.0, v11775; VI-NEXT: v_add_f32_e32 v10, 1.0, v10776; VI-NEXT: v_add_f32_e32 v9, 1.0, v9777; VI-NEXT: v_add_f32_e32 v8, 1.0, v8778; VI-NEXT: v_add_f32_e32 v7, 1.0, v7779; VI-NEXT: v_add_f32_e32 v6, 1.0, v6780; VI-NEXT: v_add_f32_e32 v5, 1.0, v5781; VI-NEXT: v_add_f32_e32 v4, 1.0, v4782; VI-NEXT: v_add_f32_e32 v3, 1.0, v3783; VI-NEXT: v_add_f32_e32 v2, 1.0, v2784; VI-NEXT: v_add_f32_e32 v1, 1.0, v1785; VI-NEXT: v_add_f32_e32 v0, 1.0, v0786; VI-NEXT: .LBB3_3: ; %end787; VI-NEXT: v_mov_b32_e32 v14, v28788; VI-NEXT: s_setpc_b64 s[30:31]789; VI-NEXT: .LBB3_4:790; VI-NEXT: s_branch .LBB3_2791;792; GFX9-LABEL: bitcast_v28f32_to_v28i32_scalar:793; GFX9: ; %bb.0:794; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)795; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v14796; GFX9-NEXT: v_mov_b32_e32 v27, v13797; GFX9-NEXT: v_mov_b32_e32 v26, v12798; GFX9-NEXT: v_mov_b32_e32 v25, v11799; GFX9-NEXT: v_mov_b32_e32 v24, v10800; GFX9-NEXT: v_mov_b32_e32 v23, v9801; GFX9-NEXT: v_mov_b32_e32 v22, v8802; GFX9-NEXT: v_mov_b32_e32 v21, v7803; GFX9-NEXT: v_mov_b32_e32 v20, v6804; GFX9-NEXT: v_mov_b32_e32 v19, v5805; GFX9-NEXT: v_mov_b32_e32 v18, v4806; GFX9-NEXT: v_mov_b32_e32 v17, v3807; GFX9-NEXT: v_mov_b32_e32 v16, v2808; GFX9-NEXT: v_mov_b32_e32 v15, v1809; GFX9-NEXT: v_mov_b32_e32 v28, v0810; GFX9-NEXT: v_mov_b32_e32 v0, s16811; GFX9-NEXT: v_mov_b32_e32 v1, s17812; GFX9-NEXT: v_mov_b32_e32 v2, s18813; GFX9-NEXT: v_mov_b32_e32 v3, s19814; GFX9-NEXT: v_mov_b32_e32 v4, s20815; GFX9-NEXT: v_mov_b32_e32 v5, s21816; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec817; GFX9-NEXT: v_mov_b32_e32 v6, s22818; GFX9-NEXT: v_mov_b32_e32 v7, s23819; GFX9-NEXT: v_mov_b32_e32 v8, s24820; GFX9-NEXT: v_mov_b32_e32 v9, s25821; GFX9-NEXT: v_mov_b32_e32 v10, s26822; GFX9-NEXT: v_mov_b32_e32 v11, s27823; GFX9-NEXT: v_mov_b32_e32 v12, s28824; GFX9-NEXT: v_mov_b32_e32 v13, s29825; GFX9-NEXT: s_cbranch_scc0 .LBB3_4826; GFX9-NEXT: ; %bb.1: ; %cmp.false827; GFX9-NEXT: s_cbranch_execnz .LBB3_3828; GFX9-NEXT: .LBB3_2: ; %cmp.true829; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v27830; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v26831; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v25832; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v24833; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v23834; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v22835; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v21836; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v20837; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v19838; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v18839; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v17840; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v16841; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v15842; GFX9-NEXT: v_add_f32_e32 v28, 1.0, v28843; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v13844; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v12845; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v11846; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v10847; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v9848; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v8849; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v7850; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v6851; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v5852; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v4853; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v3854; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v2855; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v1856; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v0857; GFX9-NEXT: .LBB3_3: ; %end858; GFX9-NEXT: v_mov_b32_e32 v14, v28859; GFX9-NEXT: s_setpc_b64 s[30:31]860; GFX9-NEXT: .LBB3_4:861; GFX9-NEXT: s_branch .LBB3_2862;863; GFX11-LABEL: bitcast_v28f32_to_v28i32_scalar:864; GFX11: ; %bb.0:865; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)866; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v9867; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v7868; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v5869; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)870; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v16871; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v3872; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v1873; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s1874; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3875; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s17876; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s19877; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s21878; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s23879; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s25880; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s27881; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s29882; GFX11-NEXT: v_mov_b32_e32 v16, s28883; GFX11-NEXT: s_mov_b32 s0, 0884; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo885; GFX11-NEXT: s_cbranch_scc0 .LBB3_3886; GFX11-NEXT: ; %bb.1: ; %Flow887; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s0888; GFX11-NEXT: s_cbranch_vccz .LBB3_4889; GFX11-NEXT: ; %bb.2: ; %end890; GFX11-NEXT: s_setpc_b64 s[30:31]891; GFX11-NEXT: .LBB3_3:892; GFX11-NEXT: .LBB3_4: ; %cmp.true893; GFX11-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v26894; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v24895; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v22896; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v20897; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v18898; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v16899; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v14900; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v12901; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v10902; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v8903; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v6904; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v4905; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v2906; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v0907; GFX11-NEXT: s_setpc_b64 s[30:31]908 %cmp = icmp eq i32 %b, 0909 br i1 %cmp, label %cmp.true, label %cmp.false910 911cmp.true:912 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)913 %a2 = bitcast <28 x float> %a1 to <28 x i32>914 br label %end915 916cmp.false:917 %a3 = bitcast <28 x float> %a to <28 x i32>918 br label %end919 920end:921 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]922 ret <28 x i32> %phi923}924 925define <14 x i64> @bitcast_v28i32_to_v14i64(<28 x i32> %a, i32 %b) {926; SI-LABEL: bitcast_v28i32_to_v14i64:927; SI: ; %bb.0:928; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)929; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v28930; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc931; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]932; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]933; SI-NEXT: s_cbranch_execz .LBB4_2934; SI-NEXT: ; %bb.1: ; %cmp.true935; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v27936; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v26937; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v25938; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v24939; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v23940; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v22941; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v21942; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v20943; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v19944; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v18945; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v17946; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v16947; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v15948; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v14949; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v13950; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v12951; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v11952; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v10953; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v9954; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v8955; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v7956; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v6957; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v5958; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v4959; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v3960; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v2961; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v1962; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v0963; SI-NEXT: .LBB4_2: ; %end964; SI-NEXT: s_or_b64 exec, exec, s[4:5]965; SI-NEXT: s_setpc_b64 s[30:31]966;967; VI-LABEL: bitcast_v28i32_to_v14i64:968; VI: ; %bb.0:969; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)970; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v28971; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc972; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]973; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]974; VI-NEXT: s_cbranch_execz .LBB4_2975; VI-NEXT: ; %bb.1: ; %cmp.true976; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v27977; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v26978; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v25979; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v24980; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v23981; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v22982; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v21983; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v20984; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v19985; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v18986; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v17987; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v16988; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v15989; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v14990; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v13991; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v12992; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v11993; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v10994; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v9995; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v8996; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v7997; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v6998; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v5999; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41000; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v31001; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21002; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v11003; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01004; VI-NEXT: .LBB4_2: ; %end1005; VI-NEXT: s_or_b64 exec, exec, s[4:5]1006; VI-NEXT: s_setpc_b64 s[30:31]1007;1008; GFX9-LABEL: bitcast_v28i32_to_v14i64:1009; GFX9: ; %bb.0:1010; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1011; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281012; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc1013; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1014; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1015; GFX9-NEXT: s_cbranch_execz .LBB4_21016; GFX9-NEXT: ; %bb.1: ; %cmp.true1017; GFX9-NEXT: v_add_u32_e32 v27, 3, v271018; GFX9-NEXT: v_add_u32_e32 v26, 3, v261019; GFX9-NEXT: v_add_u32_e32 v25, 3, v251020; GFX9-NEXT: v_add_u32_e32 v24, 3, v241021; GFX9-NEXT: v_add_u32_e32 v23, 3, v231022; GFX9-NEXT: v_add_u32_e32 v22, 3, v221023; GFX9-NEXT: v_add_u32_e32 v21, 3, v211024; GFX9-NEXT: v_add_u32_e32 v20, 3, v201025; GFX9-NEXT: v_add_u32_e32 v19, 3, v191026; GFX9-NEXT: v_add_u32_e32 v18, 3, v181027; GFX9-NEXT: v_add_u32_e32 v17, 3, v171028; GFX9-NEXT: v_add_u32_e32 v16, 3, v161029; GFX9-NEXT: v_add_u32_e32 v15, 3, v151030; GFX9-NEXT: v_add_u32_e32 v14, 3, v141031; GFX9-NEXT: v_add_u32_e32 v13, 3, v131032; GFX9-NEXT: v_add_u32_e32 v12, 3, v121033; GFX9-NEXT: v_add_u32_e32 v11, 3, v111034; GFX9-NEXT: v_add_u32_e32 v10, 3, v101035; GFX9-NEXT: v_add_u32_e32 v9, 3, v91036; GFX9-NEXT: v_add_u32_e32 v8, 3, v81037; GFX9-NEXT: v_add_u32_e32 v7, 3, v71038; GFX9-NEXT: v_add_u32_e32 v6, 3, v61039; GFX9-NEXT: v_add_u32_e32 v5, 3, v51040; GFX9-NEXT: v_add_u32_e32 v4, 3, v41041; GFX9-NEXT: v_add_u32_e32 v3, 3, v31042; GFX9-NEXT: v_add_u32_e32 v2, 3, v21043; GFX9-NEXT: v_add_u32_e32 v1, 3, v11044; GFX9-NEXT: v_add_u32_e32 v0, 3, v01045; GFX9-NEXT: .LBB4_2: ; %end1046; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]1047; GFX9-NEXT: s_setpc_b64 s[30:31]1048;1049; GFX11-LABEL: bitcast_v28i32_to_v14i64:1050; GFX11: ; %bb.0:1051; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1052; GFX11-NEXT: s_mov_b32 s0, exec_lo1053; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v281054; GFX11-NEXT: s_xor_b32 s0, exec_lo, s01055; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)1056; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s01057; GFX11-NEXT: s_cbranch_execz .LBB4_21058; GFX11-NEXT: ; %bb.1: ; %cmp.true1059; GFX11-NEXT: v_add_nc_u32_e32 v27, 3, v271060; GFX11-NEXT: v_add_nc_u32_e32 v26, 3, v261061; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v251062; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v241063; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v231064; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v221065; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v211066; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v201067; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v191068; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v181069; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v171070; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v161071; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v151072; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v141073; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v131074; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v121075; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v111076; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v101077; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v91078; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v81079; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v71080; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v61081; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v51082; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v41083; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v31084; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v21085; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v11086; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v01087; GFX11-NEXT: .LBB4_2: ; %end1088; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s01089; GFX11-NEXT: s_setpc_b64 s[30:31]1090 %cmp = icmp eq i32 %b, 01091 br i1 %cmp, label %cmp.true, label %cmp.false1092 1093cmp.true:1094 %a1 = add <28 x i32> %a, splat (i32 3)1095 %a2 = bitcast <28 x i32> %a1 to <14 x i64>1096 br label %end1097 1098cmp.false:1099 %a3 = bitcast <28 x i32> %a to <14 x i64>1100 br label %end1101 1102end:1103 %phi = phi <14 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1104 ret <14 x i64> %phi1105}1106 1107define inreg <14 x i64> @bitcast_v28i32_to_v14i64_scalar(<28 x i32> inreg %a, i32 inreg %b) {1108; SI-LABEL: bitcast_v28i32_to_v14i64_scalar:1109; SI: ; %bb.0:1110; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1111; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141112; SI-NEXT: v_mov_b32_e32 v27, v131113; SI-NEXT: v_mov_b32_e32 v26, v121114; SI-NEXT: v_mov_b32_e32 v25, v111115; SI-NEXT: v_mov_b32_e32 v24, v101116; SI-NEXT: v_mov_b32_e32 v23, v91117; SI-NEXT: v_mov_b32_e32 v22, v81118; SI-NEXT: v_mov_b32_e32 v21, v71119; SI-NEXT: v_mov_b32_e32 v20, v61120; SI-NEXT: v_mov_b32_e32 v19, v51121; SI-NEXT: v_mov_b32_e32 v18, v41122; SI-NEXT: v_mov_b32_e32 v17, v31123; SI-NEXT: v_mov_b32_e32 v16, v21124; SI-NEXT: v_mov_b32_e32 v15, v11125; SI-NEXT: v_mov_b32_e32 v28, v01126; SI-NEXT: v_mov_b32_e32 v0, s161127; SI-NEXT: v_mov_b32_e32 v1, s171128; SI-NEXT: v_mov_b32_e32 v2, s181129; SI-NEXT: v_mov_b32_e32 v3, s191130; SI-NEXT: v_mov_b32_e32 v4, s201131; SI-NEXT: v_mov_b32_e32 v5, s211132; SI-NEXT: s_and_b64 s[4:5], vcc, exec1133; SI-NEXT: v_mov_b32_e32 v6, s221134; SI-NEXT: v_mov_b32_e32 v7, s231135; SI-NEXT: v_mov_b32_e32 v8, s241136; SI-NEXT: v_mov_b32_e32 v9, s251137; SI-NEXT: v_mov_b32_e32 v10, s261138; SI-NEXT: v_mov_b32_e32 v11, s271139; SI-NEXT: v_mov_b32_e32 v12, s281140; SI-NEXT: v_mov_b32_e32 v13, s291141; SI-NEXT: s_cbranch_scc0 .LBB5_41142; SI-NEXT: ; %bb.1: ; %cmp.false1143; SI-NEXT: s_cbranch_execnz .LBB5_31144; SI-NEXT: .LBB5_2: ; %cmp.true1145; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v271146; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v261147; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v251148; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241149; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v231150; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221151; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v211152; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201153; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v191154; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181155; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v171156; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161157; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v151158; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v281159; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v131160; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121161; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v111162; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101163; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v91164; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81165; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v71166; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61167; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v51168; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41169; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v31170; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21171; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v11172; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01173; SI-NEXT: .LBB5_3: ; %end1174; SI-NEXT: v_mov_b32_e32 v14, v281175; SI-NEXT: s_setpc_b64 s[30:31]1176; SI-NEXT: .LBB5_4:1177; SI-NEXT: s_branch .LBB5_21178;1179; VI-LABEL: bitcast_v28i32_to_v14i64_scalar:1180; VI: ; %bb.0:1181; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1182; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141183; VI-NEXT: v_mov_b32_e32 v27, v131184; VI-NEXT: v_mov_b32_e32 v26, v121185; VI-NEXT: v_mov_b32_e32 v25, v111186; VI-NEXT: v_mov_b32_e32 v24, v101187; VI-NEXT: v_mov_b32_e32 v23, v91188; VI-NEXT: v_mov_b32_e32 v22, v81189; VI-NEXT: v_mov_b32_e32 v21, v71190; VI-NEXT: v_mov_b32_e32 v20, v61191; VI-NEXT: v_mov_b32_e32 v19, v51192; VI-NEXT: v_mov_b32_e32 v18, v41193; VI-NEXT: v_mov_b32_e32 v17, v31194; VI-NEXT: v_mov_b32_e32 v16, v21195; VI-NEXT: v_mov_b32_e32 v15, v11196; VI-NEXT: v_mov_b32_e32 v28, v01197; VI-NEXT: v_mov_b32_e32 v0, s161198; VI-NEXT: v_mov_b32_e32 v1, s171199; VI-NEXT: v_mov_b32_e32 v2, s181200; VI-NEXT: v_mov_b32_e32 v3, s191201; VI-NEXT: v_mov_b32_e32 v4, s201202; VI-NEXT: v_mov_b32_e32 v5, s211203; VI-NEXT: s_and_b64 s[4:5], vcc, exec1204; VI-NEXT: v_mov_b32_e32 v6, s221205; VI-NEXT: v_mov_b32_e32 v7, s231206; VI-NEXT: v_mov_b32_e32 v8, s241207; VI-NEXT: v_mov_b32_e32 v9, s251208; VI-NEXT: v_mov_b32_e32 v10, s261209; VI-NEXT: v_mov_b32_e32 v11, s271210; VI-NEXT: v_mov_b32_e32 v12, s281211; VI-NEXT: v_mov_b32_e32 v13, s291212; VI-NEXT: s_cbranch_scc0 .LBB5_41213; VI-NEXT: ; %bb.1: ; %cmp.false1214; VI-NEXT: s_cbranch_execnz .LBB5_31215; VI-NEXT: .LBB5_2: ; %cmp.true1216; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v271217; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v261218; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v251219; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241220; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v231221; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221222; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v211223; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201224; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v191225; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181226; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v171227; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161228; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v151229; VI-NEXT: v_add_u32_e32 v28, vcc, 3, v281230; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v131231; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121232; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v111233; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101234; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v91235; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81236; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v71237; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61238; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v51239; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41240; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v31241; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21242; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v11243; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01244; VI-NEXT: .LBB5_3: ; %end1245; VI-NEXT: v_mov_b32_e32 v14, v281246; VI-NEXT: s_setpc_b64 s[30:31]1247; VI-NEXT: .LBB5_4:1248; VI-NEXT: s_branch .LBB5_21249;1250; GFX9-LABEL: bitcast_v28i32_to_v14i64_scalar:1251; GFX9: ; %bb.0:1252; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1253; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141254; GFX9-NEXT: v_mov_b32_e32 v27, v131255; GFX9-NEXT: v_mov_b32_e32 v26, v121256; GFX9-NEXT: v_mov_b32_e32 v25, v111257; GFX9-NEXT: v_mov_b32_e32 v24, v101258; GFX9-NEXT: v_mov_b32_e32 v23, v91259; GFX9-NEXT: v_mov_b32_e32 v22, v81260; GFX9-NEXT: v_mov_b32_e32 v21, v71261; GFX9-NEXT: v_mov_b32_e32 v20, v61262; GFX9-NEXT: v_mov_b32_e32 v19, v51263; GFX9-NEXT: v_mov_b32_e32 v18, v41264; GFX9-NEXT: v_mov_b32_e32 v17, v31265; GFX9-NEXT: v_mov_b32_e32 v16, v21266; GFX9-NEXT: v_mov_b32_e32 v15, v11267; GFX9-NEXT: v_mov_b32_e32 v28, v01268; GFX9-NEXT: v_mov_b32_e32 v0, s161269; GFX9-NEXT: v_mov_b32_e32 v1, s171270; GFX9-NEXT: v_mov_b32_e32 v2, s181271; GFX9-NEXT: v_mov_b32_e32 v3, s191272; GFX9-NEXT: v_mov_b32_e32 v4, s201273; GFX9-NEXT: v_mov_b32_e32 v5, s211274; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec1275; GFX9-NEXT: v_mov_b32_e32 v6, s221276; GFX9-NEXT: v_mov_b32_e32 v7, s231277; GFX9-NEXT: v_mov_b32_e32 v8, s241278; GFX9-NEXT: v_mov_b32_e32 v9, s251279; GFX9-NEXT: v_mov_b32_e32 v10, s261280; GFX9-NEXT: v_mov_b32_e32 v11, s271281; GFX9-NEXT: v_mov_b32_e32 v12, s281282; GFX9-NEXT: v_mov_b32_e32 v13, s291283; GFX9-NEXT: s_cbranch_scc0 .LBB5_41284; GFX9-NEXT: ; %bb.1: ; %cmp.false1285; GFX9-NEXT: s_cbranch_execnz .LBB5_31286; GFX9-NEXT: .LBB5_2: ; %cmp.true1287; GFX9-NEXT: v_add_u32_e32 v27, 3, v271288; GFX9-NEXT: v_add_u32_e32 v26, 3, v261289; GFX9-NEXT: v_add_u32_e32 v25, 3, v251290; GFX9-NEXT: v_add_u32_e32 v24, 3, v241291; GFX9-NEXT: v_add_u32_e32 v23, 3, v231292; GFX9-NEXT: v_add_u32_e32 v22, 3, v221293; GFX9-NEXT: v_add_u32_e32 v21, 3, v211294; GFX9-NEXT: v_add_u32_e32 v20, 3, v201295; GFX9-NEXT: v_add_u32_e32 v19, 3, v191296; GFX9-NEXT: v_add_u32_e32 v18, 3, v181297; GFX9-NEXT: v_add_u32_e32 v17, 3, v171298; GFX9-NEXT: v_add_u32_e32 v16, 3, v161299; GFX9-NEXT: v_add_u32_e32 v15, 3, v151300; GFX9-NEXT: v_add_u32_e32 v28, 3, v281301; GFX9-NEXT: v_add_u32_e32 v13, 3, v131302; GFX9-NEXT: v_add_u32_e32 v12, 3, v121303; GFX9-NEXT: v_add_u32_e32 v11, 3, v111304; GFX9-NEXT: v_add_u32_e32 v10, 3, v101305; GFX9-NEXT: v_add_u32_e32 v9, 3, v91306; GFX9-NEXT: v_add_u32_e32 v8, 3, v81307; GFX9-NEXT: v_add_u32_e32 v7, 3, v71308; GFX9-NEXT: v_add_u32_e32 v6, 3, v61309; GFX9-NEXT: v_add_u32_e32 v5, 3, v51310; GFX9-NEXT: v_add_u32_e32 v4, 3, v41311; GFX9-NEXT: v_add_u32_e32 v3, 3, v31312; GFX9-NEXT: v_add_u32_e32 v2, 3, v21313; GFX9-NEXT: v_add_u32_e32 v1, 3, v11314; GFX9-NEXT: v_add_u32_e32 v0, 3, v01315; GFX9-NEXT: .LBB5_3: ; %end1316; GFX9-NEXT: v_mov_b32_e32 v14, v281317; GFX9-NEXT: s_setpc_b64 s[30:31]1318; GFX9-NEXT: .LBB5_4:1319; GFX9-NEXT: s_branch .LBB5_21320;1321; GFX11-LABEL: bitcast_v28i32_to_v14i64_scalar:1322; GFX11: ; %bb.0:1323; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1324; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v91325; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v71326; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v51327; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)1328; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v161329; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v31330; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v11331; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s11332; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s31333; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s171334; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s191335; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s211336; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s231337; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s251338; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s271339; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s291340; GFX11-NEXT: v_mov_b32_e32 v16, s281341; GFX11-NEXT: s_mov_b32 s0, 01342; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo1343; GFX11-NEXT: s_cbranch_scc0 .LBB5_31344; GFX11-NEXT: ; %bb.1: ; %Flow1345; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s01346; GFX11-NEXT: s_cbranch_vccz .LBB5_41347; GFX11-NEXT: ; %bb.2: ; %end1348; GFX11-NEXT: s_setpc_b64 s[30:31]1349; GFX11-NEXT: .LBB5_3:1350; GFX11-NEXT: .LBB5_4: ; %cmp.true1351; GFX11-NEXT: v_add_nc_u32_e32 v27, 3, v271352; GFX11-NEXT: v_add_nc_u32_e32 v26, 3, v261353; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v251354; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v241355; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v231356; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v221357; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v211358; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v201359; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v191360; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v181361; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v171362; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v161363; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v151364; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v141365; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v131366; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v121367; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v111368; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v101369; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v91370; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v81371; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v71372; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v61373; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v51374; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v41375; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v31376; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v21377; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v11378; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v01379; GFX11-NEXT: s_setpc_b64 s[30:31]1380 %cmp = icmp eq i32 %b, 01381 br i1 %cmp, label %cmp.true, label %cmp.false1382 1383cmp.true:1384 %a1 = add <28 x i32> %a, splat (i32 3)1385 %a2 = bitcast <28 x i32> %a1 to <14 x i64>1386 br label %end1387 1388cmp.false:1389 %a3 = bitcast <28 x i32> %a to <14 x i64>1390 br label %end1391 1392end:1393 %phi = phi <14 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1394 ret <14 x i64> %phi1395}1396 1397define <28 x i32> @bitcast_v14i64_to_v28i32(<14 x i64> %a, i32 %b) {1398; SI-LABEL: bitcast_v14i64_to_v28i32:1399; SI: ; %bb.0:1400; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1401; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281402; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc1403; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1404; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1405; SI-NEXT: s_cbranch_execz .LBB6_21406; SI-NEXT: ; %bb.1: ; %cmp.true1407; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v261408; SI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc1409; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241410; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1411; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221412; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1413; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201414; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1415; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181416; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1417; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161418; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1419; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v141420; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1421; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121422; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1423; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101424; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1425; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81426; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1427; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61428; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1429; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41430; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1431; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21432; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1433; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01434; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1435; SI-NEXT: .LBB6_2: ; %end1436; SI-NEXT: s_or_b64 exec, exec, s[4:5]1437; SI-NEXT: s_setpc_b64 s[30:31]1438;1439; VI-LABEL: bitcast_v14i64_to_v28i32:1440; VI: ; %bb.0:1441; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1442; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281443; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc1444; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1445; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1446; VI-NEXT: s_cbranch_execz .LBB6_21447; VI-NEXT: ; %bb.1: ; %cmp.true1448; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v261449; VI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc1450; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241451; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1452; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221453; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1454; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201455; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1456; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181457; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1458; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161459; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1460; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v141461; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1462; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121463; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1464; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101465; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1466; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81467; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1468; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61469; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1470; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41471; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1472; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21473; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1474; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01475; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1476; VI-NEXT: .LBB6_2: ; %end1477; VI-NEXT: s_or_b64 exec, exec, s[4:5]1478; VI-NEXT: s_setpc_b64 s[30:31]1479;1480; GFX9-LABEL: bitcast_v14i64_to_v28i32:1481; GFX9: ; %bb.0:1482; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1483; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281484; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc1485; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1486; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1487; GFX9-NEXT: s_cbranch_execz .LBB6_21488; GFX9-NEXT: ; %bb.1: ; %cmp.true1489; GFX9-NEXT: v_add_co_u32_e32 v26, vcc, 3, v261490; GFX9-NEXT: v_addc_co_u32_e32 v27, vcc, 0, v27, vcc1491; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v241492; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc1493; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v221494; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc1495; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v201496; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc1497; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v181498; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc1499; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v161500; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc1501; GFX9-NEXT: v_add_co_u32_e32 v14, vcc, 3, v141502; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc1503; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v121504; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc1505; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v101506; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc1507; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v81508; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc1509; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v61510; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc1511; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v41512; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc1513; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v21514; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc1515; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v01516; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc1517; GFX9-NEXT: .LBB6_2: ; %end1518; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]1519; GFX9-NEXT: s_setpc_b64 s[30:31]1520;1521; GFX11-LABEL: bitcast_v14i64_to_v28i32:1522; GFX11: ; %bb.0:1523; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1524; GFX11-NEXT: s_mov_b32 s0, exec_lo1525; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v281526; GFX11-NEXT: s_xor_b32 s0, exec_lo, s01527; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)1528; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s01529; GFX11-NEXT: s_cbranch_execz .LBB6_21530; GFX11-NEXT: ; %bb.1: ; %cmp.true1531; GFX11-NEXT: v_add_co_u32 v26, vcc_lo, v26, 31532; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1533; GFX11-NEXT: v_add_co_ci_u32_e64 v27, null, 0, v27, vcc_lo1534; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 31535; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo1536; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 31537; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1538; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo1539; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 31540; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo1541; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 31542; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1543; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo1544; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 31545; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo1546; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 31547; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1548; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo1549; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 31550; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo1551; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 31552; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1553; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo1554; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 31555; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo1556; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 31557; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1558; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo1559; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 31560; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo1561; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 31562; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1563; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo1564; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 31565; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo1566; GFX11-NEXT: .LBB6_2: ; %end1567; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s01568; GFX11-NEXT: s_setpc_b64 s[30:31]1569 %cmp = icmp eq i32 %b, 01570 br i1 %cmp, label %cmp.true, label %cmp.false1571 1572cmp.true:1573 %a1 = add <14 x i64> %a, splat (i64 3)1574 %a2 = bitcast <14 x i64> %a1 to <28 x i32>1575 br label %end1576 1577cmp.false:1578 %a3 = bitcast <14 x i64> %a to <28 x i32>1579 br label %end1580 1581end:1582 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1583 ret <28 x i32> %phi1584}1585 1586define inreg <28 x i32> @bitcast_v14i64_to_v28i32_scalar(<14 x i64> inreg %a, i32 inreg %b) {1587; SI-LABEL: bitcast_v14i64_to_v28i32_scalar:1588; SI: ; %bb.0:1589; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1590; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141591; SI-NEXT: v_mov_b32_e32 v27, v131592; SI-NEXT: v_mov_b32_e32 v26, v121593; SI-NEXT: v_mov_b32_e32 v25, v111594; SI-NEXT: v_mov_b32_e32 v24, v101595; SI-NEXT: v_mov_b32_e32 v23, v91596; SI-NEXT: v_mov_b32_e32 v22, v81597; SI-NEXT: v_mov_b32_e32 v21, v71598; SI-NEXT: v_mov_b32_e32 v20, v61599; SI-NEXT: v_mov_b32_e32 v19, v51600; SI-NEXT: v_mov_b32_e32 v18, v41601; SI-NEXT: v_mov_b32_e32 v17, v31602; SI-NEXT: v_mov_b32_e32 v16, v21603; SI-NEXT: v_mov_b32_e32 v15, v11604; SI-NEXT: v_mov_b32_e32 v28, v01605; SI-NEXT: v_mov_b32_e32 v0, s161606; SI-NEXT: v_mov_b32_e32 v1, s171607; SI-NEXT: v_mov_b32_e32 v2, s181608; SI-NEXT: v_mov_b32_e32 v3, s191609; SI-NEXT: v_mov_b32_e32 v4, s201610; SI-NEXT: v_mov_b32_e32 v5, s211611; SI-NEXT: s_and_b64 s[4:5], vcc, exec1612; SI-NEXT: v_mov_b32_e32 v6, s221613; SI-NEXT: v_mov_b32_e32 v7, s231614; SI-NEXT: v_mov_b32_e32 v8, s241615; SI-NEXT: v_mov_b32_e32 v9, s251616; SI-NEXT: v_mov_b32_e32 v10, s261617; SI-NEXT: v_mov_b32_e32 v11, s271618; SI-NEXT: v_mov_b32_e32 v12, s281619; SI-NEXT: v_mov_b32_e32 v13, s291620; SI-NEXT: s_cbranch_scc0 .LBB7_41621; SI-NEXT: ; %bb.1: ; %cmp.false1622; SI-NEXT: s_cbranch_execnz .LBB7_31623; SI-NEXT: .LBB7_2: ; %cmp.true1624; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v261625; SI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc1626; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241627; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1628; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221629; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1630; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201631; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1632; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181633; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1634; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161635; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1636; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v281637; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1638; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121639; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1640; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101641; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1642; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81643; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1644; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61645; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1646; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41647; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1648; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21649; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1650; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01651; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1652; SI-NEXT: .LBB7_3: ; %end1653; SI-NEXT: v_mov_b32_e32 v14, v281654; SI-NEXT: s_setpc_b64 s[30:31]1655; SI-NEXT: .LBB7_4:1656; SI-NEXT: s_branch .LBB7_21657;1658; VI-LABEL: bitcast_v14i64_to_v28i32_scalar:1659; VI: ; %bb.0:1660; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1661; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141662; VI-NEXT: v_mov_b32_e32 v27, v131663; VI-NEXT: v_mov_b32_e32 v26, v121664; VI-NEXT: v_mov_b32_e32 v25, v111665; VI-NEXT: v_mov_b32_e32 v24, v101666; VI-NEXT: v_mov_b32_e32 v23, v91667; VI-NEXT: v_mov_b32_e32 v22, v81668; VI-NEXT: v_mov_b32_e32 v21, v71669; VI-NEXT: v_mov_b32_e32 v20, v61670; VI-NEXT: v_mov_b32_e32 v19, v51671; VI-NEXT: v_mov_b32_e32 v18, v41672; VI-NEXT: v_mov_b32_e32 v17, v31673; VI-NEXT: v_mov_b32_e32 v16, v21674; VI-NEXT: v_mov_b32_e32 v15, v11675; VI-NEXT: v_mov_b32_e32 v28, v01676; VI-NEXT: v_mov_b32_e32 v0, s161677; VI-NEXT: v_mov_b32_e32 v1, s171678; VI-NEXT: v_mov_b32_e32 v2, s181679; VI-NEXT: v_mov_b32_e32 v3, s191680; VI-NEXT: v_mov_b32_e32 v4, s201681; VI-NEXT: v_mov_b32_e32 v5, s211682; VI-NEXT: s_and_b64 s[4:5], vcc, exec1683; VI-NEXT: v_mov_b32_e32 v6, s221684; VI-NEXT: v_mov_b32_e32 v7, s231685; VI-NEXT: v_mov_b32_e32 v8, s241686; VI-NEXT: v_mov_b32_e32 v9, s251687; VI-NEXT: v_mov_b32_e32 v10, s261688; VI-NEXT: v_mov_b32_e32 v11, s271689; VI-NEXT: v_mov_b32_e32 v12, s281690; VI-NEXT: v_mov_b32_e32 v13, s291691; VI-NEXT: s_cbranch_scc0 .LBB7_41692; VI-NEXT: ; %bb.1: ; %cmp.false1693; VI-NEXT: s_cbranch_execnz .LBB7_31694; VI-NEXT: .LBB7_2: ; %cmp.true1695; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v261696; VI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc1697; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241698; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc1699; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221700; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc1701; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201702; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc1703; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181704; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc1705; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161706; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc1707; VI-NEXT: v_add_u32_e32 v28, vcc, 3, v281708; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc1709; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121710; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc1711; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101712; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc1713; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81714; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc1715; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61716; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc1717; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41718; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc1719; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21720; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc1721; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01722; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc1723; VI-NEXT: .LBB7_3: ; %end1724; VI-NEXT: v_mov_b32_e32 v14, v281725; VI-NEXT: s_setpc_b64 s[30:31]1726; VI-NEXT: .LBB7_4:1727; VI-NEXT: s_branch .LBB7_21728;1729; GFX9-LABEL: bitcast_v14i64_to_v28i32_scalar:1730; GFX9: ; %bb.0:1731; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1732; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v141733; GFX9-NEXT: v_mov_b32_e32 v27, v131734; GFX9-NEXT: v_mov_b32_e32 v26, v121735; GFX9-NEXT: v_mov_b32_e32 v25, v111736; GFX9-NEXT: v_mov_b32_e32 v24, v101737; GFX9-NEXT: v_mov_b32_e32 v23, v91738; GFX9-NEXT: v_mov_b32_e32 v22, v81739; GFX9-NEXT: v_mov_b32_e32 v21, v71740; GFX9-NEXT: v_mov_b32_e32 v20, v61741; GFX9-NEXT: v_mov_b32_e32 v19, v51742; GFX9-NEXT: v_mov_b32_e32 v18, v41743; GFX9-NEXT: v_mov_b32_e32 v17, v31744; GFX9-NEXT: v_mov_b32_e32 v16, v21745; GFX9-NEXT: v_mov_b32_e32 v15, v11746; GFX9-NEXT: v_mov_b32_e32 v28, v01747; GFX9-NEXT: v_mov_b32_e32 v0, s161748; GFX9-NEXT: v_mov_b32_e32 v1, s171749; GFX9-NEXT: v_mov_b32_e32 v2, s181750; GFX9-NEXT: v_mov_b32_e32 v3, s191751; GFX9-NEXT: v_mov_b32_e32 v4, s201752; GFX9-NEXT: v_mov_b32_e32 v5, s211753; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec1754; GFX9-NEXT: v_mov_b32_e32 v6, s221755; GFX9-NEXT: v_mov_b32_e32 v7, s231756; GFX9-NEXT: v_mov_b32_e32 v8, s241757; GFX9-NEXT: v_mov_b32_e32 v9, s251758; GFX9-NEXT: v_mov_b32_e32 v10, s261759; GFX9-NEXT: v_mov_b32_e32 v11, s271760; GFX9-NEXT: v_mov_b32_e32 v12, s281761; GFX9-NEXT: v_mov_b32_e32 v13, s291762; GFX9-NEXT: s_cbranch_scc0 .LBB7_41763; GFX9-NEXT: ; %bb.1: ; %cmp.false1764; GFX9-NEXT: s_cbranch_execnz .LBB7_31765; GFX9-NEXT: .LBB7_2: ; %cmp.true1766; GFX9-NEXT: v_add_co_u32_e32 v26, vcc, 3, v261767; GFX9-NEXT: v_addc_co_u32_e32 v27, vcc, 0, v27, vcc1768; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v241769; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc1770; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v221771; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc1772; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v201773; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc1774; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v181775; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc1776; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v161777; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc1778; GFX9-NEXT: v_add_co_u32_e32 v28, vcc, 3, v281779; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc1780; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v121781; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc1782; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v101783; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc1784; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v81785; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc1786; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v61787; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc1788; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v41789; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc1790; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v21791; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc1792; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v01793; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc1794; GFX9-NEXT: .LBB7_3: ; %end1795; GFX9-NEXT: v_mov_b32_e32 v14, v281796; GFX9-NEXT: s_setpc_b64 s[30:31]1797; GFX9-NEXT: .LBB7_4:1798; GFX9-NEXT: s_branch .LBB7_21799;1800; GFX11-LABEL: bitcast_v14i64_to_v28i32_scalar:1801; GFX11: ; %bb.0:1802; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1803; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v91804; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v71805; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v51806; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)1807; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v161808; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v31809; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v11810; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s11811; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s31812; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s171813; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s191814; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s211815; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s231816; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s251817; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s271818; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s291819; GFX11-NEXT: v_mov_b32_e32 v16, s281820; GFX11-NEXT: s_mov_b32 s0, 01821; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo1822; GFX11-NEXT: s_cbranch_scc0 .LBB7_31823; GFX11-NEXT: ; %bb.1: ; %Flow1824; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s01825; GFX11-NEXT: s_cbranch_vccz .LBB7_41826; GFX11-NEXT: ; %bb.2: ; %end1827; GFX11-NEXT: s_setpc_b64 s[30:31]1828; GFX11-NEXT: .LBB7_3:1829; GFX11-NEXT: .LBB7_4: ; %cmp.true1830; GFX11-NEXT: v_add_co_u32 v26, vcc_lo, v26, 31831; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1832; GFX11-NEXT: v_add_co_ci_u32_e64 v27, null, 0, v27, vcc_lo1833; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 31834; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo1835; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 31836; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1837; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo1838; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 31839; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo1840; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 31841; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1842; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo1843; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 31844; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo1845; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 31846; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1847; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo1848; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 31849; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo1850; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 31851; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1852; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo1853; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 31854; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo1855; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 31856; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1857; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo1858; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 31859; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo1860; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 31861; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)1862; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo1863; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 31864; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo1865; GFX11-NEXT: s_setpc_b64 s[30:31]1866 %cmp = icmp eq i32 %b, 01867 br i1 %cmp, label %cmp.true, label %cmp.false1868 1869cmp.true:1870 %a1 = add <14 x i64> %a, splat (i64 3)1871 %a2 = bitcast <14 x i64> %a1 to <28 x i32>1872 br label %end1873 1874cmp.false:1875 %a3 = bitcast <14 x i64> %a to <28 x i32>1876 br label %end1877 1878end:1879 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]1880 ret <28 x i32> %phi1881}1882 1883define <14 x double> @bitcast_v28i32_to_v14f64(<28 x i32> %a, i32 %b) {1884; SI-LABEL: bitcast_v28i32_to_v14f64:1885; SI: ; %bb.0:1886; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1887; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281888; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc1889; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1890; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1891; SI-NEXT: s_cbranch_execz .LBB8_21892; SI-NEXT: ; %bb.1: ; %cmp.true1893; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v271894; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v261895; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v251896; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v241897; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v231898; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v221899; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v211900; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v201901; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v191902; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v181903; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v171904; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v161905; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v151906; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v141907; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v131908; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v121909; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v111910; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v101911; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v91912; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v81913; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v71914; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v61915; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v51916; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v41917; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v31918; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v21919; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v11920; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v01921; SI-NEXT: .LBB8_2: ; %end1922; SI-NEXT: s_or_b64 exec, exec, s[4:5]1923; SI-NEXT: s_setpc_b64 s[30:31]1924;1925; VI-LABEL: bitcast_v28i32_to_v14f64:1926; VI: ; %bb.0:1927; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1928; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281929; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc1930; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1931; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1932; VI-NEXT: s_cbranch_execz .LBB8_21933; VI-NEXT: ; %bb.1: ; %cmp.true1934; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v271935; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v261936; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v251937; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v241938; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v231939; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v221940; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v211941; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v201942; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v191943; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v181944; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v171945; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v161946; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v151947; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v141948; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v131949; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v121950; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v111951; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v101952; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v91953; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v81954; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v71955; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v61956; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v51957; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v41958; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v31959; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v21960; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v11961; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v01962; VI-NEXT: .LBB8_2: ; %end1963; VI-NEXT: s_or_b64 exec, exec, s[4:5]1964; VI-NEXT: s_setpc_b64 s[30:31]1965;1966; GFX9-LABEL: bitcast_v28i32_to_v14f64:1967; GFX9: ; %bb.0:1968; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1969; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v281970; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc1971; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]1972; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]1973; GFX9-NEXT: s_cbranch_execz .LBB8_21974; GFX9-NEXT: ; %bb.1: ; %cmp.true1975; GFX9-NEXT: v_add_u32_e32 v27, 3, v271976; GFX9-NEXT: v_add_u32_e32 v26, 3, v261977; GFX9-NEXT: v_add_u32_e32 v25, 3, v251978; GFX9-NEXT: v_add_u32_e32 v24, 3, v241979; GFX9-NEXT: v_add_u32_e32 v23, 3, v231980; GFX9-NEXT: v_add_u32_e32 v22, 3, v221981; GFX9-NEXT: v_add_u32_e32 v21, 3, v211982; GFX9-NEXT: v_add_u32_e32 v20, 3, v201983; GFX9-NEXT: v_add_u32_e32 v19, 3, v191984; GFX9-NEXT: v_add_u32_e32 v18, 3, v181985; GFX9-NEXT: v_add_u32_e32 v17, 3, v171986; GFX9-NEXT: v_add_u32_e32 v16, 3, v161987; GFX9-NEXT: v_add_u32_e32 v15, 3, v151988; GFX9-NEXT: v_add_u32_e32 v14, 3, v141989; GFX9-NEXT: v_add_u32_e32 v13, 3, v131990; GFX9-NEXT: v_add_u32_e32 v12, 3, v121991; GFX9-NEXT: v_add_u32_e32 v11, 3, v111992; GFX9-NEXT: v_add_u32_e32 v10, 3, v101993; GFX9-NEXT: v_add_u32_e32 v9, 3, v91994; GFX9-NEXT: v_add_u32_e32 v8, 3, v81995; GFX9-NEXT: v_add_u32_e32 v7, 3, v71996; GFX9-NEXT: v_add_u32_e32 v6, 3, v61997; GFX9-NEXT: v_add_u32_e32 v5, 3, v51998; GFX9-NEXT: v_add_u32_e32 v4, 3, v41999; GFX9-NEXT: v_add_u32_e32 v3, 3, v32000; GFX9-NEXT: v_add_u32_e32 v2, 3, v22001; GFX9-NEXT: v_add_u32_e32 v1, 3, v12002; GFX9-NEXT: v_add_u32_e32 v0, 3, v02003; GFX9-NEXT: .LBB8_2: ; %end2004; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]2005; GFX9-NEXT: s_setpc_b64 s[30:31]2006;2007; GFX11-LABEL: bitcast_v28i32_to_v14f64:2008; GFX11: ; %bb.0:2009; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2010; GFX11-NEXT: s_mov_b32 s0, exec_lo2011; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v282012; GFX11-NEXT: s_xor_b32 s0, exec_lo, s02013; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)2014; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s02015; GFX11-NEXT: s_cbranch_execz .LBB8_22016; GFX11-NEXT: ; %bb.1: ; %cmp.true2017; GFX11-NEXT: v_add_nc_u32_e32 v27, 3, v272018; GFX11-NEXT: v_add_nc_u32_e32 v26, 3, v262019; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v252020; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v242021; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v232022; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v222023; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v212024; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v202025; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v192026; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v182027; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v172028; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v162029; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v152030; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v142031; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v132032; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v122033; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v112034; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v102035; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v92036; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v82037; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v72038; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v62039; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v52040; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v42041; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v32042; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v22043; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v12044; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v02045; GFX11-NEXT: .LBB8_2: ; %end2046; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s02047; GFX11-NEXT: s_setpc_b64 s[30:31]2048 %cmp = icmp eq i32 %b, 02049 br i1 %cmp, label %cmp.true, label %cmp.false2050 2051cmp.true:2052 %a1 = add <28 x i32> %a, splat (i32 3)2053 %a2 = bitcast <28 x i32> %a1 to <14 x double>2054 br label %end2055 2056cmp.false:2057 %a3 = bitcast <28 x i32> %a to <14 x double>2058 br label %end2059 2060end:2061 %phi = phi <14 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2062 ret <14 x double> %phi2063}2064 2065define inreg <14 x double> @bitcast_v28i32_to_v14f64_scalar(<28 x i32> inreg %a, i32 inreg %b) {2066; SI-LABEL: bitcast_v28i32_to_v14f64_scalar:2067; SI: ; %bb.0:2068; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2069; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v142070; SI-NEXT: v_mov_b32_e32 v27, v132071; SI-NEXT: v_mov_b32_e32 v26, v122072; SI-NEXT: v_mov_b32_e32 v25, v112073; SI-NEXT: v_mov_b32_e32 v24, v102074; SI-NEXT: v_mov_b32_e32 v23, v92075; SI-NEXT: v_mov_b32_e32 v22, v82076; SI-NEXT: v_mov_b32_e32 v21, v72077; SI-NEXT: v_mov_b32_e32 v20, v62078; SI-NEXT: v_mov_b32_e32 v19, v52079; SI-NEXT: v_mov_b32_e32 v18, v42080; SI-NEXT: v_mov_b32_e32 v17, v32081; SI-NEXT: v_mov_b32_e32 v16, v22082; SI-NEXT: v_mov_b32_e32 v15, v12083; SI-NEXT: v_mov_b32_e32 v28, v02084; SI-NEXT: v_mov_b32_e32 v0, s162085; SI-NEXT: v_mov_b32_e32 v1, s172086; SI-NEXT: v_mov_b32_e32 v2, s182087; SI-NEXT: v_mov_b32_e32 v3, s192088; SI-NEXT: v_mov_b32_e32 v4, s202089; SI-NEXT: v_mov_b32_e32 v5, s212090; SI-NEXT: s_and_b64 s[4:5], vcc, exec2091; SI-NEXT: v_mov_b32_e32 v6, s222092; SI-NEXT: v_mov_b32_e32 v7, s232093; SI-NEXT: v_mov_b32_e32 v8, s242094; SI-NEXT: v_mov_b32_e32 v9, s252095; SI-NEXT: v_mov_b32_e32 v10, s262096; SI-NEXT: v_mov_b32_e32 v11, s272097; SI-NEXT: v_mov_b32_e32 v12, s282098; SI-NEXT: v_mov_b32_e32 v13, s292099; SI-NEXT: s_cbranch_scc0 .LBB9_42100; SI-NEXT: ; %bb.1: ; %cmp.false2101; SI-NEXT: s_cbranch_execnz .LBB9_32102; SI-NEXT: .LBB9_2: ; %cmp.true2103; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v272104; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v262105; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v252106; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v242107; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v232108; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v222109; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v212110; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v202111; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v192112; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v182113; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v172114; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v162115; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v152116; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v282117; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v132118; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v122119; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v112120; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v102121; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v92122; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v82123; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v72124; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v62125; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v52126; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v42127; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v32128; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v22129; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v12130; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v02131; SI-NEXT: .LBB9_3: ; %end2132; SI-NEXT: v_mov_b32_e32 v14, v282133; SI-NEXT: s_setpc_b64 s[30:31]2134; SI-NEXT: .LBB9_4:2135; SI-NEXT: s_branch .LBB9_22136;2137; VI-LABEL: bitcast_v28i32_to_v14f64_scalar:2138; VI: ; %bb.0:2139; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2140; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v142141; VI-NEXT: v_mov_b32_e32 v27, v132142; VI-NEXT: v_mov_b32_e32 v26, v122143; VI-NEXT: v_mov_b32_e32 v25, v112144; VI-NEXT: v_mov_b32_e32 v24, v102145; VI-NEXT: v_mov_b32_e32 v23, v92146; VI-NEXT: v_mov_b32_e32 v22, v82147; VI-NEXT: v_mov_b32_e32 v21, v72148; VI-NEXT: v_mov_b32_e32 v20, v62149; VI-NEXT: v_mov_b32_e32 v19, v52150; VI-NEXT: v_mov_b32_e32 v18, v42151; VI-NEXT: v_mov_b32_e32 v17, v32152; VI-NEXT: v_mov_b32_e32 v16, v22153; VI-NEXT: v_mov_b32_e32 v15, v12154; VI-NEXT: v_mov_b32_e32 v28, v02155; VI-NEXT: v_mov_b32_e32 v0, s162156; VI-NEXT: v_mov_b32_e32 v1, s172157; VI-NEXT: v_mov_b32_e32 v2, s182158; VI-NEXT: v_mov_b32_e32 v3, s192159; VI-NEXT: v_mov_b32_e32 v4, s202160; VI-NEXT: v_mov_b32_e32 v5, s212161; VI-NEXT: s_and_b64 s[4:5], vcc, exec2162; VI-NEXT: v_mov_b32_e32 v6, s222163; VI-NEXT: v_mov_b32_e32 v7, s232164; VI-NEXT: v_mov_b32_e32 v8, s242165; VI-NEXT: v_mov_b32_e32 v9, s252166; VI-NEXT: v_mov_b32_e32 v10, s262167; VI-NEXT: v_mov_b32_e32 v11, s272168; VI-NEXT: v_mov_b32_e32 v12, s282169; VI-NEXT: v_mov_b32_e32 v13, s292170; VI-NEXT: s_cbranch_scc0 .LBB9_42171; VI-NEXT: ; %bb.1: ; %cmp.false2172; VI-NEXT: s_cbranch_execnz .LBB9_32173; VI-NEXT: .LBB9_2: ; %cmp.true2174; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v272175; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v262176; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v252177; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v242178; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v232179; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v222180; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v212181; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v202182; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v192183; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v182184; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v172185; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v162186; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v152187; VI-NEXT: v_add_u32_e32 v28, vcc, 3, v282188; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v132189; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v122190; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v112191; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v102192; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v92193; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v82194; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v72195; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v62196; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v52197; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v42198; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v32199; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v22200; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v12201; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v02202; VI-NEXT: .LBB9_3: ; %end2203; VI-NEXT: v_mov_b32_e32 v14, v282204; VI-NEXT: s_setpc_b64 s[30:31]2205; VI-NEXT: .LBB9_4:2206; VI-NEXT: s_branch .LBB9_22207;2208; GFX9-LABEL: bitcast_v28i32_to_v14f64_scalar:2209; GFX9: ; %bb.0:2210; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2211; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v142212; GFX9-NEXT: v_mov_b32_e32 v27, v132213; GFX9-NEXT: v_mov_b32_e32 v26, v122214; GFX9-NEXT: v_mov_b32_e32 v25, v112215; GFX9-NEXT: v_mov_b32_e32 v24, v102216; GFX9-NEXT: v_mov_b32_e32 v23, v92217; GFX9-NEXT: v_mov_b32_e32 v22, v82218; GFX9-NEXT: v_mov_b32_e32 v21, v72219; GFX9-NEXT: v_mov_b32_e32 v20, v62220; GFX9-NEXT: v_mov_b32_e32 v19, v52221; GFX9-NEXT: v_mov_b32_e32 v18, v42222; GFX9-NEXT: v_mov_b32_e32 v17, v32223; GFX9-NEXT: v_mov_b32_e32 v16, v22224; GFX9-NEXT: v_mov_b32_e32 v15, v12225; GFX9-NEXT: v_mov_b32_e32 v28, v02226; GFX9-NEXT: v_mov_b32_e32 v0, s162227; GFX9-NEXT: v_mov_b32_e32 v1, s172228; GFX9-NEXT: v_mov_b32_e32 v2, s182229; GFX9-NEXT: v_mov_b32_e32 v3, s192230; GFX9-NEXT: v_mov_b32_e32 v4, s202231; GFX9-NEXT: v_mov_b32_e32 v5, s212232; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec2233; GFX9-NEXT: v_mov_b32_e32 v6, s222234; GFX9-NEXT: v_mov_b32_e32 v7, s232235; GFX9-NEXT: v_mov_b32_e32 v8, s242236; GFX9-NEXT: v_mov_b32_e32 v9, s252237; GFX9-NEXT: v_mov_b32_e32 v10, s262238; GFX9-NEXT: v_mov_b32_e32 v11, s272239; GFX9-NEXT: v_mov_b32_e32 v12, s282240; GFX9-NEXT: v_mov_b32_e32 v13, s292241; GFX9-NEXT: s_cbranch_scc0 .LBB9_42242; GFX9-NEXT: ; %bb.1: ; %cmp.false2243; GFX9-NEXT: s_cbranch_execnz .LBB9_32244; GFX9-NEXT: .LBB9_2: ; %cmp.true2245; GFX9-NEXT: v_add_u32_e32 v27, 3, v272246; GFX9-NEXT: v_add_u32_e32 v26, 3, v262247; GFX9-NEXT: v_add_u32_e32 v25, 3, v252248; GFX9-NEXT: v_add_u32_e32 v24, 3, v242249; GFX9-NEXT: v_add_u32_e32 v23, 3, v232250; GFX9-NEXT: v_add_u32_e32 v22, 3, v222251; GFX9-NEXT: v_add_u32_e32 v21, 3, v212252; GFX9-NEXT: v_add_u32_e32 v20, 3, v202253; GFX9-NEXT: v_add_u32_e32 v19, 3, v192254; GFX9-NEXT: v_add_u32_e32 v18, 3, v182255; GFX9-NEXT: v_add_u32_e32 v17, 3, v172256; GFX9-NEXT: v_add_u32_e32 v16, 3, v162257; GFX9-NEXT: v_add_u32_e32 v15, 3, v152258; GFX9-NEXT: v_add_u32_e32 v28, 3, v282259; GFX9-NEXT: v_add_u32_e32 v13, 3, v132260; GFX9-NEXT: v_add_u32_e32 v12, 3, v122261; GFX9-NEXT: v_add_u32_e32 v11, 3, v112262; GFX9-NEXT: v_add_u32_e32 v10, 3, v102263; GFX9-NEXT: v_add_u32_e32 v9, 3, v92264; GFX9-NEXT: v_add_u32_e32 v8, 3, v82265; GFX9-NEXT: v_add_u32_e32 v7, 3, v72266; GFX9-NEXT: v_add_u32_e32 v6, 3, v62267; GFX9-NEXT: v_add_u32_e32 v5, 3, v52268; GFX9-NEXT: v_add_u32_e32 v4, 3, v42269; GFX9-NEXT: v_add_u32_e32 v3, 3, v32270; GFX9-NEXT: v_add_u32_e32 v2, 3, v22271; GFX9-NEXT: v_add_u32_e32 v1, 3, v12272; GFX9-NEXT: v_add_u32_e32 v0, 3, v02273; GFX9-NEXT: .LBB9_3: ; %end2274; GFX9-NEXT: v_mov_b32_e32 v14, v282275; GFX9-NEXT: s_setpc_b64 s[30:31]2276; GFX9-NEXT: .LBB9_4:2277; GFX9-NEXT: s_branch .LBB9_22278;2279; GFX11-LABEL: bitcast_v28i32_to_v14f64_scalar:2280; GFX11: ; %bb.0:2281; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2282; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v92283; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v72284; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v52285; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)2286; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v162287; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v32288; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v12289; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s12290; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s32291; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s172292; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s192293; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s212294; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s232295; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s252296; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s272297; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s292298; GFX11-NEXT: v_mov_b32_e32 v16, s282299; GFX11-NEXT: s_mov_b32 s0, 02300; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo2301; GFX11-NEXT: s_cbranch_scc0 .LBB9_32302; GFX11-NEXT: ; %bb.1: ; %Flow2303; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s02304; GFX11-NEXT: s_cbranch_vccz .LBB9_42305; GFX11-NEXT: ; %bb.2: ; %end2306; GFX11-NEXT: s_setpc_b64 s[30:31]2307; GFX11-NEXT: .LBB9_3:2308; GFX11-NEXT: .LBB9_4: ; %cmp.true2309; GFX11-NEXT: v_add_nc_u32_e32 v27, 3, v272310; GFX11-NEXT: v_add_nc_u32_e32 v26, 3, v262311; GFX11-NEXT: v_add_nc_u32_e32 v25, 3, v252312; GFX11-NEXT: v_add_nc_u32_e32 v24, 3, v242313; GFX11-NEXT: v_add_nc_u32_e32 v23, 3, v232314; GFX11-NEXT: v_add_nc_u32_e32 v22, 3, v222315; GFX11-NEXT: v_add_nc_u32_e32 v21, 3, v212316; GFX11-NEXT: v_add_nc_u32_e32 v20, 3, v202317; GFX11-NEXT: v_add_nc_u32_e32 v19, 3, v192318; GFX11-NEXT: v_add_nc_u32_e32 v18, 3, v182319; GFX11-NEXT: v_add_nc_u32_e32 v17, 3, v172320; GFX11-NEXT: v_add_nc_u32_e32 v16, 3, v162321; GFX11-NEXT: v_add_nc_u32_e32 v15, 3, v152322; GFX11-NEXT: v_add_nc_u32_e32 v14, 3, v142323; GFX11-NEXT: v_add_nc_u32_e32 v13, 3, v132324; GFX11-NEXT: v_add_nc_u32_e32 v12, 3, v122325; GFX11-NEXT: v_add_nc_u32_e32 v11, 3, v112326; GFX11-NEXT: v_add_nc_u32_e32 v10, 3, v102327; GFX11-NEXT: v_add_nc_u32_e32 v9, 3, v92328; GFX11-NEXT: v_add_nc_u32_e32 v8, 3, v82329; GFX11-NEXT: v_add_nc_u32_e32 v7, 3, v72330; GFX11-NEXT: v_add_nc_u32_e32 v6, 3, v62331; GFX11-NEXT: v_add_nc_u32_e32 v5, 3, v52332; GFX11-NEXT: v_add_nc_u32_e32 v4, 3, v42333; GFX11-NEXT: v_add_nc_u32_e32 v3, 3, v32334; GFX11-NEXT: v_add_nc_u32_e32 v2, 3, v22335; GFX11-NEXT: v_add_nc_u32_e32 v1, 3, v12336; GFX11-NEXT: v_add_nc_u32_e32 v0, 3, v02337; GFX11-NEXT: s_setpc_b64 s[30:31]2338 %cmp = icmp eq i32 %b, 02339 br i1 %cmp, label %cmp.true, label %cmp.false2340 2341cmp.true:2342 %a1 = add <28 x i32> %a, splat (i32 3)2343 %a2 = bitcast <28 x i32> %a1 to <14 x double>2344 br label %end2345 2346cmp.false:2347 %a3 = bitcast <28 x i32> %a to <14 x double>2348 br label %end2349 2350end:2351 %phi = phi <14 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2352 ret <14 x double> %phi2353}2354 2355define <28 x i32> @bitcast_v14f64_to_v28i32(<14 x double> %a, i32 %b) {2356; SI-LABEL: bitcast_v14f64_to_v28i32:2357; SI: ; %bb.0:2358; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2359; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v282360; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc2361; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2362; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2363; SI-NEXT: s_cbranch_execz .LBB10_22364; SI-NEXT: ; %bb.1: ; %cmp.true2365; SI-NEXT: v_add_f64 v[26:27], v[26:27], 1.02366; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02367; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02368; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02369; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02370; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02371; SI-NEXT: v_add_f64 v[14:15], v[14:15], 1.02372; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02373; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02374; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02375; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02376; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02377; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02378; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02379; SI-NEXT: .LBB10_2: ; %end2380; SI-NEXT: s_or_b64 exec, exec, s[4:5]2381; SI-NEXT: s_setpc_b64 s[30:31]2382;2383; VI-LABEL: bitcast_v14f64_to_v28i32:2384; VI: ; %bb.0:2385; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2386; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v282387; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc2388; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2389; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2390; VI-NEXT: s_cbranch_execz .LBB10_22391; VI-NEXT: ; %bb.1: ; %cmp.true2392; VI-NEXT: v_add_f64 v[26:27], v[26:27], 1.02393; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02394; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02395; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02396; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02397; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02398; VI-NEXT: v_add_f64 v[14:15], v[14:15], 1.02399; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02400; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02401; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02402; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02403; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02404; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02405; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02406; VI-NEXT: .LBB10_2: ; %end2407; VI-NEXT: s_or_b64 exec, exec, s[4:5]2408; VI-NEXT: s_setpc_b64 s[30:31]2409;2410; GFX9-LABEL: bitcast_v14f64_to_v28i32:2411; GFX9: ; %bb.0:2412; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2413; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v282414; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc2415; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2416; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2417; GFX9-NEXT: s_cbranch_execz .LBB10_22418; GFX9-NEXT: ; %bb.1: ; %cmp.true2419; GFX9-NEXT: v_add_f64 v[26:27], v[26:27], 1.02420; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.02421; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.02422; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.02423; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.02424; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.02425; GFX9-NEXT: v_add_f64 v[14:15], v[14:15], 1.02426; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.02427; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.02428; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.02429; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.02430; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.02431; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.02432; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.02433; GFX9-NEXT: .LBB10_2: ; %end2434; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]2435; GFX9-NEXT: s_setpc_b64 s[30:31]2436;2437; GFX11-LABEL: bitcast_v14f64_to_v28i32:2438; GFX11: ; %bb.0:2439; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2440; GFX11-NEXT: s_mov_b32 s0, exec_lo2441; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v282442; GFX11-NEXT: s_xor_b32 s0, exec_lo, s02443; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)2444; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s02445; GFX11-NEXT: s_cbranch_execz .LBB10_22446; GFX11-NEXT: ; %bb.1: ; %cmp.true2447; GFX11-NEXT: v_add_f64 v[26:27], v[26:27], 1.02448; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.02449; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.02450; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.02451; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.02452; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.02453; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.02454; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.02455; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.02456; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.02457; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.02458; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.02459; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.02460; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.02461; GFX11-NEXT: .LBB10_2: ; %end2462; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s02463; GFX11-NEXT: s_setpc_b64 s[30:31]2464 %cmp = icmp eq i32 %b, 02465 br i1 %cmp, label %cmp.true, label %cmp.false2466 2467cmp.true:2468 %a1 = fadd <14 x double> %a, splat (double 1.000000e+00)2469 %a2 = bitcast <14 x double> %a1 to <28 x i32>2470 br label %end2471 2472cmp.false:2473 %a3 = bitcast <14 x double> %a to <28 x i32>2474 br label %end2475 2476end:2477 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2478 ret <28 x i32> %phi2479}2480 2481define inreg <28 x i32> @bitcast_v14f64_to_v28i32_scalar(<14 x double> inreg %a, i32 inreg %b) {2482; SI-LABEL: bitcast_v14f64_to_v28i32_scalar:2483; SI: ; %bb.0:2484; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2485; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v142486; SI-NEXT: v_mov_b32_e32 v27, v132487; SI-NEXT: v_mov_b32_e32 v26, v122488; SI-NEXT: v_mov_b32_e32 v25, v112489; SI-NEXT: v_mov_b32_e32 v24, v102490; SI-NEXT: v_mov_b32_e32 v23, v92491; SI-NEXT: v_mov_b32_e32 v22, v82492; SI-NEXT: v_mov_b32_e32 v21, v72493; SI-NEXT: v_mov_b32_e32 v20, v62494; SI-NEXT: v_mov_b32_e32 v19, v52495; SI-NEXT: v_mov_b32_e32 v18, v42496; SI-NEXT: v_mov_b32_e32 v17, v32497; SI-NEXT: v_mov_b32_e32 v16, v22498; SI-NEXT: v_mov_b32_e32 v29, v12499; SI-NEXT: v_mov_b32_e32 v28, v02500; SI-NEXT: v_mov_b32_e32 v0, s162501; SI-NEXT: v_mov_b32_e32 v1, s172502; SI-NEXT: v_mov_b32_e32 v2, s182503; SI-NEXT: v_mov_b32_e32 v3, s192504; SI-NEXT: v_mov_b32_e32 v4, s202505; SI-NEXT: v_mov_b32_e32 v5, s212506; SI-NEXT: v_mov_b32_e32 v6, s222507; SI-NEXT: v_mov_b32_e32 v7, s232508; SI-NEXT: v_mov_b32_e32 v8, s242509; SI-NEXT: v_mov_b32_e32 v9, s252510; SI-NEXT: v_mov_b32_e32 v10, s262511; SI-NEXT: v_mov_b32_e32 v11, s272512; SI-NEXT: s_and_b64 s[4:5], vcc, exec2513; SI-NEXT: v_mov_b32_e32 v12, s282514; SI-NEXT: v_mov_b32_e32 v13, s292515; SI-NEXT: s_cbranch_scc0 .LBB11_42516; SI-NEXT: ; %bb.1: ; %cmp.false2517; SI-NEXT: s_cbranch_execnz .LBB11_32518; SI-NEXT: .LBB11_2: ; %cmp.true2519; SI-NEXT: v_add_f64 v[26:27], v[26:27], 1.02520; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02521; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02522; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02523; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02524; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02525; SI-NEXT: v_add_f64 v[28:29], v[28:29], 1.02526; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02527; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02528; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02529; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02530; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02531; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02532; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02533; SI-NEXT: .LBB11_3: ; %end2534; SI-NEXT: v_mov_b32_e32 v14, v282535; SI-NEXT: v_mov_b32_e32 v15, v292536; SI-NEXT: s_setpc_b64 s[30:31]2537; SI-NEXT: .LBB11_4:2538; SI-NEXT: s_branch .LBB11_22539;2540; VI-LABEL: bitcast_v14f64_to_v28i32_scalar:2541; VI: ; %bb.0:2542; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2543; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v142544; VI-NEXT: v_mov_b32_e32 v27, v132545; VI-NEXT: v_mov_b32_e32 v26, v122546; VI-NEXT: v_mov_b32_e32 v25, v112547; VI-NEXT: v_mov_b32_e32 v24, v102548; VI-NEXT: v_mov_b32_e32 v23, v92549; VI-NEXT: v_mov_b32_e32 v22, v82550; VI-NEXT: v_mov_b32_e32 v21, v72551; VI-NEXT: v_mov_b32_e32 v20, v62552; VI-NEXT: v_mov_b32_e32 v19, v52553; VI-NEXT: v_mov_b32_e32 v18, v42554; VI-NEXT: v_mov_b32_e32 v17, v32555; VI-NEXT: v_mov_b32_e32 v16, v22556; VI-NEXT: v_mov_b32_e32 v29, v12557; VI-NEXT: v_mov_b32_e32 v28, v02558; VI-NEXT: v_mov_b32_e32 v0, s162559; VI-NEXT: v_mov_b32_e32 v1, s172560; VI-NEXT: v_mov_b32_e32 v2, s182561; VI-NEXT: v_mov_b32_e32 v3, s192562; VI-NEXT: v_mov_b32_e32 v4, s202563; VI-NEXT: v_mov_b32_e32 v5, s212564; VI-NEXT: v_mov_b32_e32 v6, s222565; VI-NEXT: v_mov_b32_e32 v7, s232566; VI-NEXT: v_mov_b32_e32 v8, s242567; VI-NEXT: v_mov_b32_e32 v9, s252568; VI-NEXT: v_mov_b32_e32 v10, s262569; VI-NEXT: v_mov_b32_e32 v11, s272570; VI-NEXT: s_and_b64 s[4:5], vcc, exec2571; VI-NEXT: v_mov_b32_e32 v12, s282572; VI-NEXT: v_mov_b32_e32 v13, s292573; VI-NEXT: s_cbranch_scc0 .LBB11_42574; VI-NEXT: ; %bb.1: ; %cmp.false2575; VI-NEXT: s_cbranch_execnz .LBB11_32576; VI-NEXT: .LBB11_2: ; %cmp.true2577; VI-NEXT: v_add_f64 v[26:27], v[26:27], 1.02578; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.02579; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.02580; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.02581; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.02582; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.02583; VI-NEXT: v_add_f64 v[28:29], v[28:29], 1.02584; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.02585; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.02586; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.02587; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.02588; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.02589; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.02590; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.02591; VI-NEXT: .LBB11_3: ; %end2592; VI-NEXT: v_mov_b32_e32 v14, v282593; VI-NEXT: v_mov_b32_e32 v15, v292594; VI-NEXT: s_setpc_b64 s[30:31]2595; VI-NEXT: .LBB11_4:2596; VI-NEXT: s_branch .LBB11_22597;2598; GFX9-LABEL: bitcast_v14f64_to_v28i32_scalar:2599; GFX9: ; %bb.0:2600; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2601; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v142602; GFX9-NEXT: v_mov_b32_e32 v27, v132603; GFX9-NEXT: v_mov_b32_e32 v26, v122604; GFX9-NEXT: v_mov_b32_e32 v25, v112605; GFX9-NEXT: v_mov_b32_e32 v24, v102606; GFX9-NEXT: v_mov_b32_e32 v23, v92607; GFX9-NEXT: v_mov_b32_e32 v22, v82608; GFX9-NEXT: v_mov_b32_e32 v21, v72609; GFX9-NEXT: v_mov_b32_e32 v20, v62610; GFX9-NEXT: v_mov_b32_e32 v19, v52611; GFX9-NEXT: v_mov_b32_e32 v18, v42612; GFX9-NEXT: v_mov_b32_e32 v17, v32613; GFX9-NEXT: v_mov_b32_e32 v16, v22614; GFX9-NEXT: v_mov_b32_e32 v29, v12615; GFX9-NEXT: v_mov_b32_e32 v28, v02616; GFX9-NEXT: v_mov_b32_e32 v0, s162617; GFX9-NEXT: v_mov_b32_e32 v1, s172618; GFX9-NEXT: v_mov_b32_e32 v2, s182619; GFX9-NEXT: v_mov_b32_e32 v3, s192620; GFX9-NEXT: v_mov_b32_e32 v4, s202621; GFX9-NEXT: v_mov_b32_e32 v5, s212622; GFX9-NEXT: v_mov_b32_e32 v6, s222623; GFX9-NEXT: v_mov_b32_e32 v7, s232624; GFX9-NEXT: v_mov_b32_e32 v8, s242625; GFX9-NEXT: v_mov_b32_e32 v9, s252626; GFX9-NEXT: v_mov_b32_e32 v10, s262627; GFX9-NEXT: v_mov_b32_e32 v11, s272628; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec2629; GFX9-NEXT: v_mov_b32_e32 v12, s282630; GFX9-NEXT: v_mov_b32_e32 v13, s292631; GFX9-NEXT: s_cbranch_scc0 .LBB11_42632; GFX9-NEXT: ; %bb.1: ; %cmp.false2633; GFX9-NEXT: s_cbranch_execnz .LBB11_32634; GFX9-NEXT: .LBB11_2: ; %cmp.true2635; GFX9-NEXT: v_add_f64 v[26:27], v[26:27], 1.02636; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.02637; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.02638; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.02639; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.02640; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.02641; GFX9-NEXT: v_add_f64 v[28:29], v[28:29], 1.02642; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.02643; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.02644; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.02645; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.02646; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.02647; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.02648; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.02649; GFX9-NEXT: .LBB11_3: ; %end2650; GFX9-NEXT: v_mov_b32_e32 v14, v282651; GFX9-NEXT: v_mov_b32_e32 v15, v292652; GFX9-NEXT: s_setpc_b64 s[30:31]2653; GFX9-NEXT: .LBB11_4:2654; GFX9-NEXT: s_branch .LBB11_22655;2656; GFX11-LABEL: bitcast_v14f64_to_v28i32_scalar:2657; GFX11: ; %bb.0:2658; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2659; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v92660; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v72661; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v52662; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)2663; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v162664; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v32665; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v12666; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s12667; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s32668; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s172669; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s192670; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s212671; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s232672; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s252673; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s272674; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s292675; GFX11-NEXT: v_mov_b32_e32 v16, s282676; GFX11-NEXT: s_mov_b32 s0, 02677; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo2678; GFX11-NEXT: s_cbranch_scc0 .LBB11_32679; GFX11-NEXT: ; %bb.1: ; %Flow2680; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s02681; GFX11-NEXT: s_cbranch_vccz .LBB11_42682; GFX11-NEXT: ; %bb.2: ; %end2683; GFX11-NEXT: s_setpc_b64 s[30:31]2684; GFX11-NEXT: .LBB11_3:2685; GFX11-NEXT: .LBB11_4: ; %cmp.true2686; GFX11-NEXT: v_add_f64 v[26:27], v[26:27], 1.02687; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.02688; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.02689; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.02690; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.02691; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.02692; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.02693; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.02694; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.02695; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.02696; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.02697; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.02698; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.02699; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.02700; GFX11-NEXT: s_setpc_b64 s[30:31]2701 %cmp = icmp eq i32 %b, 02702 br i1 %cmp, label %cmp.true, label %cmp.false2703 2704cmp.true:2705 %a1 = fadd <14 x double> %a, splat (double 1.000000e+00)2706 %a2 = bitcast <14 x double> %a1 to <28 x i32>2707 br label %end2708 2709cmp.false:2710 %a3 = bitcast <14 x double> %a to <28 x i32>2711 br label %end2712 2713end:2714 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]2715 ret <28 x i32> %phi2716}2717 2718define <56 x i16> @bitcast_v28i32_to_v56i16(<28 x i32> %a, i32 %b) {2719; SI-LABEL: bitcast_v28i32_to_v56i16:2720; SI: ; %bb.0:2721; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2722; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v292723; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill2724; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill2725; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill2726; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill2727; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill2728; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill2729; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill2730; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill2731; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 ; 4-byte Folded Spill2732; SI-NEXT: ; implicit-def: $vgpr442733; SI-NEXT: ; implicit-def: $vgpr562734; SI-NEXT: ; implicit-def: $vgpr422735; SI-NEXT: ; implicit-def: $vgpr472736; SI-NEXT: ; implicit-def: $vgpr402737; SI-NEXT: ; implicit-def: $vgpr462738; SI-NEXT: ; implicit-def: $vgpr542739; SI-NEXT: ; implicit-def: $vgpr452740; SI-NEXT: ; implicit-def: $vgpr512741; SI-NEXT: ; implicit-def: $vgpr432742; SI-NEXT: ; implicit-def: $vgpr492743; SI-NEXT: ; implicit-def: $vgpr412744; SI-NEXT: ; implicit-def: $vgpr392745; SI-NEXT: ; implicit-def: $vgpr552746; SI-NEXT: ; implicit-def: $vgpr372747; SI-NEXT: ; implicit-def: $vgpr532748; SI-NEXT: ; implicit-def: $vgpr342749; SI-NEXT: ; implicit-def: $vgpr522750; SI-NEXT: ; implicit-def: $vgpr332751; SI-NEXT: ; implicit-def: $vgpr502752; SI-NEXT: ; implicit-def: $vgpr322753; SI-NEXT: ; implicit-def: $vgpr482754; SI-NEXT: ; implicit-def: $vgpr312755; SI-NEXT: ; implicit-def: $vgpr382756; SI-NEXT: ; implicit-def: $vgpr302757; SI-NEXT: ; implicit-def: $vgpr362758; SI-NEXT: ; implicit-def: $vgpr292759; SI-NEXT: ; implicit-def: $vgpr352760; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc2761; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]2762; SI-NEXT: s_cbranch_execz .LBB12_22763; SI-NEXT: ; %bb.1: ; %cmp.false2764; SI-NEXT: v_alignbit_b32 v29, v28, v27, 162765; SI-NEXT: v_alignbit_b32 v30, v26, v25, 162766; SI-NEXT: v_alignbit_b32 v31, v24, v23, 162767; SI-NEXT: v_alignbit_b32 v32, v22, v21, 162768; SI-NEXT: v_alignbit_b32 v33, v20, v19, 162769; SI-NEXT: v_alignbit_b32 v34, v18, v17, 162770; SI-NEXT: v_alignbit_b32 v37, v16, v15, 162771; SI-NEXT: v_alignbit_b32 v39, v14, v13, 162772; SI-NEXT: v_alignbit_b32 v49, v12, v11, 162773; SI-NEXT: v_alignbit_b32 v51, v10, v9, 162774; SI-NEXT: v_alignbit_b32 v54, v8, v7, 162775; SI-NEXT: v_alignbit_b32 v40, v6, v5, 162776; SI-NEXT: s_waitcnt expcnt(6)2777; SI-NEXT: v_alignbit_b32 v42, v4, v3, 162778; SI-NEXT: s_waitcnt expcnt(4)2779; SI-NEXT: v_alignbit_b32 v44, v2, v1, 162780; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v282781; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v262782; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v242783; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v222784; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v202785; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v182786; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v162787; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v142788; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v122789; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v102790; SI-NEXT: s_waitcnt expcnt(3)2791; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v82792; SI-NEXT: s_waitcnt expcnt(2)2793; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v62794; SI-NEXT: s_waitcnt expcnt(1)2795; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v42796; SI-NEXT: s_waitcnt expcnt(0)2797; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v22798; SI-NEXT: .LBB12_2: ; %Flow2799; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]2800; SI-NEXT: s_cbranch_execz .LBB12_42801; SI-NEXT: ; %bb.3: ; %cmp.true2802; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v22803; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v12804; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v42805; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v32806; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v62807; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v52808; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v82809; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v72810; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v102811; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v92812; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v122813; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v112814; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v142815; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v132816; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v162817; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v152818; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v182819; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v172820; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v202821; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v192822; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v222823; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v212824; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v242825; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v232826; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v262827; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v252828; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v282829; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v272830; SI-NEXT: v_alignbit_b32 v29, v28, v27, 162831; SI-NEXT: v_alignbit_b32 v30, v26, v25, 162832; SI-NEXT: v_alignbit_b32 v31, v24, v23, 162833; SI-NEXT: v_alignbit_b32 v32, v22, v21, 162834; SI-NEXT: v_alignbit_b32 v33, v20, v19, 162835; SI-NEXT: v_alignbit_b32 v34, v18, v17, 162836; SI-NEXT: v_alignbit_b32 v37, v16, v15, 162837; SI-NEXT: v_alignbit_b32 v39, v14, v13, 162838; SI-NEXT: v_alignbit_b32 v49, v12, v11, 162839; SI-NEXT: v_alignbit_b32 v51, v10, v9, 162840; SI-NEXT: v_alignbit_b32 v54, v8, v7, 162841; SI-NEXT: v_alignbit_b32 v40, v6, v5, 162842; SI-NEXT: s_waitcnt expcnt(6)2843; SI-NEXT: v_alignbit_b32 v42, v4, v3, 162844; SI-NEXT: s_waitcnt expcnt(4)2845; SI-NEXT: v_alignbit_b32 v44, v2, v1, 162846; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v282847; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v262848; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v242849; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v222850; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v202851; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v182852; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v162853; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v142854; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v122855; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v102856; SI-NEXT: s_waitcnt expcnt(3)2857; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v82858; SI-NEXT: s_waitcnt expcnt(2)2859; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v62860; SI-NEXT: s_waitcnt expcnt(1)2861; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v42862; SI-NEXT: s_waitcnt expcnt(0)2863; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v22864; SI-NEXT: .LBB12_4: ; %end2865; SI-NEXT: s_or_b64 exec, exec, s[4:5]2866; SI-NEXT: v_and_b32_e32 v1, 0xffff, v12867; SI-NEXT: s_waitcnt expcnt(4)2868; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v442869; SI-NEXT: v_or_b32_e32 v1, v1, v442870; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen2871; SI-NEXT: s_waitcnt expcnt(0)2872; SI-NEXT: v_and_b32_e32 v1, 0xffff, v22873; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v562874; SI-NEXT: v_or_b32_e32 v1, v1, v22875; SI-NEXT: v_add_i32_e32 v2, vcc, 4, v02876; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2877; SI-NEXT: s_waitcnt expcnt(0)2878; SI-NEXT: v_and_b32_e32 v1, 0xffff, v32879; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v422880; SI-NEXT: v_or_b32_e32 v1, v1, v22881; SI-NEXT: v_add_i32_e32 v2, vcc, 8, v02882; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2883; SI-NEXT: s_waitcnt expcnt(0)2884; SI-NEXT: v_and_b32_e32 v1, 0xffff, v42885; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v472886; SI-NEXT: v_or_b32_e32 v1, v1, v22887; SI-NEXT: v_add_i32_e32 v2, vcc, 12, v02888; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2889; SI-NEXT: s_waitcnt expcnt(0)2890; SI-NEXT: v_and_b32_e32 v1, 0xffff, v52891; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v402892; SI-NEXT: v_or_b32_e32 v1, v1, v22893; SI-NEXT: v_add_i32_e32 v2, vcc, 16, v02894; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2895; SI-NEXT: s_waitcnt expcnt(0)2896; SI-NEXT: v_and_b32_e32 v1, 0xffff, v62897; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v462898; SI-NEXT: v_or_b32_e32 v1, v1, v22899; SI-NEXT: v_add_i32_e32 v2, vcc, 20, v02900; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2901; SI-NEXT: s_waitcnt expcnt(0)2902; SI-NEXT: v_and_b32_e32 v1, 0xffff, v72903; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v542904; SI-NEXT: v_or_b32_e32 v1, v1, v22905; SI-NEXT: v_add_i32_e32 v2, vcc, 24, v02906; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2907; SI-NEXT: s_waitcnt expcnt(0)2908; SI-NEXT: v_and_b32_e32 v1, 0xffff, v82909; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v452910; SI-NEXT: v_or_b32_e32 v1, v1, v22911; SI-NEXT: v_add_i32_e32 v2, vcc, 28, v02912; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2913; SI-NEXT: s_waitcnt expcnt(0)2914; SI-NEXT: v_and_b32_e32 v1, 0xffff, v92915; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v512916; SI-NEXT: v_or_b32_e32 v1, v1, v22917; SI-NEXT: v_add_i32_e32 v2, vcc, 32, v02918; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2919; SI-NEXT: s_waitcnt expcnt(0)2920; SI-NEXT: v_and_b32_e32 v1, 0xffff, v102921; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v432922; SI-NEXT: v_or_b32_e32 v1, v1, v22923; SI-NEXT: v_add_i32_e32 v2, vcc, 36, v02924; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2925; SI-NEXT: s_waitcnt expcnt(0)2926; SI-NEXT: v_and_b32_e32 v1, 0xffff, v112927; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v492928; SI-NEXT: v_or_b32_e32 v1, v1, v22929; SI-NEXT: v_add_i32_e32 v2, vcc, 40, v02930; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2931; SI-NEXT: s_waitcnt expcnt(0)2932; SI-NEXT: v_and_b32_e32 v1, 0xffff, v122933; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v412934; SI-NEXT: v_or_b32_e32 v1, v1, v22935; SI-NEXT: v_add_i32_e32 v2, vcc, 44, v02936; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2937; SI-NEXT: s_waitcnt expcnt(0)2938; SI-NEXT: v_and_b32_e32 v1, 0xffff, v132939; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v392940; SI-NEXT: v_or_b32_e32 v1, v1, v22941; SI-NEXT: v_add_i32_e32 v2, vcc, 48, v02942; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2943; SI-NEXT: s_waitcnt expcnt(0)2944; SI-NEXT: v_and_b32_e32 v1, 0xffff, v142945; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v552946; SI-NEXT: v_or_b32_e32 v1, v1, v22947; SI-NEXT: v_add_i32_e32 v2, vcc, 52, v02948; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2949; SI-NEXT: s_waitcnt expcnt(0)2950; SI-NEXT: v_and_b32_e32 v1, 0xffff, v152951; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v372952; SI-NEXT: v_or_b32_e32 v1, v1, v22953; SI-NEXT: v_add_i32_e32 v2, vcc, 56, v02954; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2955; SI-NEXT: s_waitcnt expcnt(0)2956; SI-NEXT: v_and_b32_e32 v1, 0xffff, v162957; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v532958; SI-NEXT: v_or_b32_e32 v1, v1, v22959; SI-NEXT: v_add_i32_e32 v2, vcc, 60, v02960; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2961; SI-NEXT: s_waitcnt expcnt(0)2962; SI-NEXT: v_and_b32_e32 v1, 0xffff, v172963; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v342964; SI-NEXT: v_or_b32_e32 v1, v1, v22965; SI-NEXT: v_add_i32_e32 v2, vcc, 64, v02966; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2967; SI-NEXT: s_waitcnt expcnt(0)2968; SI-NEXT: v_and_b32_e32 v1, 0xffff, v182969; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v522970; SI-NEXT: v_or_b32_e32 v1, v1, v22971; SI-NEXT: v_add_i32_e32 v2, vcc, 0x44, v02972; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2973; SI-NEXT: s_waitcnt expcnt(0)2974; SI-NEXT: v_and_b32_e32 v1, 0xffff, v192975; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v332976; SI-NEXT: v_or_b32_e32 v1, v1, v22977; SI-NEXT: v_add_i32_e32 v2, vcc, 0x48, v02978; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2979; SI-NEXT: s_waitcnt expcnt(0)2980; SI-NEXT: v_and_b32_e32 v1, 0xffff, v202981; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v502982; SI-NEXT: v_or_b32_e32 v1, v1, v22983; SI-NEXT: v_add_i32_e32 v2, vcc, 0x4c, v02984; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2985; SI-NEXT: s_waitcnt expcnt(0)2986; SI-NEXT: v_and_b32_e32 v1, 0xffff, v212987; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v322988; SI-NEXT: v_or_b32_e32 v1, v1, v22989; SI-NEXT: v_add_i32_e32 v2, vcc, 0x50, v02990; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2991; SI-NEXT: s_waitcnt expcnt(0)2992; SI-NEXT: v_and_b32_e32 v1, 0xffff, v222993; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v482994; SI-NEXT: v_or_b32_e32 v1, v1, v22995; SI-NEXT: v_add_i32_e32 v2, vcc, 0x54, v02996; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen2997; SI-NEXT: s_waitcnt expcnt(0)2998; SI-NEXT: v_and_b32_e32 v1, 0xffff, v232999; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v313000; SI-NEXT: v_or_b32_e32 v1, v1, v23001; SI-NEXT: v_add_i32_e32 v2, vcc, 0x58, v03002; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen3003; SI-NEXT: s_waitcnt expcnt(0)3004; SI-NEXT: v_and_b32_e32 v1, 0xffff, v243005; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v383006; SI-NEXT: v_or_b32_e32 v1, v1, v23007; SI-NEXT: v_add_i32_e32 v2, vcc, 0x5c, v03008; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen3009; SI-NEXT: s_waitcnt expcnt(0)3010; SI-NEXT: v_and_b32_e32 v1, 0xffff, v253011; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v303012; SI-NEXT: v_or_b32_e32 v1, v1, v23013; SI-NEXT: v_add_i32_e32 v2, vcc, 0x60, v03014; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen3015; SI-NEXT: s_waitcnt expcnt(0)3016; SI-NEXT: v_and_b32_e32 v1, 0xffff, v263017; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v363018; SI-NEXT: v_or_b32_e32 v1, v1, v23019; SI-NEXT: v_add_i32_e32 v2, vcc, 0x64, v03020; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen3021; SI-NEXT: s_waitcnt expcnt(0)3022; SI-NEXT: v_and_b32_e32 v1, 0xffff, v273023; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v293024; SI-NEXT: v_or_b32_e32 v1, v1, v23025; SI-NEXT: v_add_i32_e32 v2, vcc, 0x68, v03026; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen3027; SI-NEXT: s_waitcnt expcnt(0)3028; SI-NEXT: v_and_b32_e32 v1, 0xffff, v283029; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v353030; SI-NEXT: v_or_b32_e32 v1, v1, v23031; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v03032; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen3033; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 ; 4-byte Folded Reload3034; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload3035; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload3036; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload3037; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload3038; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload3039; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload3040; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload3041; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload3042; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)3043; SI-NEXT: s_setpc_b64 s[30:31]3044;3045; VI-LABEL: bitcast_v28i32_to_v56i16:3046; VI: ; %bb.0:3047; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3048; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v283049; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill3050; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill3051; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill3052; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill3053; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill3054; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill3055; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill3056; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill3057; VI-NEXT: ; implicit-def: $vgpr473058; VI-NEXT: ; implicit-def: $vgpr463059; VI-NEXT: ; implicit-def: $vgpr453060; VI-NEXT: ; implicit-def: $vgpr443061; VI-NEXT: ; implicit-def: $vgpr433062; VI-NEXT: ; implicit-def: $vgpr423063; VI-NEXT: ; implicit-def: $vgpr413064; VI-NEXT: ; implicit-def: $vgpr403065; VI-NEXT: ; implicit-def: $vgpr553066; VI-NEXT: ; implicit-def: $vgpr543067; VI-NEXT: ; implicit-def: $vgpr533068; VI-NEXT: ; implicit-def: $vgpr523069; VI-NEXT: ; implicit-def: $vgpr513070; VI-NEXT: ; implicit-def: $vgpr503071; VI-NEXT: ; implicit-def: $vgpr493072; VI-NEXT: ; implicit-def: $vgpr483073; VI-NEXT: ; implicit-def: $vgpr393074; VI-NEXT: ; implicit-def: $vgpr383075; VI-NEXT: ; implicit-def: $vgpr373076; VI-NEXT: ; implicit-def: $vgpr363077; VI-NEXT: ; implicit-def: $vgpr353078; VI-NEXT: ; implicit-def: $vgpr343079; VI-NEXT: ; implicit-def: $vgpr333080; VI-NEXT: ; implicit-def: $vgpr323081; VI-NEXT: ; implicit-def: $vgpr313082; VI-NEXT: ; implicit-def: $vgpr303083; VI-NEXT: ; implicit-def: $vgpr293084; VI-NEXT: ; implicit-def: $vgpr283085; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc3086; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]3087; VI-NEXT: s_cbranch_execz .LBB12_23088; VI-NEXT: ; %bb.1: ; %cmp.false3089; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v273090; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v263091; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v253092; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v243093; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v233094; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v223095; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v213096; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v203097; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v193098; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v183099; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v173100; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v163101; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v153102; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v143103; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v133104; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v123105; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v113106; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v103107; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v93108; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v83109; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v73110; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v63111; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v53112; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v43113; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v33114; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v23115; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v13116; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v03117; VI-NEXT: .LBB12_2: ; %Flow3118; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]3119; VI-NEXT: s_cbranch_execz .LBB12_43120; VI-NEXT: ; %bb.3: ; %cmp.true3121; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v273122; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v263123; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v253124; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v243125; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v233126; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v223127; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v213128; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v203129; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v193130; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v183131; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v173132; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v163133; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v153134; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v143135; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v133136; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v123137; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v113138; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v103139; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v93140; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v83141; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v73142; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v63143; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v53144; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v43145; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v33146; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v23147; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v13148; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v03149; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v273150; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v263151; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v253152; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v243153; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v233154; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v223155; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v213156; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v203157; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v193158; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v183159; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v173160; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v163161; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v153162; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v143163; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v133164; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v123165; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v113166; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v103167; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v93168; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v83169; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v73170; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v63171; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v53172; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v43173; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v33174; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v23175; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v13176; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v03177; VI-NEXT: .LBB12_4: ; %end3178; VI-NEXT: s_or_b64 exec, exec, s[4:5]3179; VI-NEXT: v_lshlrev_b32_e32 v47, 16, v473180; VI-NEXT: v_lshlrev_b32_e32 v46, 16, v463181; VI-NEXT: v_lshlrev_b32_e32 v45, 16, v453182; VI-NEXT: v_lshlrev_b32_e32 v44, 16, v443183; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v433184; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v423185; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v413186; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v403187; VI-NEXT: v_or_b32_sdwa v0, v0, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3188; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3189; VI-NEXT: v_or_b32_sdwa v2, v2, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3190; VI-NEXT: v_or_b32_sdwa v3, v3, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3191; VI-NEXT: v_or_b32_sdwa v4, v4, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3192; VI-NEXT: v_or_b32_sdwa v5, v5, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3193; VI-NEXT: v_or_b32_sdwa v6, v6, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3194; VI-NEXT: v_or_b32_sdwa v7, v7, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3195; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload3196; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload3197; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload3198; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload3199; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload3200; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload3201; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload3202; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload3203; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v553204; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v543205; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v533206; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v523207; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v513208; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v503209; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v493210; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v483211; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v393212; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v383213; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v373214; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v363215; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v353216; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v343217; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v333218; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v323219; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v313220; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v303221; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v293222; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v283223; VI-NEXT: v_or_b32_sdwa v8, v8, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3224; VI-NEXT: v_or_b32_sdwa v9, v9, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3225; VI-NEXT: v_or_b32_sdwa v10, v10, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3226; VI-NEXT: v_or_b32_sdwa v11, v11, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3227; VI-NEXT: v_or_b32_sdwa v12, v12, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3228; VI-NEXT: v_or_b32_sdwa v13, v13, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3229; VI-NEXT: v_or_b32_sdwa v14, v14, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3230; VI-NEXT: v_or_b32_sdwa v15, v15, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3231; VI-NEXT: v_or_b32_sdwa v16, v16, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3232; VI-NEXT: v_or_b32_sdwa v17, v17, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3233; VI-NEXT: v_or_b32_sdwa v18, v18, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3234; VI-NEXT: v_or_b32_sdwa v19, v19, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3235; VI-NEXT: v_or_b32_sdwa v20, v20, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3236; VI-NEXT: v_or_b32_sdwa v21, v21, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3237; VI-NEXT: v_or_b32_sdwa v22, v22, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3238; VI-NEXT: v_or_b32_sdwa v23, v23, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3239; VI-NEXT: v_or_b32_sdwa v24, v24, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3240; VI-NEXT: v_or_b32_sdwa v25, v25, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3241; VI-NEXT: v_or_b32_sdwa v26, v26, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3242; VI-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD3243; VI-NEXT: s_waitcnt vmcnt(0)3244; VI-NEXT: s_setpc_b64 s[30:31]3245;3246; GFX9-LABEL: bitcast_v28i32_to_v56i16:3247; GFX9: ; %bb.0:3248; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3249; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v283250; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill3251; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill3252; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill3253; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill3254; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill3255; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill3256; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill3257; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill3258; GFX9-NEXT: ; implicit-def: $vgpr473259; GFX9-NEXT: ; implicit-def: $vgpr463260; GFX9-NEXT: ; implicit-def: $vgpr453261; GFX9-NEXT: ; implicit-def: $vgpr443262; GFX9-NEXT: ; implicit-def: $vgpr433263; GFX9-NEXT: ; implicit-def: $vgpr423264; GFX9-NEXT: ; implicit-def: $vgpr413265; GFX9-NEXT: ; implicit-def: $vgpr403266; GFX9-NEXT: ; implicit-def: $vgpr553267; GFX9-NEXT: ; implicit-def: $vgpr543268; GFX9-NEXT: ; implicit-def: $vgpr533269; GFX9-NEXT: ; implicit-def: $vgpr523270; GFX9-NEXT: ; implicit-def: $vgpr513271; GFX9-NEXT: ; implicit-def: $vgpr503272; GFX9-NEXT: ; implicit-def: $vgpr493273; GFX9-NEXT: ; implicit-def: $vgpr483274; GFX9-NEXT: ; implicit-def: $vgpr393275; GFX9-NEXT: ; implicit-def: $vgpr383276; GFX9-NEXT: ; implicit-def: $vgpr373277; GFX9-NEXT: ; implicit-def: $vgpr363278; GFX9-NEXT: ; implicit-def: $vgpr353279; GFX9-NEXT: ; implicit-def: $vgpr343280; GFX9-NEXT: ; implicit-def: $vgpr333281; GFX9-NEXT: ; implicit-def: $vgpr323282; GFX9-NEXT: ; implicit-def: $vgpr313283; GFX9-NEXT: ; implicit-def: $vgpr303284; GFX9-NEXT: ; implicit-def: $vgpr293285; GFX9-NEXT: ; implicit-def: $vgpr283286; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc3287; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]3288; GFX9-NEXT: s_cbranch_execz .LBB12_23289; GFX9-NEXT: ; %bb.1: ; %cmp.false3290; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v273291; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v263292; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v253293; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v243294; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v233295; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v223296; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v213297; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v203298; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v193299; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v183300; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v173301; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v163302; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v153303; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v143304; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v133305; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v123306; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v113307; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v103308; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v93309; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v83310; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v73311; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v63312; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v53313; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v43314; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v33315; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v23316; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v13317; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v03318; GFX9-NEXT: .LBB12_2: ; %Flow3319; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]3320; GFX9-NEXT: s_cbranch_execz .LBB12_43321; GFX9-NEXT: ; %bb.3: ; %cmp.true3322; GFX9-NEXT: v_add_u32_e32 v27, 3, v273323; GFX9-NEXT: v_add_u32_e32 v26, 3, v263324; GFX9-NEXT: v_add_u32_e32 v25, 3, v253325; GFX9-NEXT: v_add_u32_e32 v24, 3, v243326; GFX9-NEXT: v_add_u32_e32 v23, 3, v233327; GFX9-NEXT: v_add_u32_e32 v22, 3, v223328; GFX9-NEXT: v_add_u32_e32 v21, 3, v213329; GFX9-NEXT: v_add_u32_e32 v20, 3, v203330; GFX9-NEXT: v_add_u32_e32 v19, 3, v193331; GFX9-NEXT: v_add_u32_e32 v18, 3, v183332; GFX9-NEXT: v_add_u32_e32 v17, 3, v173333; GFX9-NEXT: v_add_u32_e32 v16, 3, v163334; GFX9-NEXT: v_add_u32_e32 v15, 3, v153335; GFX9-NEXT: v_add_u32_e32 v14, 3, v143336; GFX9-NEXT: v_add_u32_e32 v13, 3, v133337; GFX9-NEXT: v_add_u32_e32 v12, 3, v123338; GFX9-NEXT: v_add_u32_e32 v11, 3, v113339; GFX9-NEXT: v_add_u32_e32 v10, 3, v103340; GFX9-NEXT: v_add_u32_e32 v9, 3, v93341; GFX9-NEXT: v_add_u32_e32 v8, 3, v83342; GFX9-NEXT: v_add_u32_e32 v7, 3, v73343; GFX9-NEXT: v_add_u32_e32 v6, 3, v63344; GFX9-NEXT: v_add_u32_e32 v5, 3, v53345; GFX9-NEXT: v_add_u32_e32 v4, 3, v43346; GFX9-NEXT: v_add_u32_e32 v3, 3, v33347; GFX9-NEXT: v_add_u32_e32 v2, 3, v23348; GFX9-NEXT: v_add_u32_e32 v1, 3, v13349; GFX9-NEXT: v_add_u32_e32 v0, 3, v03350; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v273351; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v263352; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v253353; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v243354; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v233355; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v223356; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v213357; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v203358; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v193359; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v183360; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v173361; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v163362; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v153363; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v143364; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v133365; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v123366; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v113367; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v103368; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v93369; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v83370; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v73371; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v63372; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v53373; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v43374; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v33375; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v23376; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v13377; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v03378; GFX9-NEXT: .LBB12_4: ; %end3379; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]3380; GFX9-NEXT: s_mov_b32 s4, 0x50401003381; GFX9-NEXT: v_perm_b32 v0, v47, v0, s43382; GFX9-NEXT: v_perm_b32 v1, v46, v1, s43383; GFX9-NEXT: v_perm_b32 v2, v45, v2, s43384; GFX9-NEXT: v_perm_b32 v3, v44, v3, s43385; GFX9-NEXT: v_perm_b32 v4, v43, v4, s43386; GFX9-NEXT: v_perm_b32 v5, v42, v5, s43387; GFX9-NEXT: v_perm_b32 v6, v41, v6, s43388; GFX9-NEXT: v_perm_b32 v7, v40, v7, s43389; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload3390; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload3391; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload3392; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload3393; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload3394; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload3395; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload3396; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload3397; GFX9-NEXT: v_perm_b32 v8, v55, v8, s43398; GFX9-NEXT: v_perm_b32 v9, v54, v9, s43399; GFX9-NEXT: v_perm_b32 v10, v53, v10, s43400; GFX9-NEXT: v_perm_b32 v11, v52, v11, s43401; GFX9-NEXT: v_perm_b32 v12, v51, v12, s43402; GFX9-NEXT: v_perm_b32 v13, v50, v13, s43403; GFX9-NEXT: v_perm_b32 v14, v49, v14, s43404; GFX9-NEXT: v_perm_b32 v15, v48, v15, s43405; GFX9-NEXT: v_perm_b32 v16, v39, v16, s43406; GFX9-NEXT: v_perm_b32 v17, v38, v17, s43407; GFX9-NEXT: v_perm_b32 v18, v37, v18, s43408; GFX9-NEXT: v_perm_b32 v19, v36, v19, s43409; GFX9-NEXT: v_perm_b32 v20, v35, v20, s43410; GFX9-NEXT: v_perm_b32 v21, v34, v21, s43411; GFX9-NEXT: v_perm_b32 v22, v33, v22, s43412; GFX9-NEXT: v_perm_b32 v23, v32, v23, s43413; GFX9-NEXT: v_perm_b32 v24, v31, v24, s43414; GFX9-NEXT: v_perm_b32 v25, v30, v25, s43415; GFX9-NEXT: v_perm_b32 v26, v29, v26, s43416; GFX9-NEXT: v_perm_b32 v27, v28, v27, s43417; GFX9-NEXT: s_waitcnt vmcnt(0)3418; GFX9-NEXT: s_setpc_b64 s[30:31]3419;3420; GFX11-TRUE16-LABEL: bitcast_v28i32_to_v56i16:3421; GFX11-TRUE16: ; %bb.0:3422; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3423; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo3424; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v283425; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s03426; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)3427; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s03428; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB12_23429; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true3430; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v273431; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v263432; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v253433; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v243434; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v233435; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v223436; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v213437; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v203438; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v193439; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v183440; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v173441; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 3, v163442; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v153443; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 3, v143444; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 3, v133445; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 3, v123446; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 3, v113447; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 3, v103448; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 3, v93449; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 3, v83450; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 3, v73451; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 3, v63452; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 3, v53453; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v43454; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v33455; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v23456; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v13457; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v03458; GFX11-TRUE16-NEXT: .LBB12_2: ; %end3459; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s03460; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]3461;3462; GFX11-FAKE16-LABEL: bitcast_v28i32_to_v56i16:3463; GFX11-FAKE16: ; %bb.0:3464; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3465; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v283466; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr713467; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr703468; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr693469; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr683470; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr673471; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr663472; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr653473; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr643474; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr553475; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr543476; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr533477; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr523478; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr513479; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr503480; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr493481; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr483482; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr393483; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr383484; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr373485; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr363486; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr353487; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr343488; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr333489; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr323490; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr313491; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr303492; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr293493; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr283494; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo3495; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)3496; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s03497; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB12_23498; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false3499; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v273500; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v263501; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v253502; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v243503; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v233504; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v223505; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v213506; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v203507; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v193508; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v183509; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v173510; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v163511; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v153512; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v143513; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v133514; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v123515; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v113516; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v103517; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v93518; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v83519; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v73520; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v63521; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v53522; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v43523; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v33524; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v23525; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v13526; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v03527; GFX11-FAKE16-NEXT: .LBB12_2: ; %Flow3528; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s03529; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB12_43530; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true3531; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v27, 3, v273532; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v26, 3, v263533; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v25, 3, v253534; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v24, 3, v243535; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v23, 3, v233536; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v22, 3, v223537; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v21, 3, v213538; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, 3, v203539; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 3, v193540; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 3, v183541; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v173542; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 3, v163543; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v153544; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 3, v143545; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 3, v133546; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 3, v123547; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, 3, v113548; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, 3, v103549; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 3, v93550; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 3, v83551; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 3, v73552; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 3, v63553; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 3, v53554; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v43555; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v33556; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v23557; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v13558; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v03559; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v273560; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v263561; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v253562; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v243563; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v233564; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v223565; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v213566; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v203567; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v193568; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v183569; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v173570; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v163571; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v153572; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v143573; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v133574; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v123575; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v113576; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v103577; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v93578; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v83579; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v73580; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v63581; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v53582; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v43583; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v33584; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v23585; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v13586; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v03587; GFX11-FAKE16-NEXT: .LBB12_4: ; %end3588; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s03589; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)3590; GFX11-FAKE16-NEXT: v_perm_b32 v0, v71, v0, 0x50401003591; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x50401003592; GFX11-FAKE16-NEXT: v_perm_b32 v2, v69, v2, 0x50401003593; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x50401003594; GFX11-FAKE16-NEXT: v_perm_b32 v4, v67, v4, 0x50401003595; GFX11-FAKE16-NEXT: v_perm_b32 v5, v66, v5, 0x50401003596; GFX11-FAKE16-NEXT: v_perm_b32 v6, v65, v6, 0x50401003597; GFX11-FAKE16-NEXT: v_perm_b32 v7, v64, v7, 0x50401003598; GFX11-FAKE16-NEXT: v_perm_b32 v8, v55, v8, 0x50401003599; GFX11-FAKE16-NEXT: v_perm_b32 v9, v54, v9, 0x50401003600; GFX11-FAKE16-NEXT: v_perm_b32 v10, v53, v10, 0x50401003601; GFX11-FAKE16-NEXT: v_perm_b32 v11, v52, v11, 0x50401003602; GFX11-FAKE16-NEXT: v_perm_b32 v12, v51, v12, 0x50401003603; GFX11-FAKE16-NEXT: v_perm_b32 v13, v50, v13, 0x50401003604; GFX11-FAKE16-NEXT: v_perm_b32 v14, v49, v14, 0x50401003605; GFX11-FAKE16-NEXT: v_perm_b32 v15, v48, v15, 0x50401003606; GFX11-FAKE16-NEXT: v_perm_b32 v16, v39, v16, 0x50401003607; GFX11-FAKE16-NEXT: v_perm_b32 v17, v38, v17, 0x50401003608; GFX11-FAKE16-NEXT: v_perm_b32 v18, v37, v18, 0x50401003609; GFX11-FAKE16-NEXT: v_perm_b32 v19, v36, v19, 0x50401003610; GFX11-FAKE16-NEXT: v_perm_b32 v20, v35, v20, 0x50401003611; GFX11-FAKE16-NEXT: v_perm_b32 v21, v34, v21, 0x50401003612; GFX11-FAKE16-NEXT: v_perm_b32 v22, v33, v22, 0x50401003613; GFX11-FAKE16-NEXT: v_perm_b32 v23, v32, v23, 0x50401003614; GFX11-FAKE16-NEXT: v_perm_b32 v24, v31, v24, 0x50401003615; GFX11-FAKE16-NEXT: v_perm_b32 v25, v30, v25, 0x50401003616; GFX11-FAKE16-NEXT: v_perm_b32 v26, v29, v26, 0x50401003617; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v27, 0x50401003618; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]3619 %cmp = icmp eq i32 %b, 03620 br i1 %cmp, label %cmp.true, label %cmp.false3621 3622cmp.true:3623 %a1 = add <28 x i32> %a, splat (i32 3)3624 %a2 = bitcast <28 x i32> %a1 to <56 x i16>3625 br label %end3626 3627cmp.false:3628 %a3 = bitcast <28 x i32> %a to <56 x i16>3629 br label %end3630 3631end:3632 %phi = phi <56 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]3633 ret <56 x i16> %phi3634}3635 3636define inreg <56 x i16> @bitcast_v28i32_to_v56i16_scalar(<28 x i32> inreg %a, i32 inreg %b) {3637; SI-LABEL: bitcast_v28i32_to_v56i16_scalar:3638; SI: ; %bb.0:3639; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3640; SI-NEXT: s_xor_saveexec_b64 s[4:5], -13641; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 ; 4-byte Folded Spill3642; SI-NEXT: s_mov_b64 exec, s[4:5]3643; SI-NEXT: s_waitcnt expcnt(0)3644; SI-NEXT: v_writelane_b32 v20, s30, 03645; SI-NEXT: v_writelane_b32 v20, s31, 13646; SI-NEXT: v_writelane_b32 v20, s34, 23647; SI-NEXT: v_writelane_b32 v20, s35, 33648; SI-NEXT: v_writelane_b32 v20, s36, 43649; SI-NEXT: v_writelane_b32 v20, s37, 53650; SI-NEXT: v_writelane_b32 v20, s38, 63651; SI-NEXT: v_writelane_b32 v20, s39, 73652; SI-NEXT: v_writelane_b32 v20, s48, 83653; SI-NEXT: v_mov_b32_e32 v16, s163654; SI-NEXT: v_mov_b32_e32 v17, s173655; SI-NEXT: v_writelane_b32 v20, s49, 93656; SI-NEXT: v_mov_b32_e32 v18, s183657; SI-NEXT: v_mov_b32_e32 v19, s193658; SI-NEXT: v_readfirstlane_b32 s44, v163659; SI-NEXT: v_mov_b32_e32 v16, s203660; SI-NEXT: v_readfirstlane_b32 s45, v173661; SI-NEXT: v_mov_b32_e32 v17, s213662; SI-NEXT: v_writelane_b32 v20, s50, 103663; SI-NEXT: v_readfirstlane_b32 s42, v183664; SI-NEXT: v_mov_b32_e32 v18, s223665; SI-NEXT: v_readfirstlane_b32 s43, v193666; SI-NEXT: v_mov_b32_e32 v19, s233667; SI-NEXT: v_readfirstlane_b32 s40, v163668; SI-NEXT: v_mov_b32_e32 v16, s243669; SI-NEXT: v_readfirstlane_b32 s41, v173670; SI-NEXT: v_mov_b32_e32 v17, s253671; SI-NEXT: v_writelane_b32 v20, s51, 113672; SI-NEXT: v_readfirstlane_b32 s24, v183673; SI-NEXT: v_mov_b32_e32 v18, s263674; SI-NEXT: v_readfirstlane_b32 s25, v193675; SI-NEXT: v_mov_b32_e32 v19, s273676; SI-NEXT: v_readfirstlane_b32 s22, v163677; SI-NEXT: v_mov_b32_e32 v16, s283678; SI-NEXT: v_readfirstlane_b32 s23, v173679; SI-NEXT: v_mov_b32_e32 v17, s293680; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v153681; SI-NEXT: v_writelane_b32 v20, s52, 123682; SI-NEXT: v_readfirstlane_b32 s20, v183683; SI-NEXT: v_readfirstlane_b32 s21, v193684; SI-NEXT: v_readfirstlane_b32 s18, v163685; SI-NEXT: v_readfirstlane_b32 s19, v173686; SI-NEXT: v_readfirstlane_b32 s16, v13687; SI-NEXT: v_readfirstlane_b32 s17, v23688; SI-NEXT: v_readfirstlane_b32 s14, v33689; SI-NEXT: v_readfirstlane_b32 s15, v43690; SI-NEXT: v_readfirstlane_b32 s12, v53691; SI-NEXT: v_readfirstlane_b32 s13, v63692; SI-NEXT: v_readfirstlane_b32 s10, v73693; SI-NEXT: v_readfirstlane_b32 s11, v83694; SI-NEXT: v_readfirstlane_b32 s8, v93695; SI-NEXT: v_readfirstlane_b32 s9, v103696; SI-NEXT: v_readfirstlane_b32 s6, v113697; SI-NEXT: v_readfirstlane_b32 s7, v123698; SI-NEXT: v_readfirstlane_b32 s4, v133699; SI-NEXT: s_and_b64 s[26:27], vcc, exec3700; SI-NEXT: v_readfirstlane_b32 s5, v143701; SI-NEXT: v_writelane_b32 v20, s53, 133702; SI-NEXT: s_cbranch_scc0 .LBB13_43703; SI-NEXT: ; %bb.1: ; %cmp.false3704; SI-NEXT: s_lshr_b32 s30, s5, 163705; SI-NEXT: s_lshr_b32 s31, s7, 163706; SI-NEXT: s_lshr_b32 s34, s9, 163707; SI-NEXT: s_lshr_b32 s35, s11, 163708; SI-NEXT: s_lshr_b32 s36, s13, 163709; SI-NEXT: s_lshr_b32 s37, s15, 163710; SI-NEXT: s_lshr_b32 s38, s17, 163711; SI-NEXT: s_lshr_b32 s39, s19, 163712; SI-NEXT: s_lshr_b32 s48, s21, 163713; SI-NEXT: s_lshr_b32 s49, s23, 163714; SI-NEXT: s_lshr_b32 s50, s25, 163715; SI-NEXT: s_lshr_b32 s51, s41, 163716; SI-NEXT: s_lshr_b32 s52, s43, 163717; SI-NEXT: s_lshr_b32 s53, s45, 163718; SI-NEXT: s_lshr_b64 s[26:27], s[4:5], 163719; SI-NEXT: s_lshr_b64 s[28:29], s[6:7], 163720; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 163721; SI-NEXT: s_lshr_b64 s[56:57], s[10:11], 163722; SI-NEXT: s_lshr_b64 s[58:59], s[12:13], 163723; SI-NEXT: s_lshr_b64 s[60:61], s[14:15], 163724; SI-NEXT: s_lshr_b64 s[62:63], s[16:17], 163725; SI-NEXT: s_lshr_b64 s[72:73], s[18:19], 163726; SI-NEXT: s_lshr_b64 s[74:75], s[20:21], 163727; SI-NEXT: s_lshr_b64 s[76:77], s[22:23], 163728; SI-NEXT: s_lshr_b64 s[78:79], s[24:25], 163729; SI-NEXT: s_lshr_b64 s[88:89], s[40:41], 163730; SI-NEXT: s_lshr_b64 s[90:91], s[42:43], 163731; SI-NEXT: s_lshr_b64 s[92:93], s[44:45], 163732; SI-NEXT: s_cbranch_execnz .LBB13_33733; SI-NEXT: .LBB13_2: ; %cmp.true3734; SI-NEXT: s_add_i32 s45, s45, 33735; SI-NEXT: s_add_i32 s44, s44, 33736; SI-NEXT: s_add_i32 s43, s43, 33737; SI-NEXT: s_add_i32 s42, s42, 33738; SI-NEXT: s_add_i32 s41, s41, 33739; SI-NEXT: s_add_i32 s40, s40, 33740; SI-NEXT: s_add_i32 s25, s25, 33741; SI-NEXT: s_add_i32 s24, s24, 33742; SI-NEXT: s_add_i32 s23, s23, 33743; SI-NEXT: s_add_i32 s22, s22, 33744; SI-NEXT: s_add_i32 s21, s21, 33745; SI-NEXT: s_add_i32 s20, s20, 33746; SI-NEXT: s_add_i32 s19, s19, 33747; SI-NEXT: s_add_i32 s18, s18, 33748; SI-NEXT: s_add_i32 s17, s17, 33749; SI-NEXT: s_add_i32 s16, s16, 33750; SI-NEXT: s_add_i32 s15, s15, 33751; SI-NEXT: s_add_i32 s14, s14, 33752; SI-NEXT: s_add_i32 s13, s13, 33753; SI-NEXT: s_add_i32 s12, s12, 33754; SI-NEXT: s_add_i32 s11, s11, 33755; SI-NEXT: s_add_i32 s10, s10, 33756; SI-NEXT: s_add_i32 s9, s9, 33757; SI-NEXT: s_add_i32 s8, s8, 33758; SI-NEXT: s_add_i32 s7, s7, 33759; SI-NEXT: s_add_i32 s6, s6, 33760; SI-NEXT: s_add_i32 s5, s5, 33761; SI-NEXT: s_add_i32 s4, s4, 33762; SI-NEXT: s_lshr_b64 s[26:27], s[4:5], 163763; SI-NEXT: s_lshr_b64 s[28:29], s[6:7], 163764; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 163765; SI-NEXT: s_lshr_b64 s[56:57], s[10:11], 163766; SI-NEXT: s_lshr_b64 s[58:59], s[12:13], 163767; SI-NEXT: s_lshr_b64 s[60:61], s[14:15], 163768; SI-NEXT: s_lshr_b64 s[62:63], s[16:17], 163769; SI-NEXT: s_lshr_b64 s[72:73], s[18:19], 163770; SI-NEXT: s_lshr_b64 s[74:75], s[20:21], 163771; SI-NEXT: s_lshr_b32 s30, s5, 163772; SI-NEXT: s_lshr_b32 s31, s7, 163773; SI-NEXT: s_lshr_b32 s34, s9, 163774; SI-NEXT: s_lshr_b32 s35, s11, 163775; SI-NEXT: s_lshr_b32 s36, s13, 163776; SI-NEXT: s_lshr_b32 s37, s15, 163777; SI-NEXT: s_lshr_b32 s38, s17, 163778; SI-NEXT: s_lshr_b32 s39, s19, 163779; SI-NEXT: s_lshr_b32 s48, s21, 163780; SI-NEXT: s_lshr_b32 s49, s23, 163781; SI-NEXT: s_lshr_b32 s50, s25, 163782; SI-NEXT: s_lshr_b32 s51, s41, 163783; SI-NEXT: s_lshr_b32 s52, s43, 163784; SI-NEXT: s_lshr_b32 s53, s45, 163785; SI-NEXT: s_lshr_b64 s[76:77], s[22:23], 163786; SI-NEXT: s_lshr_b64 s[78:79], s[24:25], 163787; SI-NEXT: s_lshr_b64 s[88:89], s[40:41], 163788; SI-NEXT: s_lshr_b64 s[90:91], s[42:43], 163789; SI-NEXT: s_lshr_b64 s[92:93], s[44:45], 163790; SI-NEXT: .LBB13_3: ; %end3791; SI-NEXT: s_lshl_b32 s27, s92, 163792; SI-NEXT: s_and_b32 s29, s44, 0xffff3793; SI-NEXT: s_or_b32 s27, s29, s273794; SI-NEXT: v_mov_b32_e32 v1, s273795; SI-NEXT: s_and_b32 s27, s45, 0xffff3796; SI-NEXT: s_lshl_b32 s29, s53, 163797; SI-NEXT: s_or_b32 s27, s27, s293798; SI-NEXT: v_mov_b32_e32 v2, s273799; SI-NEXT: s_lshl_b32 s27, s90, 163800; SI-NEXT: s_and_b32 s29, s42, 0xffff3801; SI-NEXT: s_or_b32 s27, s29, s273802; SI-NEXT: v_mov_b32_e32 v3, s273803; SI-NEXT: s_and_b32 s27, s43, 0xffff3804; SI-NEXT: s_lshl_b32 s29, s52, 163805; SI-NEXT: s_or_b32 s27, s27, s293806; SI-NEXT: v_mov_b32_e32 v4, s273807; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen3808; SI-NEXT: s_waitcnt expcnt(0)3809; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v03810; SI-NEXT: s_lshl_b32 s27, s88, 163811; SI-NEXT: s_and_b32 s29, s40, 0xffff3812; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3813; SI-NEXT: v_add_i32_e32 v1, vcc, 8, v03814; SI-NEXT: s_or_b32 s27, s29, s273815; SI-NEXT: buffer_store_dword v3, v1, s[0:3], 0 offen3816; SI-NEXT: v_add_i32_e32 v1, vcc, 12, v03817; SI-NEXT: s_waitcnt expcnt(1)3818; SI-NEXT: v_mov_b32_e32 v2, s273819; SI-NEXT: s_and_b32 s27, s41, 0xffff3820; SI-NEXT: s_lshl_b32 s29, s51, 163821; SI-NEXT: buffer_store_dword v4, v1, s[0:3], 0 offen3822; SI-NEXT: v_add_i32_e32 v1, vcc, 16, v03823; SI-NEXT: s_or_b32 s27, s27, s293824; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3825; SI-NEXT: s_waitcnt expcnt(0)3826; SI-NEXT: v_mov_b32_e32 v2, s273827; SI-NEXT: s_and_b32 s24, s24, 0xffff3828; SI-NEXT: s_lshl_b32 s27, s78, 163829; SI-NEXT: v_add_i32_e32 v1, vcc, 20, v03830; SI-NEXT: s_or_b32 s24, s24, s273831; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3832; SI-NEXT: s_waitcnt expcnt(0)3833; SI-NEXT: v_mov_b32_e32 v2, s243834; SI-NEXT: s_and_b32 s24, s25, 0xffff3835; SI-NEXT: s_lshl_b32 s25, s50, 163836; SI-NEXT: v_add_i32_e32 v1, vcc, 24, v03837; SI-NEXT: s_or_b32 s24, s24, s253838; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3839; SI-NEXT: s_waitcnt expcnt(0)3840; SI-NEXT: v_mov_b32_e32 v2, s243841; SI-NEXT: s_and_b32 s22, s22, 0xffff3842; SI-NEXT: s_lshl_b32 s24, s76, 163843; SI-NEXT: v_add_i32_e32 v1, vcc, 28, v03844; SI-NEXT: s_or_b32 s22, s22, s243845; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3846; SI-NEXT: s_waitcnt expcnt(0)3847; SI-NEXT: v_mov_b32_e32 v2, s223848; SI-NEXT: s_and_b32 s22, s23, 0xffff3849; SI-NEXT: s_lshl_b32 s23, s49, 163850; SI-NEXT: v_add_i32_e32 v1, vcc, 32, v03851; SI-NEXT: s_or_b32 s22, s22, s233852; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3853; SI-NEXT: s_waitcnt expcnt(0)3854; SI-NEXT: v_mov_b32_e32 v2, s223855; SI-NEXT: s_and_b32 s20, s20, 0xffff3856; SI-NEXT: s_lshl_b32 s22, s74, 163857; SI-NEXT: v_add_i32_e32 v1, vcc, 36, v03858; SI-NEXT: s_or_b32 s20, s20, s223859; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3860; SI-NEXT: s_waitcnt expcnt(0)3861; SI-NEXT: v_mov_b32_e32 v2, s203862; SI-NEXT: s_and_b32 s20, s21, 0xffff3863; SI-NEXT: s_lshl_b32 s21, s48, 163864; SI-NEXT: v_add_i32_e32 v1, vcc, 40, v03865; SI-NEXT: s_or_b32 s20, s20, s213866; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3867; SI-NEXT: s_waitcnt expcnt(0)3868; SI-NEXT: v_mov_b32_e32 v2, s203869; SI-NEXT: s_and_b32 s18, s18, 0xffff3870; SI-NEXT: s_lshl_b32 s20, s72, 163871; SI-NEXT: v_add_i32_e32 v1, vcc, 44, v03872; SI-NEXT: s_or_b32 s18, s18, s203873; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3874; SI-NEXT: s_waitcnt expcnt(0)3875; SI-NEXT: v_mov_b32_e32 v2, s183876; SI-NEXT: s_and_b32 s18, s19, 0xffff3877; SI-NEXT: s_lshl_b32 s19, s39, 163878; SI-NEXT: v_add_i32_e32 v1, vcc, 48, v03879; SI-NEXT: s_or_b32 s18, s18, s193880; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3881; SI-NEXT: s_waitcnt expcnt(0)3882; SI-NEXT: v_mov_b32_e32 v2, s183883; SI-NEXT: s_and_b32 s16, s16, 0xffff3884; SI-NEXT: s_lshl_b32 s18, s62, 163885; SI-NEXT: v_add_i32_e32 v1, vcc, 52, v03886; SI-NEXT: s_or_b32 s16, s16, s183887; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3888; SI-NEXT: s_waitcnt expcnt(0)3889; SI-NEXT: v_mov_b32_e32 v2, s163890; SI-NEXT: s_and_b32 s16, s17, 0xffff3891; SI-NEXT: s_lshl_b32 s17, s38, 163892; SI-NEXT: v_add_i32_e32 v1, vcc, 56, v03893; SI-NEXT: s_or_b32 s16, s16, s173894; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3895; SI-NEXT: s_waitcnt expcnt(0)3896; SI-NEXT: v_mov_b32_e32 v2, s163897; SI-NEXT: s_and_b32 s14, s14, 0xffff3898; SI-NEXT: s_lshl_b32 s16, s60, 163899; SI-NEXT: v_add_i32_e32 v1, vcc, 60, v03900; SI-NEXT: s_or_b32 s14, s14, s163901; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3902; SI-NEXT: s_waitcnt expcnt(0)3903; SI-NEXT: v_mov_b32_e32 v2, s143904; SI-NEXT: s_and_b32 s14, s15, 0xffff3905; SI-NEXT: s_lshl_b32 s15, s37, 163906; SI-NEXT: v_add_i32_e32 v1, vcc, 64, v03907; SI-NEXT: s_or_b32 s14, s14, s153908; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3909; SI-NEXT: s_waitcnt expcnt(0)3910; SI-NEXT: v_mov_b32_e32 v2, s143911; SI-NEXT: s_and_b32 s12, s12, 0xffff3912; SI-NEXT: s_lshl_b32 s14, s58, 163913; SI-NEXT: v_add_i32_e32 v1, vcc, 0x44, v03914; SI-NEXT: s_or_b32 s12, s12, s143915; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3916; SI-NEXT: s_waitcnt expcnt(0)3917; SI-NEXT: v_mov_b32_e32 v2, s123918; SI-NEXT: s_and_b32 s12, s13, 0xffff3919; SI-NEXT: s_lshl_b32 s13, s36, 163920; SI-NEXT: v_add_i32_e32 v1, vcc, 0x48, v03921; SI-NEXT: s_or_b32 s12, s12, s133922; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3923; SI-NEXT: s_waitcnt expcnt(0)3924; SI-NEXT: v_mov_b32_e32 v2, s123925; SI-NEXT: s_and_b32 s10, s10, 0xffff3926; SI-NEXT: s_lshl_b32 s12, s56, 163927; SI-NEXT: v_add_i32_e32 v1, vcc, 0x4c, v03928; SI-NEXT: s_or_b32 s10, s10, s123929; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3930; SI-NEXT: s_waitcnt expcnt(0)3931; SI-NEXT: v_mov_b32_e32 v2, s103932; SI-NEXT: s_and_b32 s10, s11, 0xffff3933; SI-NEXT: s_lshl_b32 s11, s35, 163934; SI-NEXT: v_add_i32_e32 v1, vcc, 0x50, v03935; SI-NEXT: s_or_b32 s10, s10, s113936; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3937; SI-NEXT: s_waitcnt expcnt(0)3938; SI-NEXT: v_mov_b32_e32 v2, s103939; SI-NEXT: s_and_b32 s8, s8, 0xffff3940; SI-NEXT: s_lshl_b32 s10, s46, 163941; SI-NEXT: v_add_i32_e32 v1, vcc, 0x54, v03942; SI-NEXT: s_or_b32 s8, s8, s103943; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3944; SI-NEXT: s_waitcnt expcnt(0)3945; SI-NEXT: v_mov_b32_e32 v2, s83946; SI-NEXT: s_and_b32 s8, s9, 0xffff3947; SI-NEXT: s_lshl_b32 s9, s34, 163948; SI-NEXT: v_add_i32_e32 v1, vcc, 0x58, v03949; SI-NEXT: s_or_b32 s8, s8, s93950; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3951; SI-NEXT: s_waitcnt expcnt(0)3952; SI-NEXT: v_mov_b32_e32 v2, s83953; SI-NEXT: s_and_b32 s6, s6, 0xffff3954; SI-NEXT: s_lshl_b32 s8, s28, 163955; SI-NEXT: v_add_i32_e32 v1, vcc, 0x5c, v03956; SI-NEXT: s_or_b32 s6, s6, s83957; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3958; SI-NEXT: s_waitcnt expcnt(0)3959; SI-NEXT: v_mov_b32_e32 v2, s63960; SI-NEXT: s_and_b32 s6, s7, 0xffff3961; SI-NEXT: s_lshl_b32 s7, s31, 163962; SI-NEXT: v_add_i32_e32 v1, vcc, 0x60, v03963; SI-NEXT: s_or_b32 s6, s6, s73964; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3965; SI-NEXT: s_waitcnt expcnt(0)3966; SI-NEXT: v_mov_b32_e32 v2, s63967; SI-NEXT: s_and_b32 s4, s4, 0xffff3968; SI-NEXT: s_lshl_b32 s6, s26, 163969; SI-NEXT: v_add_i32_e32 v1, vcc, 0x64, v03970; SI-NEXT: s_or_b32 s4, s4, s63971; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3972; SI-NEXT: s_waitcnt expcnt(0)3973; SI-NEXT: v_mov_b32_e32 v2, s43974; SI-NEXT: s_and_b32 s4, s5, 0xffff3975; SI-NEXT: s_lshl_b32 s5, s30, 163976; SI-NEXT: v_add_i32_e32 v1, vcc, 0x68, v03977; SI-NEXT: s_or_b32 s4, s4, s53978; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen3979; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v03980; SI-NEXT: v_mov_b32_e32 v1, s43981; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen3982; SI-NEXT: v_readlane_b32 s53, v20, 133983; SI-NEXT: v_readlane_b32 s52, v20, 123984; SI-NEXT: v_readlane_b32 s51, v20, 113985; SI-NEXT: v_readlane_b32 s50, v20, 103986; SI-NEXT: v_readlane_b32 s49, v20, 93987; SI-NEXT: v_readlane_b32 s48, v20, 83988; SI-NEXT: v_readlane_b32 s39, v20, 73989; SI-NEXT: v_readlane_b32 s38, v20, 63990; SI-NEXT: v_readlane_b32 s37, v20, 53991; SI-NEXT: v_readlane_b32 s36, v20, 43992; SI-NEXT: v_readlane_b32 s35, v20, 33993; SI-NEXT: v_readlane_b32 s34, v20, 23994; SI-NEXT: v_readlane_b32 s31, v20, 13995; SI-NEXT: v_readlane_b32 s30, v20, 03996; SI-NEXT: s_xor_saveexec_b64 s[4:5], -13997; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 ; 4-byte Folded Reload3998; SI-NEXT: s_mov_b64 exec, s[4:5]3999; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)4000; SI-NEXT: s_setpc_b64 s[30:31]4001; SI-NEXT: .LBB13_4:4002; SI-NEXT: ; implicit-def: $sgpr924003; SI-NEXT: ; implicit-def: $sgpr534004; SI-NEXT: ; implicit-def: $sgpr904005; SI-NEXT: ; implicit-def: $sgpr524006; SI-NEXT: ; implicit-def: $sgpr884007; SI-NEXT: ; implicit-def: $sgpr514008; SI-NEXT: ; implicit-def: $sgpr784009; SI-NEXT: ; implicit-def: $sgpr504010; SI-NEXT: ; implicit-def: $sgpr764011; SI-NEXT: ; implicit-def: $sgpr494012; SI-NEXT: ; implicit-def: $sgpr744013; SI-NEXT: ; implicit-def: $sgpr484014; SI-NEXT: ; implicit-def: $sgpr724015; SI-NEXT: ; implicit-def: $sgpr394016; SI-NEXT: ; implicit-def: $sgpr624017; SI-NEXT: ; implicit-def: $sgpr384018; SI-NEXT: ; implicit-def: $sgpr604019; SI-NEXT: ; implicit-def: $sgpr374020; SI-NEXT: ; implicit-def: $sgpr584021; SI-NEXT: ; implicit-def: $sgpr364022; SI-NEXT: ; implicit-def: $sgpr564023; SI-NEXT: ; implicit-def: $sgpr354024; SI-NEXT: ; implicit-def: $sgpr464025; SI-NEXT: ; implicit-def: $sgpr344026; SI-NEXT: ; implicit-def: $sgpr284027; SI-NEXT: ; implicit-def: $sgpr314028; SI-NEXT: ; implicit-def: $sgpr264029; SI-NEXT: ; implicit-def: $sgpr304030; SI-NEXT: s_branch .LBB13_24031;4032; VI-LABEL: bitcast_v28i32_to_v56i16_scalar:4033; VI: ; %bb.0:4034; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4035; VI-NEXT: s_xor_saveexec_b64 s[4:5], -14036; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 ; 4-byte Folded Spill4037; VI-NEXT: s_mov_b64 exec, s[4:5]4038; VI-NEXT: v_mov_b32_e32 v15, s164039; VI-NEXT: v_mov_b32_e32 v16, s174040; VI-NEXT: v_mov_b32_e32 v17, s184041; VI-NEXT: v_mov_b32_e32 v18, s194042; VI-NEXT: v_writelane_b32 v28, s30, 04043; VI-NEXT: v_mov_b32_e32 v19, s204044; VI-NEXT: v_readfirstlane_b32 s46, v154045; VI-NEXT: v_mov_b32_e32 v15, s214046; VI-NEXT: v_readfirstlane_b32 s45, v164047; VI-NEXT: v_mov_b32_e32 v16, s224048; VI-NEXT: v_readfirstlane_b32 s44, v174049; VI-NEXT: v_mov_b32_e32 v17, s234050; VI-NEXT: v_readfirstlane_b32 s43, v184051; VI-NEXT: v_mov_b32_e32 v18, s244052; VI-NEXT: v_writelane_b32 v28, s31, 14053; VI-NEXT: v_readfirstlane_b32 s42, v194054; VI-NEXT: v_mov_b32_e32 v19, s254055; VI-NEXT: v_readfirstlane_b32 s41, v154056; VI-NEXT: v_mov_b32_e32 v15, s264057; VI-NEXT: v_readfirstlane_b32 s40, v164058; VI-NEXT: v_mov_b32_e32 v16, s274059; VI-NEXT: v_readfirstlane_b32 s26, v174060; VI-NEXT: v_mov_b32_e32 v17, s284061; VI-NEXT: v_readfirstlane_b32 s25, v184062; VI-NEXT: v_mov_b32_e32 v18, s294063; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v144064; VI-NEXT: v_writelane_b32 v28, s34, 24065; VI-NEXT: v_readfirstlane_b32 s24, v194066; VI-NEXT: v_readfirstlane_b32 s23, v154067; VI-NEXT: v_readfirstlane_b32 s22, v164068; VI-NEXT: v_readfirstlane_b32 s21, v174069; VI-NEXT: v_readfirstlane_b32 s20, v184070; VI-NEXT: v_readfirstlane_b32 s19, v04071; VI-NEXT: v_readfirstlane_b32 s18, v14072; VI-NEXT: v_readfirstlane_b32 s17, v24073; VI-NEXT: v_readfirstlane_b32 s16, v34074; VI-NEXT: v_readfirstlane_b32 s15, v44075; VI-NEXT: v_readfirstlane_b32 s14, v54076; VI-NEXT: v_readfirstlane_b32 s13, v64077; VI-NEXT: v_readfirstlane_b32 s12, v74078; VI-NEXT: v_readfirstlane_b32 s11, v84079; VI-NEXT: v_readfirstlane_b32 s10, v94080; VI-NEXT: v_readfirstlane_b32 s9, v104081; VI-NEXT: v_readfirstlane_b32 s8, v114082; VI-NEXT: v_readfirstlane_b32 s6, v124083; VI-NEXT: s_and_b64 s[4:5], vcc, exec4084; VI-NEXT: v_readfirstlane_b32 s7, v134085; VI-NEXT: v_writelane_b32 v28, s35, 34086; VI-NEXT: s_cbranch_scc0 .LBB13_44087; VI-NEXT: ; %bb.1: ; %cmp.false4088; VI-NEXT: s_lshr_b32 s27, s7, 164089; VI-NEXT: s_lshr_b32 s28, s6, 164090; VI-NEXT: s_lshr_b32 s29, s8, 164091; VI-NEXT: s_lshr_b32 s47, s9, 164092; VI-NEXT: s_lshr_b32 s56, s10, 164093; VI-NEXT: s_lshr_b32 s57, s11, 164094; VI-NEXT: s_lshr_b32 s58, s12, 164095; VI-NEXT: s_lshr_b32 s59, s13, 164096; VI-NEXT: s_lshr_b32 s60, s14, 164097; VI-NEXT: s_lshr_b32 s61, s15, 164098; VI-NEXT: s_lshr_b32 s62, s16, 164099; VI-NEXT: s_lshr_b32 s63, s17, 164100; VI-NEXT: s_lshr_b32 s72, s18, 164101; VI-NEXT: s_lshr_b32 s73, s19, 164102; VI-NEXT: s_lshr_b32 s74, s20, 164103; VI-NEXT: s_lshr_b32 s75, s21, 164104; VI-NEXT: s_lshr_b32 s76, s22, 164105; VI-NEXT: s_lshr_b32 s77, s23, 164106; VI-NEXT: s_lshr_b32 s78, s24, 164107; VI-NEXT: s_lshr_b32 s79, s25, 164108; VI-NEXT: s_lshr_b32 s88, s26, 164109; VI-NEXT: s_lshr_b32 s89, s40, 164110; VI-NEXT: s_lshr_b32 s90, s41, 164111; VI-NEXT: s_lshr_b32 s91, s42, 164112; VI-NEXT: s_lshr_b32 s30, s43, 164113; VI-NEXT: s_lshr_b32 s31, s44, 164114; VI-NEXT: s_lshr_b32 s34, s45, 164115; VI-NEXT: s_lshr_b32 s35, s46, 164116; VI-NEXT: s_cbranch_execnz .LBB13_34117; VI-NEXT: .LBB13_2: ; %cmp.true4118; VI-NEXT: s_add_i32 s7, s7, 34119; VI-NEXT: s_add_i32 s6, s6, 34120; VI-NEXT: s_add_i32 s8, s8, 34121; VI-NEXT: s_add_i32 s9, s9, 34122; VI-NEXT: s_add_i32 s10, s10, 34123; VI-NEXT: s_add_i32 s11, s11, 34124; VI-NEXT: s_add_i32 s12, s12, 34125; VI-NEXT: s_add_i32 s13, s13, 34126; VI-NEXT: s_add_i32 s14, s14, 34127; VI-NEXT: s_add_i32 s15, s15, 34128; VI-NEXT: s_add_i32 s16, s16, 34129; VI-NEXT: s_add_i32 s17, s17, 34130; VI-NEXT: s_add_i32 s18, s18, 34131; VI-NEXT: s_add_i32 s19, s19, 34132; VI-NEXT: s_add_i32 s20, s20, 34133; VI-NEXT: s_add_i32 s21, s21, 34134; VI-NEXT: s_add_i32 s22, s22, 34135; VI-NEXT: s_add_i32 s23, s23, 34136; VI-NEXT: s_add_i32 s24, s24, 34137; VI-NEXT: s_add_i32 s25, s25, 34138; VI-NEXT: s_add_i32 s26, s26, 34139; VI-NEXT: s_add_i32 s40, s40, 34140; VI-NEXT: s_add_i32 s41, s41, 34141; VI-NEXT: s_add_i32 s42, s42, 34142; VI-NEXT: s_add_i32 s43, s43, 34143; VI-NEXT: s_add_i32 s44, s44, 34144; VI-NEXT: s_add_i32 s45, s45, 34145; VI-NEXT: s_add_i32 s46, s46, 34146; VI-NEXT: s_lshr_b32 s27, s7, 164147; VI-NEXT: s_lshr_b32 s28, s6, 164148; VI-NEXT: s_lshr_b32 s29, s8, 164149; VI-NEXT: s_lshr_b32 s47, s9, 164150; VI-NEXT: s_lshr_b32 s56, s10, 164151; VI-NEXT: s_lshr_b32 s57, s11, 164152; VI-NEXT: s_lshr_b32 s58, s12, 164153; VI-NEXT: s_lshr_b32 s59, s13, 164154; VI-NEXT: s_lshr_b32 s60, s14, 164155; VI-NEXT: s_lshr_b32 s61, s15, 164156; VI-NEXT: s_lshr_b32 s62, s16, 164157; VI-NEXT: s_lshr_b32 s63, s17, 164158; VI-NEXT: s_lshr_b32 s72, s18, 164159; VI-NEXT: s_lshr_b32 s73, s19, 164160; VI-NEXT: s_lshr_b32 s74, s20, 164161; VI-NEXT: s_lshr_b32 s75, s21, 164162; VI-NEXT: s_lshr_b32 s76, s22, 164163; VI-NEXT: s_lshr_b32 s77, s23, 164164; VI-NEXT: s_lshr_b32 s78, s24, 164165; VI-NEXT: s_lshr_b32 s79, s25, 164166; VI-NEXT: s_lshr_b32 s88, s26, 164167; VI-NEXT: s_lshr_b32 s89, s40, 164168; VI-NEXT: s_lshr_b32 s90, s41, 164169; VI-NEXT: s_lshr_b32 s91, s42, 164170; VI-NEXT: s_lshr_b32 s30, s43, 164171; VI-NEXT: s_lshr_b32 s31, s44, 164172; VI-NEXT: s_lshr_b32 s34, s45, 164173; VI-NEXT: s_lshr_b32 s35, s46, 164174; VI-NEXT: .LBB13_3: ; %end4175; VI-NEXT: s_and_b32 s4, 0xffff, s464176; VI-NEXT: s_lshl_b32 s5, s35, 164177; VI-NEXT: s_or_b32 s4, s4, s54178; VI-NEXT: s_and_b32 s5, 0xffff, s454179; VI-NEXT: s_lshl_b32 s45, s34, 164180; VI-NEXT: s_or_b32 s5, s5, s454181; VI-NEXT: s_and_b32 s44, 0xffff, s444182; VI-NEXT: s_lshl_b32 s45, s31, 164183; VI-NEXT: s_or_b32 s44, s44, s454184; VI-NEXT: s_and_b32 s43, 0xffff, s434185; VI-NEXT: s_lshl_b32 s45, s30, 164186; VI-NEXT: s_or_b32 s43, s43, s454187; VI-NEXT: s_and_b32 s42, 0xffff, s424188; VI-NEXT: s_lshl_b32 s45, s91, 164189; VI-NEXT: s_or_b32 s42, s42, s454190; VI-NEXT: s_and_b32 s41, 0xffff, s414191; VI-NEXT: s_lshl_b32 s45, s90, 164192; VI-NEXT: s_or_b32 s41, s41, s454193; VI-NEXT: s_and_b32 s40, 0xffff, s404194; VI-NEXT: s_lshl_b32 s45, s89, 164195; VI-NEXT: s_or_b32 s40, s40, s454196; VI-NEXT: s_and_b32 s26, 0xffff, s264197; VI-NEXT: s_lshl_b32 s45, s88, 164198; VI-NEXT: s_or_b32 s26, s26, s454199; VI-NEXT: s_and_b32 s25, 0xffff, s254200; VI-NEXT: s_lshl_b32 s45, s79, 164201; VI-NEXT: s_or_b32 s25, s25, s454202; VI-NEXT: s_and_b32 s24, 0xffff, s244203; VI-NEXT: s_lshl_b32 s45, s78, 164204; VI-NEXT: s_or_b32 s24, s24, s454205; VI-NEXT: s_and_b32 s23, 0xffff, s234206; VI-NEXT: s_lshl_b32 s45, s77, 164207; VI-NEXT: s_or_b32 s23, s23, s454208; VI-NEXT: s_and_b32 s22, 0xffff, s224209; VI-NEXT: s_lshl_b32 s45, s76, 164210; VI-NEXT: s_or_b32 s22, s22, s454211; VI-NEXT: s_and_b32 s21, 0xffff, s214212; VI-NEXT: s_lshl_b32 s45, s75, 164213; VI-NEXT: s_or_b32 s21, s21, s454214; VI-NEXT: s_and_b32 s20, 0xffff, s204215; VI-NEXT: s_lshl_b32 s45, s74, 164216; VI-NEXT: s_or_b32 s20, s20, s454217; VI-NEXT: s_and_b32 s19, 0xffff, s194218; VI-NEXT: s_lshl_b32 s45, s73, 164219; VI-NEXT: s_or_b32 s19, s19, s454220; VI-NEXT: s_and_b32 s18, 0xffff, s184221; VI-NEXT: s_lshl_b32 s45, s72, 164222; VI-NEXT: s_or_b32 s18, s18, s454223; VI-NEXT: s_and_b32 s17, 0xffff, s174224; VI-NEXT: s_lshl_b32 s45, s63, 164225; VI-NEXT: s_or_b32 s17, s17, s454226; VI-NEXT: s_and_b32 s16, 0xffff, s164227; VI-NEXT: s_lshl_b32 s45, s62, 164228; VI-NEXT: s_or_b32 s16, s16, s454229; VI-NEXT: s_and_b32 s15, 0xffff, s154230; VI-NEXT: s_lshl_b32 s45, s61, 164231; VI-NEXT: s_or_b32 s15, s15, s454232; VI-NEXT: s_and_b32 s14, 0xffff, s144233; VI-NEXT: s_lshl_b32 s45, s60, 164234; VI-NEXT: s_or_b32 s14, s14, s454235; VI-NEXT: s_and_b32 s13, 0xffff, s134236; VI-NEXT: s_lshl_b32 s45, s59, 164237; VI-NEXT: s_or_b32 s13, s13, s454238; VI-NEXT: s_and_b32 s12, 0xffff, s124239; VI-NEXT: s_lshl_b32 s45, s58, 164240; VI-NEXT: s_or_b32 s12, s12, s454241; VI-NEXT: s_and_b32 s11, 0xffff, s114242; VI-NEXT: s_lshl_b32 s45, s57, 164243; VI-NEXT: s_or_b32 s11, s11, s454244; VI-NEXT: s_and_b32 s10, 0xffff, s104245; VI-NEXT: s_lshl_b32 s45, s56, 164246; VI-NEXT: s_or_b32 s10, s10, s454247; VI-NEXT: s_and_b32 s9, 0xffff, s94248; VI-NEXT: s_lshl_b32 s45, s47, 164249; VI-NEXT: s_and_b32 s8, 0xffff, s84250; VI-NEXT: s_lshl_b32 s29, s29, 164251; VI-NEXT: s_and_b32 s6, 0xffff, s64252; VI-NEXT: s_lshl_b32 s28, s28, 164253; VI-NEXT: s_and_b32 s7, 0xffff, s74254; VI-NEXT: s_lshl_b32 s27, s27, 164255; VI-NEXT: s_or_b32 s9, s9, s454256; VI-NEXT: s_or_b32 s8, s8, s294257; VI-NEXT: s_or_b32 s6, s6, s284258; VI-NEXT: s_or_b32 s7, s7, s274259; VI-NEXT: v_mov_b32_e32 v0, s44260; VI-NEXT: v_mov_b32_e32 v1, s54261; VI-NEXT: v_mov_b32_e32 v2, s444262; VI-NEXT: v_mov_b32_e32 v3, s434263; VI-NEXT: v_mov_b32_e32 v4, s424264; VI-NEXT: v_mov_b32_e32 v5, s414265; VI-NEXT: v_mov_b32_e32 v6, s404266; VI-NEXT: v_mov_b32_e32 v7, s264267; VI-NEXT: v_mov_b32_e32 v8, s254268; VI-NEXT: v_mov_b32_e32 v9, s244269; VI-NEXT: v_mov_b32_e32 v10, s234270; VI-NEXT: v_mov_b32_e32 v11, s224271; VI-NEXT: v_mov_b32_e32 v12, s214272; VI-NEXT: v_mov_b32_e32 v13, s204273; VI-NEXT: v_mov_b32_e32 v14, s194274; VI-NEXT: v_mov_b32_e32 v15, s184275; VI-NEXT: v_mov_b32_e32 v16, s174276; VI-NEXT: v_mov_b32_e32 v17, s164277; VI-NEXT: v_mov_b32_e32 v18, s154278; VI-NEXT: v_mov_b32_e32 v19, s144279; VI-NEXT: v_mov_b32_e32 v20, s134280; VI-NEXT: v_mov_b32_e32 v21, s124281; VI-NEXT: v_mov_b32_e32 v22, s114282; VI-NEXT: v_mov_b32_e32 v23, s104283; VI-NEXT: v_mov_b32_e32 v24, s94284; VI-NEXT: v_mov_b32_e32 v25, s84285; VI-NEXT: v_mov_b32_e32 v26, s64286; VI-NEXT: v_mov_b32_e32 v27, s74287; VI-NEXT: v_readlane_b32 s35, v28, 34288; VI-NEXT: v_readlane_b32 s34, v28, 24289; VI-NEXT: v_readlane_b32 s31, v28, 14290; VI-NEXT: v_readlane_b32 s30, v28, 04291; VI-NEXT: s_xor_saveexec_b64 s[4:5], -14292; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 ; 4-byte Folded Reload4293; VI-NEXT: s_mov_b64 exec, s[4:5]4294; VI-NEXT: s_waitcnt vmcnt(0)4295; VI-NEXT: s_setpc_b64 s[30:31]4296; VI-NEXT: .LBB13_4:4297; VI-NEXT: ; implicit-def: $sgpr354298; VI-NEXT: ; implicit-def: $sgpr344299; VI-NEXT: ; implicit-def: $sgpr314300; VI-NEXT: ; implicit-def: $sgpr304301; VI-NEXT: ; implicit-def: $sgpr914302; VI-NEXT: ; implicit-def: $sgpr904303; VI-NEXT: ; implicit-def: $sgpr894304; VI-NEXT: ; implicit-def: $sgpr884305; VI-NEXT: ; implicit-def: $sgpr794306; VI-NEXT: ; implicit-def: $sgpr784307; VI-NEXT: ; implicit-def: $sgpr774308; VI-NEXT: ; implicit-def: $sgpr764309; VI-NEXT: ; implicit-def: $sgpr754310; VI-NEXT: ; implicit-def: $sgpr744311; VI-NEXT: ; implicit-def: $sgpr734312; VI-NEXT: ; implicit-def: $sgpr724313; VI-NEXT: ; implicit-def: $sgpr634314; VI-NEXT: ; implicit-def: $sgpr624315; VI-NEXT: ; implicit-def: $sgpr614316; VI-NEXT: ; implicit-def: $sgpr604317; VI-NEXT: ; implicit-def: $sgpr594318; VI-NEXT: ; implicit-def: $sgpr584319; VI-NEXT: ; implicit-def: $sgpr574320; VI-NEXT: ; implicit-def: $sgpr564321; VI-NEXT: ; implicit-def: $sgpr474322; VI-NEXT: ; implicit-def: $sgpr294323; VI-NEXT: ; implicit-def: $sgpr284324; VI-NEXT: ; implicit-def: $sgpr274325; VI-NEXT: s_branch .LBB13_24326;4327; GFX9-LABEL: bitcast_v28i32_to_v56i16_scalar:4328; GFX9: ; %bb.0:4329; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4330; GFX9-NEXT: v_mov_b32_e32 v15, s164331; GFX9-NEXT: v_mov_b32_e32 v16, s174332; GFX9-NEXT: v_mov_b32_e32 v17, s184333; GFX9-NEXT: v_mov_b32_e32 v18, s194334; GFX9-NEXT: v_mov_b32_e32 v19, s204335; GFX9-NEXT: v_readfirstlane_b32 s6, v154336; GFX9-NEXT: v_mov_b32_e32 v15, s214337; GFX9-NEXT: v_readfirstlane_b32 s7, v164338; GFX9-NEXT: v_mov_b32_e32 v16, s224339; GFX9-NEXT: v_readfirstlane_b32 s8, v174340; GFX9-NEXT: v_mov_b32_e32 v17, s234341; GFX9-NEXT: v_readfirstlane_b32 s9, v184342; GFX9-NEXT: v_mov_b32_e32 v18, s244343; GFX9-NEXT: v_readfirstlane_b32 s10, v194344; GFX9-NEXT: v_mov_b32_e32 v19, s254345; GFX9-NEXT: v_readfirstlane_b32 s11, v154346; GFX9-NEXT: v_mov_b32_e32 v15, s264347; GFX9-NEXT: v_readfirstlane_b32 s12, v164348; GFX9-NEXT: v_mov_b32_e32 v16, s274349; GFX9-NEXT: v_readfirstlane_b32 s13, v174350; GFX9-NEXT: v_mov_b32_e32 v17, s284351; GFX9-NEXT: v_readfirstlane_b32 s14, v184352; GFX9-NEXT: v_mov_b32_e32 v18, s294353; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v144354; GFX9-NEXT: v_readfirstlane_b32 s15, v194355; GFX9-NEXT: v_readfirstlane_b32 s16, v154356; GFX9-NEXT: v_readfirstlane_b32 s17, v164357; GFX9-NEXT: v_readfirstlane_b32 s18, v174358; GFX9-NEXT: v_readfirstlane_b32 s19, v184359; GFX9-NEXT: v_readfirstlane_b32 s20, v04360; GFX9-NEXT: v_readfirstlane_b32 s21, v14361; GFX9-NEXT: v_readfirstlane_b32 s22, v24362; GFX9-NEXT: v_readfirstlane_b32 s23, v34363; GFX9-NEXT: v_readfirstlane_b32 s24, v44364; GFX9-NEXT: v_readfirstlane_b32 s25, v54365; GFX9-NEXT: v_readfirstlane_b32 s26, v64366; GFX9-NEXT: v_readfirstlane_b32 s27, v74367; GFX9-NEXT: v_readfirstlane_b32 s28, v84368; GFX9-NEXT: v_readfirstlane_b32 s29, v94369; GFX9-NEXT: v_readfirstlane_b32 s40, v104370; GFX9-NEXT: v_readfirstlane_b32 s41, v114371; GFX9-NEXT: v_readfirstlane_b32 s42, v124372; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec4373; GFX9-NEXT: v_readfirstlane_b32 s43, v134374; GFX9-NEXT: s_cbranch_scc0 .LBB13_44375; GFX9-NEXT: ; %bb.1: ; %cmp.false4376; GFX9-NEXT: s_lshr_b32 s44, s43, 164377; GFX9-NEXT: s_lshr_b32 s45, s42, 164378; GFX9-NEXT: s_lshr_b32 s46, s41, 164379; GFX9-NEXT: s_lshr_b32 s47, s40, 164380; GFX9-NEXT: s_lshr_b32 s56, s29, 164381; GFX9-NEXT: s_lshr_b32 s57, s28, 164382; GFX9-NEXT: s_lshr_b32 s58, s27, 164383; GFX9-NEXT: s_lshr_b32 s59, s26, 164384; GFX9-NEXT: s_lshr_b32 s60, s25, 164385; GFX9-NEXT: s_lshr_b32 s61, s24, 164386; GFX9-NEXT: s_lshr_b32 s62, s23, 164387; GFX9-NEXT: s_lshr_b32 s63, s22, 164388; GFX9-NEXT: s_lshr_b32 s72, s21, 164389; GFX9-NEXT: s_lshr_b32 s73, s20, 164390; GFX9-NEXT: s_lshr_b32 s74, s19, 164391; GFX9-NEXT: s_lshr_b32 s75, s18, 164392; GFX9-NEXT: s_lshr_b32 s76, s17, 164393; GFX9-NEXT: s_lshr_b32 s77, s16, 164394; GFX9-NEXT: s_lshr_b32 s78, s15, 164395; GFX9-NEXT: s_lshr_b32 s79, s14, 164396; GFX9-NEXT: s_lshr_b32 s88, s13, 164397; GFX9-NEXT: s_lshr_b32 s89, s12, 164398; GFX9-NEXT: s_lshr_b32 s90, s11, 164399; GFX9-NEXT: s_lshr_b32 s91, s10, 164400; GFX9-NEXT: s_lshr_b32 s92, s9, 164401; GFX9-NEXT: s_lshr_b32 s93, s8, 164402; GFX9-NEXT: s_lshr_b32 s94, s7, 164403; GFX9-NEXT: s_lshr_b32 s95, s6, 164404; GFX9-NEXT: s_cbranch_execnz .LBB13_34405; GFX9-NEXT: .LBB13_2: ; %cmp.true4406; GFX9-NEXT: s_add_i32 s43, s43, 34407; GFX9-NEXT: s_add_i32 s42, s42, 34408; GFX9-NEXT: s_add_i32 s41, s41, 34409; GFX9-NEXT: s_add_i32 s40, s40, 34410; GFX9-NEXT: s_add_i32 s29, s29, 34411; GFX9-NEXT: s_add_i32 s28, s28, 34412; GFX9-NEXT: s_add_i32 s27, s27, 34413; GFX9-NEXT: s_add_i32 s26, s26, 34414; GFX9-NEXT: s_add_i32 s25, s25, 34415; GFX9-NEXT: s_add_i32 s24, s24, 34416; GFX9-NEXT: s_add_i32 s23, s23, 34417; GFX9-NEXT: s_add_i32 s22, s22, 34418; GFX9-NEXT: s_add_i32 s21, s21, 34419; GFX9-NEXT: s_add_i32 s20, s20, 34420; GFX9-NEXT: s_add_i32 s19, s19, 34421; GFX9-NEXT: s_add_i32 s18, s18, 34422; GFX9-NEXT: s_add_i32 s17, s17, 34423; GFX9-NEXT: s_add_i32 s16, s16, 34424; GFX9-NEXT: s_add_i32 s15, s15, 34425; GFX9-NEXT: s_add_i32 s14, s14, 34426; GFX9-NEXT: s_add_i32 s13, s13, 34427; GFX9-NEXT: s_add_i32 s12, s12, 34428; GFX9-NEXT: s_add_i32 s11, s11, 34429; GFX9-NEXT: s_add_i32 s10, s10, 34430; GFX9-NEXT: s_add_i32 s9, s9, 34431; GFX9-NEXT: s_add_i32 s8, s8, 34432; GFX9-NEXT: s_add_i32 s7, s7, 34433; GFX9-NEXT: s_add_i32 s6, s6, 34434; GFX9-NEXT: s_lshr_b32 s44, s43, 164435; GFX9-NEXT: s_lshr_b32 s45, s42, 164436; GFX9-NEXT: s_lshr_b32 s46, s41, 164437; GFX9-NEXT: s_lshr_b32 s47, s40, 164438; GFX9-NEXT: s_lshr_b32 s56, s29, 164439; GFX9-NEXT: s_lshr_b32 s57, s28, 164440; GFX9-NEXT: s_lshr_b32 s58, s27, 164441; GFX9-NEXT: s_lshr_b32 s59, s26, 164442; GFX9-NEXT: s_lshr_b32 s60, s25, 164443; GFX9-NEXT: s_lshr_b32 s61, s24, 164444; GFX9-NEXT: s_lshr_b32 s62, s23, 164445; GFX9-NEXT: s_lshr_b32 s63, s22, 164446; GFX9-NEXT: s_lshr_b32 s72, s21, 164447; GFX9-NEXT: s_lshr_b32 s73, s20, 164448; GFX9-NEXT: s_lshr_b32 s74, s19, 164449; GFX9-NEXT: s_lshr_b32 s75, s18, 164450; GFX9-NEXT: s_lshr_b32 s76, s17, 164451; GFX9-NEXT: s_lshr_b32 s77, s16, 164452; GFX9-NEXT: s_lshr_b32 s78, s15, 164453; GFX9-NEXT: s_lshr_b32 s79, s14, 164454; GFX9-NEXT: s_lshr_b32 s88, s13, 164455; GFX9-NEXT: s_lshr_b32 s89, s12, 164456; GFX9-NEXT: s_lshr_b32 s90, s11, 164457; GFX9-NEXT: s_lshr_b32 s91, s10, 164458; GFX9-NEXT: s_lshr_b32 s92, s9, 164459; GFX9-NEXT: s_lshr_b32 s93, s8, 164460; GFX9-NEXT: s_lshr_b32 s94, s7, 164461; GFX9-NEXT: s_lshr_b32 s95, s6, 164462; GFX9-NEXT: .LBB13_3: ; %end4463; GFX9-NEXT: s_pack_ll_b32_b16 s4, s6, s954464; GFX9-NEXT: s_pack_ll_b32_b16 s5, s7, s944465; GFX9-NEXT: s_pack_ll_b32_b16 s6, s8, s934466; GFX9-NEXT: s_pack_ll_b32_b16 s7, s9, s924467; GFX9-NEXT: s_pack_ll_b32_b16 s8, s10, s914468; GFX9-NEXT: s_pack_ll_b32_b16 s9, s11, s904469; GFX9-NEXT: s_pack_ll_b32_b16 s10, s12, s894470; GFX9-NEXT: s_pack_ll_b32_b16 s11, s13, s884471; GFX9-NEXT: s_pack_ll_b32_b16 s12, s14, s794472; GFX9-NEXT: s_pack_ll_b32_b16 s13, s15, s784473; GFX9-NEXT: s_pack_ll_b32_b16 s14, s16, s774474; GFX9-NEXT: s_pack_ll_b32_b16 s15, s17, s764475; GFX9-NEXT: s_pack_ll_b32_b16 s16, s18, s754476; GFX9-NEXT: s_pack_ll_b32_b16 s17, s19, s744477; GFX9-NEXT: s_pack_ll_b32_b16 s18, s20, s734478; GFX9-NEXT: s_pack_ll_b32_b16 s19, s21, s724479; GFX9-NEXT: s_pack_ll_b32_b16 s20, s22, s634480; GFX9-NEXT: s_pack_ll_b32_b16 s21, s23, s624481; GFX9-NEXT: s_pack_ll_b32_b16 s22, s24, s614482; GFX9-NEXT: s_pack_ll_b32_b16 s23, s25, s604483; GFX9-NEXT: s_pack_ll_b32_b16 s24, s26, s594484; GFX9-NEXT: s_pack_ll_b32_b16 s25, s27, s584485; GFX9-NEXT: s_pack_ll_b32_b16 s26, s28, s574486; GFX9-NEXT: s_pack_ll_b32_b16 s27, s29, s564487; GFX9-NEXT: s_pack_ll_b32_b16 s28, s40, s474488; GFX9-NEXT: s_pack_ll_b32_b16 s29, s41, s464489; GFX9-NEXT: s_pack_ll_b32_b16 s40, s42, s454490; GFX9-NEXT: s_pack_ll_b32_b16 s41, s43, s444491; GFX9-NEXT: v_mov_b32_e32 v0, s44492; GFX9-NEXT: v_mov_b32_e32 v1, s54493; GFX9-NEXT: v_mov_b32_e32 v2, s64494; GFX9-NEXT: v_mov_b32_e32 v3, s74495; GFX9-NEXT: v_mov_b32_e32 v4, s84496; GFX9-NEXT: v_mov_b32_e32 v5, s94497; GFX9-NEXT: v_mov_b32_e32 v6, s104498; GFX9-NEXT: v_mov_b32_e32 v7, s114499; GFX9-NEXT: v_mov_b32_e32 v8, s124500; GFX9-NEXT: v_mov_b32_e32 v9, s134501; GFX9-NEXT: v_mov_b32_e32 v10, s144502; GFX9-NEXT: v_mov_b32_e32 v11, s154503; GFX9-NEXT: v_mov_b32_e32 v12, s164504; GFX9-NEXT: v_mov_b32_e32 v13, s174505; GFX9-NEXT: v_mov_b32_e32 v14, s184506; GFX9-NEXT: v_mov_b32_e32 v15, s194507; GFX9-NEXT: v_mov_b32_e32 v16, s204508; GFX9-NEXT: v_mov_b32_e32 v17, s214509; GFX9-NEXT: v_mov_b32_e32 v18, s224510; GFX9-NEXT: v_mov_b32_e32 v19, s234511; GFX9-NEXT: v_mov_b32_e32 v20, s244512; GFX9-NEXT: v_mov_b32_e32 v21, s254513; GFX9-NEXT: v_mov_b32_e32 v22, s264514; GFX9-NEXT: v_mov_b32_e32 v23, s274515; GFX9-NEXT: v_mov_b32_e32 v24, s284516; GFX9-NEXT: v_mov_b32_e32 v25, s294517; GFX9-NEXT: v_mov_b32_e32 v26, s404518; GFX9-NEXT: v_mov_b32_e32 v27, s414519; GFX9-NEXT: s_setpc_b64 s[30:31]4520; GFX9-NEXT: .LBB13_4:4521; GFX9-NEXT: ; implicit-def: $sgpr954522; GFX9-NEXT: ; implicit-def: $sgpr944523; GFX9-NEXT: ; implicit-def: $sgpr934524; GFX9-NEXT: ; implicit-def: $sgpr924525; GFX9-NEXT: ; implicit-def: $sgpr914526; GFX9-NEXT: ; implicit-def: $sgpr904527; GFX9-NEXT: ; implicit-def: $sgpr894528; GFX9-NEXT: ; implicit-def: $sgpr884529; GFX9-NEXT: ; implicit-def: $sgpr794530; GFX9-NEXT: ; implicit-def: $sgpr784531; GFX9-NEXT: ; implicit-def: $sgpr774532; GFX9-NEXT: ; implicit-def: $sgpr764533; GFX9-NEXT: ; implicit-def: $sgpr754534; GFX9-NEXT: ; implicit-def: $sgpr744535; GFX9-NEXT: ; implicit-def: $sgpr734536; GFX9-NEXT: ; implicit-def: $sgpr724537; GFX9-NEXT: ; implicit-def: $sgpr634538; GFX9-NEXT: ; implicit-def: $sgpr624539; GFX9-NEXT: ; implicit-def: $sgpr614540; GFX9-NEXT: ; implicit-def: $sgpr604541; GFX9-NEXT: ; implicit-def: $sgpr594542; GFX9-NEXT: ; implicit-def: $sgpr584543; GFX9-NEXT: ; implicit-def: $sgpr574544; GFX9-NEXT: ; implicit-def: $sgpr564545; GFX9-NEXT: ; implicit-def: $sgpr474546; GFX9-NEXT: ; implicit-def: $sgpr464547; GFX9-NEXT: ; implicit-def: $sgpr454548; GFX9-NEXT: ; implicit-def: $sgpr444549; GFX9-NEXT: s_branch .LBB13_24550;4551; GFX11-LABEL: bitcast_v28i32_to_v56i16_scalar:4552; GFX11: ; %bb.0:4553; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4554; GFX11-NEXT: v_dual_mov_b32 v11, s0 :: v_dual_mov_b32 v12, s14555; GFX11-NEXT: v_dual_mov_b32 v13, s2 :: v_dual_mov_b32 v14, s34556; GFX11-NEXT: v_dual_mov_b32 v15, s16 :: v_dual_mov_b32 v16, s174557; GFX11-NEXT: v_dual_mov_b32 v17, s18 :: v_dual_mov_b32 v18, s194558; GFX11-NEXT: v_dual_mov_b32 v19, s20 :: v_dual_mov_b32 v20, s214559; GFX11-NEXT: v_dual_mov_b32 v21, s22 :: v_dual_mov_b32 v22, s234560; GFX11-NEXT: v_dual_mov_b32 v23, s24 :: v_dual_mov_b32 v24, s254561; GFX11-NEXT: v_dual_mov_b32 v25, s26 :: v_dual_mov_b32 v26, s274562; GFX11-NEXT: v_dual_mov_b32 v27, s28 :: v_dual_mov_b32 v28, s294563; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v104564; GFX11-NEXT: v_readfirstlane_b32 s0, v114565; GFX11-NEXT: v_readfirstlane_b32 s1, v124566; GFX11-NEXT: v_readfirstlane_b32 s2, v134567; GFX11-NEXT: v_readfirstlane_b32 s3, v144568; GFX11-NEXT: v_readfirstlane_b32 s4, v154569; GFX11-NEXT: v_readfirstlane_b32 s5, v164570; GFX11-NEXT: v_readfirstlane_b32 s6, v174571; GFX11-NEXT: v_readfirstlane_b32 s7, v184572; GFX11-NEXT: v_readfirstlane_b32 s8, v194573; GFX11-NEXT: v_readfirstlane_b32 s9, v204574; GFX11-NEXT: v_readfirstlane_b32 s10, v214575; GFX11-NEXT: v_readfirstlane_b32 s11, v224576; GFX11-NEXT: v_readfirstlane_b32 s12, v234577; GFX11-NEXT: v_readfirstlane_b32 s13, v244578; GFX11-NEXT: v_readfirstlane_b32 s14, v254579; GFX11-NEXT: v_readfirstlane_b32 s15, v264580; GFX11-NEXT: v_readfirstlane_b32 s16, v274581; GFX11-NEXT: v_readfirstlane_b32 s17, v284582; GFX11-NEXT: v_readfirstlane_b32 s18, v04583; GFX11-NEXT: v_readfirstlane_b32 s19, v14584; GFX11-NEXT: v_readfirstlane_b32 s20, v24585; GFX11-NEXT: v_readfirstlane_b32 s21, v34586; GFX11-NEXT: v_readfirstlane_b32 s22, v44587; GFX11-NEXT: v_readfirstlane_b32 s23, v54588; GFX11-NEXT: v_readfirstlane_b32 s24, v64589; GFX11-NEXT: v_readfirstlane_b32 s25, v74590; GFX11-NEXT: v_readfirstlane_b32 s27, v84591; GFX11-NEXT: v_readfirstlane_b32 s26, v94592; GFX11-NEXT: s_mov_b32 s90, 04593; GFX11-NEXT: s_and_b32 s28, vcc_lo, exec_lo4594; GFX11-NEXT: s_cbranch_scc0 .LBB13_44595; GFX11-NEXT: ; %bb.1: ; %cmp.false4596; GFX11-NEXT: s_lshr_b32 s28, s26, 164597; GFX11-NEXT: s_lshr_b32 s29, s27, 164598; GFX11-NEXT: s_lshr_b32 s40, s25, 164599; GFX11-NEXT: s_lshr_b32 s41, s24, 164600; GFX11-NEXT: s_lshr_b32 s42, s23, 164601; GFX11-NEXT: s_lshr_b32 s43, s22, 164602; GFX11-NEXT: s_lshr_b32 s44, s21, 164603; GFX11-NEXT: s_lshr_b32 s45, s20, 164604; GFX11-NEXT: s_lshr_b32 s46, s19, 164605; GFX11-NEXT: s_lshr_b32 s47, s18, 164606; GFX11-NEXT: s_lshr_b32 s56, s17, 164607; GFX11-NEXT: s_lshr_b32 s57, s16, 164608; GFX11-NEXT: s_lshr_b32 s58, s15, 164609; GFX11-NEXT: s_lshr_b32 s59, s14, 164610; GFX11-NEXT: s_lshr_b32 s60, s13, 164611; GFX11-NEXT: s_lshr_b32 s61, s12, 164612; GFX11-NEXT: s_lshr_b32 s62, s11, 164613; GFX11-NEXT: s_lshr_b32 s63, s10, 164614; GFX11-NEXT: s_lshr_b32 s72, s9, 164615; GFX11-NEXT: s_lshr_b32 s73, s8, 164616; GFX11-NEXT: s_lshr_b32 s74, s7, 164617; GFX11-NEXT: s_lshr_b32 s75, s6, 164618; GFX11-NEXT: s_lshr_b32 s76, s5, 164619; GFX11-NEXT: s_lshr_b32 s77, s4, 164620; GFX11-NEXT: s_lshr_b32 s78, s3, 164621; GFX11-NEXT: s_lshr_b32 s79, s2, 164622; GFX11-NEXT: s_lshr_b32 s88, s1, 164623; GFX11-NEXT: s_lshr_b32 s89, s0, 164624; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s904625; GFX11-NEXT: s_cbranch_vccnz .LBB13_34626; GFX11-NEXT: .LBB13_2: ; %cmp.true4627; GFX11-NEXT: s_add_i32 s26, s26, 34628; GFX11-NEXT: s_add_i32 s27, s27, 34629; GFX11-NEXT: s_add_i32 s25, s25, 34630; GFX11-NEXT: s_add_i32 s24, s24, 34631; GFX11-NEXT: s_add_i32 s23, s23, 34632; GFX11-NEXT: s_add_i32 s22, s22, 34633; GFX11-NEXT: s_add_i32 s21, s21, 34634; GFX11-NEXT: s_add_i32 s20, s20, 34635; GFX11-NEXT: s_add_i32 s19, s19, 34636; GFX11-NEXT: s_add_i32 s18, s18, 34637; GFX11-NEXT: s_add_i32 s17, s17, 34638; GFX11-NEXT: s_add_i32 s16, s16, 34639; GFX11-NEXT: s_add_i32 s15, s15, 34640; GFX11-NEXT: s_add_i32 s14, s14, 34641; GFX11-NEXT: s_add_i32 s13, s13, 34642; GFX11-NEXT: s_add_i32 s12, s12, 34643; GFX11-NEXT: s_add_i32 s11, s11, 34644; GFX11-NEXT: s_add_i32 s10, s10, 34645; GFX11-NEXT: s_add_i32 s9, s9, 34646; GFX11-NEXT: s_add_i32 s8, s8, 34647; GFX11-NEXT: s_add_i32 s7, s7, 34648; GFX11-NEXT: s_add_i32 s6, s6, 34649; GFX11-NEXT: s_add_i32 s5, s5, 34650; GFX11-NEXT: s_add_i32 s4, s4, 34651; GFX11-NEXT: s_add_i32 s3, s3, 34652; GFX11-NEXT: s_add_i32 s2, s2, 34653; GFX11-NEXT: s_add_i32 s1, s1, 34654; GFX11-NEXT: s_add_i32 s0, s0, 34655; GFX11-NEXT: s_lshr_b32 s28, s26, 164656; GFX11-NEXT: s_lshr_b32 s29, s27, 164657; GFX11-NEXT: s_lshr_b32 s40, s25, 164658; GFX11-NEXT: s_lshr_b32 s41, s24, 164659; GFX11-NEXT: s_lshr_b32 s42, s23, 164660; GFX11-NEXT: s_lshr_b32 s43, s22, 164661; GFX11-NEXT: s_lshr_b32 s44, s21, 164662; GFX11-NEXT: s_lshr_b32 s45, s20, 164663; GFX11-NEXT: s_lshr_b32 s46, s19, 164664; GFX11-NEXT: s_lshr_b32 s47, s18, 164665; GFX11-NEXT: s_lshr_b32 s56, s17, 164666; GFX11-NEXT: s_lshr_b32 s57, s16, 164667; GFX11-NEXT: s_lshr_b32 s58, s15, 164668; GFX11-NEXT: s_lshr_b32 s59, s14, 164669; GFX11-NEXT: s_lshr_b32 s60, s13, 164670; GFX11-NEXT: s_lshr_b32 s61, s12, 164671; GFX11-NEXT: s_lshr_b32 s62, s11, 164672; GFX11-NEXT: s_lshr_b32 s63, s10, 164673; GFX11-NEXT: s_lshr_b32 s72, s9, 164674; GFX11-NEXT: s_lshr_b32 s73, s8, 164675; GFX11-NEXT: s_lshr_b32 s74, s7, 164676; GFX11-NEXT: s_lshr_b32 s75, s6, 164677; GFX11-NEXT: s_lshr_b32 s76, s5, 164678; GFX11-NEXT: s_lshr_b32 s77, s4, 164679; GFX11-NEXT: s_lshr_b32 s78, s3, 164680; GFX11-NEXT: s_lshr_b32 s79, s2, 164681; GFX11-NEXT: s_lshr_b32 s88, s1, 164682; GFX11-NEXT: s_lshr_b32 s89, s0, 164683; GFX11-NEXT: .LBB13_3: ; %end4684; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)4685; GFX11-NEXT: s_pack_ll_b32_b16 s0, s0, s894686; GFX11-NEXT: s_pack_ll_b32_b16 s1, s1, s884687; GFX11-NEXT: s_pack_ll_b32_b16 s2, s2, s794688; GFX11-NEXT: s_pack_ll_b32_b16 s3, s3, s784689; GFX11-NEXT: s_pack_ll_b32_b16 s4, s4, s774690; GFX11-NEXT: s_pack_ll_b32_b16 s5, s5, s764691; GFX11-NEXT: s_pack_ll_b32_b16 s6, s6, s754692; GFX11-NEXT: s_pack_ll_b32_b16 s7, s7, s744693; GFX11-NEXT: s_pack_ll_b32_b16 s8, s8, s734694; GFX11-NEXT: s_pack_ll_b32_b16 s9, s9, s724695; GFX11-NEXT: s_pack_ll_b32_b16 s10, s10, s634696; GFX11-NEXT: s_pack_ll_b32_b16 s11, s11, s624697; GFX11-NEXT: s_pack_ll_b32_b16 s12, s12, s614698; GFX11-NEXT: s_pack_ll_b32_b16 s13, s13, s604699; GFX11-NEXT: s_pack_ll_b32_b16 s14, s14, s594700; GFX11-NEXT: s_pack_ll_b32_b16 s15, s15, s584701; GFX11-NEXT: s_pack_ll_b32_b16 s16, s16, s574702; GFX11-NEXT: s_pack_ll_b32_b16 s17, s17, s564703; GFX11-NEXT: s_pack_ll_b32_b16 s18, s18, s474704; GFX11-NEXT: s_pack_ll_b32_b16 s19, s19, s464705; GFX11-NEXT: s_pack_ll_b32_b16 s20, s20, s454706; GFX11-NEXT: s_pack_ll_b32_b16 s21, s21, s444707; GFX11-NEXT: s_pack_ll_b32_b16 s22, s22, s434708; GFX11-NEXT: s_pack_ll_b32_b16 s23, s23, s424709; GFX11-NEXT: s_pack_ll_b32_b16 s24, s24, s414710; GFX11-NEXT: s_pack_ll_b32_b16 s25, s25, s404711; GFX11-NEXT: s_pack_ll_b32_b16 s27, s27, s294712; GFX11-NEXT: s_pack_ll_b32_b16 s26, s26, s284713; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s14714; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s34715; GFX11-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s54716; GFX11-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s74717; GFX11-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s94718; GFX11-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s114719; GFX11-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s134720; GFX11-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s154721; GFX11-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s174722; GFX11-NEXT: v_dual_mov_b32 v18, s18 :: v_dual_mov_b32 v19, s194723; GFX11-NEXT: v_dual_mov_b32 v20, s20 :: v_dual_mov_b32 v21, s214724; GFX11-NEXT: v_dual_mov_b32 v22, s22 :: v_dual_mov_b32 v23, s234725; GFX11-NEXT: v_dual_mov_b32 v24, s24 :: v_dual_mov_b32 v25, s254726; GFX11-NEXT: v_dual_mov_b32 v26, s27 :: v_dual_mov_b32 v27, s264727; GFX11-NEXT: s_setpc_b64 s[30:31]4728; GFX11-NEXT: .LBB13_4:4729; GFX11-NEXT: ; implicit-def: $sgpr894730; GFX11-NEXT: ; implicit-def: $sgpr884731; GFX11-NEXT: ; implicit-def: $sgpr794732; GFX11-NEXT: ; implicit-def: $sgpr784733; GFX11-NEXT: ; implicit-def: $sgpr774734; GFX11-NEXT: ; implicit-def: $sgpr764735; GFX11-NEXT: ; implicit-def: $sgpr754736; GFX11-NEXT: ; implicit-def: $sgpr744737; GFX11-NEXT: ; implicit-def: $sgpr734738; GFX11-NEXT: ; implicit-def: $sgpr724739; GFX11-NEXT: ; implicit-def: $sgpr634740; GFX11-NEXT: ; implicit-def: $sgpr624741; GFX11-NEXT: ; implicit-def: $sgpr614742; GFX11-NEXT: ; implicit-def: $sgpr604743; GFX11-NEXT: ; implicit-def: $sgpr594744; GFX11-NEXT: ; implicit-def: $sgpr584745; GFX11-NEXT: ; implicit-def: $sgpr574746; GFX11-NEXT: ; implicit-def: $sgpr564747; GFX11-NEXT: ; implicit-def: $sgpr474748; GFX11-NEXT: ; implicit-def: $sgpr464749; GFX11-NEXT: ; implicit-def: $sgpr454750; GFX11-NEXT: ; implicit-def: $sgpr444751; GFX11-NEXT: ; implicit-def: $sgpr434752; GFX11-NEXT: ; implicit-def: $sgpr424753; GFX11-NEXT: ; implicit-def: $sgpr414754; GFX11-NEXT: ; implicit-def: $sgpr404755; GFX11-NEXT: ; implicit-def: $sgpr294756; GFX11-NEXT: ; implicit-def: $sgpr284757; GFX11-NEXT: s_branch .LBB13_24758 %cmp = icmp eq i32 %b, 04759 br i1 %cmp, label %cmp.true, label %cmp.false4760 4761cmp.true:4762 %a1 = add <28 x i32> %a, splat (i32 3)4763 %a2 = bitcast <28 x i32> %a1 to <56 x i16>4764 br label %end4765 4766cmp.false:4767 %a3 = bitcast <28 x i32> %a to <56 x i16>4768 br label %end4769 4770end:4771 %phi = phi <56 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]4772 ret <56 x i16> %phi4773}4774 4775define <28 x i32> @bitcast_v56i16_to_v28i32(<56 x i16> %a, i32 %b) {4776; SI-LABEL: bitcast_v56i16_to_v28i32:4777; SI: ; %bb.0:4778; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4779; SI-NEXT: v_mov_b32_e32 v54, v24780; SI-NEXT: v_mov_b32_e32 v55, v04781; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:964782; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:924783; SI-NEXT: v_mov_b32_e32 v53, v44784; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill4785; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill4786; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill4787; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill4788; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill4789; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill4790; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill4791; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill4792; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill4793; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill4794; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill4795; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill4796; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill4797; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill4798; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill4799; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill4800; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill4801; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill4802; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill4803; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill4804; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill4805; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill4806; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill4807; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill4808; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill4809; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill4810; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill4811; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill4812; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill4813; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v14814; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v34815; SI-NEXT: v_lshlrev_b32_e32 v57, 16, v54816; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v74817; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v94818; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v114819; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v134820; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v154821; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v174822; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v194823; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v214824; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v234825; SI-NEXT: v_lshlrev_b32_e32 v43, 16, v254826; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v274827; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v294828; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:44829; SI-NEXT: s_waitcnt vmcnt(14)4830; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v04831; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill4832; SI-NEXT: s_waitcnt expcnt(0)4833; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:884834; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:844835; SI-NEXT: s_waitcnt vmcnt(1)4836; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v24837; SI-NEXT: s_waitcnt vmcnt(0)4838; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill4839; SI-NEXT: s_waitcnt expcnt(0)4840; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:804841; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:764842; SI-NEXT: s_waitcnt vmcnt(1)4843; SI-NEXT: v_lshlrev_b32_e32 v62, 16, v44844; SI-NEXT: s_waitcnt vmcnt(0)4845; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill4846; SI-NEXT: s_waitcnt expcnt(0)4847; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:724848; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:684849; SI-NEXT: s_waitcnt vmcnt(1)4850; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v64851; SI-NEXT: s_waitcnt vmcnt(0)4852; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill4853; SI-NEXT: s_waitcnt expcnt(0)4854; SI-NEXT: buffer_load_dword v8, off, s[0:3], s324855; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:1004856; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:324857; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:244858; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:164859; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84860; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:644861; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:604862; SI-NEXT: s_waitcnt vmcnt(7)4863; SI-NEXT: v_lshlrev_b32_e32 v47, 16, v84864; SI-NEXT: s_waitcnt vmcnt(6)4865; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v104866; SI-NEXT: s_waitcnt vmcnt(5)4867; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v124868; SI-NEXT: s_waitcnt vmcnt(4)4869; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v144870; SI-NEXT: s_waitcnt vmcnt(3)4871; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v164872; SI-NEXT: s_waitcnt vmcnt(2)4873; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v184874; SI-NEXT: s_waitcnt vmcnt(1)4875; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v204876; SI-NEXT: s_waitcnt vmcnt(0)4877; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill4878; SI-NEXT: s_waitcnt expcnt(0)4879; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:564880; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:404881; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:484882; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:524883; SI-NEXT: s_waitcnt vmcnt(3)4884; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v224885; SI-NEXT: s_waitcnt vmcnt(2)4886; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v244887; SI-NEXT: s_waitcnt vmcnt(1)4888; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v264889; SI-NEXT: s_waitcnt vmcnt(0)4890; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill4891; SI-NEXT: s_waitcnt expcnt(0)4892; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:444893; SI-NEXT: s_waitcnt vmcnt(0)4894; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill4895; SI-NEXT: s_waitcnt expcnt(0)4896; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:364897; SI-NEXT: s_waitcnt vmcnt(0)4898; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill4899; SI-NEXT: s_waitcnt expcnt(0)4900; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:284901; SI-NEXT: s_waitcnt vmcnt(0)4902; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill4903; SI-NEXT: s_waitcnt expcnt(0)4904; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:204905; SI-NEXT: s_waitcnt vmcnt(0)4906; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill4907; SI-NEXT: s_waitcnt expcnt(0)4908; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:124909; SI-NEXT: s_waitcnt vmcnt(0)4910; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill4911; 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_vgpr314912; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc4913; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]4914; SI-NEXT: s_cbranch_execz .LBB14_24915; SI-NEXT: ; %bb.1: ; %cmp.false4916; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload4917; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload4918; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload4919; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload4920; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload4921; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload4922; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload4923; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload4924; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload4925; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload4926; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload4927; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload4928; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload4929; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload4930; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload4931; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload4932; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload4933; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload4934; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload4935; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload4936; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload4937; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload4938; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload4939; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload4940; SI-NEXT: ; implicit-def: $vgpr284941; SI-NEXT: ; kill: killed $vgpr284942; SI-NEXT: ; implicit-def: $vgpr284943; SI-NEXT: ; kill: killed $vgpr284944; SI-NEXT: ; implicit-def: $vgpr284945; SI-NEXT: ; kill: killed $vgpr284946; SI-NEXT: ; implicit-def: $vgpr284947; SI-NEXT: ; kill: killed $vgpr284948; SI-NEXT: ; implicit-def: $vgpr284949; SI-NEXT: ; kill: killed $vgpr284950; SI-NEXT: ; implicit-def: $vgpr284951; SI-NEXT: ; kill: killed $vgpr284952; SI-NEXT: ; implicit-def: $vgpr284953; SI-NEXT: ; kill: killed $vgpr284954; SI-NEXT: ; implicit-def: $vgpr284955; SI-NEXT: ; kill: killed $vgpr284956; SI-NEXT: ; implicit-def: $vgpr284957; SI-NEXT: ; kill: killed $vgpr284958; SI-NEXT: ; implicit-def: $vgpr284959; SI-NEXT: ; kill: killed $vgpr284960; SI-NEXT: ; implicit-def: $vgpr284961; SI-NEXT: ; kill: killed $vgpr284962; SI-NEXT: ; implicit-def: $vgpr284963; SI-NEXT: ; kill: killed $vgpr284964; SI-NEXT: ; implicit-def: $vgpr284965; SI-NEXT: ; kill: killed $vgpr284966; SI-NEXT: ; implicit-def: $vgpr284967; SI-NEXT: ; kill: killed $vgpr284968; SI-NEXT: ; implicit-def: $vgpr284969; SI-NEXT: ; kill: killed $vgpr284970; SI-NEXT: ; implicit-def: $vgpr284971; SI-NEXT: ; kill: killed $vgpr284972; SI-NEXT: ; implicit-def: $vgpr284973; SI-NEXT: ; kill: killed $vgpr284974; SI-NEXT: ; implicit-def: $vgpr284975; SI-NEXT: ; kill: killed $vgpr284976; SI-NEXT: ; implicit-def: $vgpr284977; SI-NEXT: ; kill: killed $vgpr284978; SI-NEXT: ; implicit-def: $vgpr284979; SI-NEXT: ; kill: killed $vgpr284980; SI-NEXT: ; implicit-def: $vgpr284981; SI-NEXT: ; kill: killed $vgpr284982; SI-NEXT: ; implicit-def: $vgpr284983; SI-NEXT: v_and_b32_e32 v0, 0xffff, v554984; SI-NEXT: v_and_b32_e32 v1, 0xffff, v544985; SI-NEXT: v_and_b32_e32 v2, 0xffff, v534986; SI-NEXT: v_and_b32_e32 v16, 0xffff, v594987; SI-NEXT: ; kill: killed $vgpr284988; SI-NEXT: ; implicit-def: $vgpr284989; SI-NEXT: v_or_b32_e32 v0, v0, v584990; SI-NEXT: v_or_b32_e32 v1, v1, v524991; SI-NEXT: v_or_b32_e32 v2, v2, v574992; SI-NEXT: v_or_b32_e32 v16, v16, v494993; SI-NEXT: ; implicit-def: $vgpr554994; SI-NEXT: ; implicit-def: $vgpr544995; SI-NEXT: ; implicit-def: $vgpr534996; SI-NEXT: ; implicit-def: $vgpr594997; SI-NEXT: ; kill: killed $vgpr284998; SI-NEXT: ; implicit-def: $vgpr284999; SI-NEXT: ; kill: killed $vgpr285000; SI-NEXT: ; implicit-def: $vgpr585001; SI-NEXT: ; implicit-def: $vgpr525002; SI-NEXT: ; implicit-def: $vgpr575003; SI-NEXT: ; implicit-def: $vgpr495004; SI-NEXT: s_waitcnt vmcnt(14)5005; SI-NEXT: v_and_b32_e32 v3, 0xffff, v35006; SI-NEXT: v_and_b32_e32 v4, 0xffff, v45007; SI-NEXT: v_and_b32_e32 v5, 0xffff, v55008; SI-NEXT: v_and_b32_e32 v17, 0xffff, v175009; SI-NEXT: v_and_b32_e32 v18, 0xffff, v185010; SI-NEXT: v_and_b32_e32 v19, 0xffff, v195011; SI-NEXT: v_and_b32_e32 v20, 0xffff, v205012; SI-NEXT: v_and_b32_e32 v21, 0xffff, v215013; SI-NEXT: v_and_b32_e32 v6, 0xffff, v65014; SI-NEXT: v_and_b32_e32 v7, 0xffff, v75015; SI-NEXT: s_waitcnt vmcnt(13)5016; SI-NEXT: v_and_b32_e32 v9, 0xffff, v95017; SI-NEXT: s_waitcnt vmcnt(12)5018; SI-NEXT: v_and_b32_e32 v10, 0xffff, v105019; SI-NEXT: s_waitcnt vmcnt(11)5020; SI-NEXT: v_and_b32_e32 v22, 0xffff, v225021; SI-NEXT: s_waitcnt vmcnt(10)5022; SI-NEXT: v_and_b32_e32 v8, 0xffff, v85023; SI-NEXT: s_waitcnt vmcnt(9)5024; SI-NEXT: v_and_b32_e32 v23, 0xffff, v235025; SI-NEXT: s_waitcnt vmcnt(8)5026; SI-NEXT: v_and_b32_e32 v11, 0xffff, v115027; SI-NEXT: s_waitcnt vmcnt(7)5028; SI-NEXT: v_and_b32_e32 v12, 0xffff, v125029; SI-NEXT: s_waitcnt vmcnt(6)5030; SI-NEXT: v_and_b32_e32 v13, 0xffff, v135031; SI-NEXT: s_waitcnt vmcnt(5)5032; SI-NEXT: v_and_b32_e32 v14, 0xffff, v145033; SI-NEXT: s_waitcnt vmcnt(4)5034; SI-NEXT: v_and_b32_e32 v15, 0xffff, v155035; SI-NEXT: s_waitcnt vmcnt(3)5036; SI-NEXT: v_and_b32_e32 v24, 0xffff, v245037; SI-NEXT: s_waitcnt vmcnt(2)5038; SI-NEXT: v_and_b32_e32 v25, 0xffff, v255039; SI-NEXT: s_waitcnt vmcnt(1)5040; SI-NEXT: v_and_b32_e32 v26, 0xffff, v265041; SI-NEXT: s_waitcnt vmcnt(0)5042; SI-NEXT: v_and_b32_e32 v27, 0xffff, v275043; SI-NEXT: v_or_b32_e32 v3, v3, v515044; SI-NEXT: v_or_b32_e32 v4, v4, v565045; SI-NEXT: v_or_b32_e32 v5, v5, v505046; SI-NEXT: v_or_b32_e32 v6, v6, v465047; SI-NEXT: v_or_b32_e32 v7, v7, v455048; SI-NEXT: v_or_b32_e32 v8, v8, v395049; SI-NEXT: v_or_b32_e32 v9, v9, v375050; SI-NEXT: v_or_b32_e32 v10, v10, v365051; SI-NEXT: v_or_b32_e32 v11, v11, v345052; SI-NEXT: v_or_b32_e32 v12, v12, v435053; SI-NEXT: v_or_b32_e32 v13, v13, v425054; SI-NEXT: v_or_b32_e32 v14, v14, v405055; SI-NEXT: v_or_b32_e32 v15, v15, v475056; SI-NEXT: v_or_b32_e32 v17, v17, v485057; SI-NEXT: v_or_b32_e32 v18, v18, v385058; SI-NEXT: v_or_b32_e32 v19, v19, v445059; SI-NEXT: v_or_b32_e32 v20, v20, v355060; SI-NEXT: v_or_b32_e32 v21, v21, v335061; SI-NEXT: v_or_b32_e32 v22, v22, v325062; SI-NEXT: v_or_b32_e32 v23, v23, v415063; SI-NEXT: v_or_b32_e32 v24, v24, v635064; SI-NEXT: v_or_b32_e32 v25, v25, v625065; SI-NEXT: v_or_b32_e32 v26, v26, v615066; SI-NEXT: v_or_b32_e32 v27, v27, v605067; SI-NEXT: ; implicit-def: $vgpr515068; SI-NEXT: ; implicit-def: $vgpr565069; SI-NEXT: ; implicit-def: $vgpr505070; SI-NEXT: ; implicit-def: $vgpr465071; SI-NEXT: ; implicit-def: $vgpr455072; SI-NEXT: ; implicit-def: $vgpr395073; SI-NEXT: ; implicit-def: $vgpr375074; SI-NEXT: ; implicit-def: $vgpr365075; SI-NEXT: ; implicit-def: $vgpr345076; SI-NEXT: ; implicit-def: $vgpr435077; SI-NEXT: ; implicit-def: $vgpr425078; SI-NEXT: ; implicit-def: $vgpr405079; SI-NEXT: ; implicit-def: $vgpr475080; SI-NEXT: ; implicit-def: $vgpr485081; SI-NEXT: ; implicit-def: $vgpr385082; SI-NEXT: ; implicit-def: $vgpr445083; SI-NEXT: ; implicit-def: $vgpr355084; SI-NEXT: ; implicit-def: $vgpr335085; SI-NEXT: ; implicit-def: $vgpr325086; SI-NEXT: ; implicit-def: $vgpr415087; SI-NEXT: ; implicit-def: $vgpr635088; SI-NEXT: ; implicit-def: $vgpr625089; SI-NEXT: ; implicit-def: $vgpr615090; SI-NEXT: ; implicit-def: $vgpr605091; SI-NEXT: .LBB14_2: ; %Flow5092; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]5093; SI-NEXT: s_cbranch_execz .LBB14_45094; SI-NEXT: ; %bb.3: ; %cmp.true5095; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload5096; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload5097; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload5098; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload5099; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload5100; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload5101; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload5102; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload5103; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload5104; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload5105; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload5106; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload5107; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload5108; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload5109; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload5110; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload5111; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload5112; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload5113; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload5114; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload5115; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload5116; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload5117; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload5118; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload5119; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v555120; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v545121; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v535122; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v595123; SI-NEXT: v_and_b32_e32 v0, 0xffff, v05124; SI-NEXT: v_and_b32_e32 v1, 0xffff, v15125; SI-NEXT: v_and_b32_e32 v2, 0xffff, v25126; SI-NEXT: v_and_b32_e32 v16, 0xffff, v165127; SI-NEXT: v_or_b32_e32 v0, v58, v05128; SI-NEXT: s_mov_b32 s6, 0x300005129; SI-NEXT: v_or_b32_e32 v1, v52, v15130; SI-NEXT: v_or_b32_e32 v2, v57, v25131; SI-NEXT: v_or_b32_e32 v16, v49, v165132; SI-NEXT: v_add_i32_e32 v0, vcc, 0x30000, v05133; SI-NEXT: v_add_i32_e32 v1, vcc, s6, v15134; SI-NEXT: v_add_i32_e32 v2, vcc, s6, v25135; SI-NEXT: v_add_i32_e32 v16, vcc, s6, v165136; SI-NEXT: s_waitcnt vmcnt(14)5137; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v35138; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v45139; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v55140; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v175141; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v65142; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v75143; SI-NEXT: s_waitcnt vmcnt(13)5144; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v95145; SI-NEXT: s_waitcnt vmcnt(10)5146; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v85147; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v105148; SI-NEXT: s_waitcnt vmcnt(8)5149; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v115150; SI-NEXT: s_waitcnt vmcnt(7)5151; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v125152; SI-NEXT: s_waitcnt vmcnt(6)5153; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v135154; SI-NEXT: s_waitcnt vmcnt(5)5155; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v145156; SI-NEXT: s_waitcnt vmcnt(4)5157; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v155158; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v185159; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v195160; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v205161; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v215162; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v225163; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v235164; SI-NEXT: s_waitcnt vmcnt(3)5165; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v245166; SI-NEXT: s_waitcnt vmcnt(2)5167; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v255168; SI-NEXT: s_waitcnt vmcnt(1)5169; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v265170; SI-NEXT: s_waitcnt vmcnt(0)5171; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v275172; SI-NEXT: v_and_b32_e32 v3, 0xffff, v35173; SI-NEXT: v_and_b32_e32 v4, 0xffff, v45174; SI-NEXT: v_and_b32_e32 v5, 0xffff, v55175; SI-NEXT: v_and_b32_e32 v6, 0xffff, v65176; SI-NEXT: v_and_b32_e32 v7, 0xffff, v75177; SI-NEXT: v_and_b32_e32 v8, 0xffff, v85178; SI-NEXT: v_and_b32_e32 v9, 0xffff, v95179; SI-NEXT: v_and_b32_e32 v10, 0xffff, v105180; SI-NEXT: v_and_b32_e32 v11, 0xffff, v115181; SI-NEXT: v_and_b32_e32 v12, 0xffff, v125182; SI-NEXT: v_and_b32_e32 v13, 0xffff, v135183; SI-NEXT: v_and_b32_e32 v14, 0xffff, v145184; SI-NEXT: v_and_b32_e32 v15, 0xffff, v155185; SI-NEXT: v_and_b32_e32 v17, 0xffff, v175186; SI-NEXT: v_and_b32_e32 v18, 0xffff, v185187; SI-NEXT: v_and_b32_e32 v19, 0xffff, v195188; SI-NEXT: v_and_b32_e32 v20, 0xffff, v205189; SI-NEXT: v_and_b32_e32 v21, 0xffff, v215190; SI-NEXT: v_and_b32_e32 v22, 0xffff, v225191; SI-NEXT: v_and_b32_e32 v23, 0xffff, v235192; SI-NEXT: v_and_b32_e32 v24, 0xffff, v245193; SI-NEXT: v_and_b32_e32 v25, 0xffff, v255194; SI-NEXT: v_and_b32_e32 v26, 0xffff, v265195; SI-NEXT: v_and_b32_e32 v27, 0xffff, v275196; SI-NEXT: v_or_b32_e32 v3, v51, v35197; SI-NEXT: v_or_b32_e32 v4, v56, v45198; SI-NEXT: v_or_b32_e32 v5, v50, v55199; SI-NEXT: v_or_b32_e32 v6, v46, v65200; SI-NEXT: v_or_b32_e32 v7, v45, v75201; SI-NEXT: v_or_b32_e32 v8, v39, v85202; SI-NEXT: v_or_b32_e32 v9, v37, v95203; SI-NEXT: v_or_b32_e32 v10, v36, v105204; SI-NEXT: v_or_b32_e32 v11, v34, v115205; SI-NEXT: v_or_b32_e32 v12, v43, v125206; SI-NEXT: v_or_b32_e32 v13, v42, v135207; SI-NEXT: v_or_b32_e32 v14, v40, v145208; SI-NEXT: v_or_b32_e32 v15, v47, v155209; SI-NEXT: v_or_b32_e32 v17, v48, v175210; SI-NEXT: v_or_b32_e32 v18, v38, v185211; SI-NEXT: v_or_b32_e32 v19, v44, v195212; SI-NEXT: v_or_b32_e32 v20, v35, v205213; SI-NEXT: v_or_b32_e32 v21, v33, v215214; SI-NEXT: v_or_b32_e32 v22, v32, v225215; SI-NEXT: v_or_b32_e32 v23, v41, v235216; SI-NEXT: v_or_b32_e32 v24, v63, v245217; SI-NEXT: v_or_b32_e32 v25, v62, v255218; SI-NEXT: v_or_b32_e32 v26, v61, v265219; SI-NEXT: v_or_b32_e32 v27, v60, v275220; SI-NEXT: v_add_i32_e32 v3, vcc, s6, v35221; SI-NEXT: v_add_i32_e32 v4, vcc, s6, v45222; SI-NEXT: v_add_i32_e32 v5, vcc, s6, v55223; SI-NEXT: v_add_i32_e32 v6, vcc, s6, v65224; SI-NEXT: v_add_i32_e32 v7, vcc, s6, v75225; SI-NEXT: v_add_i32_e32 v8, vcc, s6, v85226; SI-NEXT: v_add_i32_e32 v9, vcc, s6, v95227; SI-NEXT: v_add_i32_e32 v10, vcc, s6, v105228; SI-NEXT: v_add_i32_e32 v11, vcc, s6, v115229; SI-NEXT: v_add_i32_e32 v12, vcc, s6, v125230; SI-NEXT: v_add_i32_e32 v13, vcc, s6, v135231; SI-NEXT: v_add_i32_e32 v14, vcc, s6, v145232; SI-NEXT: v_add_i32_e32 v15, vcc, s6, v155233; SI-NEXT: v_add_i32_e32 v17, vcc, s6, v175234; SI-NEXT: v_add_i32_e32 v18, vcc, s6, v185235; SI-NEXT: v_add_i32_e32 v19, vcc, s6, v195236; SI-NEXT: v_add_i32_e32 v20, vcc, s6, v205237; SI-NEXT: v_add_i32_e32 v21, vcc, s6, v215238; SI-NEXT: v_add_i32_e32 v22, vcc, s6, v225239; SI-NEXT: v_add_i32_e32 v23, vcc, s6, v235240; SI-NEXT: v_add_i32_e32 v24, vcc, s6, v245241; SI-NEXT: v_add_i32_e32 v25, vcc, s6, v255242; SI-NEXT: v_add_i32_e32 v26, vcc, 0x30000, v265243; SI-NEXT: v_add_i32_e32 v27, vcc, 0x30000, v275244; SI-NEXT: .LBB14_4: ; %end5245; SI-NEXT: s_or_b64 exec, exec, s[4:5]5246; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload5247; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload5248; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload5249; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload5250; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload5251; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload5252; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload5253; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload5254; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload5255; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload5256; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload5257; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload5258; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload5259; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload5260; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload5261; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload5262; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)5263; SI-NEXT: s_setpc_b64 s[30:31]5264;5265; VI-LABEL: bitcast_v56i16_to_v28i32:5266; VI: ; %bb.0:5267; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5268; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill5269; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill5270; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill5271; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill5272; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill5273; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill5274; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill5275; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill5276; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill5277; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill5278; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill5279; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill5280; VI-NEXT: v_mov_b32_e32 v32, v275281; VI-NEXT: v_mov_b32_e32 v33, v265282; VI-NEXT: v_mov_b32_e32 v34, v255283; VI-NEXT: v_mov_b32_e32 v35, v245284; VI-NEXT: v_mov_b32_e32 v36, v235285; VI-NEXT: v_mov_b32_e32 v37, v225286; VI-NEXT: v_mov_b32_e32 v38, v215287; VI-NEXT: v_mov_b32_e32 v39, v205288; VI-NEXT: v_mov_b32_e32 v48, v195289; VI-NEXT: v_mov_b32_e32 v49, v185290; VI-NEXT: v_mov_b32_e32 v50, v175291; VI-NEXT: v_mov_b32_e32 v51, v165292; VI-NEXT: v_mov_b32_e32 v52, v155293; VI-NEXT: v_mov_b32_e32 v53, v145294; VI-NEXT: v_mov_b32_e32 v54, v135295; VI-NEXT: v_mov_b32_e32 v55, v125296; VI-NEXT: v_mov_b32_e32 v40, v115297; VI-NEXT: v_mov_b32_e32 v41, v105298; VI-NEXT: v_mov_b32_e32 v42, v95299; VI-NEXT: v_mov_b32_e32 v43, v85300; VI-NEXT: v_mov_b32_e32 v44, v75301; VI-NEXT: v_mov_b32_e32 v45, v65302; VI-NEXT: v_mov_b32_e32 v46, v55303; VI-NEXT: v_mov_b32_e32 v47, v45304; VI-NEXT: v_mov_b32_e32 v56, v35305; VI-NEXT: v_mov_b32_e32 v57, v25306; VI-NEXT: v_mov_b32_e32 v58, v15307; VI-NEXT: v_mov_b32_e32 v59, v05308; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v285309; 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_vgpr315310; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc5311; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]5312; VI-NEXT: s_cbranch_execz .LBB14_25313; VI-NEXT: ; %bb.1: ; %cmp.false5314; VI-NEXT: v_mov_b32_e32 v27, 165315; VI-NEXT: v_lshlrev_b32_sdwa v0, v27, v59 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15316; VI-NEXT: v_lshlrev_b32_sdwa v1, v27, v58 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15317; VI-NEXT: v_lshlrev_b32_sdwa v2, v27, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15318; VI-NEXT: v_lshlrev_b32_sdwa v3, v27, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15319; VI-NEXT: v_lshlrev_b32_sdwa v4, v27, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15320; VI-NEXT: v_lshlrev_b32_sdwa v5, v27, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15321; VI-NEXT: v_lshlrev_b32_sdwa v6, v27, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15322; VI-NEXT: v_lshlrev_b32_sdwa v7, v27, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15323; VI-NEXT: v_lshlrev_b32_sdwa v8, v27, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15324; VI-NEXT: v_lshlrev_b32_sdwa v9, v27, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15325; VI-NEXT: v_lshlrev_b32_sdwa v10, v27, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15326; VI-NEXT: v_lshlrev_b32_sdwa v11, v27, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15327; VI-NEXT: v_lshlrev_b32_sdwa v12, v27, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15328; VI-NEXT: v_lshlrev_b32_sdwa v13, v27, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15329; VI-NEXT: v_lshlrev_b32_sdwa v14, v27, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15330; VI-NEXT: v_lshlrev_b32_sdwa v15, v27, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15331; VI-NEXT: v_lshlrev_b32_sdwa v16, v27, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15332; VI-NEXT: v_lshlrev_b32_sdwa v17, v27, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15333; VI-NEXT: v_lshlrev_b32_sdwa v18, v27, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15334; VI-NEXT: v_lshlrev_b32_sdwa v19, v27, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15335; VI-NEXT: v_lshlrev_b32_sdwa v20, v27, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15336; VI-NEXT: v_lshlrev_b32_sdwa v21, v27, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15337; VI-NEXT: v_lshlrev_b32_sdwa v22, v27, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15338; VI-NEXT: v_lshlrev_b32_sdwa v23, v27, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15339; VI-NEXT: v_lshlrev_b32_sdwa v24, v27, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15340; VI-NEXT: v_lshlrev_b32_sdwa v25, v27, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15341; VI-NEXT: v_lshlrev_b32_sdwa v26, v27, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15342; VI-NEXT: v_lshlrev_b32_sdwa v27, v27, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15343; VI-NEXT: v_or_b32_sdwa v0, v59, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5344; VI-NEXT: v_or_b32_sdwa v1, v58, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5345; VI-NEXT: v_or_b32_sdwa v2, v57, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5346; VI-NEXT: v_or_b32_sdwa v3, v56, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5347; VI-NEXT: v_or_b32_sdwa v4, v47, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5348; VI-NEXT: v_or_b32_sdwa v5, v46, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5349; VI-NEXT: v_or_b32_sdwa v6, v45, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5350; VI-NEXT: v_or_b32_sdwa v7, v44, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5351; VI-NEXT: v_or_b32_sdwa v8, v43, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5352; VI-NEXT: v_or_b32_sdwa v9, v42, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5353; VI-NEXT: v_or_b32_sdwa v10, v41, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5354; VI-NEXT: v_or_b32_sdwa v11, v40, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5355; VI-NEXT: v_or_b32_sdwa v12, v55, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5356; VI-NEXT: v_or_b32_sdwa v13, v54, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5357; VI-NEXT: v_or_b32_sdwa v14, v53, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5358; VI-NEXT: v_or_b32_sdwa v15, v52, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5359; VI-NEXT: v_or_b32_sdwa v16, v51, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5360; VI-NEXT: v_or_b32_sdwa v17, v50, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5361; VI-NEXT: v_or_b32_sdwa v18, v49, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5362; VI-NEXT: v_or_b32_sdwa v19, v48, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5363; VI-NEXT: v_or_b32_sdwa v20, v39, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5364; VI-NEXT: v_or_b32_sdwa v21, v38, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5365; VI-NEXT: v_or_b32_sdwa v22, v37, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5366; VI-NEXT: v_or_b32_sdwa v23, v36, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5367; VI-NEXT: v_or_b32_sdwa v24, v35, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5368; VI-NEXT: v_or_b32_sdwa v25, v34, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5369; VI-NEXT: v_or_b32_sdwa v26, v33, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5370; VI-NEXT: v_or_b32_sdwa v27, v32, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD5371; VI-NEXT: ; implicit-def: $vgpr595372; VI-NEXT: ; implicit-def: $vgpr585373; VI-NEXT: ; implicit-def: $vgpr575374; VI-NEXT: ; implicit-def: $vgpr565375; VI-NEXT: ; implicit-def: $vgpr475376; VI-NEXT: ; implicit-def: $vgpr465377; VI-NEXT: ; implicit-def: $vgpr455378; VI-NEXT: ; implicit-def: $vgpr445379; VI-NEXT: ; implicit-def: $vgpr435380; VI-NEXT: ; implicit-def: $vgpr425381; VI-NEXT: ; implicit-def: $vgpr415382; VI-NEXT: ; implicit-def: $vgpr405383; VI-NEXT: ; implicit-def: $vgpr555384; VI-NEXT: ; implicit-def: $vgpr545385; VI-NEXT: ; implicit-def: $vgpr535386; VI-NEXT: ; implicit-def: $vgpr525387; VI-NEXT: ; implicit-def: $vgpr515388; VI-NEXT: ; implicit-def: $vgpr505389; VI-NEXT: ; implicit-def: $vgpr495390; VI-NEXT: ; implicit-def: $vgpr485391; VI-NEXT: ; implicit-def: $vgpr395392; VI-NEXT: ; implicit-def: $vgpr385393; VI-NEXT: ; implicit-def: $vgpr375394; VI-NEXT: ; implicit-def: $vgpr365395; VI-NEXT: ; implicit-def: $vgpr355396; VI-NEXT: ; implicit-def: $vgpr345397; VI-NEXT: ; implicit-def: $vgpr335398; VI-NEXT: ; implicit-def: $vgpr325399; VI-NEXT: .LBB14_2: ; %Flow5400; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]5401; VI-NEXT: s_cbranch_execz .LBB14_45402; VI-NEXT: ; %bb.3: ; %cmp.true5403; VI-NEXT: v_mov_b32_e32 v27, 35404; VI-NEXT: v_add_u16_e32 v0, 3, v595405; VI-NEXT: v_add_u16_sdwa v1, v59, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5406; VI-NEXT: v_add_u16_e32 v2, 3, v585407; VI-NEXT: v_add_u16_sdwa v3, v58, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5408; VI-NEXT: v_or_b32_e32 v0, v0, v15409; VI-NEXT: v_or_b32_e32 v1, v2, v35410; VI-NEXT: v_add_u16_e32 v2, 3, v575411; VI-NEXT: v_add_u16_sdwa v3, v57, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5412; VI-NEXT: v_or_b32_e32 v2, v2, v35413; VI-NEXT: v_add_u16_e32 v3, 3, v565414; VI-NEXT: v_add_u16_sdwa v4, v56, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5415; VI-NEXT: v_or_b32_e32 v3, v3, v45416; VI-NEXT: v_add_u16_e32 v4, 3, v475417; VI-NEXT: v_add_u16_sdwa v5, v47, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5418; VI-NEXT: v_or_b32_e32 v4, v4, v55419; VI-NEXT: v_add_u16_e32 v5, 3, v465420; VI-NEXT: v_add_u16_sdwa v6, v46, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5421; VI-NEXT: v_or_b32_e32 v5, v5, v65422; VI-NEXT: v_add_u16_e32 v6, 3, v455423; VI-NEXT: v_add_u16_sdwa v7, v45, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5424; VI-NEXT: v_or_b32_e32 v6, v6, v75425; VI-NEXT: v_add_u16_e32 v7, 3, v445426; VI-NEXT: v_add_u16_sdwa v8, v44, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5427; VI-NEXT: v_or_b32_e32 v7, v7, v85428; VI-NEXT: v_add_u16_e32 v8, 3, v435429; VI-NEXT: v_add_u16_sdwa v9, v43, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5430; VI-NEXT: v_or_b32_e32 v8, v8, v95431; VI-NEXT: v_add_u16_e32 v9, 3, v425432; VI-NEXT: v_add_u16_sdwa v10, v42, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5433; VI-NEXT: v_or_b32_e32 v9, v9, v105434; VI-NEXT: v_add_u16_e32 v10, 3, v415435; VI-NEXT: v_add_u16_sdwa v11, v41, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5436; VI-NEXT: v_or_b32_e32 v10, v10, v115437; VI-NEXT: v_add_u16_e32 v11, 3, v405438; VI-NEXT: v_add_u16_sdwa v12, v40, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5439; VI-NEXT: v_or_b32_e32 v11, v11, v125440; VI-NEXT: v_add_u16_e32 v12, 3, v555441; VI-NEXT: v_add_u16_sdwa v13, v55, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5442; VI-NEXT: v_or_b32_e32 v12, v12, v135443; VI-NEXT: v_add_u16_e32 v13, 3, v545444; VI-NEXT: v_add_u16_sdwa v14, v54, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5445; VI-NEXT: v_or_b32_e32 v13, v13, v145446; VI-NEXT: v_add_u16_e32 v14, 3, v535447; VI-NEXT: v_add_u16_sdwa v15, v53, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5448; VI-NEXT: v_or_b32_e32 v14, v14, v155449; VI-NEXT: v_add_u16_e32 v15, 3, v525450; VI-NEXT: v_add_u16_sdwa v16, v52, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5451; VI-NEXT: v_or_b32_e32 v15, v15, v165452; VI-NEXT: v_add_u16_e32 v16, 3, v515453; VI-NEXT: v_add_u16_sdwa v17, v51, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5454; VI-NEXT: v_or_b32_e32 v16, v16, v175455; VI-NEXT: v_add_u16_e32 v17, 3, v505456; VI-NEXT: v_add_u16_sdwa v18, v50, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5457; VI-NEXT: v_or_b32_e32 v17, v17, v185458; VI-NEXT: v_add_u16_e32 v18, 3, v495459; VI-NEXT: v_add_u16_sdwa v19, v49, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5460; VI-NEXT: v_or_b32_e32 v18, v18, v195461; VI-NEXT: v_add_u16_e32 v19, 3, v485462; VI-NEXT: v_add_u16_sdwa v20, v48, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5463; VI-NEXT: v_or_b32_e32 v19, v19, v205464; VI-NEXT: v_add_u16_e32 v20, 3, v395465; VI-NEXT: v_add_u16_sdwa v21, v39, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5466; VI-NEXT: v_or_b32_e32 v20, v20, v215467; VI-NEXT: v_add_u16_e32 v21, 3, v385468; VI-NEXT: v_add_u16_sdwa v22, v38, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5469; VI-NEXT: v_or_b32_e32 v21, v21, v225470; VI-NEXT: v_add_u16_e32 v22, 3, v375471; VI-NEXT: v_add_u16_sdwa v23, v37, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5472; VI-NEXT: v_or_b32_e32 v22, v22, v235473; VI-NEXT: v_add_u16_e32 v23, 3, v365474; VI-NEXT: v_add_u16_sdwa v24, v36, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5475; VI-NEXT: v_or_b32_e32 v23, v23, v245476; VI-NEXT: v_add_u16_e32 v24, 3, v355477; VI-NEXT: v_add_u16_sdwa v25, v35, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5478; VI-NEXT: v_or_b32_e32 v24, v24, v255479; VI-NEXT: v_add_u16_e32 v25, 3, v345480; VI-NEXT: v_add_u16_sdwa v26, v34, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5481; VI-NEXT: v_or_b32_e32 v25, v25, v265482; VI-NEXT: v_add_u16_e32 v26, 3, v335483; VI-NEXT: v_add_u16_sdwa v28, v33, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5484; VI-NEXT: v_or_b32_e32 v26, v26, v285485; VI-NEXT: v_add_u16_e32 v28, 3, v325486; VI-NEXT: v_add_u16_sdwa v27, v32, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD5487; VI-NEXT: v_or_b32_e32 v27, v28, v275488; VI-NEXT: .LBB14_4: ; %end5489; VI-NEXT: s_or_b64 exec, exec, s[4:5]5490; VI-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload5491; VI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload5492; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload5493; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload5494; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload5495; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload5496; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload5497; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload5498; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload5499; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload5500; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload5501; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload5502; VI-NEXT: s_waitcnt vmcnt(0)5503; VI-NEXT: s_setpc_b64 s[30:31]5504;5505; GFX9-LABEL: bitcast_v56i16_to_v28i32:5506; GFX9: ; %bb.0:5507; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5508; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill5509; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill5510; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill5511; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill5512; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill5513; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill5514; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill5515; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill5516; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill5517; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill5518; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill5519; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill5520; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill5521; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill5522; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill5523; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill5524; GFX9-NEXT: v_mov_b32_e32 v59, v05525; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v275526; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill5527; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill5528; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v265529; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill5530; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill5531; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v255532; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill5533; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill5534; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v245535; GFX9-NEXT: v_mov_b32_e32 v37, v225536; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill5537; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill5538; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v235539; GFX9-NEXT: v_mov_b32_e32 v38, v215540; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill5541; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v375542; GFX9-NEXT: v_mov_b32_e32 v39, v205543; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill5544; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v385545; GFX9-NEXT: v_mov_b32_e32 v48, v195546; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill5547; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v395548; GFX9-NEXT: v_mov_b32_e32 v49, v185549; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill5550; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v485551; GFX9-NEXT: v_mov_b32_e32 v50, v175552; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill5553; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v495554; GFX9-NEXT: v_mov_b32_e32 v51, v165555; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill5556; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v505557; GFX9-NEXT: v_mov_b32_e32 v52, v155558; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill5559; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v515560; GFX9-NEXT: v_mov_b32_e32 v53, v145561; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill5562; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v525563; GFX9-NEXT: v_mov_b32_e32 v54, v135564; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill5565; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v535566; GFX9-NEXT: v_mov_b32_e32 v55, v125567; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill5568; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v545569; GFX9-NEXT: v_mov_b32_e32 v40, v115570; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill5571; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v555572; GFX9-NEXT: v_mov_b32_e32 v41, v105573; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill5574; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v405575; GFX9-NEXT: v_mov_b32_e32 v42, v95576; GFX9-NEXT: v_mov_b32_e32 v43, v85577; GFX9-NEXT: v_mov_b32_e32 v44, v75578; GFX9-NEXT: v_mov_b32_e32 v45, v65579; GFX9-NEXT: v_mov_b32_e32 v46, v55580; GFX9-NEXT: v_mov_b32_e32 v47, v45581; GFX9-NEXT: v_mov_b32_e32 v56, v35582; GFX9-NEXT: v_mov_b32_e32 v57, v25583; GFX9-NEXT: v_mov_b32_e32 v58, v15584; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill5585; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v415586; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill5587; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v425588; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v435589; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v445590; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v455591; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v465592; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v475593; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v565594; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v575595; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v585596; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v595597; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v285598; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill5599; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill5600; 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_vgpr315601; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc5602; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]5603; GFX9-NEXT: s_cbranch_execz .LBB14_25604; GFX9-NEXT: ; %bb.1: ; %cmp.false5605; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload5606; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload5607; GFX9-NEXT: s_mov_b32 s6, 0x50401005608; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v425609; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v415610; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v405611; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v555612; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v545613; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v535614; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v525615; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v515616; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v505617; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v495618; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v485619; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v395620; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v385621; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v375622; GFX9-NEXT: v_perm_b32 v0, v36, v59, s65623; GFX9-NEXT: v_perm_b32 v1, v35, v58, s65624; GFX9-NEXT: v_perm_b32 v2, v62, v57, s65625; GFX9-NEXT: v_perm_b32 v3, v34, v56, s65626; GFX9-NEXT: v_perm_b32 v4, v33, v47, s65627; GFX9-NEXT: v_perm_b32 v5, v61, v46, s65628; GFX9-NEXT: v_perm_b32 v6, v32, v45, s65629; GFX9-NEXT: v_perm_b32 v7, v60, v44, s65630; GFX9-NEXT: v_perm_b32 v8, v63, v43, s65631; GFX9-NEXT: v_perm_b32 v9, v9, v42, s65632; GFX9-NEXT: v_perm_b32 v10, v10, v41, s65633; GFX9-NEXT: v_perm_b32 v11, v11, v40, s65634; GFX9-NEXT: v_perm_b32 v12, v12, v55, s65635; GFX9-NEXT: v_perm_b32 v13, v13, v54, s65636; GFX9-NEXT: v_perm_b32 v14, v14, v53, s65637; GFX9-NEXT: v_perm_b32 v15, v15, v52, s65638; GFX9-NEXT: v_perm_b32 v16, v16, v51, s65639; GFX9-NEXT: v_perm_b32 v17, v17, v50, s65640; GFX9-NEXT: v_perm_b32 v18, v18, v49, s65641; GFX9-NEXT: v_perm_b32 v19, v19, v48, s65642; GFX9-NEXT: v_perm_b32 v20, v20, v39, s65643; GFX9-NEXT: v_perm_b32 v21, v21, v38, s65644; GFX9-NEXT: v_perm_b32 v22, v22, v37, s65645; GFX9-NEXT: ; implicit-def: $vgpr595646; GFX9-NEXT: ; implicit-def: $vgpr585647; GFX9-NEXT: ; implicit-def: $vgpr575648; GFX9-NEXT: ; implicit-def: $vgpr565649; GFX9-NEXT: ; implicit-def: $vgpr475650; GFX9-NEXT: ; implicit-def: $vgpr465651; GFX9-NEXT: ; implicit-def: $vgpr455652; GFX9-NEXT: ; implicit-def: $vgpr445653; GFX9-NEXT: ; implicit-def: $vgpr435654; GFX9-NEXT: ; implicit-def: $vgpr425655; GFX9-NEXT: ; implicit-def: $vgpr415656; GFX9-NEXT: ; implicit-def: $vgpr405657; GFX9-NEXT: ; implicit-def: $vgpr555658; GFX9-NEXT: ; implicit-def: $vgpr545659; GFX9-NEXT: ; implicit-def: $vgpr535660; GFX9-NEXT: ; implicit-def: $vgpr525661; GFX9-NEXT: ; implicit-def: $vgpr515662; GFX9-NEXT: ; implicit-def: $vgpr505663; GFX9-NEXT: ; implicit-def: $vgpr495664; GFX9-NEXT: ; implicit-def: $vgpr485665; GFX9-NEXT: ; implicit-def: $vgpr395666; GFX9-NEXT: ; implicit-def: $vgpr385667; GFX9-NEXT: ; implicit-def: $vgpr375668; GFX9-NEXT: ; implicit-def: $vgpr635669; GFX9-NEXT: ; implicit-def: $vgpr605670; GFX9-NEXT: ; implicit-def: $vgpr325671; GFX9-NEXT: ; implicit-def: $vgpr615672; GFX9-NEXT: ; implicit-def: $vgpr335673; GFX9-NEXT: ; implicit-def: $vgpr345674; GFX9-NEXT: ; implicit-def: $vgpr625675; GFX9-NEXT: ; implicit-def: $vgpr355676; GFX9-NEXT: ; implicit-def: $vgpr365677; GFX9-NEXT: s_waitcnt vmcnt(0)5678; GFX9-NEXT: v_perm_b32 v23, v24, v23, s65679; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload5680; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload5681; GFX9-NEXT: s_waitcnt vmcnt(0)5682; GFX9-NEXT: v_perm_b32 v24, v25, v24, s65683; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload5684; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload5685; GFX9-NEXT: s_waitcnt vmcnt(0)5686; GFX9-NEXT: v_perm_b32 v25, v26, v25, s65687; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload5688; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload5689; GFX9-NEXT: s_waitcnt vmcnt(0)5690; GFX9-NEXT: v_perm_b32 v26, v27, v26, s65691; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload5692; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload5693; GFX9-NEXT: s_waitcnt vmcnt(0)5694; GFX9-NEXT: v_perm_b32 v27, v28, v27, s65695; GFX9-NEXT: ; implicit-def: $vgpr285696; GFX9-NEXT: ; kill: killed $vgpr285697; GFX9-NEXT: ; implicit-def: $vgpr285698; GFX9-NEXT: ; kill: killed $vgpr285699; GFX9-NEXT: ; implicit-def: $vgpr285700; GFX9-NEXT: ; kill: killed $vgpr285701; GFX9-NEXT: ; implicit-def: $vgpr285702; GFX9-NEXT: ; kill: killed $vgpr285703; GFX9-NEXT: ; implicit-def: $vgpr285704; GFX9-NEXT: ; kill: killed $vgpr285705; GFX9-NEXT: ; implicit-def: $vgpr285706; GFX9-NEXT: ; kill: killed $vgpr285707; GFX9-NEXT: ; implicit-def: $vgpr285708; GFX9-NEXT: ; kill: killed $vgpr285709; GFX9-NEXT: ; implicit-def: $vgpr285710; GFX9-NEXT: ; kill: killed $vgpr285711; GFX9-NEXT: ; implicit-def: $vgpr285712; GFX9-NEXT: ; kill: killed $vgpr285713; GFX9-NEXT: ; implicit-def: $vgpr285714; GFX9-NEXT: ; kill: killed $vgpr285715; GFX9-NEXT: ; implicit-def: $vgpr285716; GFX9-NEXT: ; kill: killed $vgpr285717; GFX9-NEXT: ; implicit-def: $vgpr285718; GFX9-NEXT: ; kill: killed $vgpr285719; GFX9-NEXT: ; implicit-def: $vgpr285720; GFX9-NEXT: ; kill: killed $vgpr285721; GFX9-NEXT: ; implicit-def: $vgpr285722; GFX9-NEXT: ; kill: killed $vgpr285723; GFX9-NEXT: ; implicit-def: $vgpr285724; GFX9-NEXT: ; kill: killed $vgpr285725; GFX9-NEXT: ; implicit-def: $vgpr285726; GFX9-NEXT: ; kill: killed $vgpr285727; GFX9-NEXT: ; implicit-def: $vgpr285728; GFX9-NEXT: ; kill: killed $vgpr285729; GFX9-NEXT: ; implicit-def: $vgpr285730; GFX9-NEXT: ; kill: killed $vgpr285731; GFX9-NEXT: ; implicit-def: $vgpr285732; GFX9-NEXT: ; kill: killed $vgpr285733; GFX9-NEXT: ; implicit-def: $vgpr285734; GFX9-NEXT: ; kill: killed $vgpr285735; GFX9-NEXT: ; implicit-def: $vgpr285736; GFX9-NEXT: ; kill: killed $vgpr285737; GFX9-NEXT: ; implicit-def: $vgpr285738; GFX9-NEXT: ; kill: killed $vgpr285739; GFX9-NEXT: ; implicit-def: $vgpr285740; GFX9-NEXT: ; kill: killed $vgpr285741; GFX9-NEXT: ; implicit-def: $vgpr285742; GFX9-NEXT: ; kill: killed $vgpr285743; GFX9-NEXT: .LBB14_2: ; %Flow5744; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]5745; GFX9-NEXT: s_cbranch_execz .LBB14_45746; GFX9-NEXT: ; %bb.3: ; %cmp.true5747; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload5748; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload5749; GFX9-NEXT: s_mov_b32 s6, 0x50401005750; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload5751; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload5752; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload5753; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload5754; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload5755; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload5756; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload5757; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload5758; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload5759; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload5760; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload5761; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload5762; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload5763; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload5764; GFX9-NEXT: v_perm_b32 v0, v36, v59, s65765; GFX9-NEXT: v_perm_b32 v1, v35, v58, s65766; GFX9-NEXT: v_perm_b32 v2, v62, v57, s65767; GFX9-NEXT: v_perm_b32 v3, v34, v56, s65768; GFX9-NEXT: v_perm_b32 v4, v33, v47, s65769; GFX9-NEXT: v_perm_b32 v5, v61, v46, s65770; GFX9-NEXT: v_perm_b32 v6, v32, v45, s65771; GFX9-NEXT: v_perm_b32 v7, v60, v44, s65772; GFX9-NEXT: v_perm_b32 v8, v63, v43, s65773; GFX9-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]5774; GFX9-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]5775; GFX9-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]5776; GFX9-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]5777; GFX9-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]5778; GFX9-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]5779; GFX9-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]5780; GFX9-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]5781; GFX9-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]5782; GFX9-NEXT: s_waitcnt vmcnt(14)5783; GFX9-NEXT: v_perm_b32 v23, v24, v23, s65784; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload5785; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload5786; GFX9-NEXT: s_waitcnt vmcnt(15)5787; GFX9-NEXT: v_perm_b32 v9, v9, v42, s65788; GFX9-NEXT: s_waitcnt vmcnt(14)5789; GFX9-NEXT: v_perm_b32 v10, v10, v41, s65790; GFX9-NEXT: s_waitcnt vmcnt(13)5791; GFX9-NEXT: v_perm_b32 v11, v11, v40, s65792; GFX9-NEXT: s_waitcnt vmcnt(12)5793; GFX9-NEXT: v_perm_b32 v12, v12, v55, s65794; GFX9-NEXT: s_waitcnt vmcnt(11)5795; GFX9-NEXT: v_perm_b32 v13, v13, v54, s65796; GFX9-NEXT: s_waitcnt vmcnt(10)5797; GFX9-NEXT: v_perm_b32 v14, v14, v53, s65798; GFX9-NEXT: s_waitcnt vmcnt(9)5799; GFX9-NEXT: v_perm_b32 v15, v15, v52, s65800; GFX9-NEXT: s_waitcnt vmcnt(8)5801; GFX9-NEXT: v_perm_b32 v16, v16, v51, s65802; GFX9-NEXT: s_waitcnt vmcnt(7)5803; GFX9-NEXT: v_perm_b32 v17, v17, v50, s65804; GFX9-NEXT: s_waitcnt vmcnt(6)5805; GFX9-NEXT: v_perm_b32 v18, v18, v49, s65806; GFX9-NEXT: s_waitcnt vmcnt(5)5807; GFX9-NEXT: v_perm_b32 v19, v19, v48, s65808; GFX9-NEXT: s_waitcnt vmcnt(4)5809; GFX9-NEXT: v_perm_b32 v20, v20, v39, s65810; GFX9-NEXT: s_waitcnt vmcnt(3)5811; GFX9-NEXT: v_perm_b32 v21, v21, v38, s65812; GFX9-NEXT: s_waitcnt vmcnt(2)5813; GFX9-NEXT: v_perm_b32 v22, v22, v37, s65814; GFX9-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]5815; GFX9-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]5816; GFX9-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]5817; GFX9-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]5818; GFX9-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]5819; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]5820; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]5821; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]5822; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]5823; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]5824; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]5825; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]5826; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]5827; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]5828; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]5829; GFX9-NEXT: s_waitcnt vmcnt(0)5830; GFX9-NEXT: v_perm_b32 v24, v25, v24, s65831; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload5832; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload5833; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]5834; GFX9-NEXT: s_waitcnt vmcnt(0)5835; GFX9-NEXT: v_perm_b32 v25, v26, v25, s65836; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload5837; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload5838; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]5839; GFX9-NEXT: s_waitcnt vmcnt(0)5840; GFX9-NEXT: v_perm_b32 v26, v27, v26, s65841; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload5842; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload5843; GFX9-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]5844; GFX9-NEXT: s_waitcnt vmcnt(0)5845; GFX9-NEXT: v_perm_b32 v27, v28, v27, s65846; GFX9-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]5847; GFX9-NEXT: .LBB14_4: ; %end5848; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]5849; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload5850; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload5851; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload5852; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload5853; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload5854; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload5855; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload5856; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload5857; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload5858; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload5859; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload5860; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload5861; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload5862; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload5863; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload5864; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload5865; GFX9-NEXT: s_waitcnt vmcnt(0)5866; GFX9-NEXT: s_setpc_b64 s[30:31]5867;5868; GFX11-TRUE16-LABEL: bitcast_v56i16_to_v28i32:5869; GFX11-TRUE16: ; %bb.0:5870; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5871; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo5872; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v285873; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s05874; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)5875; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s05876; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB14_25877; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true5878; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]5879; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]5880; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]5881; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]5882; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]5883; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]5884; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]5885; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]5886; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]5887; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]5888; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]5889; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]5890; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]5891; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]5892; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]5893; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]5894; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]5895; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]5896; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]5897; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]5898; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]5899; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]5900; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]5901; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]5902; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]5903; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]5904; GFX11-TRUE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]5905; GFX11-TRUE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]5906; GFX11-TRUE16-NEXT: .LBB14_2: ; %end5907; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s05908; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]5909;5910; GFX11-FAKE16-LABEL: bitcast_v56i16_to_v28i32:5911; GFX11-FAKE16: ; %bb.0:5912; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5913; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v275914; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v265915; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v255916; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v245917; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v235918; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v225919; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v215920; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v205921; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v195922; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v185923; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v175924; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v165925; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v155926; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v145927; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v135928; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v125929; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v115930; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v105931; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v95932; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v85933; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v75934; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v65935; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v55936; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v45937; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v05938; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v15939; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v25940; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 16, v35941; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v285942; GFX11-FAKE16-NEXT: v_perm_b32 v0, v69, v0, 0x50401005943; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x50401005944; GFX11-FAKE16-NEXT: v_perm_b32 v2, v71, v2, 0x50401005945; GFX11-FAKE16-NEXT: v_perm_b32 v3, v80, v3, 0x50401005946; GFX11-FAKE16-NEXT: v_perm_b32 v4, v68, v4, 0x50401005947; GFX11-FAKE16-NEXT: v_perm_b32 v5, v67, v5, 0x50401005948; GFX11-FAKE16-NEXT: v_perm_b32 v6, v66, v6, 0x50401005949; GFX11-FAKE16-NEXT: v_perm_b32 v7, v65, v7, 0x50401005950; GFX11-FAKE16-NEXT: v_perm_b32 v8, v64, v8, 0x50401005951; GFX11-FAKE16-NEXT: v_perm_b32 v9, v55, v9, 0x50401005952; GFX11-FAKE16-NEXT: v_perm_b32 v10, v54, v10, 0x50401005953; GFX11-FAKE16-NEXT: v_perm_b32 v11, v53, v11, 0x50401005954; GFX11-FAKE16-NEXT: v_perm_b32 v12, v52, v12, 0x50401005955; GFX11-FAKE16-NEXT: v_perm_b32 v13, v51, v13, 0x50401005956; GFX11-FAKE16-NEXT: v_perm_b32 v14, v50, v14, 0x50401005957; GFX11-FAKE16-NEXT: v_perm_b32 v15, v49, v15, 0x50401005958; GFX11-FAKE16-NEXT: v_perm_b32 v16, v48, v16, 0x50401005959; GFX11-FAKE16-NEXT: v_perm_b32 v17, v39, v17, 0x50401005960; GFX11-FAKE16-NEXT: v_perm_b32 v18, v38, v18, 0x50401005961; GFX11-FAKE16-NEXT: v_perm_b32 v19, v37, v19, 0x50401005962; GFX11-FAKE16-NEXT: v_perm_b32 v20, v36, v20, 0x50401005963; GFX11-FAKE16-NEXT: v_perm_b32 v21, v35, v21, 0x50401005964; GFX11-FAKE16-NEXT: v_perm_b32 v22, v34, v22, 0x50401005965; GFX11-FAKE16-NEXT: v_perm_b32 v23, v33, v23, 0x50401005966; GFX11-FAKE16-NEXT: v_perm_b32 v24, v32, v24, 0x50401005967; GFX11-FAKE16-NEXT: v_perm_b32 v25, v31, v25, 0x50401005968; GFX11-FAKE16-NEXT: v_perm_b32 v26, v30, v26, 0x50401005969; GFX11-FAKE16-NEXT: v_perm_b32 v27, v29, v27, 0x50401005970; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo5971; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)5972; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s05973; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s05974; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB14_25975; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.true5976; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]5977; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]5978; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]5979; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]5980; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]5981; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]5982; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]5983; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]5984; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]5985; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]5986; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]5987; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]5988; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]5989; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]5990; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]5991; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]5992; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]5993; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]5994; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]5995; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]5996; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]5997; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]5998; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]5999; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]6000; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]6001; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]6002; GFX11-FAKE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]6003; GFX11-FAKE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]6004; GFX11-FAKE16-NEXT: .LBB14_2: ; %end6005; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s06006; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]6007 %cmp = icmp eq i32 %b, 06008 br i1 %cmp, label %cmp.true, label %cmp.false6009 6010cmp.true:6011 %a1 = add <56 x i16> %a, splat (i16 3)6012 %a2 = bitcast <56 x i16> %a1 to <28 x i32>6013 br label %end6014 6015cmp.false:6016 %a3 = bitcast <56 x i16> %a to <28 x i32>6017 br label %end6018 6019end:6020 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]6021 ret <28 x i32> %phi6022}6023 6024define inreg <28 x i32> @bitcast_v56i16_to_v28i32_scalar(<56 x i16> inreg %a, i32 inreg %b) {6025; SI-LABEL: bitcast_v56i16_to_v28i32_scalar:6026; SI: ; %bb.0:6027; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6028; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill6029; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill6030; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill6031; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill6032; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill6033; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill6034; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill6035; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill6036; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill6037; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill6038; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill6039; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill6040; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill6041; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill6042; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill6043; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill6044; SI-NEXT: s_waitcnt expcnt(6)6045; SI-NEXT: v_mov_b32_e32 v57, v126046; SI-NEXT: s_waitcnt expcnt(5)6047; SI-NEXT: v_mov_b32_e32 v58, v106048; SI-NEXT: s_waitcnt expcnt(3)6049; SI-NEXT: v_mov_b32_e32 v60, v86050; SI-NEXT: v_mov_b32_e32 v33, v66051; SI-NEXT: v_mov_b32_e32 v35, v46052; SI-NEXT: v_mov_b32_e32 v39, v26053; SI-NEXT: s_waitcnt expcnt(2)6054; SI-NEXT: v_mov_b32_e32 v61, v06055; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:446056; SI-NEXT: buffer_load_dword v2, off, s[0:3], s326057; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:86058; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:46059; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:166060; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:126061; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:246062; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:206063; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:326064; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:286065; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:406066; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:366067; SI-NEXT: v_mov_b32_e32 v31, v266068; SI-NEXT: v_mov_b32_e32 v41, v246069; SI-NEXT: v_mov_b32_e32 v42, v226070; SI-NEXT: v_mov_b32_e32 v43, v206071; SI-NEXT: v_mov_b32_e32 v49, v186072; SI-NEXT: v_mov_b32_e32 v44, v166073; SI-NEXT: v_mov_b32_e32 v45, v146074; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v16075; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v36076; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v56077; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v76078; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v96079; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v116080; SI-NEXT: s_waitcnt expcnt(0)6081; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v136082; SI-NEXT: v_lshlrev_b32_e32 v62, 16, v156083; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v176084; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v196085; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v216086; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v236087; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v256088; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v276089; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v296090; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill6091; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill6092; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill6093; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill6094; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill6095; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill6096; SI-NEXT: s_waitcnt vmcnt(14)6097; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v06098; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v26099; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v46100; SI-NEXT: s_and_b64 s[4:5], vcc, exec6101; SI-NEXT: s_waitcnt vmcnt(13)6102; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v66103; SI-NEXT: s_waitcnt vmcnt(11)6104; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v86105; SI-NEXT: s_waitcnt vmcnt(9)6106; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v106107; SI-NEXT: s_waitcnt vmcnt(7)6108; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v126109; SI-NEXT: s_cbranch_scc0 .LBB15_46110; SI-NEXT: ; %bb.1: ; %cmp.false6111; SI-NEXT: v_and_b32_e32 v0, 0xffff, v616112; SI-NEXT: v_or_b32_e32 v7, v0, v186113; SI-NEXT: v_and_b32_e32 v0, 0xffff, v356114; SI-NEXT: v_or_b32_e32 v9, v0, v166115; SI-NEXT: v_and_b32_e32 v0, 0xffff, v336116; SI-NEXT: v_or_b32_e32 v10, v0, v146117; SI-NEXT: v_and_b32_e32 v0, 0xffff, v606118; SI-NEXT: v_or_b32_e32 v11, v0, v56119; SI-NEXT: v_and_b32_e32 v0, 0xffff, v586120; SI-NEXT: v_or_b32_e32 v12, v0, v36121; SI-NEXT: v_and_b32_e32 v0, 0xffff, v576122; SI-NEXT: v_or_b32_e32 v13, v0, v636123; SI-NEXT: v_and_b32_e32 v0, 0xffff, v456124; SI-NEXT: s_waitcnt expcnt(3)6125; SI-NEXT: v_or_b32_e32 v14, v0, v626126; SI-NEXT: v_and_b32_e32 v0, 0xffff, v446127; SI-NEXT: v_or_b32_e32 v15, v0, v406128; SI-NEXT: v_and_b32_e32 v0, 0xffff, v496129; SI-NEXT: s_waitcnt expcnt(2)6130; SI-NEXT: v_or_b32_e32 v16, v0, v486131; SI-NEXT: v_and_b32_e32 v0, 0xffff, v436132; SI-NEXT: v_or_b32_e32 v17, v0, v386133; SI-NEXT: v_and_b32_e32 v0, 0xffff, v426134; SI-NEXT: s_waitcnt expcnt(1)6135; SI-NEXT: v_or_b32_e32 v18, v0, v376136; SI-NEXT: v_and_b32_e32 v0, 0xffff, v416137; SI-NEXT: v_and_b32_e32 v1, 0xffff, v396138; SI-NEXT: v_or_b32_e32 v19, v0, v366139; SI-NEXT: v_and_b32_e32 v0, 0xffff, v316140; SI-NEXT: s_and_b32 s4, s16, 0xffff6141; SI-NEXT: s_lshl_b32 s5, s17, 166142; SI-NEXT: v_or_b32_e32 v8, v1, v206143; SI-NEXT: s_waitcnt expcnt(0)6144; SI-NEXT: v_or_b32_e32 v20, v0, v556145; SI-NEXT: v_and_b32_e32 v0, 0xffff, v286146; SI-NEXT: s_or_b32 s4, s4, s56147; SI-NEXT: s_and_b32 s5, s18, 0xffff6148; SI-NEXT: s_lshl_b32 s6, s19, 166149; SI-NEXT: v_or_b32_e32 v21, v0, v346150; SI-NEXT: v_and_b32_e32 v0, 0xffff, v306151; SI-NEXT: s_or_b32 s5, s5, s66152; SI-NEXT: s_and_b32 s6, s20, 0xffff6153; SI-NEXT: s_lshl_b32 s7, s21, 166154; SI-NEXT: v_or_b32_e32 v22, v0, v546155; SI-NEXT: v_and_b32_e32 v0, 0xffff, v566156; SI-NEXT: s_or_b32 s6, s6, s76157; SI-NEXT: s_and_b32 s7, s22, 0xffff6158; SI-NEXT: s_lshl_b32 s8, s23, 166159; SI-NEXT: v_or_b32_e32 v23, v0, v326160; SI-NEXT: v_and_b32_e32 v0, 0xffff, v516161; SI-NEXT: s_or_b32 s7, s7, s86162; SI-NEXT: s_and_b32 s8, s24, 0xffff6163; SI-NEXT: s_lshl_b32 s9, s25, 166164; SI-NEXT: v_or_b32_e32 v24, v0, v596165; SI-NEXT: v_and_b32_e32 v0, 0xffff, v476166; SI-NEXT: s_or_b32 s8, s8, s96167; SI-NEXT: s_and_b32 s9, s26, 0xffff6168; SI-NEXT: s_lshl_b32 s10, s27, 166169; SI-NEXT: v_or_b32_e32 v25, v0, v536170; SI-NEXT: v_and_b32_e32 v0, 0xffff, v466171; SI-NEXT: s_or_b32 s9, s9, s106172; SI-NEXT: s_and_b32 s10, s28, 0xffff6173; SI-NEXT: s_lshl_b32 s11, s29, 166174; SI-NEXT: v_or_b32_e32 v26, v0, v526175; SI-NEXT: s_waitcnt vmcnt(6)6176; SI-NEXT: v_and_b32_e32 v0, 0xffff, v506177; SI-NEXT: s_or_b32 s10, s10, s116178; SI-NEXT: v_or_b32_e32 v27, v0, v296179; SI-NEXT: v_mov_b32_e32 v0, s46180; SI-NEXT: v_mov_b32_e32 v1, s56181; SI-NEXT: v_mov_b32_e32 v2, s66182; SI-NEXT: v_mov_b32_e32 v3, s76183; SI-NEXT: v_mov_b32_e32 v4, s86184; SI-NEXT: v_mov_b32_e32 v5, s96185; SI-NEXT: v_mov_b32_e32 v6, s106186; SI-NEXT: s_cbranch_execnz .LBB15_36187; SI-NEXT: .LBB15_2: ; %cmp.true6188; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload6189; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload6190; SI-NEXT: s_waitcnt vmcnt(5)6191; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v616192; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06193; SI-NEXT: s_add_i32 s16, s16, 36194; SI-NEXT: s_and_b32 s4, s16, 0xffff6195; SI-NEXT: s_lshl_b32 s5, s17, 166196; SI-NEXT: s_add_i32 s18, s18, 36197; SI-NEXT: s_or_b32 s4, s5, s46198; SI-NEXT: s_and_b32 s5, s18, 0xffff6199; SI-NEXT: s_lshl_b32 s6, s19, 166200; SI-NEXT: s_add_i32 s20, s20, 36201; SI-NEXT: s_or_b32 s5, s6, s56202; SI-NEXT: s_and_b32 s6, s20, 0xffff6203; SI-NEXT: s_lshl_b32 s7, s21, 166204; SI-NEXT: s_add_i32 s22, s22, 36205; SI-NEXT: s_or_b32 s6, s7, s66206; SI-NEXT: s_and_b32 s7, s22, 0xffff6207; SI-NEXT: s_lshl_b32 s8, s23, 166208; SI-NEXT: s_add_i32 s24, s24, 36209; SI-NEXT: s_or_b32 s7, s8, s76210; SI-NEXT: s_and_b32 s8, s24, 0xffff6211; SI-NEXT: s_lshl_b32 s9, s25, 166212; SI-NEXT: s_add_i32 s26, s26, 36213; SI-NEXT: s_or_b32 s8, s9, s86214; SI-NEXT: s_and_b32 s9, s26, 0xffff6215; SI-NEXT: s_lshl_b32 s10, s27, 166216; SI-NEXT: s_add_i32 s28, s28, 36217; SI-NEXT: s_or_b32 s9, s10, s96218; SI-NEXT: s_and_b32 s10, s28, 0xffff6219; SI-NEXT: s_lshl_b32 s11, s29, 166220; SI-NEXT: s_or_b32 s10, s11, s106221; SI-NEXT: s_add_i32 s4, s4, 0x300006222; SI-NEXT: s_add_i32 s5, s5, 0x300006223; SI-NEXT: s_add_i32 s6, s6, 0x300006224; SI-NEXT: s_add_i32 s7, s7, 0x300006225; SI-NEXT: s_add_i32 s8, s8, 0x300006226; SI-NEXT: s_add_i32 s9, s9, 0x300006227; SI-NEXT: s_add_i32 s10, s10, 0x300006228; SI-NEXT: v_mov_b32_e32 v3, s76229; SI-NEXT: v_mov_b32_e32 v4, s86230; SI-NEXT: v_mov_b32_e32 v5, s96231; SI-NEXT: v_mov_b32_e32 v6, s106232; SI-NEXT: s_waitcnt vmcnt(1)6233; SI-NEXT: v_or_b32_e32 v0, v1, v06234; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v396235; SI-NEXT: v_and_b32_e32 v1, 0xffff, v16236; SI-NEXT: s_waitcnt vmcnt(0)6237; SI-NEXT: v_or_b32_e32 v1, v2, v16238; SI-NEXT: v_add_i32_e32 v8, vcc, 0x30000, v16239; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload6240; SI-NEXT: v_add_i32_e32 v7, vcc, 0x30000, v06241; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v356242; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06243; SI-NEXT: v_mov_b32_e32 v2, s66244; SI-NEXT: s_waitcnt vmcnt(0)6245; SI-NEXT: v_or_b32_e32 v0, v1, v06246; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload6247; SI-NEXT: v_add_i32_e32 v9, vcc, 0x30000, v06248; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v336249; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06250; SI-NEXT: s_waitcnt vmcnt(0)6251; SI-NEXT: v_or_b32_e32 v0, v1, v06252; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload6253; SI-NEXT: v_add_i32_e32 v10, vcc, 0x30000, v06254; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v606255; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06256; SI-NEXT: s_waitcnt vmcnt(0)6257; SI-NEXT: v_or_b32_e32 v0, v1, v06258; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload6259; SI-NEXT: v_add_i32_e32 v11, vcc, 0x30000, v06260; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v586261; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06262; SI-NEXT: s_waitcnt vmcnt(0)6263; SI-NEXT: v_or_b32_e32 v0, v1, v06264; SI-NEXT: v_add_i32_e32 v12, vcc, 0x30000, v06265; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v576266; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06267; SI-NEXT: v_or_b32_e32 v0, v63, v06268; SI-NEXT: v_add_i32_e32 v13, vcc, 0x30000, v06269; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v456270; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06271; SI-NEXT: v_or_b32_e32 v0, v62, v06272; SI-NEXT: v_add_i32_e32 v14, vcc, 0x30000, v06273; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v446274; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06275; SI-NEXT: v_or_b32_e32 v0, v40, v06276; SI-NEXT: v_add_i32_e32 v15, vcc, 0x30000, v06277; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v496278; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06279; SI-NEXT: v_or_b32_e32 v0, v48, v06280; SI-NEXT: v_add_i32_e32 v16, vcc, 0x30000, v06281; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v436282; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06283; SI-NEXT: v_or_b32_e32 v0, v38, v06284; SI-NEXT: v_add_i32_e32 v17, vcc, 0x30000, v06285; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v426286; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06287; SI-NEXT: v_or_b32_e32 v0, v37, v06288; SI-NEXT: v_add_i32_e32 v18, vcc, 0x30000, v06289; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v416290; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06291; SI-NEXT: v_or_b32_e32 v0, v36, v06292; SI-NEXT: v_add_i32_e32 v19, vcc, 0x30000, v06293; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v316294; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06295; SI-NEXT: v_or_b32_e32 v0, v55, v06296; SI-NEXT: v_add_i32_e32 v20, vcc, 0x30000, v06297; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v286298; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06299; SI-NEXT: v_or_b32_e32 v0, v34, v06300; SI-NEXT: v_add_i32_e32 v21, vcc, 0x30000, v06301; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v306302; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06303; SI-NEXT: v_or_b32_e32 v0, v54, v06304; SI-NEXT: v_add_i32_e32 v22, vcc, 0x30000, v06305; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v566306; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06307; SI-NEXT: v_or_b32_e32 v0, v32, v06308; SI-NEXT: v_add_i32_e32 v23, vcc, 0x30000, v06309; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v516310; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06311; SI-NEXT: v_or_b32_e32 v0, v59, v06312; SI-NEXT: v_add_i32_e32 v24, vcc, 0x30000, v06313; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v476314; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06315; SI-NEXT: v_or_b32_e32 v0, v53, v06316; SI-NEXT: v_add_i32_e32 v25, vcc, 0x30000, v06317; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v466318; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06319; SI-NEXT: v_or_b32_e32 v0, v52, v06320; SI-NEXT: v_add_i32_e32 v26, vcc, 0x30000, v06321; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v506322; SI-NEXT: v_and_b32_e32 v0, 0xffff, v06323; SI-NEXT: v_or_b32_e32 v0, v29, v06324; SI-NEXT: v_add_i32_e32 v27, vcc, 0x30000, v06325; SI-NEXT: v_mov_b32_e32 v0, s46326; SI-NEXT: v_mov_b32_e32 v1, s56327; SI-NEXT: .LBB15_3: ; %end6328; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload6329; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload6330; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload6331; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload6332; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload6333; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload6334; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload6335; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload6336; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload6337; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload6338; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload6339; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload6340; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload6341; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload6342; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload6343; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload6344; SI-NEXT: s_waitcnt vmcnt(0)6345; SI-NEXT: s_setpc_b64 s[30:31]6346; SI-NEXT: .LBB15_4:6347; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill6348; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill6349; SI-NEXT: s_waitcnt expcnt(0)6350; SI-NEXT: v_mov_b32_e32 v62, v586351; SI-NEXT: v_mov_b32_e32 v58, v516352; SI-NEXT: v_mov_b32_e32 v51, v476353; SI-NEXT: v_mov_b32_e32 v47, v446354; SI-NEXT: v_mov_b32_e32 v44, v416355; SI-NEXT: v_mov_b32_e32 v41, v306356; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill6357; SI-NEXT: s_waitcnt expcnt(0)6358; SI-NEXT: v_mov_b32_e32 v63, v596359; SI-NEXT: v_mov_b32_e32 v59, v566360; SI-NEXT: s_waitcnt vmcnt(9)6361; SI-NEXT: v_mov_b32_e32 v56, v506362; SI-NEXT: v_mov_b32_e32 v50, v456363; SI-NEXT: v_mov_b32_e32 v45, v426364; SI-NEXT: v_mov_b32_e32 v42, v286365; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill6366; SI-NEXT: s_waitcnt expcnt(0)6367; SI-NEXT: v_mov_b32_e32 v61, v526368; SI-NEXT: v_mov_b32_e32 v52, v576369; SI-NEXT: v_mov_b32_e32 v57, v466370; SI-NEXT: v_mov_b32_e32 v46, v496371; SI-NEXT: v_mov_b32_e32 v49, v436372; SI-NEXT: v_mov_b32_e32 v43, v316373; SI-NEXT: v_mov_b32_e32 v53, v406374; SI-NEXT: v_mov_b32_e32 v40, v486375; SI-NEXT: v_mov_b32_e32 v48, v396376; SI-NEXT: v_mov_b32_e32 v39, v386377; SI-NEXT: v_mov_b32_e32 v38, v376378; SI-NEXT: v_mov_b32_e32 v37, v366379; SI-NEXT: v_mov_b32_e32 v36, v356380; SI-NEXT: v_mov_b32_e32 v35, v556381; SI-NEXT: v_mov_b32_e32 v55, v346382; SI-NEXT: v_mov_b32_e32 v34, v336383; SI-NEXT: v_mov_b32_e32 v33, v546384; SI-NEXT: v_mov_b32_e32 v54, v326385; SI-NEXT: v_mov_b32_e32 v32, v606386; SI-NEXT: v_mov_b32_e32 v60, v296387; 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_vgpr316388; SI-NEXT: v_mov_b32_e32 v29, v606389; SI-NEXT: v_mov_b32_e32 v60, v326390; SI-NEXT: v_mov_b32_e32 v32, v546391; SI-NEXT: v_mov_b32_e32 v54, v336392; SI-NEXT: v_mov_b32_e32 v33, v346393; SI-NEXT: v_mov_b32_e32 v34, v556394; SI-NEXT: v_mov_b32_e32 v55, v356395; SI-NEXT: v_mov_b32_e32 v35, v366396; SI-NEXT: v_mov_b32_e32 v36, v376397; SI-NEXT: v_mov_b32_e32 v37, v386398; SI-NEXT: v_mov_b32_e32 v38, v396399; SI-NEXT: v_mov_b32_e32 v39, v486400; SI-NEXT: v_mov_b32_e32 v48, v406401; SI-NEXT: v_mov_b32_e32 v40, v536402; SI-NEXT: v_mov_b32_e32 v31, v436403; SI-NEXT: v_mov_b32_e32 v43, v496404; SI-NEXT: v_mov_b32_e32 v49, v466405; SI-NEXT: v_mov_b32_e32 v46, v576406; SI-NEXT: v_mov_b32_e32 v57, v526407; SI-NEXT: v_mov_b32_e32 v52, v616408; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload6409; SI-NEXT: v_mov_b32_e32 v28, v426410; SI-NEXT: v_mov_b32_e32 v42, v456411; SI-NEXT: v_mov_b32_e32 v45, v506412; SI-NEXT: v_mov_b32_e32 v50, v566413; SI-NEXT: v_mov_b32_e32 v56, v596414; SI-NEXT: v_mov_b32_e32 v59, v636415; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload6416; SI-NEXT: v_mov_b32_e32 v30, v416417; SI-NEXT: v_mov_b32_e32 v41, v446418; SI-NEXT: v_mov_b32_e32 v44, v476419; SI-NEXT: v_mov_b32_e32 v47, v516420; SI-NEXT: v_mov_b32_e32 v51, v586421; SI-NEXT: v_mov_b32_e32 v58, v626422; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload6423; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload6424; SI-NEXT: s_branch .LBB15_26425;6426; VI-LABEL: bitcast_v56i16_to_v28i32_scalar:6427; VI: ; %bb.0:6428; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6429; VI-NEXT: s_lshr_b32 s6, s29, 166430; VI-NEXT: s_lshr_b32 s7, s28, 166431; VI-NEXT: s_lshr_b32 s8, s27, 166432; VI-NEXT: s_lshr_b32 s9, s26, 166433; VI-NEXT: s_lshr_b32 s10, s25, 166434; VI-NEXT: s_lshr_b32 s11, s24, 166435; VI-NEXT: s_lshr_b32 s12, s23, 166436; VI-NEXT: s_lshr_b32 s13, s22, 166437; VI-NEXT: s_lshr_b32 s14, s21, 166438; VI-NEXT: s_lshr_b32 s15, s20, 166439; VI-NEXT: s_lshr_b32 s40, s19, 166440; VI-NEXT: s_lshr_b32 s41, s18, 166441; VI-NEXT: s_lshr_b32 s42, s17, 166442; VI-NEXT: s_lshr_b32 s43, s16, 166443; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v146444; VI-NEXT: v_mov_b32_e32 v32, v136445; VI-NEXT: v_mov_b32_e32 v33, v126446; VI-NEXT: v_mov_b32_e32 v34, v116447; VI-NEXT: v_mov_b32_e32 v35, v106448; VI-NEXT: v_mov_b32_e32 v36, v96449; VI-NEXT: v_mov_b32_e32 v37, v86450; VI-NEXT: v_mov_b32_e32 v38, v76451; VI-NEXT: v_mov_b32_e32 v39, v66452; VI-NEXT: v_mov_b32_e32 v48, v56453; VI-NEXT: v_mov_b32_e32 v49, v46454; VI-NEXT: v_mov_b32_e32 v50, v36455; VI-NEXT: v_mov_b32_e32 v51, v26456; VI-NEXT: v_mov_b32_e32 v52, v16457; VI-NEXT: v_mov_b32_e32 v53, v06458; VI-NEXT: s_and_b64 s[4:5], vcc, exec6459; VI-NEXT: s_cbranch_scc0 .LBB15_46460; VI-NEXT: ; %bb.1: ; %cmp.false6461; VI-NEXT: s_and_b32 s4, 0xffff, s166462; VI-NEXT: s_lshl_b32 s5, s43, 166463; VI-NEXT: s_or_b32 s4, s4, s56464; VI-NEXT: s_and_b32 s5, 0xffff, s176465; VI-NEXT: s_lshl_b32 s44, s42, 166466; VI-NEXT: v_mov_b32_e32 v0, 166467; VI-NEXT: s_or_b32 s5, s5, s446468; VI-NEXT: s_and_b32 s44, 0xffff, s186469; VI-NEXT: s_lshl_b32 s45, s41, 166470; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16471; VI-NEXT: s_or_b32 s44, s44, s456472; VI-NEXT: s_and_b32 s45, 0xffff, s196473; VI-NEXT: s_lshl_b32 s46, s40, 166474; VI-NEXT: v_or_b32_sdwa v14, v53, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6475; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16476; VI-NEXT: s_or_b32 s45, s45, s466477; VI-NEXT: s_and_b32 s46, 0xffff, s206478; VI-NEXT: s_lshl_b32 s47, s15, 166479; VI-NEXT: v_or_b32_sdwa v16, v51, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6480; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16481; VI-NEXT: s_or_b32 s46, s46, s476482; VI-NEXT: s_and_b32 s47, 0xffff, s216483; VI-NEXT: s_lshl_b32 s56, s14, 166484; VI-NEXT: v_or_b32_sdwa v17, v50, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6485; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16486; VI-NEXT: s_or_b32 s47, s47, s566487; VI-NEXT: s_and_b32 s56, 0xffff, s226488; VI-NEXT: s_lshl_b32 s57, s13, 166489; VI-NEXT: v_or_b32_sdwa v18, v49, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6490; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16491; VI-NEXT: s_or_b32 s56, s56, s576492; VI-NEXT: s_and_b32 s57, 0xffff, s236493; VI-NEXT: s_lshl_b32 s58, s12, 166494; VI-NEXT: v_or_b32_sdwa v19, v48, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6495; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16496; VI-NEXT: s_or_b32 s57, s57, s586497; VI-NEXT: s_and_b32 s58, 0xffff, s246498; VI-NEXT: s_lshl_b32 s59, s11, 166499; VI-NEXT: v_or_b32_sdwa v20, v39, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6500; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16501; VI-NEXT: s_or_b32 s58, s58, s596502; VI-NEXT: s_and_b32 s59, 0xffff, s256503; VI-NEXT: s_lshl_b32 s60, s10, 166504; VI-NEXT: v_or_b32_sdwa v21, v38, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6505; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16506; VI-NEXT: s_or_b32 s59, s59, s606507; VI-NEXT: s_and_b32 s60, 0xffff, s266508; VI-NEXT: s_lshl_b32 s61, s9, 166509; VI-NEXT: v_or_b32_sdwa v22, v37, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6510; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16511; VI-NEXT: s_or_b32 s60, s60, s616512; VI-NEXT: s_and_b32 s61, 0xffff, s276513; VI-NEXT: s_lshl_b32 s62, s8, 166514; VI-NEXT: v_or_b32_sdwa v23, v36, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6515; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16516; VI-NEXT: s_or_b32 s61, s61, s626517; VI-NEXT: s_and_b32 s62, 0xffff, s286518; VI-NEXT: s_lshl_b32 s63, s7, 166519; VI-NEXT: v_or_b32_sdwa v24, v35, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6520; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16521; VI-NEXT: s_or_b32 s62, s62, s636522; VI-NEXT: s_and_b32 s63, 0xffff, s296523; VI-NEXT: s_lshl_b32 s72, s6, 166524; VI-NEXT: v_lshlrev_b32_sdwa v2, v0, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16525; VI-NEXT: v_or_b32_sdwa v25, v34, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6526; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16527; VI-NEXT: v_lshlrev_b32_sdwa v0, v0, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16528; VI-NEXT: s_or_b32 s63, s63, s726529; VI-NEXT: v_or_b32_sdwa v15, v52, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6530; VI-NEXT: v_or_b32_sdwa v26, v33, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6531; VI-NEXT: v_or_b32_sdwa v27, v32, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD6532; VI-NEXT: v_mov_b32_e32 v0, s46533; VI-NEXT: v_mov_b32_e32 v1, s56534; VI-NEXT: v_mov_b32_e32 v2, s446535; VI-NEXT: v_mov_b32_e32 v3, s456536; VI-NEXT: v_mov_b32_e32 v4, s466537; VI-NEXT: v_mov_b32_e32 v5, s476538; VI-NEXT: v_mov_b32_e32 v6, s566539; VI-NEXT: v_mov_b32_e32 v7, s576540; VI-NEXT: v_mov_b32_e32 v8, s586541; VI-NEXT: v_mov_b32_e32 v9, s596542; VI-NEXT: v_mov_b32_e32 v10, s606543; VI-NEXT: v_mov_b32_e32 v11, s616544; VI-NEXT: v_mov_b32_e32 v12, s626545; VI-NEXT: v_mov_b32_e32 v13, s636546; VI-NEXT: s_cbranch_execnz .LBB15_36547; VI-NEXT: .LBB15_2: ; %cmp.true6548; VI-NEXT: v_mov_b32_e32 v1, 166549; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v536550; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16551; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06552; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v526553; VI-NEXT: v_lshlrev_b32_sdwa v3, v1, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16554; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06555; VI-NEXT: v_add_u32_e32 v14, vcc, 0x30000, v06556; VI-NEXT: v_add_u32_e32 v15, vcc, 0x30000, v26557; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v516558; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16559; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06560; VI-NEXT: v_add_u32_e32 v16, vcc, 0x30000, v06561; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v506562; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16563; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06564; VI-NEXT: v_add_u32_e32 v17, vcc, 0x30000, v06565; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v496566; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16567; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06568; VI-NEXT: v_add_u32_e32 v18, vcc, 0x30000, v06569; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v486570; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16571; VI-NEXT: s_add_i32 s16, s16, 36572; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06573; VI-NEXT: s_and_b32 s4, s16, 0xffff6574; VI-NEXT: s_lshl_b32 s5, s43, 166575; VI-NEXT: s_add_i32 s17, s17, 36576; VI-NEXT: v_add_u32_e32 v19, vcc, 0x30000, v06577; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v396578; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16579; VI-NEXT: s_or_b32 s4, s5, s46580; VI-NEXT: s_and_b32 s5, s17, 0xffff6581; VI-NEXT: s_lshl_b32 s16, s42, 166582; VI-NEXT: s_add_i32 s18, s18, 36583; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06584; VI-NEXT: s_or_b32 s5, s16, s56585; VI-NEXT: s_and_b32 s16, s18, 0xffff6586; VI-NEXT: s_lshl_b32 s17, s41, 166587; VI-NEXT: s_add_i32 s19, s19, 36588; VI-NEXT: v_add_u32_e32 v20, vcc, 0x30000, v06589; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v386590; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16591; VI-NEXT: s_or_b32 s16, s17, s166592; VI-NEXT: s_and_b32 s17, s19, 0xffff6593; VI-NEXT: s_lshl_b32 s18, s40, 166594; VI-NEXT: s_add_i32 s20, s20, 36595; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06596; VI-NEXT: s_or_b32 s17, s18, s176597; VI-NEXT: s_and_b32 s18, s20, 0xffff6598; VI-NEXT: s_lshl_b32 s15, s15, 166599; VI-NEXT: s_add_i32 s21, s21, 36600; VI-NEXT: v_add_u32_e32 v21, vcc, 0x30000, v06601; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v376602; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16603; VI-NEXT: s_or_b32 s15, s15, s186604; VI-NEXT: s_and_b32 s18, s21, 0xffff6605; VI-NEXT: s_lshl_b32 s14, s14, 166606; VI-NEXT: s_add_i32 s22, s22, 36607; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06608; VI-NEXT: s_or_b32 s14, s14, s186609; VI-NEXT: s_and_b32 s18, s22, 0xffff6610; VI-NEXT: s_lshl_b32 s13, s13, 166611; VI-NEXT: s_add_i32 s23, s23, 36612; VI-NEXT: v_add_u32_e32 v22, vcc, 0x30000, v06613; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v366614; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16615; VI-NEXT: s_or_b32 s13, s13, s186616; VI-NEXT: s_and_b32 s18, s23, 0xffff6617; VI-NEXT: s_lshl_b32 s12, s12, 166618; VI-NEXT: s_add_i32 s24, s24, 36619; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06620; VI-NEXT: s_or_b32 s12, s12, s186621; VI-NEXT: s_and_b32 s18, s24, 0xffff6622; VI-NEXT: s_lshl_b32 s11, s11, 166623; VI-NEXT: s_add_i32 s25, s25, 36624; VI-NEXT: v_add_u32_e32 v23, vcc, 0x30000, v06625; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v356626; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16627; VI-NEXT: s_or_b32 s11, s11, s186628; VI-NEXT: s_and_b32 s18, s25, 0xffff6629; VI-NEXT: s_lshl_b32 s10, s10, 166630; VI-NEXT: s_add_i32 s26, s26, 36631; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06632; VI-NEXT: s_or_b32 s10, s10, s186633; VI-NEXT: s_and_b32 s18, s26, 0xffff6634; VI-NEXT: s_lshl_b32 s9, s9, 166635; VI-NEXT: s_add_i32 s27, s27, 36636; VI-NEXT: v_add_u32_e32 v24, vcc, 0x30000, v06637; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v346638; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16639; VI-NEXT: s_or_b32 s9, s9, s186640; VI-NEXT: s_and_b32 s18, s27, 0xffff6641; VI-NEXT: s_lshl_b32 s8, s8, 166642; VI-NEXT: s_add_i32 s28, s28, 36643; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06644; VI-NEXT: s_or_b32 s8, s8, s186645; VI-NEXT: s_and_b32 s18, s28, 0xffff6646; VI-NEXT: s_lshl_b32 s7, s7, 166647; VI-NEXT: s_add_i32 s29, s29, 36648; VI-NEXT: v_add_u32_e32 v25, vcc, 0x30000, v06649; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v336650; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16651; VI-NEXT: s_or_b32 s7, s7, s186652; VI-NEXT: s_and_b32 s18, s29, 0xffff6653; VI-NEXT: s_lshl_b32 s6, s6, 166654; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06655; VI-NEXT: s_or_b32 s6, s6, s186656; VI-NEXT: v_add_u32_e32 v26, vcc, 0x30000, v06657; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v326658; VI-NEXT: v_lshlrev_b32_sdwa v1, v1, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16659; VI-NEXT: s_add_i32 s4, s4, 0x300006660; VI-NEXT: s_add_i32 s5, s5, 0x300006661; VI-NEXT: s_add_i32 s16, s16, 0x300006662; VI-NEXT: s_add_i32 s17, s17, 0x300006663; VI-NEXT: s_add_i32 s15, s15, 0x300006664; VI-NEXT: s_add_i32 s14, s14, 0x300006665; VI-NEXT: s_add_i32 s13, s13, 0x300006666; VI-NEXT: s_add_i32 s12, s12, 0x300006667; VI-NEXT: s_add_i32 s11, s11, 0x300006668; VI-NEXT: s_add_i32 s10, s10, 0x300006669; VI-NEXT: s_add_i32 s9, s9, 0x300006670; VI-NEXT: s_add_i32 s8, s8, 0x300006671; VI-NEXT: s_add_i32 s7, s7, 0x300006672; VI-NEXT: s_add_i32 s6, s6, 0x300006673; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_06674; VI-NEXT: v_add_u32_e32 v27, vcc, 0x30000, v06675; VI-NEXT: v_mov_b32_e32 v0, s46676; VI-NEXT: v_mov_b32_e32 v1, s56677; VI-NEXT: v_mov_b32_e32 v2, s166678; VI-NEXT: v_mov_b32_e32 v3, s176679; VI-NEXT: v_mov_b32_e32 v4, s156680; VI-NEXT: v_mov_b32_e32 v5, s146681; VI-NEXT: v_mov_b32_e32 v6, s136682; VI-NEXT: v_mov_b32_e32 v7, s126683; VI-NEXT: v_mov_b32_e32 v8, s116684; VI-NEXT: v_mov_b32_e32 v9, s106685; VI-NEXT: v_mov_b32_e32 v10, s96686; VI-NEXT: v_mov_b32_e32 v11, s86687; VI-NEXT: v_mov_b32_e32 v12, s76688; VI-NEXT: v_mov_b32_e32 v13, s66689; VI-NEXT: .LBB15_3: ; %end6690; VI-NEXT: s_setpc_b64 s[30:31]6691; VI-NEXT: .LBB15_4:6692; 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_vgpr316693; VI-NEXT: s_branch .LBB15_26694;6695; GFX9-LABEL: bitcast_v56i16_to_v28i32_scalar:6696; GFX9: ; %bb.0:6697; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6698; GFX9-NEXT: v_mov_b32_e32 v32, v136699; GFX9-NEXT: v_mov_b32_e32 v33, v126700; GFX9-NEXT: v_mov_b32_e32 v34, v116701; GFX9-NEXT: v_mov_b32_e32 v35, v106702; GFX9-NEXT: v_mov_b32_e32 v36, v96703; GFX9-NEXT: v_mov_b32_e32 v37, v86704; GFX9-NEXT: v_mov_b32_e32 v38, v76705; GFX9-NEXT: v_mov_b32_e32 v39, v66706; GFX9-NEXT: v_mov_b32_e32 v48, v56707; GFX9-NEXT: v_mov_b32_e32 v49, v46708; GFX9-NEXT: v_mov_b32_e32 v50, v36709; GFX9-NEXT: v_mov_b32_e32 v51, v26710; GFX9-NEXT: v_mov_b32_e32 v52, v16711; GFX9-NEXT: v_mov_b32_e32 v53, v06712; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v146713; GFX9-NEXT: s_lshr_b32 s40, s29, 166714; GFX9-NEXT: s_lshr_b32 s41, s28, 166715; GFX9-NEXT: s_lshr_b32 s42, s27, 166716; GFX9-NEXT: s_lshr_b32 s43, s26, 166717; GFX9-NEXT: s_lshr_b32 s15, s25, 166718; GFX9-NEXT: s_lshr_b32 s14, s24, 166719; GFX9-NEXT: s_lshr_b32 s13, s23, 166720; GFX9-NEXT: s_lshr_b32 s12, s22, 166721; GFX9-NEXT: s_lshr_b32 s11, s21, 166722; GFX9-NEXT: s_lshr_b32 s10, s20, 166723; GFX9-NEXT: s_lshr_b32 s9, s19, 166724; GFX9-NEXT: s_lshr_b32 s8, s18, 166725; GFX9-NEXT: s_lshr_b32 s7, s17, 166726; GFX9-NEXT: s_lshr_b32 s6, s16, 166727; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill6728; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill6729; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill6730; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill6731; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill6732; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill6733; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill6734; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill6735; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill6736; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill6737; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill6738; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill6739; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v326740; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v336741; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v346742; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v356743; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v366744; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v376745; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec6746; GFX9-NEXT: s_pack_ll_b32_b16 s6, s16, s66747; GFX9-NEXT: s_pack_ll_b32_b16 s7, s17, s76748; GFX9-NEXT: s_pack_ll_b32_b16 s8, s18, s86749; GFX9-NEXT: s_pack_ll_b32_b16 s9, s19, s96750; GFX9-NEXT: s_pack_ll_b32_b16 s10, s20, s106751; GFX9-NEXT: s_pack_ll_b32_b16 s11, s21, s116752; GFX9-NEXT: s_pack_ll_b32_b16 s12, s22, s126753; GFX9-NEXT: s_pack_ll_b32_b16 s13, s23, s136754; GFX9-NEXT: s_pack_ll_b32_b16 s14, s24, s146755; GFX9-NEXT: s_pack_ll_b32_b16 s15, s25, s156756; GFX9-NEXT: s_pack_ll_b32_b16 s16, s26, s436757; GFX9-NEXT: s_pack_ll_b32_b16 s17, s27, s426758; GFX9-NEXT: s_pack_ll_b32_b16 s18, s28, s416759; GFX9-NEXT: s_pack_ll_b32_b16 s19, s29, s406760; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v386761; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v396762; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v486763; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v496764; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v506765; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v516766; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v526767; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v536768; GFX9-NEXT: s_cbranch_scc0 .LBB15_46769; GFX9-NEXT: ; %bb.1: ; %cmp.false6770; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v536771; GFX9-NEXT: v_lshl_or_b32 v14, v59, 16, v06772; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v526773; GFX9-NEXT: v_lshl_or_b32 v15, v58, 16, v06774; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v516775; GFX9-NEXT: v_lshl_or_b32 v16, v57, 16, v06776; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v506777; GFX9-NEXT: v_lshl_or_b32 v17, v56, 16, v06778; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v496779; GFX9-NEXT: v_lshl_or_b32 v18, v47, 16, v06780; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v486781; GFX9-NEXT: v_lshl_or_b32 v19, v46, 16, v06782; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v396783; GFX9-NEXT: v_lshl_or_b32 v20, v45, 16, v06784; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v386785; GFX9-NEXT: v_lshl_or_b32 v21, v44, 16, v06786; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v376787; GFX9-NEXT: v_lshl_or_b32 v22, v43, 16, v06788; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v366789; GFX9-NEXT: v_lshl_or_b32 v23, v42, 16, v06790; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v356791; GFX9-NEXT: v_lshl_or_b32 v24, v41, 16, v06792; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v346793; GFX9-NEXT: v_lshl_or_b32 v25, v40, 16, v06794; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v336795; GFX9-NEXT: v_lshl_or_b32 v26, v55, 16, v06796; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v326797; GFX9-NEXT: v_lshl_or_b32 v27, v54, 16, v06798; GFX9-NEXT: v_mov_b32_e32 v0, s66799; GFX9-NEXT: v_mov_b32_e32 v1, s76800; GFX9-NEXT: v_mov_b32_e32 v2, s86801; GFX9-NEXT: v_mov_b32_e32 v3, s96802; GFX9-NEXT: v_mov_b32_e32 v4, s106803; GFX9-NEXT: v_mov_b32_e32 v5, s116804; GFX9-NEXT: v_mov_b32_e32 v6, s126805; GFX9-NEXT: v_mov_b32_e32 v7, s136806; GFX9-NEXT: v_mov_b32_e32 v8, s146807; GFX9-NEXT: v_mov_b32_e32 v9, s156808; GFX9-NEXT: v_mov_b32_e32 v10, s166809; GFX9-NEXT: v_mov_b32_e32 v11, s176810; GFX9-NEXT: v_mov_b32_e32 v12, s186811; GFX9-NEXT: v_mov_b32_e32 v13, s196812; GFX9-NEXT: s_cbranch_execnz .LBB15_36813; GFX9-NEXT: .LBB15_2: ; %cmp.true6814; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v536815; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v526816; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v516817; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v506818; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v496819; GFX9-NEXT: v_and_b32_e32 v19, 0xffff, v486820; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v396821; GFX9-NEXT: v_and_b32_e32 v21, 0xffff, v386822; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v376823; GFX9-NEXT: v_and_b32_e32 v23, 0xffff, v366824; GFX9-NEXT: v_and_b32_e32 v24, 0xffff, v356825; GFX9-NEXT: v_and_b32_e32 v25, 0xffff, v346826; GFX9-NEXT: v_and_b32_e32 v26, 0xffff, v336827; GFX9-NEXT: v_and_b32_e32 v27, 0xffff, v326828; GFX9-NEXT: v_lshl_or_b32 v14, v59, 16, v146829; GFX9-NEXT: v_lshl_or_b32 v15, v58, 16, v156830; GFX9-NEXT: v_lshl_or_b32 v16, v57, 16, v166831; GFX9-NEXT: v_lshl_or_b32 v17, v56, 16, v176832; GFX9-NEXT: v_lshl_or_b32 v18, v47, 16, v186833; GFX9-NEXT: v_lshl_or_b32 v19, v46, 16, v196834; GFX9-NEXT: v_lshl_or_b32 v20, v45, 16, v206835; GFX9-NEXT: v_lshl_or_b32 v21, v44, 16, v216836; GFX9-NEXT: v_lshl_or_b32 v22, v43, 16, v226837; GFX9-NEXT: v_lshl_or_b32 v23, v42, 16, v236838; GFX9-NEXT: v_lshl_or_b32 v24, v41, 16, v246839; GFX9-NEXT: v_lshl_or_b32 v25, v40, 16, v256840; GFX9-NEXT: v_lshl_or_b32 v26, v55, 16, v266841; GFX9-NEXT: v_lshl_or_b32 v27, v54, 16, v276842; GFX9-NEXT: v_pk_add_u16 v0, s6, 3 op_sel_hi:[1,0]6843; GFX9-NEXT: v_pk_add_u16 v1, s7, 3 op_sel_hi:[1,0]6844; GFX9-NEXT: v_pk_add_u16 v2, s8, 3 op_sel_hi:[1,0]6845; GFX9-NEXT: v_pk_add_u16 v3, s9, 3 op_sel_hi:[1,0]6846; GFX9-NEXT: v_pk_add_u16 v4, s10, 3 op_sel_hi:[1,0]6847; GFX9-NEXT: v_pk_add_u16 v5, s11, 3 op_sel_hi:[1,0]6848; GFX9-NEXT: v_pk_add_u16 v6, s12, 3 op_sel_hi:[1,0]6849; GFX9-NEXT: v_pk_add_u16 v7, s13, 3 op_sel_hi:[1,0]6850; GFX9-NEXT: v_pk_add_u16 v8, s14, 3 op_sel_hi:[1,0]6851; GFX9-NEXT: v_pk_add_u16 v9, s15, 3 op_sel_hi:[1,0]6852; GFX9-NEXT: v_pk_add_u16 v10, s16, 3 op_sel_hi:[1,0]6853; GFX9-NEXT: v_pk_add_u16 v11, s17, 3 op_sel_hi:[1,0]6854; GFX9-NEXT: v_pk_add_u16 v12, s18, 3 op_sel_hi:[1,0]6855; GFX9-NEXT: v_pk_add_u16 v13, s19, 3 op_sel_hi:[1,0]6856; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]6857; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]6858; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]6859; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]6860; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]6861; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]6862; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]6863; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]6864; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]6865; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]6866; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]6867; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]6868; GFX9-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]6869; GFX9-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]6870; GFX9-NEXT: .LBB15_3: ; %end6871; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload6872; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload6873; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload6874; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload6875; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload6876; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload6877; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload6878; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload6879; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload6880; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload6881; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload6882; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload6883; GFX9-NEXT: s_waitcnt vmcnt(0)6884; GFX9-NEXT: s_setpc_b64 s[30:31]6885; GFX9-NEXT: .LBB15_4:6886; 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_vgpr316887; GFX9-NEXT: s_branch .LBB15_26888;6889; GFX11-TRUE16-LABEL: bitcast_v56i16_to_v28i32_scalar:6890; GFX11-TRUE16: ; %bb.0:6891; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6892; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v106893; GFX11-TRUE16-NEXT: v_dual_mov_b32 v27, v9 :: v_dual_mov_b32 v26, v86894; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, v7 :: v_dual_mov_b32 v24, v66895; GFX11-TRUE16-NEXT: v_dual_mov_b32 v23, v5 :: v_dual_mov_b32 v22, v46896; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, v3 :: v_dual_mov_b32 v20, v26897; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, v1 :: v_dual_mov_b32 v18, v06898; GFX11-TRUE16-NEXT: s_lshr_b32 s41, s29, 166899; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 166900; GFX11-TRUE16-NEXT: s_lshr_b32 s15, s27, 166901; GFX11-TRUE16-NEXT: s_lshr_b32 s14, s26, 166902; GFX11-TRUE16-NEXT: s_lshr_b32 s13, s25, 166903; GFX11-TRUE16-NEXT: s_lshr_b32 s12, s24, 166904; GFX11-TRUE16-NEXT: s_lshr_b32 s11, s23, 166905; GFX11-TRUE16-NEXT: s_lshr_b32 s10, s22, 166906; GFX11-TRUE16-NEXT: s_lshr_b32 s9, s21, 166907; GFX11-TRUE16-NEXT: s_lshr_b32 s8, s20, 166908; GFX11-TRUE16-NEXT: s_lshr_b32 s7, s19, 166909; GFX11-TRUE16-NEXT: s_lshr_b32 s6, s18, 166910; GFX11-TRUE16-NEXT: s_lshr_b32 s5, s17, 166911; GFX11-TRUE16-NEXT: s_lshr_b32 s4, s16, 166912; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s3, 166913; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s2, 166914; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s1, 166915; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s0, 166916; GFX11-TRUE16-NEXT: s_mov_b32 s40, 06917; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s0, s0, s466918; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s1, s1, s456919; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s2, s2, s446920; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s3, s3, s436921; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s4, s16, s46922; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s5, s17, s56923; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s6, s18, s66924; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s7, s19, s76925; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s8, s20, s86926; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s9, s21, s96927; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s10, s22, s106928; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s11, s23, s116929; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s12, s24, s126930; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s13, s25, s136931; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s14, s26, s146932; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s15, s27, s156933; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s16, s28, s426934; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s17, s29, s416935; GFX11-TRUE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo6936; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB15_46937; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false6938; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s16939; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s36940; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s56941; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s76942; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s96943; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s116944; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s136945; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s156946; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s176947; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s406948; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB15_36949; GFX11-TRUE16-NEXT: .LBB15_2: ; %cmp.true6950; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]6951; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]6952; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]6953; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]6954; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]6955; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]6956; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]6957; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]6958; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]6959; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]6960; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]6961; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]6962; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]6963; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]6964; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]6965; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, s15, 3 op_sel_hi:[1,0]6966; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, s16, 3 op_sel_hi:[1,0]6967; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, s17, 3 op_sel_hi:[1,0]6968; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]6969; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]6970; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]6971; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]6972; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]6973; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]6974; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]6975; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]6976; GFX11-TRUE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]6977; GFX11-TRUE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]6978; GFX11-TRUE16-NEXT: .LBB15_3: ; %end6979; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]6980; GFX11-TRUE16-NEXT: .LBB15_4:6981; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr06982; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr16983; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr26984; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36985; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46986; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56987; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66988; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76989; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86990; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96991; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106992; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116993; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr126994; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr136995; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146996; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr156997; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166998; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176999; GFX11-TRUE16-NEXT: s_branch .LBB15_27000;7001; GFX11-FAKE16-LABEL: bitcast_v56i16_to_v28i32_scalar:7002; GFX11-FAKE16: ; %bb.0:7003; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7004; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v107005; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v97006; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v87007; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v77008; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v67009; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v57010; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v47011; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v37012; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v27013; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v17014; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v07015; GFX11-FAKE16-NEXT: v_and_b32_e32 v67, 0xffff, v07016; GFX11-FAKE16-NEXT: v_and_b32_e32 v66, 0xffff, v17017; GFX11-FAKE16-NEXT: v_and_b32_e32 v65, 0xffff, v27018; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v37019; GFX11-FAKE16-NEXT: v_and_b32_e32 v55, 0xffff, v47020; GFX11-FAKE16-NEXT: v_and_b32_e32 v54, 0xffff, v57021; GFX11-FAKE16-NEXT: v_and_b32_e32 v53, 0xffff, v67022; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v77023; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v87024; GFX11-FAKE16-NEXT: v_and_b32_e32 v50, 0xffff, v97025; GFX11-FAKE16-NEXT: s_lshr_b32 s40, s29, 167026; GFX11-FAKE16-NEXT: s_lshr_b32 s41, s28, 167027; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s27, 167028; GFX11-FAKE16-NEXT: s_lshr_b32 s14, s26, 167029; GFX11-FAKE16-NEXT: s_lshr_b32 s13, s25, 167030; GFX11-FAKE16-NEXT: s_lshr_b32 s12, s24, 167031; GFX11-FAKE16-NEXT: s_lshr_b32 s11, s23, 167032; GFX11-FAKE16-NEXT: s_lshr_b32 s10, s22, 167033; GFX11-FAKE16-NEXT: s_lshr_b32 s9, s21, 167034; GFX11-FAKE16-NEXT: s_lshr_b32 s8, s20, 167035; GFX11-FAKE16-NEXT: s_lshr_b32 s7, s19, 167036; GFX11-FAKE16-NEXT: s_lshr_b32 s6, s18, 167037; GFX11-FAKE16-NEXT: s_lshr_b32 s5, s17, 167038; GFX11-FAKE16-NEXT: s_lshr_b32 s4, s16, 167039; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s3, 167040; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s2, 167041; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s1, 167042; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s0, 167043; GFX11-FAKE16-NEXT: s_mov_b32 s15, 07044; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s0, s0, s467045; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s1, s1, s457046; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s2, s2, s447047; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s3, s3, s437048; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s4, s16, s47049; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s5, s17, s57050; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s6, s18, s67051; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s7, s19, s77052; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s8, s20, s87053; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s9, s21, s97054; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s10, s22, s107055; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s11, s23, s117056; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s12, s24, s127057; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s13, s25, s137058; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s14, s26, s147059; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s16, s27, s427060; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s17, s28, s417061; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s18, s29, s407062; GFX11-FAKE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo7063; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB15_47064; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false7065; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v677066; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v667067; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v657068; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v647069; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v557070; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v547071; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v537072; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v527073; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v33, 16, v517074; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v32, 16, v507075; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s17076; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s37077; GFX11-FAKE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s57078; GFX11-FAKE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s77079; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s97080; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s117081; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s137082; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s167083; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s17 :: v_dual_mov_b32 v17, s187084; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s157085; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB15_37086; GFX11-FAKE16-NEXT: .LBB15_2: ; %cmp.true7087; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v677088; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v667089; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v657090; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v647091; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v557092; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v547093; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v537094; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v527095; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v33, 16, v517096; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v32, 16, v507097; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]7098; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]7099; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]7100; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]7101; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]7102; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]7103; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]7104; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]7105; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]7106; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]7107; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]7108; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]7109; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]7110; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]7111; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]7112; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, s16, 3 op_sel_hi:[1,0]7113; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, s17, 3 op_sel_hi:[1,0]7114; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, s18, 3 op_sel_hi:[1,0]7115; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]7116; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]7117; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]7118; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]7119; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]7120; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]7121; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]7122; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]7123; GFX11-FAKE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]7124; GFX11-FAKE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]7125; GFX11-FAKE16-NEXT: .LBB15_3: ; %end7126; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]7127; GFX11-FAKE16-NEXT: .LBB15_4:7128; 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_vgpr317129; GFX11-FAKE16-NEXT: s_branch .LBB15_27130 %cmp = icmp eq i32 %b, 07131 br i1 %cmp, label %cmp.true, label %cmp.false7132 7133cmp.true:7134 %a1 = add <56 x i16> %a, splat (i16 3)7135 %a2 = bitcast <56 x i16> %a1 to <28 x i32>7136 br label %end7137 7138cmp.false:7139 %a3 = bitcast <56 x i16> %a to <28 x i32>7140 br label %end7141 7142end:7143 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]7144 ret <28 x i32> %phi7145}7146 7147define <56 x half> @bitcast_v28i32_to_v56f16(<28 x i32> %a, i32 %b) {7148; SI-LABEL: bitcast_v28i32_to_v56f16:7149; SI: ; %bb.0:7150; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7151; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v297152; SI-NEXT: ; implicit-def: $vgpr297153; SI-NEXT: ; kill: killed $vgpr297154; SI-NEXT: ; implicit-def: $vgpr297155; SI-NEXT: ; kill: killed $vgpr297156; SI-NEXT: ; implicit-def: $vgpr297157; SI-NEXT: ; kill: killed $vgpr297158; SI-NEXT: ; implicit-def: $vgpr297159; SI-NEXT: ; kill: killed $vgpr297160; SI-NEXT: ; implicit-def: $vgpr297161; SI-NEXT: ; kill: killed $vgpr297162; SI-NEXT: ; implicit-def: $vgpr297163; SI-NEXT: ; kill: killed $vgpr297164; SI-NEXT: ; implicit-def: $vgpr297165; SI-NEXT: ; kill: killed $vgpr297166; SI-NEXT: ; implicit-def: $vgpr297167; SI-NEXT: ; kill: killed $vgpr297168; SI-NEXT: ; implicit-def: $vgpr297169; SI-NEXT: ; kill: killed $vgpr297170; SI-NEXT: ; implicit-def: $vgpr297171; SI-NEXT: ; kill: killed $vgpr297172; SI-NEXT: ; implicit-def: $vgpr297173; SI-NEXT: ; kill: killed $vgpr297174; SI-NEXT: ; implicit-def: $vgpr297175; SI-NEXT: ; kill: killed $vgpr297176; SI-NEXT: ; implicit-def: $vgpr297177; SI-NEXT: ; kill: killed $vgpr297178; SI-NEXT: ; implicit-def: $vgpr297179; SI-NEXT: ; kill: killed $vgpr297180; SI-NEXT: ; implicit-def: $vgpr297181; SI-NEXT: ; kill: killed $vgpr297182; SI-NEXT: ; implicit-def: $vgpr297183; SI-NEXT: ; kill: killed $vgpr297184; SI-NEXT: ; implicit-def: $vgpr297185; SI-NEXT: ; kill: killed $vgpr297186; SI-NEXT: ; implicit-def: $vgpr297187; SI-NEXT: ; kill: killed $vgpr297188; SI-NEXT: ; implicit-def: $vgpr297189; SI-NEXT: ; kill: killed $vgpr297190; SI-NEXT: ; implicit-def: $vgpr297191; SI-NEXT: ; kill: killed $vgpr297192; SI-NEXT: ; implicit-def: $vgpr297193; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill7194; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill7195; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill7196; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill7197; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill7198; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill7199; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill7200; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill7201; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill7202; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill7203; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill7204; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill7205; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill7206; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill7207; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill7208; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill7209; SI-NEXT: ; implicit-def: $vgpr407210; SI-NEXT: ; implicit-def: $vgpr417211; SI-NEXT: ; implicit-def: $vgpr547212; SI-NEXT: ; implicit-def: $vgpr557213; SI-NEXT: ; implicit-def: $vgpr527214; SI-NEXT: ; implicit-def: $vgpr537215; SI-NEXT: ; implicit-def: $vgpr507216; SI-NEXT: ; implicit-def: $vgpr517217; SI-NEXT: ; implicit-def: $vgpr497218; SI-NEXT: ; implicit-def: $vgpr487219; SI-NEXT: ; implicit-def: $vgpr397220; SI-NEXT: ; implicit-def: $vgpr387221; SI-NEXT: ; implicit-def: $vgpr377222; SI-NEXT: ; implicit-def: $vgpr367223; SI-NEXT: ; implicit-def: $vgpr347224; SI-NEXT: ; implicit-def: $vgpr327225; SI-NEXT: ; implicit-def: $vgpr307226; SI-NEXT: ; implicit-def: $vgpr637227; SI-NEXT: ; implicit-def: $vgpr607228; SI-NEXT: ; implicit-def: $vgpr587229; SI-NEXT: ; implicit-def: $vgpr567230; SI-NEXT: ; implicit-def: $vgpr467231; SI-NEXT: ; implicit-def: $vgpr447232; SI-NEXT: ; implicit-def: $vgpr427233; SI-NEXT: ; implicit-def: $vgpr597234; SI-NEXT: ; implicit-def: $vgpr617235; SI-NEXT: ; kill: killed $vgpr297236; SI-NEXT: ; implicit-def: $vgpr627237; SI-NEXT: ; implicit-def: $vgpr577238; SI-NEXT: ; implicit-def: $vgpr437239; SI-NEXT: ; implicit-def: $vgpr477240; SI-NEXT: ; implicit-def: $vgpr317241; SI-NEXT: ; implicit-def: $vgpr457242; SI-NEXT: ; implicit-def: $vgpr337243; SI-NEXT: ; implicit-def: $vgpr297244; SI-NEXT: ; implicit-def: $vgpr357245; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc7246; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]7247; SI-NEXT: s_cbranch_execz .LBB16_27248; SI-NEXT: ; %bb.1: ; %cmp.false7249; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v287250; SI-NEXT: v_cvt_f32_f16_e32 v35, v297251; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v277252; SI-NEXT: v_cvt_f32_f16_e32 v33, v297253; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v267254; SI-NEXT: v_cvt_f32_f16_e32 v31, v297255; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v257256; SI-NEXT: v_cvt_f32_f16_e32 v43, v297257; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v247258; SI-NEXT: s_waitcnt expcnt(1)7259; SI-NEXT: v_cvt_f32_f16_e32 v62, v297260; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v237261; SI-NEXT: v_cvt_f32_f16_e32 v61, v297262; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v227263; SI-NEXT: v_cvt_f32_f16_e32 v59, v297264; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v217265; SI-NEXT: v_cvt_f32_f16_e32 v29, v297266; SI-NEXT: v_cvt_f32_f16_e32 v24, v247267; SI-NEXT: v_cvt_f32_f16_e32 v23, v237268; SI-NEXT: v_cvt_f32_f16_e32 v22, v227269; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill7270; SI-NEXT: s_waitcnt expcnt(0)7271; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v207272; SI-NEXT: v_cvt_f32_f16_e32 v29, v297273; SI-NEXT: v_cvt_f32_f16_e32 v21, v217274; SI-NEXT: v_cvt_f32_f16_e32 v20, v207275; SI-NEXT: v_cvt_f32_f16_e32 v45, v277276; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill7277; SI-NEXT: s_waitcnt expcnt(0)7278; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v197279; SI-NEXT: v_cvt_f32_f16_e32 v29, v297280; SI-NEXT: v_cvt_f32_f16_e32 v19, v197281; SI-NEXT: v_cvt_f32_f16_e32 v47, v267282; SI-NEXT: v_cvt_f32_f16_e32 v57, v257283; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill7284; SI-NEXT: s_waitcnt expcnt(0)7285; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v187286; SI-NEXT: v_cvt_f32_f16_e32 v29, v297287; SI-NEXT: v_cvt_f32_f16_e32 v18, v187288; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill7289; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill7290; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill7291; SI-NEXT: s_waitcnt expcnt(0)7292; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v177293; SI-NEXT: v_cvt_f32_f16_e32 v42, v297294; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v167295; SI-NEXT: v_cvt_f32_f16_e32 v44, v297296; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v157297; SI-NEXT: v_cvt_f32_f16_e32 v46, v297298; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v147299; SI-NEXT: v_cvt_f32_f16_e32 v56, v297300; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v137301; SI-NEXT: v_cvt_f32_f16_e32 v58, v297302; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v127303; SI-NEXT: v_cvt_f32_f16_e32 v60, v297304; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v117305; SI-NEXT: v_cvt_f32_f16_e32 v63, v297306; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v107307; SI-NEXT: v_cvt_f32_f16_e32 v30, v297308; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v97309; SI-NEXT: v_cvt_f32_f16_e32 v32, v297310; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v87311; SI-NEXT: v_cvt_f32_f16_e32 v34, v297312; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v77313; SI-NEXT: v_cvt_f32_f16_e32 v36, v297314; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v67315; SI-NEXT: v_cvt_f32_f16_e32 v38, v297316; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v57317; SI-NEXT: v_cvt_f32_f16_e32 v48, v297318; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v47319; SI-NEXT: v_cvt_f32_f16_e32 v17, v177320; SI-NEXT: v_cvt_f32_f16_e32 v16, v167321; SI-NEXT: v_cvt_f32_f16_e32 v15, v157322; SI-NEXT: v_cvt_f32_f16_e32 v14, v147323; SI-NEXT: v_cvt_f32_f16_e32 v13, v137324; SI-NEXT: v_cvt_f32_f16_e32 v12, v127325; SI-NEXT: v_cvt_f32_f16_e32 v11, v117326; SI-NEXT: v_cvt_f32_f16_e32 v10, v107327; SI-NEXT: v_cvt_f32_f16_e32 v9, v97328; SI-NEXT: v_cvt_f32_f16_e32 v8, v87329; SI-NEXT: v_cvt_f32_f16_e32 v51, v297330; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v37331; SI-NEXT: v_cvt_f32_f16_e32 v53, v297332; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v27333; SI-NEXT: v_cvt_f32_f16_e32 v55, v297334; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v17335; SI-NEXT: v_cvt_f32_f16_e32 v41, v297336; SI-NEXT: v_cvt_f32_f16_e32 v29, v287337; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill7338; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill7339; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill7340; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill7341; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill7342; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill7343; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill7344; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill7345; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill7346; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill7347; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill7348; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill7349; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill7350; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill7351; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill7352; SI-NEXT: v_cvt_f32_f16_e32 v37, v77353; SI-NEXT: v_cvt_f32_f16_e32 v39, v67354; SI-NEXT: v_cvt_f32_f16_e32 v49, v57355; SI-NEXT: v_cvt_f32_f16_e32 v50, v47356; SI-NEXT: v_cvt_f32_f16_e32 v52, v37357; SI-NEXT: v_cvt_f32_f16_e32 v54, v27358; SI-NEXT: v_cvt_f32_f16_e32 v40, v17359; SI-NEXT: ; implicit-def: $vgpr17360; SI-NEXT: ; implicit-def: $vgpr27361; SI-NEXT: ; implicit-def: $vgpr37362; SI-NEXT: ; implicit-def: $vgpr47363; SI-NEXT: ; implicit-def: $vgpr57364; SI-NEXT: ; implicit-def: $vgpr67365; SI-NEXT: ; implicit-def: $vgpr77366; SI-NEXT: ; implicit-def: $vgpr87367; SI-NEXT: ; implicit-def: $vgpr97368; SI-NEXT: ; implicit-def: $vgpr107369; SI-NEXT: ; implicit-def: $vgpr117370; SI-NEXT: ; implicit-def: $vgpr127371; SI-NEXT: ; implicit-def: $vgpr137372; SI-NEXT: ; implicit-def: $vgpr147373; SI-NEXT: ; implicit-def: $vgpr157374; SI-NEXT: ; implicit-def: $vgpr167375; SI-NEXT: ; implicit-def: $vgpr177376; SI-NEXT: ; implicit-def: $vgpr187377; SI-NEXT: ; implicit-def: $vgpr197378; SI-NEXT: ; implicit-def: $vgpr207379; SI-NEXT: ; implicit-def: $vgpr217380; SI-NEXT: ; implicit-def: $vgpr227381; SI-NEXT: ; implicit-def: $vgpr237382; SI-NEXT: ; implicit-def: $vgpr247383; SI-NEXT: ; implicit-def: $vgpr257384; SI-NEXT: ; implicit-def: $vgpr267385; SI-NEXT: ; implicit-def: $vgpr277386; SI-NEXT: ; implicit-def: $vgpr287387; SI-NEXT: .LBB16_2: ; %Flow7388; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]7389; SI-NEXT: s_cbranch_execz .LBB16_47390; SI-NEXT: ; %bb.3: ; %cmp.true7391; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v217392; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v27393; SI-NEXT: s_waitcnt expcnt(6)7394; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v217395; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v27396; SI-NEXT: v_cvt_f32_f16_e32 v54, v27397; SI-NEXT: v_cvt_f32_f16_e32 v2, v577398; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v207399; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v207400; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill7401; SI-NEXT: s_waitcnt expcnt(0)7402; SI-NEXT: v_cvt_f32_f16_e32 v2, v477403; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v197404; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v197405; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill7406; SI-NEXT: s_waitcnt expcnt(0)7407; SI-NEXT: v_cvt_f32_f16_e32 v2, v457408; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v257409; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v17410; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v37411; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v47412; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v57413; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v67414; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v77415; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v87416; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v97417; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v107418; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v117419; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v127420; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v137421; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v147422; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v157423; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v167424; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v177425; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v187426; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v227427; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v237428; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v247429; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v257430; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v267431; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v277432; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v287433; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v17434; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v37435; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v47436; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v57437; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v67438; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v77439; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v87440; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v97441; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v107442; SI-NEXT: v_lshrrev_b32_e32 v63, 16, v117443; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v127444; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v137445; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v147446; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v157447; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v167448; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v177449; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v187450; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v227451; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v237452; SI-NEXT: v_lshrrev_b32_e32 v62, 16, v247453; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v267454; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v277455; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v287456; SI-NEXT: v_cvt_f32_f16_e32 v28, v287457; SI-NEXT: v_cvt_f32_f16_e32 v27, v277458; SI-NEXT: v_cvt_f32_f16_e32 v26, v267459; SI-NEXT: v_cvt_f32_f16_e32 v25, v257460; SI-NEXT: v_cvt_f32_f16_e32 v40, v17461; SI-NEXT: v_cvt_f32_f16_e32 v1, v297462; SI-NEXT: v_cvt_f32_f16_e32 v24, v247463; SI-NEXT: v_cvt_f32_f16_e32 v23, v237464; SI-NEXT: v_cvt_f32_f16_e32 v22, v227465; SI-NEXT: v_cvt_f32_f16_e32 v21, v217466; SI-NEXT: v_cvt_f32_f16_e32 v20, v207467; SI-NEXT: v_cvt_f32_f16_e32 v19, v197468; SI-NEXT: v_cvt_f32_f16_e32 v18, v187469; SI-NEXT: v_cvt_f32_f16_e32 v17, v177470; SI-NEXT: v_cvt_f32_f16_e32 v16, v167471; SI-NEXT: v_cvt_f32_f16_e32 v15, v157472; SI-NEXT: v_cvt_f32_f16_e32 v14, v147473; SI-NEXT: v_cvt_f32_f16_e32 v13, v137474; SI-NEXT: v_cvt_f32_f16_e32 v12, v127475; SI-NEXT: v_cvt_f32_f16_e32 v11, v117476; SI-NEXT: v_cvt_f32_f16_e32 v10, v107477; SI-NEXT: v_cvt_f32_f16_e32 v9, v97478; SI-NEXT: v_cvt_f32_f16_e32 v8, v87479; SI-NEXT: v_cvt_f32_f16_e32 v37, v77480; SI-NEXT: v_cvt_f32_f16_e32 v39, v67481; SI-NEXT: v_cvt_f32_f16_e32 v49, v57482; SI-NEXT: v_cvt_f32_f16_e32 v50, v47483; SI-NEXT: v_cvt_f32_f16_e32 v52, v37484; SI-NEXT: v_cvt_f32_f16_e32 v35, v357485; SI-NEXT: v_cvt_f32_f16_e32 v33, v337486; SI-NEXT: v_cvt_f32_f16_e32 v31, v317487; SI-NEXT: v_cvt_f32_f16_e32 v62, v627488; SI-NEXT: v_cvt_f32_f16_e32 v61, v617489; SI-NEXT: v_cvt_f32_f16_e32 v59, v597490; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill7491; SI-NEXT: s_waitcnt expcnt(0)7492; SI-NEXT: v_cvt_f32_f16_e32 v2, v437493; SI-NEXT: v_cvt_f32_f16_e32 v42, v427494; SI-NEXT: v_cvt_f32_f16_e32 v44, v447495; SI-NEXT: v_cvt_f32_f16_e32 v46, v467496; SI-NEXT: v_cvt_f32_f16_e32 v56, v567497; SI-NEXT: v_cvt_f32_f16_e32 v58, v587498; SI-NEXT: v_cvt_f32_f16_e32 v60, v607499; SI-NEXT: v_cvt_f32_f16_e32 v63, v637500; SI-NEXT: v_cvt_f32_f16_e32 v30, v307501; SI-NEXT: v_cvt_f32_f16_e32 v32, v327502; SI-NEXT: v_cvt_f32_f16_e32 v34, v347503; SI-NEXT: v_cvt_f32_f16_e32 v36, v367504; SI-NEXT: v_cvt_f32_f16_e32 v38, v387505; SI-NEXT: v_cvt_f32_f16_e32 v48, v487506; SI-NEXT: v_cvt_f32_f16_e32 v51, v517507; SI-NEXT: v_cvt_f32_f16_e32 v53, v537508; SI-NEXT: v_cvt_f32_f16_e32 v55, v557509; SI-NEXT: v_cvt_f32_f16_e32 v41, v417510; SI-NEXT: v_mov_b32_e32 v29, v287511; SI-NEXT: v_mov_b32_e32 v57, v257512; SI-NEXT: v_mov_b32_e32 v47, v267513; SI-NEXT: v_mov_b32_e32 v45, v277514; SI-NEXT: v_mov_b32_e32 v43, v17515; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill7516; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill7517; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill7518; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill7519; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill7520; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill7521; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill7522; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill7523; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill7524; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill7525; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill7526; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill7527; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill7528; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill7529; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill7530; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill7531; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill7532; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill7533; SI-NEXT: .LBB16_4: ; %end7534; SI-NEXT: s_or_b64 exec, exec, s[4:5]7535; SI-NEXT: v_cvt_f16_f32_e32 v1, v417536; SI-NEXT: s_waitcnt expcnt(0)7537; SI-NEXT: v_cvt_f16_f32_e32 v2, v407538; SI-NEXT: v_cvt_f16_f32_e32 v3, v557539; SI-NEXT: v_cvt_f16_f32_e32 v4, v547540; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17541; SI-NEXT: v_or_b32_e32 v1, v2, v17542; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v37543; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen7544; SI-NEXT: s_waitcnt expcnt(0)7545; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v07546; SI-NEXT: v_or_b32_e32 v2, v4, v27547; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen7548; SI-NEXT: v_cvt_f16_f32_e32 v1, v537549; SI-NEXT: s_waitcnt expcnt(0)7550; SI-NEXT: v_cvt_f16_f32_e32 v2, v527551; SI-NEXT: v_add_i32_e32 v3, vcc, 8, v07552; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17553; SI-NEXT: v_or_b32_e32 v1, v2, v17554; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7555; SI-NEXT: s_waitcnt expcnt(0)7556; SI-NEXT: v_cvt_f16_f32_e32 v1, v517557; SI-NEXT: v_cvt_f16_f32_e32 v2, v507558; SI-NEXT: v_add_i32_e32 v3, vcc, 12, v07559; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17560; SI-NEXT: v_or_b32_e32 v1, v2, v17561; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7562; SI-NEXT: s_waitcnt expcnt(0)7563; SI-NEXT: v_cvt_f16_f32_e32 v1, v487564; SI-NEXT: v_cvt_f16_f32_e32 v2, v497565; SI-NEXT: v_add_i32_e32 v3, vcc, 16, v07566; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17567; SI-NEXT: v_or_b32_e32 v1, v2, v17568; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7569; SI-NEXT: s_waitcnt expcnt(0)7570; SI-NEXT: v_cvt_f16_f32_e32 v1, v387571; SI-NEXT: v_cvt_f16_f32_e32 v2, v397572; SI-NEXT: v_add_i32_e32 v3, vcc, 20, v07573; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17574; SI-NEXT: v_or_b32_e32 v1, v2, v17575; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7576; SI-NEXT: s_waitcnt expcnt(0)7577; SI-NEXT: v_cvt_f16_f32_e32 v1, v367578; SI-NEXT: v_cvt_f16_f32_e32 v2, v377579; SI-NEXT: v_add_i32_e32 v3, vcc, 24, v07580; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17581; SI-NEXT: v_or_b32_e32 v1, v2, v17582; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7583; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload7584; SI-NEXT: s_waitcnt expcnt(0)7585; SI-NEXT: v_cvt_f16_f32_e32 v1, v347586; SI-NEXT: v_add_i32_e32 v3, vcc, 28, v07587; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17588; SI-NEXT: s_waitcnt vmcnt(0)7589; SI-NEXT: v_cvt_f16_f32_e32 v2, v27590; SI-NEXT: v_or_b32_e32 v1, v2, v17591; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7592; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload7593; SI-NEXT: s_waitcnt expcnt(0)7594; SI-NEXT: v_cvt_f16_f32_e32 v1, v327595; SI-NEXT: v_add_i32_e32 v3, vcc, 32, v07596; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17597; SI-NEXT: s_waitcnt vmcnt(0)7598; SI-NEXT: v_cvt_f16_f32_e32 v2, v27599; SI-NEXT: v_or_b32_e32 v1, v2, v17600; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7601; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload7602; SI-NEXT: s_waitcnt expcnt(0)7603; SI-NEXT: v_cvt_f16_f32_e32 v1, v307604; SI-NEXT: v_add_i32_e32 v3, vcc, 36, v07605; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17606; SI-NEXT: s_waitcnt vmcnt(0)7607; SI-NEXT: v_cvt_f16_f32_e32 v2, v27608; SI-NEXT: v_or_b32_e32 v1, v2, v17609; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7610; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload7611; SI-NEXT: s_waitcnt expcnt(0)7612; SI-NEXT: v_cvt_f16_f32_e32 v1, v637613; SI-NEXT: v_add_i32_e32 v3, vcc, 40, v07614; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17615; SI-NEXT: s_waitcnt vmcnt(0)7616; SI-NEXT: v_cvt_f16_f32_e32 v2, v27617; SI-NEXT: v_or_b32_e32 v1, v2, v17618; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7619; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload7620; SI-NEXT: s_waitcnt expcnt(0)7621; SI-NEXT: v_cvt_f16_f32_e32 v1, v607622; SI-NEXT: v_add_i32_e32 v3, vcc, 44, v07623; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17624; SI-NEXT: s_waitcnt vmcnt(0)7625; SI-NEXT: v_cvt_f16_f32_e32 v2, v27626; SI-NEXT: v_or_b32_e32 v1, v2, v17627; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7628; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload7629; SI-NEXT: s_waitcnt expcnt(0)7630; SI-NEXT: v_cvt_f16_f32_e32 v1, v587631; SI-NEXT: v_add_i32_e32 v3, vcc, 48, v07632; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17633; SI-NEXT: s_waitcnt vmcnt(0)7634; SI-NEXT: v_cvt_f16_f32_e32 v2, v27635; SI-NEXT: v_or_b32_e32 v1, v2, v17636; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7637; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload7638; SI-NEXT: s_waitcnt expcnt(0)7639; SI-NEXT: v_cvt_f16_f32_e32 v1, v567640; SI-NEXT: v_add_i32_e32 v3, vcc, 52, v07641; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17642; SI-NEXT: s_waitcnt vmcnt(0)7643; SI-NEXT: v_cvt_f16_f32_e32 v2, v27644; SI-NEXT: v_or_b32_e32 v1, v2, v17645; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7646; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload7647; SI-NEXT: s_waitcnt expcnt(0)7648; SI-NEXT: v_cvt_f16_f32_e32 v1, v467649; SI-NEXT: v_add_i32_e32 v3, vcc, 56, v07650; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17651; SI-NEXT: s_waitcnt vmcnt(0)7652; SI-NEXT: v_cvt_f16_f32_e32 v2, v27653; SI-NEXT: v_or_b32_e32 v1, v2, v17654; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7655; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload7656; SI-NEXT: s_waitcnt expcnt(0)7657; SI-NEXT: v_cvt_f16_f32_e32 v1, v447658; SI-NEXT: v_add_i32_e32 v3, vcc, 60, v07659; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17660; SI-NEXT: s_waitcnt vmcnt(0)7661; SI-NEXT: v_cvt_f16_f32_e32 v2, v27662; SI-NEXT: v_or_b32_e32 v1, v2, v17663; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7664; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload7665; SI-NEXT: s_waitcnt expcnt(0)7666; SI-NEXT: v_cvt_f16_f32_e32 v1, v427667; SI-NEXT: v_add_i32_e32 v3, vcc, 64, v07668; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17669; SI-NEXT: s_waitcnt vmcnt(0)7670; SI-NEXT: v_cvt_f16_f32_e32 v2, v27671; SI-NEXT: v_or_b32_e32 v1, v2, v17672; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7673; SI-NEXT: s_waitcnt expcnt(0)7674; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload7675; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload7676; SI-NEXT: v_add_i32_e32 v3, vcc, 0x44, v07677; SI-NEXT: s_waitcnt vmcnt(1)7678; SI-NEXT: v_cvt_f16_f32_e32 v1, v17679; SI-NEXT: s_waitcnt vmcnt(0)7680; SI-NEXT: v_cvt_f16_f32_e32 v2, v27681; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17682; SI-NEXT: v_or_b32_e32 v1, v2, v17683; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7684; SI-NEXT: s_waitcnt expcnt(0)7685; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload7686; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload7687; SI-NEXT: v_add_i32_e32 v3, vcc, 0x48, v07688; SI-NEXT: s_waitcnt vmcnt(1)7689; SI-NEXT: v_cvt_f16_f32_e32 v1, v17690; SI-NEXT: s_waitcnt vmcnt(0)7691; SI-NEXT: v_cvt_f16_f32_e32 v2, v27692; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17693; SI-NEXT: v_or_b32_e32 v1, v2, v17694; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7695; SI-NEXT: s_waitcnt expcnt(0)7696; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload7697; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload7698; SI-NEXT: v_add_i32_e32 v3, vcc, 0x4c, v07699; SI-NEXT: s_waitcnt vmcnt(1)7700; SI-NEXT: v_cvt_f16_f32_e32 v1, v17701; SI-NEXT: s_waitcnt vmcnt(0)7702; SI-NEXT: v_cvt_f16_f32_e32 v2, v27703; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17704; SI-NEXT: v_or_b32_e32 v1, v2, v17705; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7706; SI-NEXT: s_waitcnt expcnt(0)7707; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload7708; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload7709; SI-NEXT: v_add_i32_e32 v3, vcc, 0x50, v07710; SI-NEXT: s_waitcnt vmcnt(1)7711; SI-NEXT: v_cvt_f16_f32_e32 v1, v17712; SI-NEXT: s_waitcnt vmcnt(0)7713; SI-NEXT: v_cvt_f16_f32_e32 v2, v27714; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17715; SI-NEXT: v_or_b32_e32 v1, v2, v17716; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7717; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload7718; SI-NEXT: s_waitcnt expcnt(0)7719; SI-NEXT: v_cvt_f16_f32_e32 v1, v597720; SI-NEXT: v_add_i32_e32 v3, vcc, 0x54, v07721; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17722; SI-NEXT: s_waitcnt vmcnt(0)7723; SI-NEXT: v_cvt_f16_f32_e32 v2, v27724; SI-NEXT: v_or_b32_e32 v1, v2, v17725; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7726; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload7727; SI-NEXT: s_waitcnt expcnt(0)7728; SI-NEXT: v_cvt_f16_f32_e32 v1, v617729; SI-NEXT: v_add_i32_e32 v3, vcc, 0x58, v07730; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17731; SI-NEXT: s_waitcnt vmcnt(0)7732; SI-NEXT: v_cvt_f16_f32_e32 v2, v27733; SI-NEXT: v_or_b32_e32 v1, v2, v17734; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7735; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload7736; SI-NEXT: s_waitcnt expcnt(0)7737; SI-NEXT: v_cvt_f16_f32_e32 v1, v627738; SI-NEXT: v_add_i32_e32 v3, vcc, 0x5c, v07739; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17740; SI-NEXT: s_waitcnt vmcnt(0)7741; SI-NEXT: v_cvt_f16_f32_e32 v2, v27742; SI-NEXT: v_or_b32_e32 v1, v2, v17743; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7744; SI-NEXT: s_waitcnt expcnt(0)7745; SI-NEXT: v_cvt_f16_f32_e32 v1, v437746; SI-NEXT: v_cvt_f16_f32_e32 v2, v577747; SI-NEXT: v_add_i32_e32 v3, vcc, 0x60, v07748; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17749; SI-NEXT: v_or_b32_e32 v1, v2, v17750; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7751; SI-NEXT: s_waitcnt expcnt(0)7752; SI-NEXT: v_cvt_f16_f32_e32 v1, v317753; SI-NEXT: v_cvt_f16_f32_e32 v2, v477754; SI-NEXT: v_add_i32_e32 v3, vcc, 0x64, v07755; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17756; SI-NEXT: v_or_b32_e32 v1, v2, v17757; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7758; SI-NEXT: s_waitcnt expcnt(0)7759; SI-NEXT: v_cvt_f16_f32_e32 v1, v337760; SI-NEXT: v_cvt_f16_f32_e32 v2, v457761; SI-NEXT: v_add_i32_e32 v3, vcc, 0x68, v07762; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17763; SI-NEXT: v_or_b32_e32 v1, v2, v17764; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen7765; SI-NEXT: s_waitcnt expcnt(0)7766; SI-NEXT: v_cvt_f16_f32_e32 v1, v357767; SI-NEXT: v_cvt_f16_f32_e32 v2, v297768; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v07769; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17770; SI-NEXT: v_or_b32_e32 v1, v2, v17771; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen7772; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload7773; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload7774; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload7775; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload7776; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload7777; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload7778; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload7779; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload7780; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload7781; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload7782; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload7783; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload7784; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload7785; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload7786; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload7787; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload7788; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)7789; SI-NEXT: s_setpc_b64 s[30:31]7790;7791; VI-LABEL: bitcast_v28i32_to_v56f16:7792; VI: ; %bb.0:7793; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7794; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v287795; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill7796; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill7797; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill7798; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill7799; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill7800; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill7801; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill7802; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill7803; VI-NEXT: ; implicit-def: $vgpr477804; VI-NEXT: ; implicit-def: $vgpr467805; VI-NEXT: ; implicit-def: $vgpr457806; VI-NEXT: ; implicit-def: $vgpr447807; VI-NEXT: ; implicit-def: $vgpr437808; VI-NEXT: ; implicit-def: $vgpr427809; VI-NEXT: ; implicit-def: $vgpr417810; VI-NEXT: ; implicit-def: $vgpr407811; VI-NEXT: ; implicit-def: $vgpr557812; VI-NEXT: ; implicit-def: $vgpr547813; VI-NEXT: ; implicit-def: $vgpr537814; VI-NEXT: ; implicit-def: $vgpr527815; VI-NEXT: ; implicit-def: $vgpr517816; VI-NEXT: ; implicit-def: $vgpr507817; VI-NEXT: ; implicit-def: $vgpr497818; VI-NEXT: ; implicit-def: $vgpr487819; VI-NEXT: ; implicit-def: $vgpr397820; VI-NEXT: ; implicit-def: $vgpr387821; VI-NEXT: ; implicit-def: $vgpr377822; VI-NEXT: ; implicit-def: $vgpr367823; VI-NEXT: ; implicit-def: $vgpr357824; VI-NEXT: ; implicit-def: $vgpr347825; VI-NEXT: ; implicit-def: $vgpr337826; VI-NEXT: ; implicit-def: $vgpr327827; VI-NEXT: ; implicit-def: $vgpr317828; VI-NEXT: ; implicit-def: $vgpr307829; VI-NEXT: ; implicit-def: $vgpr297830; VI-NEXT: ; implicit-def: $vgpr287831; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc7832; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]7833; VI-NEXT: s_cbranch_execz .LBB16_27834; VI-NEXT: ; %bb.1: ; %cmp.false7835; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v277836; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v267837; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v257838; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v247839; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v237840; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v227841; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v217842; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v207843; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v197844; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v187845; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v177846; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v167847; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v157848; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v147849; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v137850; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v127851; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v117852; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v107853; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v97854; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v87855; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v77856; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v67857; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v57858; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v47859; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v37860; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v27861; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v17862; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v07863; VI-NEXT: .LBB16_2: ; %Flow7864; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]7865; VI-NEXT: s_cbranch_execz .LBB16_47866; VI-NEXT: ; %bb.3: ; %cmp.true7867; VI-NEXT: v_add_u32_e32 v27, vcc, 3, v277868; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v267869; VI-NEXT: v_add_u32_e32 v25, vcc, 3, v257870; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v247871; VI-NEXT: v_add_u32_e32 v23, vcc, 3, v237872; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v227873; VI-NEXT: v_add_u32_e32 v21, vcc, 3, v217874; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v207875; VI-NEXT: v_add_u32_e32 v19, vcc, 3, v197876; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v187877; VI-NEXT: v_add_u32_e32 v17, vcc, 3, v177878; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v167879; VI-NEXT: v_add_u32_e32 v15, vcc, 3, v157880; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v147881; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v137882; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v127883; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v117884; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v107885; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v97886; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v87887; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v77888; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v67889; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v57890; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v47891; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v37892; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v27893; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v17894; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v07895; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v277896; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v267897; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v257898; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v247899; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v237900; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v227901; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v217902; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v207903; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v197904; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v187905; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v177906; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v167907; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v157908; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v147909; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v137910; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v127911; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v117912; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v107913; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v97914; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v87915; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v77916; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v67917; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v57918; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v47919; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v37920; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v27921; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v17922; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v07923; VI-NEXT: .LBB16_4: ; %end7924; VI-NEXT: s_or_b64 exec, exec, s[4:5]7925; VI-NEXT: v_lshlrev_b32_e32 v47, 16, v477926; VI-NEXT: v_lshlrev_b32_e32 v46, 16, v467927; VI-NEXT: v_lshlrev_b32_e32 v45, 16, v457928; VI-NEXT: v_lshlrev_b32_e32 v44, 16, v447929; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v437930; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v427931; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v417932; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v407933; VI-NEXT: v_or_b32_sdwa v0, v0, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7934; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7935; VI-NEXT: v_or_b32_sdwa v2, v2, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7936; VI-NEXT: v_or_b32_sdwa v3, v3, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7937; VI-NEXT: v_or_b32_sdwa v4, v4, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7938; VI-NEXT: v_or_b32_sdwa v5, v5, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7939; VI-NEXT: v_or_b32_sdwa v6, v6, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7940; VI-NEXT: v_or_b32_sdwa v7, v7, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7941; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload7942; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload7943; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload7944; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload7945; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload7946; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload7947; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload7948; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload7949; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v557950; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v547951; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v537952; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v527953; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v517954; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v507955; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v497956; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v487957; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v397958; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v387959; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v377960; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v367961; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v357962; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v347963; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v337964; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v327965; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v317966; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v307967; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v297968; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v287969; VI-NEXT: v_or_b32_sdwa v8, v8, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7970; VI-NEXT: v_or_b32_sdwa v9, v9, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7971; VI-NEXT: v_or_b32_sdwa v10, v10, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7972; VI-NEXT: v_or_b32_sdwa v11, v11, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7973; VI-NEXT: v_or_b32_sdwa v12, v12, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7974; VI-NEXT: v_or_b32_sdwa v13, v13, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7975; VI-NEXT: v_or_b32_sdwa v14, v14, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7976; VI-NEXT: v_or_b32_sdwa v15, v15, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7977; VI-NEXT: v_or_b32_sdwa v16, v16, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7978; VI-NEXT: v_or_b32_sdwa v17, v17, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7979; VI-NEXT: v_or_b32_sdwa v18, v18, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7980; VI-NEXT: v_or_b32_sdwa v19, v19, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7981; VI-NEXT: v_or_b32_sdwa v20, v20, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7982; VI-NEXT: v_or_b32_sdwa v21, v21, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7983; VI-NEXT: v_or_b32_sdwa v22, v22, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7984; VI-NEXT: v_or_b32_sdwa v23, v23, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7985; VI-NEXT: v_or_b32_sdwa v24, v24, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7986; VI-NEXT: v_or_b32_sdwa v25, v25, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7987; VI-NEXT: v_or_b32_sdwa v26, v26, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7988; VI-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD7989; VI-NEXT: s_waitcnt vmcnt(0)7990; VI-NEXT: s_setpc_b64 s[30:31]7991;7992; GFX9-LABEL: bitcast_v28i32_to_v56f16:7993; GFX9: ; %bb.0:7994; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7995; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v287996; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill7997; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill7998; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill7999; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill8000; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill8001; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill8002; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill8003; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill8004; GFX9-NEXT: ; implicit-def: $vgpr478005; GFX9-NEXT: ; implicit-def: $vgpr468006; GFX9-NEXT: ; implicit-def: $vgpr458007; GFX9-NEXT: ; implicit-def: $vgpr448008; GFX9-NEXT: ; implicit-def: $vgpr438009; GFX9-NEXT: ; implicit-def: $vgpr428010; GFX9-NEXT: ; implicit-def: $vgpr418011; GFX9-NEXT: ; implicit-def: $vgpr408012; GFX9-NEXT: ; implicit-def: $vgpr558013; GFX9-NEXT: ; implicit-def: $vgpr548014; GFX9-NEXT: ; implicit-def: $vgpr538015; GFX9-NEXT: ; implicit-def: $vgpr528016; GFX9-NEXT: ; implicit-def: $vgpr518017; GFX9-NEXT: ; implicit-def: $vgpr508018; GFX9-NEXT: ; implicit-def: $vgpr498019; GFX9-NEXT: ; implicit-def: $vgpr488020; GFX9-NEXT: ; implicit-def: $vgpr398021; GFX9-NEXT: ; implicit-def: $vgpr388022; GFX9-NEXT: ; implicit-def: $vgpr378023; GFX9-NEXT: ; implicit-def: $vgpr368024; GFX9-NEXT: ; implicit-def: $vgpr358025; GFX9-NEXT: ; implicit-def: $vgpr348026; GFX9-NEXT: ; implicit-def: $vgpr338027; GFX9-NEXT: ; implicit-def: $vgpr328028; GFX9-NEXT: ; implicit-def: $vgpr318029; GFX9-NEXT: ; implicit-def: $vgpr308030; GFX9-NEXT: ; implicit-def: $vgpr298031; GFX9-NEXT: ; implicit-def: $vgpr288032; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc8033; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]8034; GFX9-NEXT: s_cbranch_execz .LBB16_28035; GFX9-NEXT: ; %bb.1: ; %cmp.false8036; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v278037; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v268038; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v258039; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v248040; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v238041; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v228042; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v218043; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v208044; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v198045; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v188046; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v178047; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v168048; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v158049; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v148050; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v138051; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v128052; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v118053; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v108054; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v98055; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v88056; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v78057; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v68058; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v58059; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v48060; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v38061; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v28062; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v18063; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v08064; GFX9-NEXT: .LBB16_2: ; %Flow8065; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]8066; GFX9-NEXT: s_cbranch_execz .LBB16_48067; GFX9-NEXT: ; %bb.3: ; %cmp.true8068; GFX9-NEXT: v_add_u32_e32 v27, 3, v278069; GFX9-NEXT: v_add_u32_e32 v26, 3, v268070; GFX9-NEXT: v_add_u32_e32 v25, 3, v258071; GFX9-NEXT: v_add_u32_e32 v24, 3, v248072; GFX9-NEXT: v_add_u32_e32 v23, 3, v238073; GFX9-NEXT: v_add_u32_e32 v22, 3, v228074; GFX9-NEXT: v_add_u32_e32 v21, 3, v218075; GFX9-NEXT: v_add_u32_e32 v20, 3, v208076; GFX9-NEXT: v_add_u32_e32 v19, 3, v198077; GFX9-NEXT: v_add_u32_e32 v18, 3, v188078; GFX9-NEXT: v_add_u32_e32 v17, 3, v178079; GFX9-NEXT: v_add_u32_e32 v16, 3, v168080; GFX9-NEXT: v_add_u32_e32 v15, 3, v158081; GFX9-NEXT: v_add_u32_e32 v14, 3, v148082; GFX9-NEXT: v_add_u32_e32 v13, 3, v138083; GFX9-NEXT: v_add_u32_e32 v12, 3, v128084; GFX9-NEXT: v_add_u32_e32 v11, 3, v118085; GFX9-NEXT: v_add_u32_e32 v10, 3, v108086; GFX9-NEXT: v_add_u32_e32 v9, 3, v98087; GFX9-NEXT: v_add_u32_e32 v8, 3, v88088; GFX9-NEXT: v_add_u32_e32 v7, 3, v78089; GFX9-NEXT: v_add_u32_e32 v6, 3, v68090; GFX9-NEXT: v_add_u32_e32 v5, 3, v58091; GFX9-NEXT: v_add_u32_e32 v4, 3, v48092; GFX9-NEXT: v_add_u32_e32 v3, 3, v38093; GFX9-NEXT: v_add_u32_e32 v2, 3, v28094; GFX9-NEXT: v_add_u32_e32 v1, 3, v18095; GFX9-NEXT: v_add_u32_e32 v0, 3, v08096; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v278097; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v268098; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v258099; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v248100; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v238101; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v228102; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v218103; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v208104; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v198105; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v188106; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v178107; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v168108; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v158109; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v148110; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v138111; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v128112; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v118113; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v108114; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v98115; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v88116; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v78117; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v68118; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v58119; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v48120; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v38121; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v28122; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v18123; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v08124; GFX9-NEXT: .LBB16_4: ; %end8125; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]8126; GFX9-NEXT: s_mov_b32 s4, 0x50401008127; GFX9-NEXT: v_perm_b32 v0, v47, v0, s48128; GFX9-NEXT: v_perm_b32 v1, v46, v1, s48129; GFX9-NEXT: v_perm_b32 v2, v45, v2, s48130; GFX9-NEXT: v_perm_b32 v3, v44, v3, s48131; GFX9-NEXT: v_perm_b32 v4, v43, v4, s48132; GFX9-NEXT: v_perm_b32 v5, v42, v5, s48133; GFX9-NEXT: v_perm_b32 v6, v41, v6, s48134; GFX9-NEXT: v_perm_b32 v7, v40, v7, s48135; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload8136; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload8137; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload8138; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload8139; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload8140; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload8141; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload8142; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload8143; GFX9-NEXT: v_perm_b32 v8, v55, v8, s48144; GFX9-NEXT: v_perm_b32 v9, v54, v9, s48145; GFX9-NEXT: v_perm_b32 v10, v53, v10, s48146; GFX9-NEXT: v_perm_b32 v11, v52, v11, s48147; GFX9-NEXT: v_perm_b32 v12, v51, v12, s48148; GFX9-NEXT: v_perm_b32 v13, v50, v13, s48149; GFX9-NEXT: v_perm_b32 v14, v49, v14, s48150; GFX9-NEXT: v_perm_b32 v15, v48, v15, s48151; GFX9-NEXT: v_perm_b32 v16, v39, v16, s48152; GFX9-NEXT: v_perm_b32 v17, v38, v17, s48153; GFX9-NEXT: v_perm_b32 v18, v37, v18, s48154; GFX9-NEXT: v_perm_b32 v19, v36, v19, s48155; GFX9-NEXT: v_perm_b32 v20, v35, v20, s48156; GFX9-NEXT: v_perm_b32 v21, v34, v21, s48157; GFX9-NEXT: v_perm_b32 v22, v33, v22, s48158; GFX9-NEXT: v_perm_b32 v23, v32, v23, s48159; GFX9-NEXT: v_perm_b32 v24, v31, v24, s48160; GFX9-NEXT: v_perm_b32 v25, v30, v25, s48161; GFX9-NEXT: v_perm_b32 v26, v29, v26, s48162; GFX9-NEXT: v_perm_b32 v27, v28, v27, s48163; GFX9-NEXT: s_waitcnt vmcnt(0)8164; GFX9-NEXT: s_setpc_b64 s[30:31]8165;8166; GFX11-TRUE16-LABEL: bitcast_v28i32_to_v56f16:8167; GFX11-TRUE16: ; %bb.0:8168; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8169; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo8170; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v288171; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s08172; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)8173; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s08174; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB16_28175; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true8176; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v278177; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v268178; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v258179; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v248180; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v238181; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v228182; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v218183; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v208184; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v198185; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v188186; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v178187; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 3, v168188; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v158189; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 3, v148190; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 3, v138191; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 3, v128192; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 3, v118193; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 3, v108194; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 3, v98195; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 3, v88196; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 3, v78197; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 3, v68198; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 3, v58199; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v48200; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v38201; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v28202; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v18203; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v08204; GFX11-TRUE16-NEXT: .LBB16_2: ; %end8205; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s08206; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]8207;8208; GFX11-FAKE16-LABEL: bitcast_v28i32_to_v56f16:8209; GFX11-FAKE16: ; %bb.0:8210; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8211; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v288212; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr718213; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr708214; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr698215; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr688216; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr678217; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr668218; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr658219; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr648220; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr558221; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr548222; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr538223; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr528224; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr518225; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr508226; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr498227; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr488228; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr398229; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr388230; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr378231; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr368232; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr358233; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr348234; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr338235; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr328236; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr318237; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr308238; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr298239; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr288240; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo8241; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)8242; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s08243; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB16_28244; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false8245; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v278246; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v268247; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v258248; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v248249; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v238250; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v228251; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v218252; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v208253; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v198254; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v188255; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v178256; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v168257; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v158258; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v148259; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v138260; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v128261; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v118262; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v108263; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v98264; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v88265; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v78266; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v68267; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v58268; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v48269; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v38270; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v28271; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v18272; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v08273; GFX11-FAKE16-NEXT: .LBB16_2: ; %Flow8274; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s08275; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB16_48276; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true8277; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v27, 3, v278278; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v26, 3, v268279; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v25, 3, v258280; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v24, 3, v248281; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v23, 3, v238282; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v22, 3, v228283; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v21, 3, v218284; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, 3, v208285; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 3, v198286; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 3, v188287; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v178288; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 3, v168289; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v158290; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 3, v148291; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 3, v138292; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 3, v128293; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, 3, v118294; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, 3, v108295; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 3, v98296; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 3, v88297; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 3, v78298; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 3, v68299; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 3, v58300; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v48301; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v38302; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v28303; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v18304; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v08305; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v278306; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v268307; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v258308; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v248309; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v238310; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v228311; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v218312; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v208313; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v198314; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v188315; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v178316; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v168317; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v158318; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v148319; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v138320; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v128321; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v118322; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v108323; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v98324; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v88325; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v78326; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v68327; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v58328; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v48329; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v38330; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v28331; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v18332; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v08333; GFX11-FAKE16-NEXT: .LBB16_4: ; %end8334; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s08335; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)8336; GFX11-FAKE16-NEXT: v_perm_b32 v0, v71, v0, 0x50401008337; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x50401008338; GFX11-FAKE16-NEXT: v_perm_b32 v2, v69, v2, 0x50401008339; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x50401008340; GFX11-FAKE16-NEXT: v_perm_b32 v4, v67, v4, 0x50401008341; GFX11-FAKE16-NEXT: v_perm_b32 v5, v66, v5, 0x50401008342; GFX11-FAKE16-NEXT: v_perm_b32 v6, v65, v6, 0x50401008343; GFX11-FAKE16-NEXT: v_perm_b32 v7, v64, v7, 0x50401008344; GFX11-FAKE16-NEXT: v_perm_b32 v8, v55, v8, 0x50401008345; GFX11-FAKE16-NEXT: v_perm_b32 v9, v54, v9, 0x50401008346; GFX11-FAKE16-NEXT: v_perm_b32 v10, v53, v10, 0x50401008347; GFX11-FAKE16-NEXT: v_perm_b32 v11, v52, v11, 0x50401008348; GFX11-FAKE16-NEXT: v_perm_b32 v12, v51, v12, 0x50401008349; GFX11-FAKE16-NEXT: v_perm_b32 v13, v50, v13, 0x50401008350; GFX11-FAKE16-NEXT: v_perm_b32 v14, v49, v14, 0x50401008351; GFX11-FAKE16-NEXT: v_perm_b32 v15, v48, v15, 0x50401008352; GFX11-FAKE16-NEXT: v_perm_b32 v16, v39, v16, 0x50401008353; GFX11-FAKE16-NEXT: v_perm_b32 v17, v38, v17, 0x50401008354; GFX11-FAKE16-NEXT: v_perm_b32 v18, v37, v18, 0x50401008355; GFX11-FAKE16-NEXT: v_perm_b32 v19, v36, v19, 0x50401008356; GFX11-FAKE16-NEXT: v_perm_b32 v20, v35, v20, 0x50401008357; GFX11-FAKE16-NEXT: v_perm_b32 v21, v34, v21, 0x50401008358; GFX11-FAKE16-NEXT: v_perm_b32 v22, v33, v22, 0x50401008359; GFX11-FAKE16-NEXT: v_perm_b32 v23, v32, v23, 0x50401008360; GFX11-FAKE16-NEXT: v_perm_b32 v24, v31, v24, 0x50401008361; GFX11-FAKE16-NEXT: v_perm_b32 v25, v30, v25, 0x50401008362; GFX11-FAKE16-NEXT: v_perm_b32 v26, v29, v26, 0x50401008363; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v27, 0x50401008364; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]8365 %cmp = icmp eq i32 %b, 08366 br i1 %cmp, label %cmp.true, label %cmp.false8367 8368cmp.true:8369 %a1 = add <28 x i32> %a, splat (i32 3)8370 %a2 = bitcast <28 x i32> %a1 to <56 x half>8371 br label %end8372 8373cmp.false:8374 %a3 = bitcast <28 x i32> %a to <56 x half>8375 br label %end8376 8377end:8378 %phi = phi <56 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]8379 ret <56 x half> %phi8380}8381 8382define inreg <56 x half> @bitcast_v28i32_to_v56f16_scalar(<28 x i32> inreg %a, i32 inreg %b) {8383; SI-LABEL: bitcast_v28i32_to_v56f16_scalar:8384; SI: ; %bb.0:8385; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8386; SI-NEXT: v_mov_b32_e32 v16, s168387; SI-NEXT: v_mov_b32_e32 v17, s178388; SI-NEXT: v_mov_b32_e32 v18, s188389; SI-NEXT: v_mov_b32_e32 v19, s198390; SI-NEXT: v_readfirstlane_b32 s40, v168391; SI-NEXT: v_mov_b32_e32 v16, s208392; SI-NEXT: v_readfirstlane_b32 s41, v178393; SI-NEXT: v_mov_b32_e32 v17, s218394; SI-NEXT: v_readfirstlane_b32 s42, v188395; SI-NEXT: v_mov_b32_e32 v18, s228396; SI-NEXT: v_readfirstlane_b32 s43, v198397; SI-NEXT: v_mov_b32_e32 v19, s238398; SI-NEXT: v_readfirstlane_b32 s23, v168399; SI-NEXT: v_mov_b32_e32 v16, s248400; SI-NEXT: v_readfirstlane_b32 s24, v178401; SI-NEXT: v_mov_b32_e32 v17, s258402; SI-NEXT: v_readfirstlane_b32 s25, v188403; SI-NEXT: v_mov_b32_e32 v18, s268404; SI-NEXT: v_readfirstlane_b32 s26, v198405; SI-NEXT: v_mov_b32_e32 v19, s278406; SI-NEXT: v_readfirstlane_b32 s27, v168407; SI-NEXT: v_mov_b32_e32 v16, s288408; SI-NEXT: v_readfirstlane_b32 s28, v178409; SI-NEXT: v_mov_b32_e32 v17, s298410; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v158411; SI-NEXT: v_readfirstlane_b32 s29, v188412; SI-NEXT: v_readfirstlane_b32 s22, v198413; SI-NEXT: v_readfirstlane_b32 s21, v168414; SI-NEXT: v_readfirstlane_b32 s20, v178415; SI-NEXT: v_readfirstlane_b32 s19, v18416; SI-NEXT: v_readfirstlane_b32 s18, v28417; SI-NEXT: v_readfirstlane_b32 s17, v38418; SI-NEXT: v_readfirstlane_b32 s16, v48419; SI-NEXT: v_readfirstlane_b32 s15, v58420; SI-NEXT: v_readfirstlane_b32 s14, v68421; SI-NEXT: v_readfirstlane_b32 s13, v78422; SI-NEXT: v_readfirstlane_b32 s12, v88423; SI-NEXT: v_readfirstlane_b32 s11, v98424; SI-NEXT: v_readfirstlane_b32 s10, v108425; SI-NEXT: v_readfirstlane_b32 s8, v118426; SI-NEXT: v_readfirstlane_b32 s7, v128427; SI-NEXT: v_readfirstlane_b32 s6, v138428; SI-NEXT: s_and_b64 s[4:5], vcc, exec8429; SI-NEXT: v_readfirstlane_b32 s9, v148430; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill8431; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill8432; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill8433; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill8434; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill8435; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill8436; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill8437; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill8438; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 ; 4-byte Folded Spill8439; SI-NEXT: s_cbranch_scc0 .LBB17_48440; SI-NEXT: ; %bb.1: ; %cmp.false8441; SI-NEXT: s_lshr_b32 s4, s9, 168442; SI-NEXT: v_cvt_f32_f16_e32 v1, s48443; SI-NEXT: s_lshr_b32 s4, s6, 168444; SI-NEXT: v_cvt_f32_f16_e32 v2, s48445; SI-NEXT: s_lshr_b32 s4, s7, 168446; SI-NEXT: v_cvt_f32_f16_e32 v3, s48447; SI-NEXT: s_lshr_b32 s4, s8, 168448; SI-NEXT: v_cvt_f32_f16_e32 v5, s48449; SI-NEXT: s_lshr_b32 s4, s10, 168450; SI-NEXT: v_cvt_f32_f16_e32 v7, s48451; SI-NEXT: s_lshr_b32 s4, s11, 168452; SI-NEXT: v_cvt_f32_f16_e32 v9, s48453; SI-NEXT: s_lshr_b32 s4, s12, 168454; SI-NEXT: v_cvt_f32_f16_e32 v11, s48455; SI-NEXT: s_lshr_b32 s4, s13, 168456; SI-NEXT: v_cvt_f32_f16_e32 v13, s48457; SI-NEXT: s_lshr_b32 s4, s14, 168458; SI-NEXT: v_cvt_f32_f16_e32 v15, s48459; SI-NEXT: s_lshr_b32 s4, s15, 168460; SI-NEXT: v_cvt_f32_f16_e32 v18, s48461; SI-NEXT: s_lshr_b32 s4, s16, 168462; SI-NEXT: v_cvt_f32_f16_e32 v20, s48463; SI-NEXT: s_lshr_b32 s4, s17, 168464; SI-NEXT: v_cvt_f32_f16_e32 v22, s48465; SI-NEXT: s_lshr_b32 s4, s18, 168466; SI-NEXT: v_cvt_f32_f16_e32 v24, s48467; SI-NEXT: s_lshr_b32 s4, s19, 168468; SI-NEXT: v_cvt_f32_f16_e32 v26, s48469; SI-NEXT: s_lshr_b32 s4, s20, 168470; SI-NEXT: v_cvt_f32_f16_e32 v28, s48471; SI-NEXT: s_lshr_b32 s4, s21, 168472; SI-NEXT: v_cvt_f32_f16_e32 v30, s48473; SI-NEXT: s_lshr_b32 s4, s22, 168474; SI-NEXT: v_cvt_f32_f16_e32 v32, s48475; SI-NEXT: s_lshr_b32 s4, s29, 168476; SI-NEXT: v_cvt_f32_f16_e32 v35, s48477; SI-NEXT: s_lshr_b32 s4, s28, 168478; SI-NEXT: v_cvt_f32_f16_e32 v37, s48479; SI-NEXT: s_lshr_b32 s4, s27, 168480; SI-NEXT: v_cvt_f32_f16_e32 v39, s48481; SI-NEXT: s_lshr_b32 s4, s26, 168482; SI-NEXT: v_cvt_f32_f16_e32 v49, s48483; SI-NEXT: s_lshr_b32 s4, s25, 168484; SI-NEXT: v_cvt_f32_f16_e32 v51, s48485; SI-NEXT: s_lshr_b32 s4, s24, 168486; SI-NEXT: v_cvt_f32_f16_e32 v53, s48487; SI-NEXT: s_lshr_b32 s4, s23, 168488; SI-NEXT: v_cvt_f32_f16_e32 v55, s48489; SI-NEXT: s_lshr_b32 s4, s43, 168490; SI-NEXT: s_waitcnt expcnt(6)8491; SI-NEXT: v_cvt_f32_f16_e32 v42, s48492; SI-NEXT: s_lshr_b32 s4, s42, 168493; SI-NEXT: s_waitcnt expcnt(4)8494; SI-NEXT: v_cvt_f32_f16_e32 v44, s48495; SI-NEXT: s_lshr_b32 s4, s41, 168496; SI-NEXT: s_waitcnt expcnt(2)8497; SI-NEXT: v_cvt_f32_f16_e32 v46, s48498; SI-NEXT: s_lshr_b32 s4, s40, 168499; SI-NEXT: s_waitcnt expcnt(0)8500; SI-NEXT: v_cvt_f32_f16_e32 v56, s48501; SI-NEXT: v_cvt_f32_f16_e32 v4, s98502; SI-NEXT: v_cvt_f32_f16_e32 v6, s68503; SI-NEXT: v_cvt_f32_f16_e32 v8, s78504; SI-NEXT: v_cvt_f32_f16_e32 v10, s88505; SI-NEXT: v_cvt_f32_f16_e32 v12, s108506; SI-NEXT: v_cvt_f32_f16_e32 v14, s118507; SI-NEXT: v_cvt_f32_f16_e32 v16, s128508; SI-NEXT: v_cvt_f32_f16_e32 v17, s138509; SI-NEXT: v_cvt_f32_f16_e32 v19, s148510; SI-NEXT: v_cvt_f32_f16_e32 v21, s158511; SI-NEXT: v_cvt_f32_f16_e32 v23, s168512; SI-NEXT: v_cvt_f32_f16_e32 v25, s178513; SI-NEXT: v_cvt_f32_f16_e32 v27, s188514; SI-NEXT: v_cvt_f32_f16_e32 v29, s198515; SI-NEXT: v_cvt_f32_f16_e32 v31, s208516; SI-NEXT: v_cvt_f32_f16_e32 v33, s218517; SI-NEXT: v_cvt_f32_f16_e32 v34, s228518; SI-NEXT: v_cvt_f32_f16_e32 v36, s298519; SI-NEXT: v_cvt_f32_f16_e32 v38, s288520; SI-NEXT: v_cvt_f32_f16_e32 v48, s278521; SI-NEXT: v_cvt_f32_f16_e32 v50, s268522; SI-NEXT: v_cvt_f32_f16_e32 v52, s258523; SI-NEXT: v_cvt_f32_f16_e32 v54, s248524; SI-NEXT: v_cvt_f32_f16_e32 v40, s238525; SI-NEXT: v_cvt_f32_f16_e32 v41, s438526; SI-NEXT: v_cvt_f32_f16_e32 v43, s428527; SI-NEXT: v_cvt_f32_f16_e32 v45, s418528; SI-NEXT: v_cvt_f32_f16_e32 v47, s408529; SI-NEXT: s_cbranch_execnz .LBB17_38530; SI-NEXT: .LBB17_2: ; %cmp.true8531; SI-NEXT: s_add_i32 s40, s40, 38532; SI-NEXT: s_add_i32 s41, s41, 38533; SI-NEXT: s_add_i32 s42, s42, 38534; SI-NEXT: s_add_i32 s43, s43, 38535; SI-NEXT: s_add_i32 s23, s23, 38536; SI-NEXT: s_add_i32 s24, s24, 38537; SI-NEXT: s_add_i32 s25, s25, 38538; SI-NEXT: s_add_i32 s26, s26, 38539; SI-NEXT: s_add_i32 s27, s27, 38540; SI-NEXT: s_add_i32 s28, s28, 38541; SI-NEXT: s_add_i32 s29, s29, 38542; SI-NEXT: s_add_i32 s22, s22, 38543; SI-NEXT: s_add_i32 s21, s21, 38544; SI-NEXT: s_add_i32 s20, s20, 38545; SI-NEXT: s_add_i32 s19, s19, 38546; SI-NEXT: s_add_i32 s18, s18, 38547; SI-NEXT: s_add_i32 s17, s17, 38548; SI-NEXT: s_add_i32 s16, s16, 38549; SI-NEXT: s_add_i32 s15, s15, 38550; SI-NEXT: s_add_i32 s14, s14, 38551; SI-NEXT: s_add_i32 s13, s13, 38552; SI-NEXT: s_add_i32 s12, s12, 38553; SI-NEXT: s_add_i32 s11, s11, 38554; SI-NEXT: s_add_i32 s10, s10, 38555; SI-NEXT: s_add_i32 s8, s8, 38556; SI-NEXT: s_add_i32 s7, s7, 38557; SI-NEXT: s_add_i32 s6, s6, 38558; SI-NEXT: s_add_i32 s9, s9, 38559; SI-NEXT: s_lshr_b32 s4, s40, 168560; SI-NEXT: s_lshr_b32 s5, s41, 168561; SI-NEXT: s_lshr_b32 s44, s42, 168562; SI-NEXT: s_lshr_b32 s45, s43, 168563; SI-NEXT: s_lshr_b32 s46, s23, 168564; SI-NEXT: s_lshr_b32 s47, s24, 168565; SI-NEXT: s_lshr_b32 s56, s25, 168566; SI-NEXT: s_lshr_b32 s57, s26, 168567; SI-NEXT: s_lshr_b32 s58, s27, 168568; SI-NEXT: s_lshr_b32 s59, s28, 168569; SI-NEXT: s_lshr_b32 s60, s29, 168570; SI-NEXT: s_lshr_b32 s61, s22, 168571; SI-NEXT: s_lshr_b32 s62, s21, 168572; SI-NEXT: s_lshr_b32 s63, s20, 168573; SI-NEXT: s_lshr_b32 s72, s19, 168574; SI-NEXT: s_lshr_b32 s73, s18, 168575; SI-NEXT: s_lshr_b32 s74, s17, 168576; SI-NEXT: s_lshr_b32 s75, s16, 168577; SI-NEXT: s_lshr_b32 s76, s15, 168578; SI-NEXT: s_lshr_b32 s77, s14, 168579; SI-NEXT: s_lshr_b32 s78, s13, 168580; SI-NEXT: s_lshr_b32 s79, s12, 168581; SI-NEXT: s_lshr_b32 s88, s11, 168582; SI-NEXT: s_lshr_b32 s89, s10, 168583; SI-NEXT: s_lshr_b32 s90, s8, 168584; SI-NEXT: s_lshr_b32 s91, s7, 168585; SI-NEXT: s_lshr_b32 s92, s6, 168586; SI-NEXT: s_lshr_b32 s93, s9, 168587; SI-NEXT: v_cvt_f32_f16_e32 v4, s98588; SI-NEXT: v_cvt_f32_f16_e32 v6, s68589; SI-NEXT: v_cvt_f32_f16_e32 v8, s78590; SI-NEXT: v_cvt_f32_f16_e32 v10, s88591; SI-NEXT: v_cvt_f32_f16_e32 v12, s108592; SI-NEXT: v_cvt_f32_f16_e32 v14, s118593; SI-NEXT: v_cvt_f32_f16_e32 v16, s128594; SI-NEXT: v_cvt_f32_f16_e32 v17, s138595; SI-NEXT: v_cvt_f32_f16_e32 v19, s148596; SI-NEXT: v_cvt_f32_f16_e32 v21, s158597; SI-NEXT: v_cvt_f32_f16_e32 v23, s168598; SI-NEXT: v_cvt_f32_f16_e32 v25, s178599; SI-NEXT: v_cvt_f32_f16_e32 v27, s188600; SI-NEXT: v_cvt_f32_f16_e32 v29, s198601; SI-NEXT: v_cvt_f32_f16_e32 v31, s208602; SI-NEXT: v_cvt_f32_f16_e32 v33, s218603; SI-NEXT: v_cvt_f32_f16_e32 v34, s228604; SI-NEXT: v_cvt_f32_f16_e32 v36, s298605; SI-NEXT: v_cvt_f32_f16_e32 v38, s288606; SI-NEXT: v_cvt_f32_f16_e32 v48, s278607; SI-NEXT: v_cvt_f32_f16_e32 v50, s268608; SI-NEXT: v_cvt_f32_f16_e32 v52, s258609; SI-NEXT: v_cvt_f32_f16_e32 v54, s248610; SI-NEXT: v_cvt_f32_f16_e32 v40, s238611; SI-NEXT: v_cvt_f32_f16_e32 v41, s438612; SI-NEXT: s_waitcnt expcnt(5)8613; SI-NEXT: v_cvt_f32_f16_e32 v43, s428614; SI-NEXT: s_waitcnt expcnt(3)8615; SI-NEXT: v_cvt_f32_f16_e32 v45, s418616; SI-NEXT: s_waitcnt expcnt(1)8617; SI-NEXT: v_cvt_f32_f16_e32 v47, s408618; SI-NEXT: v_cvt_f32_f16_e32 v1, s938619; SI-NEXT: v_cvt_f32_f16_e32 v2, s928620; SI-NEXT: v_cvt_f32_f16_e32 v3, s918621; SI-NEXT: v_cvt_f32_f16_e32 v5, s908622; SI-NEXT: v_cvt_f32_f16_e32 v7, s898623; SI-NEXT: v_cvt_f32_f16_e32 v9, s888624; SI-NEXT: v_cvt_f32_f16_e32 v11, s798625; SI-NEXT: v_cvt_f32_f16_e32 v13, s788626; SI-NEXT: v_cvt_f32_f16_e32 v15, s778627; SI-NEXT: v_cvt_f32_f16_e32 v18, s768628; SI-NEXT: v_cvt_f32_f16_e32 v20, s758629; SI-NEXT: v_cvt_f32_f16_e32 v22, s748630; SI-NEXT: v_cvt_f32_f16_e32 v24, s738631; SI-NEXT: v_cvt_f32_f16_e32 v26, s728632; SI-NEXT: v_cvt_f32_f16_e32 v28, s638633; SI-NEXT: v_cvt_f32_f16_e32 v30, s628634; SI-NEXT: v_cvt_f32_f16_e32 v32, s618635; SI-NEXT: v_cvt_f32_f16_e32 v35, s608636; SI-NEXT: v_cvt_f32_f16_e32 v37, s598637; SI-NEXT: v_cvt_f32_f16_e32 v39, s588638; SI-NEXT: v_cvt_f32_f16_e32 v49, s578639; SI-NEXT: v_cvt_f32_f16_e32 v51, s568640; SI-NEXT: v_cvt_f32_f16_e32 v53, s478641; SI-NEXT: v_cvt_f32_f16_e32 v55, s468642; SI-NEXT: v_cvt_f32_f16_e32 v42, s458643; SI-NEXT: v_cvt_f32_f16_e32 v44, s448644; SI-NEXT: v_cvt_f32_f16_e32 v46, s58645; SI-NEXT: s_waitcnt expcnt(0)8646; SI-NEXT: v_cvt_f32_f16_e32 v56, s48647; SI-NEXT: .LBB17_3: ; %end8648; SI-NEXT: s_waitcnt expcnt(0)8649; SI-NEXT: v_cvt_f16_f32_e32 v56, v568650; SI-NEXT: v_cvt_f16_f32_e32 v47, v478651; SI-NEXT: v_cvt_f16_f32_e32 v46, v468652; SI-NEXT: v_cvt_f16_f32_e32 v45, v458653; SI-NEXT: v_cvt_f16_f32_e32 v44, v448654; SI-NEXT: v_cvt_f16_f32_e32 v43, v438655; SI-NEXT: v_cvt_f16_f32_e32 v42, v428656; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v568657; SI-NEXT: v_cvt_f16_f32_e32 v41, v418658; SI-NEXT: v_cvt_f16_f32_e32 v55, v558659; SI-NEXT: v_or_b32_e32 v47, v47, v568660; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v468661; SI-NEXT: v_cvt_f16_f32_e32 v40, v408662; SI-NEXT: v_cvt_f16_f32_e32 v53, v538663; SI-NEXT: buffer_store_dword v47, v0, s[0:3], 0 offen8664; SI-NEXT: s_waitcnt expcnt(0)8665; SI-NEXT: v_add_i32_e32 v47, vcc, 4, v08666; SI-NEXT: v_or_b32_e32 v45, v45, v468667; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v448668; SI-NEXT: v_cvt_f16_f32_e32 v54, v548669; SI-NEXT: v_cvt_f16_f32_e32 v51, v518670; SI-NEXT: buffer_store_dword v45, v47, s[0:3], 0 offen8671; SI-NEXT: s_waitcnt expcnt(0)8672; SI-NEXT: v_add_i32_e32 v45, vcc, 8, v08673; SI-NEXT: v_or_b32_e32 v43, v43, v448674; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v428675; SI-NEXT: v_cvt_f16_f32_e32 v52, v528676; SI-NEXT: v_cvt_f16_f32_e32 v49, v498677; SI-NEXT: buffer_store_dword v43, v45, s[0:3], 0 offen8678; SI-NEXT: s_waitcnt expcnt(0)8679; SI-NEXT: v_add_i32_e32 v43, vcc, 12, v08680; SI-NEXT: v_or_b32_e32 v41, v41, v428681; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v558682; SI-NEXT: v_cvt_f16_f32_e32 v50, v508683; SI-NEXT: v_cvt_f16_f32_e32 v39, v398684; SI-NEXT: buffer_store_dword v41, v43, s[0:3], 0 offen8685; SI-NEXT: s_waitcnt expcnt(0)8686; SI-NEXT: v_add_i32_e32 v41, vcc, 16, v08687; SI-NEXT: v_or_b32_e32 v55, v40, v558688; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v538689; SI-NEXT: v_cvt_f16_f32_e32 v48, v488690; SI-NEXT: v_cvt_f16_f32_e32 v37, v378691; SI-NEXT: buffer_store_dword v55, v41, s[0:3], 0 offen8692; SI-NEXT: s_waitcnt expcnt(0)8693; SI-NEXT: v_add_i32_e32 v55, vcc, 20, v08694; SI-NEXT: v_or_b32_e32 v53, v54, v538695; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v518696; SI-NEXT: v_cvt_f16_f32_e32 v38, v388697; SI-NEXT: v_cvt_f16_f32_e32 v35, v358698; SI-NEXT: buffer_store_dword v53, v55, s[0:3], 0 offen8699; SI-NEXT: s_waitcnt expcnt(0)8700; SI-NEXT: v_add_i32_e32 v53, vcc, 24, v08701; SI-NEXT: v_or_b32_e32 v51, v52, v518702; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v498703; SI-NEXT: v_cvt_f16_f32_e32 v36, v368704; SI-NEXT: v_cvt_f16_f32_e32 v32, v328705; SI-NEXT: buffer_store_dword v51, v53, s[0:3], 0 offen8706; SI-NEXT: s_waitcnt expcnt(0)8707; SI-NEXT: v_add_i32_e32 v51, vcc, 28, v08708; SI-NEXT: v_or_b32_e32 v49, v50, v498709; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v398710; SI-NEXT: v_cvt_f16_f32_e32 v34, v348711; SI-NEXT: buffer_store_dword v49, v51, s[0:3], 0 offen8712; SI-NEXT: s_waitcnt expcnt(0)8713; SI-NEXT: v_add_i32_e32 v49, vcc, 32, v08714; SI-NEXT: v_or_b32_e32 v39, v48, v398715; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v378716; SI-NEXT: buffer_store_dword v39, v49, s[0:3], 0 offen8717; SI-NEXT: s_waitcnt expcnt(0)8718; SI-NEXT: v_add_i32_e32 v39, vcc, 36, v08719; SI-NEXT: v_or_b32_e32 v37, v38, v378720; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v358721; SI-NEXT: buffer_store_dword v37, v39, s[0:3], 0 offen8722; SI-NEXT: s_waitcnt expcnt(0)8723; SI-NEXT: v_add_i32_e32 v37, vcc, 40, v08724; SI-NEXT: v_or_b32_e32 v35, v36, v358725; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v328726; SI-NEXT: buffer_store_dword v35, v37, s[0:3], 0 offen8727; SI-NEXT: s_waitcnt expcnt(0)8728; SI-NEXT: v_add_i32_e32 v35, vcc, 44, v08729; SI-NEXT: v_or_b32_e32 v32, v34, v328730; SI-NEXT: v_cvt_f16_f32_e32 v30, v308731; SI-NEXT: buffer_store_dword v32, v35, s[0:3], 0 offen8732; SI-NEXT: s_waitcnt expcnt(0)8733; SI-NEXT: v_cvt_f16_f32_e32 v32, v338734; SI-NEXT: v_add_i32_e32 v33, vcc, 48, v08735; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v308736; SI-NEXT: v_or_b32_e32 v30, v32, v308737; SI-NEXT: v_cvt_f16_f32_e32 v28, v288738; SI-NEXT: buffer_store_dword v30, v33, s[0:3], 0 offen8739; SI-NEXT: s_waitcnt expcnt(0)8740; SI-NEXT: v_cvt_f16_f32_e32 v30, v318741; SI-NEXT: v_add_i32_e32 v31, vcc, 52, v08742; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v288743; SI-NEXT: v_or_b32_e32 v28, v30, v288744; SI-NEXT: v_cvt_f16_f32_e32 v26, v268745; SI-NEXT: buffer_store_dword v28, v31, s[0:3], 0 offen8746; SI-NEXT: s_waitcnt expcnt(0)8747; SI-NEXT: v_cvt_f16_f32_e32 v28, v298748; SI-NEXT: v_add_i32_e32 v29, vcc, 56, v08749; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v268750; SI-NEXT: v_or_b32_e32 v26, v28, v268751; SI-NEXT: v_cvt_f16_f32_e32 v24, v248752; SI-NEXT: buffer_store_dword v26, v29, s[0:3], 0 offen8753; SI-NEXT: s_waitcnt expcnt(0)8754; SI-NEXT: v_cvt_f16_f32_e32 v26, v278755; SI-NEXT: v_add_i32_e32 v27, vcc, 60, v08756; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v248757; SI-NEXT: v_or_b32_e32 v24, v26, v248758; SI-NEXT: v_cvt_f16_f32_e32 v22, v228759; SI-NEXT: buffer_store_dword v24, v27, s[0:3], 0 offen8760; SI-NEXT: s_waitcnt expcnt(0)8761; SI-NEXT: v_cvt_f16_f32_e32 v24, v258762; SI-NEXT: v_add_i32_e32 v25, vcc, 64, v08763; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v228764; SI-NEXT: v_or_b32_e32 v22, v24, v228765; SI-NEXT: v_cvt_f16_f32_e32 v20, v208766; SI-NEXT: buffer_store_dword v22, v25, s[0:3], 0 offen8767; SI-NEXT: s_waitcnt expcnt(0)8768; SI-NEXT: v_cvt_f16_f32_e32 v22, v238769; SI-NEXT: v_add_i32_e32 v23, vcc, 0x44, v08770; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v208771; SI-NEXT: v_or_b32_e32 v20, v22, v208772; SI-NEXT: v_cvt_f16_f32_e32 v18, v188773; SI-NEXT: buffer_store_dword v20, v23, s[0:3], 0 offen8774; SI-NEXT: s_waitcnt expcnt(0)8775; SI-NEXT: v_cvt_f16_f32_e32 v20, v218776; SI-NEXT: v_add_i32_e32 v21, vcc, 0x48, v08777; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v188778; SI-NEXT: v_or_b32_e32 v18, v20, v188779; SI-NEXT: v_cvt_f16_f32_e32 v15, v158780; SI-NEXT: buffer_store_dword v18, v21, s[0:3], 0 offen8781; SI-NEXT: s_waitcnt expcnt(0)8782; SI-NEXT: v_cvt_f16_f32_e32 v18, v198783; SI-NEXT: v_add_i32_e32 v19, vcc, 0x4c, v08784; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v158785; SI-NEXT: v_or_b32_e32 v15, v18, v158786; SI-NEXT: v_cvt_f16_f32_e32 v13, v138787; SI-NEXT: buffer_store_dword v15, v19, s[0:3], 0 offen8788; SI-NEXT: s_waitcnt expcnt(0)8789; SI-NEXT: v_cvt_f16_f32_e32 v15, v178790; SI-NEXT: v_add_i32_e32 v17, vcc, 0x50, v08791; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v138792; SI-NEXT: v_or_b32_e32 v13, v15, v138793; SI-NEXT: v_cvt_f16_f32_e32 v11, v118794; SI-NEXT: buffer_store_dword v13, v17, s[0:3], 0 offen8795; SI-NEXT: s_waitcnt expcnt(0)8796; SI-NEXT: v_cvt_f16_f32_e32 v13, v168797; SI-NEXT: v_add_i32_e32 v15, vcc, 0x54, v08798; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v118799; SI-NEXT: v_or_b32_e32 v11, v13, v118800; SI-NEXT: v_cvt_f16_f32_e32 v9, v98801; SI-NEXT: buffer_store_dword v11, v15, s[0:3], 0 offen8802; SI-NEXT: s_waitcnt expcnt(0)8803; SI-NEXT: v_cvt_f16_f32_e32 v11, v148804; SI-NEXT: v_add_i32_e32 v13, vcc, 0x58, v08805; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v98806; SI-NEXT: v_or_b32_e32 v9, v11, v98807; SI-NEXT: v_cvt_f16_f32_e32 v7, v78808; SI-NEXT: buffer_store_dword v9, v13, s[0:3], 0 offen8809; SI-NEXT: s_waitcnt expcnt(0)8810; SI-NEXT: v_cvt_f16_f32_e32 v9, v128811; SI-NEXT: v_add_i32_e32 v11, vcc, 0x5c, v08812; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v78813; SI-NEXT: v_or_b32_e32 v7, v9, v78814; SI-NEXT: v_cvt_f16_f32_e32 v5, v58815; SI-NEXT: buffer_store_dword v7, v11, s[0:3], 0 offen8816; SI-NEXT: s_waitcnt expcnt(0)8817; SI-NEXT: v_cvt_f16_f32_e32 v7, v108818; SI-NEXT: v_add_i32_e32 v9, vcc, 0x60, v08819; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v58820; SI-NEXT: v_or_b32_e32 v5, v7, v58821; SI-NEXT: v_cvt_f16_f32_e32 v3, v38822; SI-NEXT: buffer_store_dword v5, v9, s[0:3], 0 offen8823; SI-NEXT: s_waitcnt expcnt(0)8824; SI-NEXT: v_cvt_f16_f32_e32 v5, v88825; SI-NEXT: v_add_i32_e32 v7, vcc, 0x64, v08826; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v38827; SI-NEXT: v_or_b32_e32 v3, v5, v38828; SI-NEXT: v_cvt_f16_f32_e32 v2, v28829; SI-NEXT: buffer_store_dword v3, v7, s[0:3], 0 offen8830; SI-NEXT: s_waitcnt expcnt(0)8831; SI-NEXT: v_cvt_f16_f32_e32 v3, v68832; SI-NEXT: v_add_i32_e32 v5, vcc, 0x68, v08833; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v28834; SI-NEXT: v_or_b32_e32 v2, v3, v28835; SI-NEXT: v_cvt_f16_f32_e32 v1, v18836; SI-NEXT: buffer_store_dword v2, v5, s[0:3], 0 offen8837; SI-NEXT: s_waitcnt expcnt(0)8838; SI-NEXT: v_cvt_f16_f32_e32 v2, v48839; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v08840; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v18841; SI-NEXT: v_or_b32_e32 v1, v2, v18842; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen8843; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 ; 4-byte Folded Reload8844; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload8845; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload8846; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload8847; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload8848; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload8849; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload8850; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload8851; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload8852; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)8853; SI-NEXT: s_setpc_b64 s[30:31]8854; SI-NEXT: .LBB17_4:8855; SI-NEXT: ; implicit-def: $vgpr478856; SI-NEXT: ; implicit-def: $vgpr568857; SI-NEXT: ; implicit-def: $vgpr458858; SI-NEXT: ; implicit-def: $vgpr468859; SI-NEXT: ; implicit-def: $vgpr438860; SI-NEXT: ; implicit-def: $vgpr448861; SI-NEXT: ; implicit-def: $vgpr418862; SI-NEXT: ; implicit-def: $vgpr428863; SI-NEXT: ; implicit-def: $vgpr408864; SI-NEXT: ; implicit-def: $vgpr558865; SI-NEXT: ; implicit-def: $vgpr548866; SI-NEXT: ; implicit-def: $vgpr538867; SI-NEXT: ; implicit-def: $vgpr528868; SI-NEXT: ; implicit-def: $vgpr518869; SI-NEXT: ; implicit-def: $vgpr508870; SI-NEXT: ; implicit-def: $vgpr498871; SI-NEXT: ; implicit-def: $vgpr488872; SI-NEXT: ; implicit-def: $vgpr398873; SI-NEXT: ; implicit-def: $vgpr388874; SI-NEXT: ; implicit-def: $vgpr378875; SI-NEXT: ; implicit-def: $vgpr368876; SI-NEXT: ; implicit-def: $vgpr358877; SI-NEXT: ; implicit-def: $vgpr348878; SI-NEXT: ; implicit-def: $vgpr328879; SI-NEXT: ; implicit-def: $vgpr338880; SI-NEXT: ; implicit-def: $vgpr308881; SI-NEXT: ; implicit-def: $vgpr318882; SI-NEXT: ; implicit-def: $vgpr288883; SI-NEXT: ; implicit-def: $vgpr298884; SI-NEXT: ; implicit-def: $vgpr268885; SI-NEXT: ; implicit-def: $vgpr278886; SI-NEXT: ; implicit-def: $vgpr248887; SI-NEXT: ; implicit-def: $vgpr258888; SI-NEXT: ; implicit-def: $vgpr228889; SI-NEXT: ; implicit-def: $vgpr238890; SI-NEXT: ; implicit-def: $vgpr208891; SI-NEXT: ; implicit-def: $vgpr218892; SI-NEXT: ; implicit-def: $vgpr188893; SI-NEXT: ; implicit-def: $vgpr198894; SI-NEXT: ; implicit-def: $vgpr158895; SI-NEXT: ; implicit-def: $vgpr178896; SI-NEXT: ; implicit-def: $vgpr138897; SI-NEXT: ; implicit-def: $vgpr168898; SI-NEXT: ; implicit-def: $vgpr118899; SI-NEXT: ; implicit-def: $vgpr148900; SI-NEXT: ; implicit-def: $vgpr98901; SI-NEXT: ; implicit-def: $vgpr128902; SI-NEXT: ; implicit-def: $vgpr78903; SI-NEXT: ; implicit-def: $vgpr108904; SI-NEXT: ; implicit-def: $vgpr58905; SI-NEXT: ; implicit-def: $vgpr88906; SI-NEXT: ; implicit-def: $vgpr38907; SI-NEXT: ; implicit-def: $vgpr68908; SI-NEXT: ; implicit-def: $vgpr28909; SI-NEXT: ; implicit-def: $vgpr48910; SI-NEXT: ; implicit-def: $vgpr18911; SI-NEXT: s_branch .LBB17_28912;8913; VI-LABEL: bitcast_v28i32_to_v56f16_scalar:8914; VI: ; %bb.0:8915; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8916; VI-NEXT: s_xor_saveexec_b64 s[4:5], -18917; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 ; 4-byte Folded Spill8918; VI-NEXT: s_mov_b64 exec, s[4:5]8919; VI-NEXT: v_mov_b32_e32 v15, s168920; VI-NEXT: v_mov_b32_e32 v16, s178921; VI-NEXT: v_mov_b32_e32 v17, s188922; VI-NEXT: v_mov_b32_e32 v18, s198923; VI-NEXT: v_writelane_b32 v28, s30, 08924; VI-NEXT: v_mov_b32_e32 v19, s208925; VI-NEXT: v_readfirstlane_b32 s46, v158926; VI-NEXT: v_mov_b32_e32 v15, s218927; VI-NEXT: v_readfirstlane_b32 s45, v168928; VI-NEXT: v_mov_b32_e32 v16, s228929; VI-NEXT: v_readfirstlane_b32 s44, v178930; VI-NEXT: v_mov_b32_e32 v17, s238931; VI-NEXT: v_readfirstlane_b32 s43, v188932; VI-NEXT: v_mov_b32_e32 v18, s248933; VI-NEXT: v_writelane_b32 v28, s31, 18934; VI-NEXT: v_readfirstlane_b32 s42, v198935; VI-NEXT: v_mov_b32_e32 v19, s258936; VI-NEXT: v_readfirstlane_b32 s41, v158937; VI-NEXT: v_mov_b32_e32 v15, s268938; VI-NEXT: v_readfirstlane_b32 s40, v168939; VI-NEXT: v_mov_b32_e32 v16, s278940; VI-NEXT: v_readfirstlane_b32 s26, v178941; VI-NEXT: v_mov_b32_e32 v17, s288942; VI-NEXT: v_readfirstlane_b32 s25, v188943; VI-NEXT: v_mov_b32_e32 v18, s298944; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v148945; VI-NEXT: v_writelane_b32 v28, s34, 28946; VI-NEXT: v_readfirstlane_b32 s24, v198947; VI-NEXT: v_readfirstlane_b32 s23, v158948; VI-NEXT: v_readfirstlane_b32 s22, v168949; VI-NEXT: v_readfirstlane_b32 s21, v178950; VI-NEXT: v_readfirstlane_b32 s20, v188951; VI-NEXT: v_readfirstlane_b32 s19, v08952; VI-NEXT: v_readfirstlane_b32 s18, v18953; VI-NEXT: v_readfirstlane_b32 s17, v28954; VI-NEXT: v_readfirstlane_b32 s16, v38955; VI-NEXT: v_readfirstlane_b32 s15, v48956; VI-NEXT: v_readfirstlane_b32 s14, v58957; VI-NEXT: v_readfirstlane_b32 s13, v68958; VI-NEXT: v_readfirstlane_b32 s12, v78959; VI-NEXT: v_readfirstlane_b32 s11, v88960; VI-NEXT: v_readfirstlane_b32 s10, v98961; VI-NEXT: v_readfirstlane_b32 s9, v108962; VI-NEXT: v_readfirstlane_b32 s8, v118963; VI-NEXT: v_readfirstlane_b32 s6, v128964; VI-NEXT: s_and_b64 s[4:5], vcc, exec8965; VI-NEXT: v_readfirstlane_b32 s7, v138966; VI-NEXT: v_writelane_b32 v28, s35, 38967; VI-NEXT: s_cbranch_scc0 .LBB17_48968; VI-NEXT: ; %bb.1: ; %cmp.false8969; VI-NEXT: s_lshr_b32 s27, s7, 168970; VI-NEXT: s_lshr_b32 s28, s6, 168971; VI-NEXT: s_lshr_b32 s29, s8, 168972; VI-NEXT: s_lshr_b32 s47, s9, 168973; VI-NEXT: s_lshr_b32 s56, s10, 168974; VI-NEXT: s_lshr_b32 s57, s11, 168975; VI-NEXT: s_lshr_b32 s58, s12, 168976; VI-NEXT: s_lshr_b32 s59, s13, 168977; VI-NEXT: s_lshr_b32 s60, s14, 168978; VI-NEXT: s_lshr_b32 s61, s15, 168979; VI-NEXT: s_lshr_b32 s62, s16, 168980; VI-NEXT: s_lshr_b32 s63, s17, 168981; VI-NEXT: s_lshr_b32 s72, s18, 168982; VI-NEXT: s_lshr_b32 s73, s19, 168983; VI-NEXT: s_lshr_b32 s74, s20, 168984; VI-NEXT: s_lshr_b32 s75, s21, 168985; VI-NEXT: s_lshr_b32 s76, s22, 168986; VI-NEXT: s_lshr_b32 s77, s23, 168987; VI-NEXT: s_lshr_b32 s78, s24, 168988; VI-NEXT: s_lshr_b32 s79, s25, 168989; VI-NEXT: s_lshr_b32 s88, s26, 168990; VI-NEXT: s_lshr_b32 s89, s40, 168991; VI-NEXT: s_lshr_b32 s90, s41, 168992; VI-NEXT: s_lshr_b32 s91, s42, 168993; VI-NEXT: s_lshr_b32 s30, s43, 168994; VI-NEXT: s_lshr_b32 s31, s44, 168995; VI-NEXT: s_lshr_b32 s34, s45, 168996; VI-NEXT: s_lshr_b32 s35, s46, 168997; VI-NEXT: s_cbranch_execnz .LBB17_38998; VI-NEXT: .LBB17_2: ; %cmp.true8999; VI-NEXT: s_add_i32 s7, s7, 39000; VI-NEXT: s_add_i32 s6, s6, 39001; VI-NEXT: s_add_i32 s8, s8, 39002; VI-NEXT: s_add_i32 s9, s9, 39003; VI-NEXT: s_add_i32 s10, s10, 39004; VI-NEXT: s_add_i32 s11, s11, 39005; VI-NEXT: s_add_i32 s12, s12, 39006; VI-NEXT: s_add_i32 s13, s13, 39007; VI-NEXT: s_add_i32 s14, s14, 39008; VI-NEXT: s_add_i32 s15, s15, 39009; VI-NEXT: s_add_i32 s16, s16, 39010; VI-NEXT: s_add_i32 s17, s17, 39011; VI-NEXT: s_add_i32 s18, s18, 39012; VI-NEXT: s_add_i32 s19, s19, 39013; VI-NEXT: s_add_i32 s20, s20, 39014; VI-NEXT: s_add_i32 s21, s21, 39015; VI-NEXT: s_add_i32 s22, s22, 39016; VI-NEXT: s_add_i32 s23, s23, 39017; VI-NEXT: s_add_i32 s24, s24, 39018; VI-NEXT: s_add_i32 s25, s25, 39019; VI-NEXT: s_add_i32 s26, s26, 39020; VI-NEXT: s_add_i32 s40, s40, 39021; VI-NEXT: s_add_i32 s41, s41, 39022; VI-NEXT: s_add_i32 s42, s42, 39023; VI-NEXT: s_add_i32 s43, s43, 39024; VI-NEXT: s_add_i32 s44, s44, 39025; VI-NEXT: s_add_i32 s45, s45, 39026; VI-NEXT: s_add_i32 s46, s46, 39027; VI-NEXT: s_lshr_b32 s27, s7, 169028; VI-NEXT: s_lshr_b32 s28, s6, 169029; VI-NEXT: s_lshr_b32 s29, s8, 169030; VI-NEXT: s_lshr_b32 s47, s9, 169031; VI-NEXT: s_lshr_b32 s56, s10, 169032; VI-NEXT: s_lshr_b32 s57, s11, 169033; VI-NEXT: s_lshr_b32 s58, s12, 169034; VI-NEXT: s_lshr_b32 s59, s13, 169035; VI-NEXT: s_lshr_b32 s60, s14, 169036; VI-NEXT: s_lshr_b32 s61, s15, 169037; VI-NEXT: s_lshr_b32 s62, s16, 169038; VI-NEXT: s_lshr_b32 s63, s17, 169039; VI-NEXT: s_lshr_b32 s72, s18, 169040; VI-NEXT: s_lshr_b32 s73, s19, 169041; VI-NEXT: s_lshr_b32 s74, s20, 169042; VI-NEXT: s_lshr_b32 s75, s21, 169043; VI-NEXT: s_lshr_b32 s76, s22, 169044; VI-NEXT: s_lshr_b32 s77, s23, 169045; VI-NEXT: s_lshr_b32 s78, s24, 169046; VI-NEXT: s_lshr_b32 s79, s25, 169047; VI-NEXT: s_lshr_b32 s88, s26, 169048; VI-NEXT: s_lshr_b32 s89, s40, 169049; VI-NEXT: s_lshr_b32 s90, s41, 169050; VI-NEXT: s_lshr_b32 s91, s42, 169051; VI-NEXT: s_lshr_b32 s30, s43, 169052; VI-NEXT: s_lshr_b32 s31, s44, 169053; VI-NEXT: s_lshr_b32 s34, s45, 169054; VI-NEXT: s_lshr_b32 s35, s46, 169055; VI-NEXT: .LBB17_3: ; %end9056; VI-NEXT: s_and_b32 s4, 0xffff, s469057; VI-NEXT: s_lshl_b32 s5, s35, 169058; VI-NEXT: s_or_b32 s4, s4, s59059; VI-NEXT: s_and_b32 s5, 0xffff, s459060; VI-NEXT: s_lshl_b32 s45, s34, 169061; VI-NEXT: s_or_b32 s5, s5, s459062; VI-NEXT: s_and_b32 s44, 0xffff, s449063; VI-NEXT: s_lshl_b32 s45, s31, 169064; VI-NEXT: s_or_b32 s44, s44, s459065; VI-NEXT: s_and_b32 s43, 0xffff, s439066; VI-NEXT: s_lshl_b32 s45, s30, 169067; VI-NEXT: s_or_b32 s43, s43, s459068; VI-NEXT: s_and_b32 s42, 0xffff, s429069; VI-NEXT: s_lshl_b32 s45, s91, 169070; VI-NEXT: s_or_b32 s42, s42, s459071; VI-NEXT: s_and_b32 s41, 0xffff, s419072; VI-NEXT: s_lshl_b32 s45, s90, 169073; VI-NEXT: s_or_b32 s41, s41, s459074; VI-NEXT: s_and_b32 s40, 0xffff, s409075; VI-NEXT: s_lshl_b32 s45, s89, 169076; VI-NEXT: s_or_b32 s40, s40, s459077; VI-NEXT: s_and_b32 s26, 0xffff, s269078; VI-NEXT: s_lshl_b32 s45, s88, 169079; VI-NEXT: s_or_b32 s26, s26, s459080; VI-NEXT: s_and_b32 s25, 0xffff, s259081; VI-NEXT: s_lshl_b32 s45, s79, 169082; VI-NEXT: s_or_b32 s25, s25, s459083; VI-NEXT: s_and_b32 s24, 0xffff, s249084; VI-NEXT: s_lshl_b32 s45, s78, 169085; VI-NEXT: s_or_b32 s24, s24, s459086; VI-NEXT: s_and_b32 s23, 0xffff, s239087; VI-NEXT: s_lshl_b32 s45, s77, 169088; VI-NEXT: s_or_b32 s23, s23, s459089; VI-NEXT: s_and_b32 s22, 0xffff, s229090; VI-NEXT: s_lshl_b32 s45, s76, 169091; VI-NEXT: s_or_b32 s22, s22, s459092; VI-NEXT: s_and_b32 s21, 0xffff, s219093; VI-NEXT: s_lshl_b32 s45, s75, 169094; VI-NEXT: s_or_b32 s21, s21, s459095; VI-NEXT: s_and_b32 s20, 0xffff, s209096; VI-NEXT: s_lshl_b32 s45, s74, 169097; VI-NEXT: s_or_b32 s20, s20, s459098; VI-NEXT: s_and_b32 s19, 0xffff, s199099; VI-NEXT: s_lshl_b32 s45, s73, 169100; VI-NEXT: s_or_b32 s19, s19, s459101; VI-NEXT: s_and_b32 s18, 0xffff, s189102; VI-NEXT: s_lshl_b32 s45, s72, 169103; VI-NEXT: s_or_b32 s18, s18, s459104; VI-NEXT: s_and_b32 s17, 0xffff, s179105; VI-NEXT: s_lshl_b32 s45, s63, 169106; VI-NEXT: s_or_b32 s17, s17, s459107; VI-NEXT: s_and_b32 s16, 0xffff, s169108; VI-NEXT: s_lshl_b32 s45, s62, 169109; VI-NEXT: s_or_b32 s16, s16, s459110; VI-NEXT: s_and_b32 s15, 0xffff, s159111; VI-NEXT: s_lshl_b32 s45, s61, 169112; VI-NEXT: s_or_b32 s15, s15, s459113; VI-NEXT: s_and_b32 s14, 0xffff, s149114; VI-NEXT: s_lshl_b32 s45, s60, 169115; VI-NEXT: s_or_b32 s14, s14, s459116; VI-NEXT: s_and_b32 s13, 0xffff, s139117; VI-NEXT: s_lshl_b32 s45, s59, 169118; VI-NEXT: s_or_b32 s13, s13, s459119; VI-NEXT: s_and_b32 s12, 0xffff, s129120; VI-NEXT: s_lshl_b32 s45, s58, 169121; VI-NEXT: s_or_b32 s12, s12, s459122; VI-NEXT: s_and_b32 s11, 0xffff, s119123; VI-NEXT: s_lshl_b32 s45, s57, 169124; VI-NEXT: s_or_b32 s11, s11, s459125; VI-NEXT: s_and_b32 s10, 0xffff, s109126; VI-NEXT: s_lshl_b32 s45, s56, 169127; VI-NEXT: s_or_b32 s10, s10, s459128; VI-NEXT: s_and_b32 s9, 0xffff, s99129; VI-NEXT: s_lshl_b32 s45, s47, 169130; VI-NEXT: s_and_b32 s8, 0xffff, s89131; VI-NEXT: s_lshl_b32 s29, s29, 169132; VI-NEXT: s_and_b32 s6, 0xffff, s69133; VI-NEXT: s_lshl_b32 s28, s28, 169134; VI-NEXT: s_and_b32 s7, 0xffff, s79135; VI-NEXT: s_lshl_b32 s27, s27, 169136; VI-NEXT: s_or_b32 s9, s9, s459137; VI-NEXT: s_or_b32 s8, s8, s299138; VI-NEXT: s_or_b32 s6, s6, s289139; VI-NEXT: s_or_b32 s7, s7, s279140; VI-NEXT: v_mov_b32_e32 v0, s49141; VI-NEXT: v_mov_b32_e32 v1, s59142; VI-NEXT: v_mov_b32_e32 v2, s449143; VI-NEXT: v_mov_b32_e32 v3, s439144; VI-NEXT: v_mov_b32_e32 v4, s429145; VI-NEXT: v_mov_b32_e32 v5, s419146; VI-NEXT: v_mov_b32_e32 v6, s409147; VI-NEXT: v_mov_b32_e32 v7, s269148; VI-NEXT: v_mov_b32_e32 v8, s259149; VI-NEXT: v_mov_b32_e32 v9, s249150; VI-NEXT: v_mov_b32_e32 v10, s239151; VI-NEXT: v_mov_b32_e32 v11, s229152; VI-NEXT: v_mov_b32_e32 v12, s219153; VI-NEXT: v_mov_b32_e32 v13, s209154; VI-NEXT: v_mov_b32_e32 v14, s199155; VI-NEXT: v_mov_b32_e32 v15, s189156; VI-NEXT: v_mov_b32_e32 v16, s179157; VI-NEXT: v_mov_b32_e32 v17, s169158; VI-NEXT: v_mov_b32_e32 v18, s159159; VI-NEXT: v_mov_b32_e32 v19, s149160; VI-NEXT: v_mov_b32_e32 v20, s139161; VI-NEXT: v_mov_b32_e32 v21, s129162; VI-NEXT: v_mov_b32_e32 v22, s119163; VI-NEXT: v_mov_b32_e32 v23, s109164; VI-NEXT: v_mov_b32_e32 v24, s99165; VI-NEXT: v_mov_b32_e32 v25, s89166; VI-NEXT: v_mov_b32_e32 v26, s69167; VI-NEXT: v_mov_b32_e32 v27, s79168; VI-NEXT: v_readlane_b32 s35, v28, 39169; VI-NEXT: v_readlane_b32 s34, v28, 29170; VI-NEXT: v_readlane_b32 s31, v28, 19171; VI-NEXT: v_readlane_b32 s30, v28, 09172; VI-NEXT: s_xor_saveexec_b64 s[4:5], -19173; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 ; 4-byte Folded Reload9174; VI-NEXT: s_mov_b64 exec, s[4:5]9175; VI-NEXT: s_waitcnt vmcnt(0)9176; VI-NEXT: s_setpc_b64 s[30:31]9177; VI-NEXT: .LBB17_4:9178; VI-NEXT: ; implicit-def: $sgpr359179; VI-NEXT: ; implicit-def: $sgpr349180; VI-NEXT: ; implicit-def: $sgpr319181; VI-NEXT: ; implicit-def: $sgpr309182; VI-NEXT: ; implicit-def: $sgpr919183; VI-NEXT: ; implicit-def: $sgpr909184; VI-NEXT: ; implicit-def: $sgpr899185; VI-NEXT: ; implicit-def: $sgpr889186; VI-NEXT: ; implicit-def: $sgpr799187; VI-NEXT: ; implicit-def: $sgpr789188; VI-NEXT: ; implicit-def: $sgpr779189; VI-NEXT: ; implicit-def: $sgpr769190; VI-NEXT: ; implicit-def: $sgpr759191; VI-NEXT: ; implicit-def: $sgpr749192; VI-NEXT: ; implicit-def: $sgpr739193; VI-NEXT: ; implicit-def: $sgpr729194; VI-NEXT: ; implicit-def: $sgpr639195; VI-NEXT: ; implicit-def: $sgpr629196; VI-NEXT: ; implicit-def: $sgpr619197; VI-NEXT: ; implicit-def: $sgpr609198; VI-NEXT: ; implicit-def: $sgpr599199; VI-NEXT: ; implicit-def: $sgpr589200; VI-NEXT: ; implicit-def: $sgpr579201; VI-NEXT: ; implicit-def: $sgpr569202; VI-NEXT: ; implicit-def: $sgpr479203; VI-NEXT: ; implicit-def: $sgpr299204; VI-NEXT: ; implicit-def: $sgpr289205; VI-NEXT: ; implicit-def: $sgpr279206; VI-NEXT: s_branch .LBB17_29207;9208; GFX9-LABEL: bitcast_v28i32_to_v56f16_scalar:9209; GFX9: ; %bb.0:9210; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)9211; GFX9-NEXT: v_mov_b32_e32 v15, s169212; GFX9-NEXT: v_mov_b32_e32 v16, s179213; GFX9-NEXT: v_mov_b32_e32 v17, s189214; GFX9-NEXT: v_mov_b32_e32 v18, s199215; GFX9-NEXT: v_mov_b32_e32 v19, s209216; GFX9-NEXT: v_readfirstlane_b32 s6, v159217; GFX9-NEXT: v_mov_b32_e32 v15, s219218; GFX9-NEXT: v_readfirstlane_b32 s7, v169219; GFX9-NEXT: v_mov_b32_e32 v16, s229220; GFX9-NEXT: v_readfirstlane_b32 s8, v179221; GFX9-NEXT: v_mov_b32_e32 v17, s239222; GFX9-NEXT: v_readfirstlane_b32 s9, v189223; GFX9-NEXT: v_mov_b32_e32 v18, s249224; GFX9-NEXT: v_readfirstlane_b32 s10, v199225; GFX9-NEXT: v_mov_b32_e32 v19, s259226; GFX9-NEXT: v_readfirstlane_b32 s11, v159227; GFX9-NEXT: v_mov_b32_e32 v15, s269228; GFX9-NEXT: v_readfirstlane_b32 s12, v169229; GFX9-NEXT: v_mov_b32_e32 v16, s279230; GFX9-NEXT: v_readfirstlane_b32 s13, v179231; GFX9-NEXT: v_mov_b32_e32 v17, s289232; GFX9-NEXT: v_readfirstlane_b32 s14, v189233; GFX9-NEXT: v_mov_b32_e32 v18, s299234; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v149235; GFX9-NEXT: v_readfirstlane_b32 s15, v199236; GFX9-NEXT: v_readfirstlane_b32 s16, v159237; GFX9-NEXT: v_readfirstlane_b32 s17, v169238; GFX9-NEXT: v_readfirstlane_b32 s18, v179239; GFX9-NEXT: v_readfirstlane_b32 s19, v189240; GFX9-NEXT: v_readfirstlane_b32 s20, v09241; GFX9-NEXT: v_readfirstlane_b32 s21, v19242; GFX9-NEXT: v_readfirstlane_b32 s22, v29243; GFX9-NEXT: v_readfirstlane_b32 s23, v39244; GFX9-NEXT: v_readfirstlane_b32 s24, v49245; GFX9-NEXT: v_readfirstlane_b32 s25, v59246; GFX9-NEXT: v_readfirstlane_b32 s26, v69247; GFX9-NEXT: v_readfirstlane_b32 s27, v79248; GFX9-NEXT: v_readfirstlane_b32 s28, v89249; GFX9-NEXT: v_readfirstlane_b32 s29, v99250; GFX9-NEXT: v_readfirstlane_b32 s40, v109251; GFX9-NEXT: v_readfirstlane_b32 s41, v119252; GFX9-NEXT: v_readfirstlane_b32 s42, v129253; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec9254; GFX9-NEXT: v_readfirstlane_b32 s43, v139255; GFX9-NEXT: s_cbranch_scc0 .LBB17_49256; GFX9-NEXT: ; %bb.1: ; %cmp.false9257; GFX9-NEXT: s_lshr_b32 s44, s43, 169258; GFX9-NEXT: s_lshr_b32 s45, s42, 169259; GFX9-NEXT: s_lshr_b32 s46, s41, 169260; GFX9-NEXT: s_lshr_b32 s47, s40, 169261; GFX9-NEXT: s_lshr_b32 s56, s29, 169262; GFX9-NEXT: s_lshr_b32 s57, s28, 169263; GFX9-NEXT: s_lshr_b32 s58, s27, 169264; GFX9-NEXT: s_lshr_b32 s59, s26, 169265; GFX9-NEXT: s_lshr_b32 s60, s25, 169266; GFX9-NEXT: s_lshr_b32 s61, s24, 169267; GFX9-NEXT: s_lshr_b32 s62, s23, 169268; GFX9-NEXT: s_lshr_b32 s63, s22, 169269; GFX9-NEXT: s_lshr_b32 s72, s21, 169270; GFX9-NEXT: s_lshr_b32 s73, s20, 169271; GFX9-NEXT: s_lshr_b32 s74, s19, 169272; GFX9-NEXT: s_lshr_b32 s75, s18, 169273; GFX9-NEXT: s_lshr_b32 s76, s17, 169274; GFX9-NEXT: s_lshr_b32 s77, s16, 169275; GFX9-NEXT: s_lshr_b32 s78, s15, 169276; GFX9-NEXT: s_lshr_b32 s79, s14, 169277; GFX9-NEXT: s_lshr_b32 s88, s13, 169278; GFX9-NEXT: s_lshr_b32 s89, s12, 169279; GFX9-NEXT: s_lshr_b32 s90, s11, 169280; GFX9-NEXT: s_lshr_b32 s91, s10, 169281; GFX9-NEXT: s_lshr_b32 s92, s9, 169282; GFX9-NEXT: s_lshr_b32 s93, s8, 169283; GFX9-NEXT: s_lshr_b32 s94, s7, 169284; GFX9-NEXT: s_lshr_b32 s95, s6, 169285; GFX9-NEXT: s_cbranch_execnz .LBB17_39286; GFX9-NEXT: .LBB17_2: ; %cmp.true9287; GFX9-NEXT: s_add_i32 s43, s43, 39288; GFX9-NEXT: s_add_i32 s42, s42, 39289; GFX9-NEXT: s_add_i32 s41, s41, 39290; GFX9-NEXT: s_add_i32 s40, s40, 39291; GFX9-NEXT: s_add_i32 s29, s29, 39292; GFX9-NEXT: s_add_i32 s28, s28, 39293; GFX9-NEXT: s_add_i32 s27, s27, 39294; GFX9-NEXT: s_add_i32 s26, s26, 39295; GFX9-NEXT: s_add_i32 s25, s25, 39296; GFX9-NEXT: s_add_i32 s24, s24, 39297; GFX9-NEXT: s_add_i32 s23, s23, 39298; GFX9-NEXT: s_add_i32 s22, s22, 39299; GFX9-NEXT: s_add_i32 s21, s21, 39300; GFX9-NEXT: s_add_i32 s20, s20, 39301; GFX9-NEXT: s_add_i32 s19, s19, 39302; GFX9-NEXT: s_add_i32 s18, s18, 39303; GFX9-NEXT: s_add_i32 s17, s17, 39304; GFX9-NEXT: s_add_i32 s16, s16, 39305; GFX9-NEXT: s_add_i32 s15, s15, 39306; GFX9-NEXT: s_add_i32 s14, s14, 39307; GFX9-NEXT: s_add_i32 s13, s13, 39308; GFX9-NEXT: s_add_i32 s12, s12, 39309; GFX9-NEXT: s_add_i32 s11, s11, 39310; GFX9-NEXT: s_add_i32 s10, s10, 39311; GFX9-NEXT: s_add_i32 s9, s9, 39312; GFX9-NEXT: s_add_i32 s8, s8, 39313; GFX9-NEXT: s_add_i32 s7, s7, 39314; GFX9-NEXT: s_add_i32 s6, s6, 39315; GFX9-NEXT: s_lshr_b32 s44, s43, 169316; GFX9-NEXT: s_lshr_b32 s45, s42, 169317; GFX9-NEXT: s_lshr_b32 s46, s41, 169318; GFX9-NEXT: s_lshr_b32 s47, s40, 169319; GFX9-NEXT: s_lshr_b32 s56, s29, 169320; GFX9-NEXT: s_lshr_b32 s57, s28, 169321; GFX9-NEXT: s_lshr_b32 s58, s27, 169322; GFX9-NEXT: s_lshr_b32 s59, s26, 169323; GFX9-NEXT: s_lshr_b32 s60, s25, 169324; GFX9-NEXT: s_lshr_b32 s61, s24, 169325; GFX9-NEXT: s_lshr_b32 s62, s23, 169326; GFX9-NEXT: s_lshr_b32 s63, s22, 169327; GFX9-NEXT: s_lshr_b32 s72, s21, 169328; GFX9-NEXT: s_lshr_b32 s73, s20, 169329; GFX9-NEXT: s_lshr_b32 s74, s19, 169330; GFX9-NEXT: s_lshr_b32 s75, s18, 169331; GFX9-NEXT: s_lshr_b32 s76, s17, 169332; GFX9-NEXT: s_lshr_b32 s77, s16, 169333; GFX9-NEXT: s_lshr_b32 s78, s15, 169334; GFX9-NEXT: s_lshr_b32 s79, s14, 169335; GFX9-NEXT: s_lshr_b32 s88, s13, 169336; GFX9-NEXT: s_lshr_b32 s89, s12, 169337; GFX9-NEXT: s_lshr_b32 s90, s11, 169338; GFX9-NEXT: s_lshr_b32 s91, s10, 169339; GFX9-NEXT: s_lshr_b32 s92, s9, 169340; GFX9-NEXT: s_lshr_b32 s93, s8, 169341; GFX9-NEXT: s_lshr_b32 s94, s7, 169342; GFX9-NEXT: s_lshr_b32 s95, s6, 169343; GFX9-NEXT: .LBB17_3: ; %end9344; GFX9-NEXT: s_pack_ll_b32_b16 s4, s6, s959345; GFX9-NEXT: s_pack_ll_b32_b16 s5, s7, s949346; GFX9-NEXT: s_pack_ll_b32_b16 s6, s8, s939347; GFX9-NEXT: s_pack_ll_b32_b16 s7, s9, s929348; GFX9-NEXT: s_pack_ll_b32_b16 s8, s10, s919349; GFX9-NEXT: s_pack_ll_b32_b16 s9, s11, s909350; GFX9-NEXT: s_pack_ll_b32_b16 s10, s12, s899351; GFX9-NEXT: s_pack_ll_b32_b16 s11, s13, s889352; GFX9-NEXT: s_pack_ll_b32_b16 s12, s14, s799353; GFX9-NEXT: s_pack_ll_b32_b16 s13, s15, s789354; GFX9-NEXT: s_pack_ll_b32_b16 s14, s16, s779355; GFX9-NEXT: s_pack_ll_b32_b16 s15, s17, s769356; GFX9-NEXT: s_pack_ll_b32_b16 s16, s18, s759357; GFX9-NEXT: s_pack_ll_b32_b16 s17, s19, s749358; GFX9-NEXT: s_pack_ll_b32_b16 s18, s20, s739359; GFX9-NEXT: s_pack_ll_b32_b16 s19, s21, s729360; GFX9-NEXT: s_pack_ll_b32_b16 s20, s22, s639361; GFX9-NEXT: s_pack_ll_b32_b16 s21, s23, s629362; GFX9-NEXT: s_pack_ll_b32_b16 s22, s24, s619363; GFX9-NEXT: s_pack_ll_b32_b16 s23, s25, s609364; GFX9-NEXT: s_pack_ll_b32_b16 s24, s26, s599365; GFX9-NEXT: s_pack_ll_b32_b16 s25, s27, s589366; GFX9-NEXT: s_pack_ll_b32_b16 s26, s28, s579367; GFX9-NEXT: s_pack_ll_b32_b16 s27, s29, s569368; GFX9-NEXT: s_pack_ll_b32_b16 s28, s40, s479369; GFX9-NEXT: s_pack_ll_b32_b16 s29, s41, s469370; GFX9-NEXT: s_pack_ll_b32_b16 s40, s42, s459371; GFX9-NEXT: s_pack_ll_b32_b16 s41, s43, s449372; GFX9-NEXT: v_mov_b32_e32 v0, s49373; GFX9-NEXT: v_mov_b32_e32 v1, s59374; GFX9-NEXT: v_mov_b32_e32 v2, s69375; GFX9-NEXT: v_mov_b32_e32 v3, s79376; GFX9-NEXT: v_mov_b32_e32 v4, s89377; GFX9-NEXT: v_mov_b32_e32 v5, s99378; GFX9-NEXT: v_mov_b32_e32 v6, s109379; GFX9-NEXT: v_mov_b32_e32 v7, s119380; GFX9-NEXT: v_mov_b32_e32 v8, s129381; GFX9-NEXT: v_mov_b32_e32 v9, s139382; GFX9-NEXT: v_mov_b32_e32 v10, s149383; GFX9-NEXT: v_mov_b32_e32 v11, s159384; GFX9-NEXT: v_mov_b32_e32 v12, s169385; GFX9-NEXT: v_mov_b32_e32 v13, s179386; GFX9-NEXT: v_mov_b32_e32 v14, s189387; GFX9-NEXT: v_mov_b32_e32 v15, s199388; GFX9-NEXT: v_mov_b32_e32 v16, s209389; GFX9-NEXT: v_mov_b32_e32 v17, s219390; GFX9-NEXT: v_mov_b32_e32 v18, s229391; GFX9-NEXT: v_mov_b32_e32 v19, s239392; GFX9-NEXT: v_mov_b32_e32 v20, s249393; GFX9-NEXT: v_mov_b32_e32 v21, s259394; GFX9-NEXT: v_mov_b32_e32 v22, s269395; GFX9-NEXT: v_mov_b32_e32 v23, s279396; GFX9-NEXT: v_mov_b32_e32 v24, s289397; GFX9-NEXT: v_mov_b32_e32 v25, s299398; GFX9-NEXT: v_mov_b32_e32 v26, s409399; GFX9-NEXT: v_mov_b32_e32 v27, s419400; GFX9-NEXT: s_setpc_b64 s[30:31]9401; GFX9-NEXT: .LBB17_4:9402; GFX9-NEXT: ; implicit-def: $sgpr959403; GFX9-NEXT: ; implicit-def: $sgpr949404; GFX9-NEXT: ; implicit-def: $sgpr939405; GFX9-NEXT: ; implicit-def: $sgpr929406; GFX9-NEXT: ; implicit-def: $sgpr919407; GFX9-NEXT: ; implicit-def: $sgpr909408; GFX9-NEXT: ; implicit-def: $sgpr899409; GFX9-NEXT: ; implicit-def: $sgpr889410; GFX9-NEXT: ; implicit-def: $sgpr799411; GFX9-NEXT: ; implicit-def: $sgpr789412; GFX9-NEXT: ; implicit-def: $sgpr779413; GFX9-NEXT: ; implicit-def: $sgpr769414; GFX9-NEXT: ; implicit-def: $sgpr759415; GFX9-NEXT: ; implicit-def: $sgpr749416; GFX9-NEXT: ; implicit-def: $sgpr739417; GFX9-NEXT: ; implicit-def: $sgpr729418; GFX9-NEXT: ; implicit-def: $sgpr639419; GFX9-NEXT: ; implicit-def: $sgpr629420; GFX9-NEXT: ; implicit-def: $sgpr619421; GFX9-NEXT: ; implicit-def: $sgpr609422; GFX9-NEXT: ; implicit-def: $sgpr599423; GFX9-NEXT: ; implicit-def: $sgpr589424; GFX9-NEXT: ; implicit-def: $sgpr579425; GFX9-NEXT: ; implicit-def: $sgpr569426; GFX9-NEXT: ; implicit-def: $sgpr479427; GFX9-NEXT: ; implicit-def: $sgpr469428; GFX9-NEXT: ; implicit-def: $sgpr459429; GFX9-NEXT: ; implicit-def: $sgpr449430; GFX9-NEXT: s_branch .LBB17_29431;9432; GFX11-LABEL: bitcast_v28i32_to_v56f16_scalar:9433; GFX11: ; %bb.0:9434; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)9435; GFX11-NEXT: v_dual_mov_b32 v11, s0 :: v_dual_mov_b32 v12, s19436; GFX11-NEXT: v_dual_mov_b32 v13, s2 :: v_dual_mov_b32 v14, s39437; GFX11-NEXT: v_dual_mov_b32 v15, s16 :: v_dual_mov_b32 v16, s179438; GFX11-NEXT: v_dual_mov_b32 v17, s18 :: v_dual_mov_b32 v18, s199439; GFX11-NEXT: v_dual_mov_b32 v19, s20 :: v_dual_mov_b32 v20, s219440; GFX11-NEXT: v_dual_mov_b32 v21, s22 :: v_dual_mov_b32 v22, s239441; GFX11-NEXT: v_dual_mov_b32 v23, s24 :: v_dual_mov_b32 v24, s259442; GFX11-NEXT: v_dual_mov_b32 v25, s26 :: v_dual_mov_b32 v26, s279443; GFX11-NEXT: v_dual_mov_b32 v27, s28 :: v_dual_mov_b32 v28, s299444; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v109445; GFX11-NEXT: v_readfirstlane_b32 s0, v119446; GFX11-NEXT: v_readfirstlane_b32 s1, v129447; GFX11-NEXT: v_readfirstlane_b32 s2, v139448; GFX11-NEXT: v_readfirstlane_b32 s3, v149449; GFX11-NEXT: v_readfirstlane_b32 s4, v159450; GFX11-NEXT: v_readfirstlane_b32 s5, v169451; GFX11-NEXT: v_readfirstlane_b32 s6, v179452; GFX11-NEXT: v_readfirstlane_b32 s7, v189453; GFX11-NEXT: v_readfirstlane_b32 s8, v199454; GFX11-NEXT: v_readfirstlane_b32 s9, v209455; GFX11-NEXT: v_readfirstlane_b32 s10, v219456; GFX11-NEXT: v_readfirstlane_b32 s11, v229457; GFX11-NEXT: v_readfirstlane_b32 s12, v239458; GFX11-NEXT: v_readfirstlane_b32 s13, v249459; GFX11-NEXT: v_readfirstlane_b32 s14, v259460; GFX11-NEXT: v_readfirstlane_b32 s15, v269461; GFX11-NEXT: v_readfirstlane_b32 s16, v279462; GFX11-NEXT: v_readfirstlane_b32 s17, v289463; GFX11-NEXT: v_readfirstlane_b32 s18, v09464; GFX11-NEXT: v_readfirstlane_b32 s19, v19465; GFX11-NEXT: v_readfirstlane_b32 s20, v29466; GFX11-NEXT: v_readfirstlane_b32 s21, v39467; GFX11-NEXT: v_readfirstlane_b32 s22, v49468; GFX11-NEXT: v_readfirstlane_b32 s23, v59469; GFX11-NEXT: v_readfirstlane_b32 s24, v69470; GFX11-NEXT: v_readfirstlane_b32 s25, v79471; GFX11-NEXT: v_readfirstlane_b32 s27, v89472; GFX11-NEXT: v_readfirstlane_b32 s26, v99473; GFX11-NEXT: s_mov_b32 s90, 09474; GFX11-NEXT: s_and_b32 s28, vcc_lo, exec_lo9475; GFX11-NEXT: s_cbranch_scc0 .LBB17_49476; GFX11-NEXT: ; %bb.1: ; %cmp.false9477; GFX11-NEXT: s_lshr_b32 s28, s26, 169478; GFX11-NEXT: s_lshr_b32 s29, s27, 169479; GFX11-NEXT: s_lshr_b32 s40, s25, 169480; GFX11-NEXT: s_lshr_b32 s41, s24, 169481; GFX11-NEXT: s_lshr_b32 s42, s23, 169482; GFX11-NEXT: s_lshr_b32 s43, s22, 169483; GFX11-NEXT: s_lshr_b32 s44, s21, 169484; GFX11-NEXT: s_lshr_b32 s45, s20, 169485; GFX11-NEXT: s_lshr_b32 s46, s19, 169486; GFX11-NEXT: s_lshr_b32 s47, s18, 169487; GFX11-NEXT: s_lshr_b32 s56, s17, 169488; GFX11-NEXT: s_lshr_b32 s57, s16, 169489; GFX11-NEXT: s_lshr_b32 s58, s15, 169490; GFX11-NEXT: s_lshr_b32 s59, s14, 169491; GFX11-NEXT: s_lshr_b32 s60, s13, 169492; GFX11-NEXT: s_lshr_b32 s61, s12, 169493; GFX11-NEXT: s_lshr_b32 s62, s11, 169494; GFX11-NEXT: s_lshr_b32 s63, s10, 169495; GFX11-NEXT: s_lshr_b32 s72, s9, 169496; GFX11-NEXT: s_lshr_b32 s73, s8, 169497; GFX11-NEXT: s_lshr_b32 s74, s7, 169498; GFX11-NEXT: s_lshr_b32 s75, s6, 169499; GFX11-NEXT: s_lshr_b32 s76, s5, 169500; GFX11-NEXT: s_lshr_b32 s77, s4, 169501; GFX11-NEXT: s_lshr_b32 s78, s3, 169502; GFX11-NEXT: s_lshr_b32 s79, s2, 169503; GFX11-NEXT: s_lshr_b32 s88, s1, 169504; GFX11-NEXT: s_lshr_b32 s89, s0, 169505; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s909506; GFX11-NEXT: s_cbranch_vccnz .LBB17_39507; GFX11-NEXT: .LBB17_2: ; %cmp.true9508; GFX11-NEXT: s_add_i32 s26, s26, 39509; GFX11-NEXT: s_add_i32 s27, s27, 39510; GFX11-NEXT: s_add_i32 s25, s25, 39511; GFX11-NEXT: s_add_i32 s24, s24, 39512; GFX11-NEXT: s_add_i32 s23, s23, 39513; GFX11-NEXT: s_add_i32 s22, s22, 39514; GFX11-NEXT: s_add_i32 s21, s21, 39515; GFX11-NEXT: s_add_i32 s20, s20, 39516; GFX11-NEXT: s_add_i32 s19, s19, 39517; GFX11-NEXT: s_add_i32 s18, s18, 39518; GFX11-NEXT: s_add_i32 s17, s17, 39519; GFX11-NEXT: s_add_i32 s16, s16, 39520; GFX11-NEXT: s_add_i32 s15, s15, 39521; GFX11-NEXT: s_add_i32 s14, s14, 39522; GFX11-NEXT: s_add_i32 s13, s13, 39523; GFX11-NEXT: s_add_i32 s12, s12, 39524; GFX11-NEXT: s_add_i32 s11, s11, 39525; GFX11-NEXT: s_add_i32 s10, s10, 39526; GFX11-NEXT: s_add_i32 s9, s9, 39527; GFX11-NEXT: s_add_i32 s8, s8, 39528; GFX11-NEXT: s_add_i32 s7, s7, 39529; GFX11-NEXT: s_add_i32 s6, s6, 39530; GFX11-NEXT: s_add_i32 s5, s5, 39531; GFX11-NEXT: s_add_i32 s4, s4, 39532; GFX11-NEXT: s_add_i32 s3, s3, 39533; GFX11-NEXT: s_add_i32 s2, s2, 39534; GFX11-NEXT: s_add_i32 s1, s1, 39535; GFX11-NEXT: s_add_i32 s0, s0, 39536; GFX11-NEXT: s_lshr_b32 s28, s26, 169537; GFX11-NEXT: s_lshr_b32 s29, s27, 169538; GFX11-NEXT: s_lshr_b32 s40, s25, 169539; GFX11-NEXT: s_lshr_b32 s41, s24, 169540; GFX11-NEXT: s_lshr_b32 s42, s23, 169541; GFX11-NEXT: s_lshr_b32 s43, s22, 169542; GFX11-NEXT: s_lshr_b32 s44, s21, 169543; GFX11-NEXT: s_lshr_b32 s45, s20, 169544; GFX11-NEXT: s_lshr_b32 s46, s19, 169545; GFX11-NEXT: s_lshr_b32 s47, s18, 169546; GFX11-NEXT: s_lshr_b32 s56, s17, 169547; GFX11-NEXT: s_lshr_b32 s57, s16, 169548; GFX11-NEXT: s_lshr_b32 s58, s15, 169549; GFX11-NEXT: s_lshr_b32 s59, s14, 169550; GFX11-NEXT: s_lshr_b32 s60, s13, 169551; GFX11-NEXT: s_lshr_b32 s61, s12, 169552; GFX11-NEXT: s_lshr_b32 s62, s11, 169553; GFX11-NEXT: s_lshr_b32 s63, s10, 169554; GFX11-NEXT: s_lshr_b32 s72, s9, 169555; GFX11-NEXT: s_lshr_b32 s73, s8, 169556; GFX11-NEXT: s_lshr_b32 s74, s7, 169557; GFX11-NEXT: s_lshr_b32 s75, s6, 169558; GFX11-NEXT: s_lshr_b32 s76, s5, 169559; GFX11-NEXT: s_lshr_b32 s77, s4, 169560; GFX11-NEXT: s_lshr_b32 s78, s3, 169561; GFX11-NEXT: s_lshr_b32 s79, s2, 169562; GFX11-NEXT: s_lshr_b32 s88, s1, 169563; GFX11-NEXT: s_lshr_b32 s89, s0, 169564; GFX11-NEXT: .LBB17_3: ; %end9565; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)9566; GFX11-NEXT: s_pack_ll_b32_b16 s0, s0, s899567; GFX11-NEXT: s_pack_ll_b32_b16 s1, s1, s889568; GFX11-NEXT: s_pack_ll_b32_b16 s2, s2, s799569; GFX11-NEXT: s_pack_ll_b32_b16 s3, s3, s789570; GFX11-NEXT: s_pack_ll_b32_b16 s4, s4, s779571; GFX11-NEXT: s_pack_ll_b32_b16 s5, s5, s769572; GFX11-NEXT: s_pack_ll_b32_b16 s6, s6, s759573; GFX11-NEXT: s_pack_ll_b32_b16 s7, s7, s749574; GFX11-NEXT: s_pack_ll_b32_b16 s8, s8, s739575; GFX11-NEXT: s_pack_ll_b32_b16 s9, s9, s729576; GFX11-NEXT: s_pack_ll_b32_b16 s10, s10, s639577; GFX11-NEXT: s_pack_ll_b32_b16 s11, s11, s629578; GFX11-NEXT: s_pack_ll_b32_b16 s12, s12, s619579; GFX11-NEXT: s_pack_ll_b32_b16 s13, s13, s609580; GFX11-NEXT: s_pack_ll_b32_b16 s14, s14, s599581; GFX11-NEXT: s_pack_ll_b32_b16 s15, s15, s589582; GFX11-NEXT: s_pack_ll_b32_b16 s16, s16, s579583; GFX11-NEXT: s_pack_ll_b32_b16 s17, s17, s569584; GFX11-NEXT: s_pack_ll_b32_b16 s18, s18, s479585; GFX11-NEXT: s_pack_ll_b32_b16 s19, s19, s469586; GFX11-NEXT: s_pack_ll_b32_b16 s20, s20, s459587; GFX11-NEXT: s_pack_ll_b32_b16 s21, s21, s449588; GFX11-NEXT: s_pack_ll_b32_b16 s22, s22, s439589; GFX11-NEXT: s_pack_ll_b32_b16 s23, s23, s429590; GFX11-NEXT: s_pack_ll_b32_b16 s24, s24, s419591; GFX11-NEXT: s_pack_ll_b32_b16 s25, s25, s409592; GFX11-NEXT: s_pack_ll_b32_b16 s27, s27, s299593; GFX11-NEXT: s_pack_ll_b32_b16 s26, s26, s289594; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s19595; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s39596; GFX11-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s59597; GFX11-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s79598; GFX11-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s99599; GFX11-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s119600; GFX11-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s139601; GFX11-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s159602; GFX11-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s179603; GFX11-NEXT: v_dual_mov_b32 v18, s18 :: v_dual_mov_b32 v19, s199604; GFX11-NEXT: v_dual_mov_b32 v20, s20 :: v_dual_mov_b32 v21, s219605; GFX11-NEXT: v_dual_mov_b32 v22, s22 :: v_dual_mov_b32 v23, s239606; GFX11-NEXT: v_dual_mov_b32 v24, s24 :: v_dual_mov_b32 v25, s259607; GFX11-NEXT: v_dual_mov_b32 v26, s27 :: v_dual_mov_b32 v27, s269608; GFX11-NEXT: s_setpc_b64 s[30:31]9609; GFX11-NEXT: .LBB17_4:9610; GFX11-NEXT: ; implicit-def: $sgpr899611; GFX11-NEXT: ; implicit-def: $sgpr889612; GFX11-NEXT: ; implicit-def: $sgpr799613; GFX11-NEXT: ; implicit-def: $sgpr789614; GFX11-NEXT: ; implicit-def: $sgpr779615; GFX11-NEXT: ; implicit-def: $sgpr769616; GFX11-NEXT: ; implicit-def: $sgpr759617; GFX11-NEXT: ; implicit-def: $sgpr749618; GFX11-NEXT: ; implicit-def: $sgpr739619; GFX11-NEXT: ; implicit-def: $sgpr729620; GFX11-NEXT: ; implicit-def: $sgpr639621; GFX11-NEXT: ; implicit-def: $sgpr629622; GFX11-NEXT: ; implicit-def: $sgpr619623; GFX11-NEXT: ; implicit-def: $sgpr609624; GFX11-NEXT: ; implicit-def: $sgpr599625; GFX11-NEXT: ; implicit-def: $sgpr589626; GFX11-NEXT: ; implicit-def: $sgpr579627; GFX11-NEXT: ; implicit-def: $sgpr569628; GFX11-NEXT: ; implicit-def: $sgpr479629; GFX11-NEXT: ; implicit-def: $sgpr469630; GFX11-NEXT: ; implicit-def: $sgpr459631; GFX11-NEXT: ; implicit-def: $sgpr449632; GFX11-NEXT: ; implicit-def: $sgpr439633; GFX11-NEXT: ; implicit-def: $sgpr429634; GFX11-NEXT: ; implicit-def: $sgpr419635; GFX11-NEXT: ; implicit-def: $sgpr409636; GFX11-NEXT: ; implicit-def: $sgpr299637; GFX11-NEXT: ; implicit-def: $sgpr289638; GFX11-NEXT: s_branch .LBB17_29639 %cmp = icmp eq i32 %b, 09640 br i1 %cmp, label %cmp.true, label %cmp.false9641 9642cmp.true:9643 %a1 = add <28 x i32> %a, splat (i32 3)9644 %a2 = bitcast <28 x i32> %a1 to <56 x half>9645 br label %end9646 9647cmp.false:9648 %a3 = bitcast <28 x i32> %a to <56 x half>9649 br label %end9650 9651end:9652 %phi = phi <56 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]9653 ret <56 x half> %phi9654}9655 9656define <28 x i32> @bitcast_v56f16_to_v28i32(<56 x half> %a, i32 %b) {9657; SI-LABEL: bitcast_v56f16_to_v28i32:9658; SI: ; %bb.0:9659; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)9660; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill9661; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill9662; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill9663; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill9664; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill9665; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill9666; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill9667; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill9668; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill9669; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill9670; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill9671; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill9672; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill9673; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill9674; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill9675; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill9676; SI-NEXT: v_cvt_f16_f32_e32 v46, v09677; SI-NEXT: v_cvt_f16_f32_e32 v0, v69678; SI-NEXT: buffer_load_dword v56, off, s[0:3], s329679; SI-NEXT: s_waitcnt expcnt(6)9680; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:89681; SI-NEXT: s_waitcnt expcnt(5)9682; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:49683; SI-NEXT: s_waitcnt expcnt(4)9684; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:169685; SI-NEXT: s_waitcnt expcnt(3)9686; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:129687; SI-NEXT: s_waitcnt expcnt(2)9688; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:249689; SI-NEXT: s_waitcnt expcnt(1)9690; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:209691; SI-NEXT: s_waitcnt expcnt(0)9692; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:329693; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:289694; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:409695; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:369696; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:489697; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:449698; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:569699; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:529700; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:649701; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:609702; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:729703; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:689704; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:809705; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:769706; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:889707; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:849708; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:969709; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:929710; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:1009711; SI-NEXT: v_cvt_f16_f32_e32 v47, v19712; SI-NEXT: v_cvt_f16_f32_e32 v45, v39713; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill9714; SI-NEXT: s_waitcnt expcnt(0)9715; SI-NEXT: v_cvt_f16_f32_e32 v0, v99716; SI-NEXT: v_cvt_f16_f32_e32 v44, v29717; SI-NEXT: v_cvt_f16_f32_e32 v43, v59718; SI-NEXT: v_cvt_f16_f32_e32 v42, v49719; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill9720; SI-NEXT: s_waitcnt expcnt(0)9721; SI-NEXT: v_cvt_f16_f32_e32 v0, v89722; SI-NEXT: v_cvt_f16_f32_e32 v41, v79723; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill9724; SI-NEXT: s_waitcnt expcnt(0)9725; SI-NEXT: v_cvt_f16_f32_e32 v0, v119726; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill9727; SI-NEXT: s_waitcnt expcnt(0)9728; SI-NEXT: v_cvt_f16_f32_e32 v0, v109729; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill9730; SI-NEXT: s_waitcnt expcnt(0)9731; SI-NEXT: v_cvt_f16_f32_e32 v0, v139732; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill9733; SI-NEXT: s_waitcnt expcnt(0)9734; SI-NEXT: v_cvt_f16_f32_e32 v0, v129735; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill9736; SI-NEXT: s_waitcnt expcnt(0)9737; SI-NEXT: v_cvt_f16_f32_e32 v0, v159738; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill9739; SI-NEXT: s_waitcnt expcnt(0)9740; SI-NEXT: v_cvt_f16_f32_e32 v0, v149741; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill9742; SI-NEXT: s_waitcnt expcnt(0)9743; SI-NEXT: v_cvt_f16_f32_e32 v0, v179744; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill9745; SI-NEXT: s_waitcnt expcnt(0)9746; SI-NEXT: v_cvt_f16_f32_e32 v0, v169747; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill9748; SI-NEXT: s_waitcnt expcnt(0)9749; SI-NEXT: v_cvt_f16_f32_e32 v0, v199750; SI-NEXT: s_waitcnt vmcnt(14)9751; SI-NEXT: v_cvt_f16_f32_e32 v56, v569752; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill9753; SI-NEXT: s_waitcnt expcnt(0)9754; SI-NEXT: v_cvt_f16_f32_e32 v0, v189755; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill9756; SI-NEXT: s_waitcnt expcnt(0)9757; SI-NEXT: v_cvt_f16_f32_e32 v0, v219758; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill9759; SI-NEXT: s_waitcnt expcnt(0)9760; SI-NEXT: v_cvt_f16_f32_e32 v0, v209761; SI-NEXT: v_cvt_f16_f32_e32 v48, v489762; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill9763; SI-NEXT: s_waitcnt expcnt(0)9764; SI-NEXT: v_cvt_f16_f32_e32 v0, v239765; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill9766; SI-NEXT: s_waitcnt expcnt(0)9767; SI-NEXT: v_cvt_f16_f32_e32 v0, v229768; SI-NEXT: s_waitcnt vmcnt(14)9769; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v319770; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill9771; SI-NEXT: s_waitcnt expcnt(0)9772; SI-NEXT: v_cvt_f16_f32_e32 v0, v259773; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill9774; SI-NEXT: s_waitcnt expcnt(0)9775; SI-NEXT: v_cvt_f16_f32_e32 v0, v249776; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill9777; SI-NEXT: s_waitcnt expcnt(0)9778; SI-NEXT: v_cvt_f16_f32_e32 v0, v279779; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill9780; SI-NEXT: s_waitcnt expcnt(0)9781; SI-NEXT: v_cvt_f16_f32_e32 v0, v269782; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill9783; SI-NEXT: s_waitcnt expcnt(0)9784; SI-NEXT: v_cvt_f16_f32_e32 v0, v299785; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill9786; SI-NEXT: s_waitcnt expcnt(0)9787; SI-NEXT: v_cvt_f16_f32_e32 v0, v289788; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill9789; SI-NEXT: s_waitcnt expcnt(0)9790; SI-NEXT: v_cvt_f16_f32_e32 v0, v309791; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill9792; SI-NEXT: s_waitcnt expcnt(0)9793; SI-NEXT: v_cvt_f16_f32_e32 v0, v579794; SI-NEXT: v_cvt_f16_f32_e32 v57, v399795; SI-NEXT: v_cvt_f16_f32_e32 v39, v499796; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill9797; SI-NEXT: s_waitcnt expcnt(0)9798; SI-NEXT: v_cvt_f16_f32_e32 v0, v589799; SI-NEXT: v_cvt_f16_f32_e32 v58, v389800; SI-NEXT: v_cvt_f16_f32_e32 v38, v509801; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill9802; SI-NEXT: s_waitcnt expcnt(0)9803; SI-NEXT: v_cvt_f16_f32_e32 v0, v599804; SI-NEXT: v_cvt_f16_f32_e32 v59, v379805; SI-NEXT: v_cvt_f16_f32_e32 v37, v519806; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill9807; SI-NEXT: s_waitcnt expcnt(0)9808; SI-NEXT: v_cvt_f16_f32_e32 v0, v609809; SI-NEXT: v_cvt_f16_f32_e32 v60, v369810; SI-NEXT: v_cvt_f16_f32_e32 v36, v529811; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill9812; SI-NEXT: s_waitcnt expcnt(0)9813; SI-NEXT: v_cvt_f16_f32_e32 v0, v619814; SI-NEXT: v_cvt_f16_f32_e32 v61, v359815; SI-NEXT: v_cvt_f16_f32_e32 v35, v539816; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill9817; SI-NEXT: s_waitcnt expcnt(0)9818; SI-NEXT: v_cvt_f16_f32_e32 v0, v629819; SI-NEXT: v_cvt_f16_f32_e32 v62, v349820; SI-NEXT: v_cvt_f16_f32_e32 v34, v549821; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill9822; SI-NEXT: s_waitcnt expcnt(0)9823; SI-NEXT: v_cvt_f16_f32_e32 v0, v639824; SI-NEXT: v_cvt_f16_f32_e32 v63, v339825; SI-NEXT: v_cvt_f16_f32_e32 v33, v559826; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill9827; SI-NEXT: s_waitcnt expcnt(0)9828; SI-NEXT: v_cvt_f16_f32_e32 v0, v329829; SI-NEXT: v_cvt_f16_f32_e32 v32, v409830; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill9831; 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_vgpr319832; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc9833; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]9834; SI-NEXT: s_cbranch_execz .LBB18_29835; SI-NEXT: ; %bb.1: ; %cmp.false9836; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload9837; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v419838; SI-NEXT: ; implicit-def: $vgpr289839; SI-NEXT: ; kill: killed $vgpr289840; SI-NEXT: ; implicit-def: $vgpr289841; SI-NEXT: ; kill: killed $vgpr289842; SI-NEXT: ; implicit-def: $vgpr289843; SI-NEXT: ; kill: killed $vgpr289844; SI-NEXT: ; implicit-def: $vgpr289845; SI-NEXT: ; kill: killed $vgpr289846; SI-NEXT: ; implicit-def: $vgpr289847; SI-NEXT: ; kill: killed $vgpr289848; SI-NEXT: ; implicit-def: $vgpr289849; SI-NEXT: ; kill: killed $vgpr289850; SI-NEXT: ; implicit-def: $vgpr289851; SI-NEXT: ; kill: killed $vgpr289852; SI-NEXT: ; implicit-def: $vgpr289853; SI-NEXT: ; kill: killed $vgpr289854; SI-NEXT: ; implicit-def: $vgpr289855; SI-NEXT: ; kill: killed $vgpr289856; SI-NEXT: ; implicit-def: $vgpr289857; SI-NEXT: ; kill: killed $vgpr289858; SI-NEXT: ; implicit-def: $vgpr289859; SI-NEXT: ; kill: killed $vgpr289860; SI-NEXT: ; implicit-def: $vgpr289861; SI-NEXT: ; kill: killed $vgpr289862; SI-NEXT: ; implicit-def: $vgpr289863; SI-NEXT: ; kill: killed $vgpr289864; SI-NEXT: ; implicit-def: $vgpr289865; SI-NEXT: ; kill: killed $vgpr289866; SI-NEXT: ; implicit-def: $vgpr289867; SI-NEXT: ; kill: killed $vgpr289868; SI-NEXT: ; implicit-def: $vgpr289869; SI-NEXT: ; kill: killed $vgpr289870; SI-NEXT: ; implicit-def: $vgpr289871; SI-NEXT: ; kill: killed $vgpr289872; SI-NEXT: ; implicit-def: $vgpr289873; SI-NEXT: ; kill: killed $vgpr289874; SI-NEXT: ; implicit-def: $vgpr289875; SI-NEXT: ; kill: killed $vgpr289876; SI-NEXT: ; implicit-def: $vgpr289877; SI-NEXT: ; kill: killed $vgpr289878; SI-NEXT: ; implicit-def: $vgpr289879; SI-NEXT: ; kill: killed $vgpr289880; SI-NEXT: ; implicit-def: $vgpr289881; SI-NEXT: ; kill: killed $vgpr289882; SI-NEXT: ; implicit-def: $vgpr289883; SI-NEXT: ; kill: killed $vgpr289884; SI-NEXT: ; implicit-def: $vgpr289885; SI-NEXT: ; kill: killed $vgpr289886; SI-NEXT: ; implicit-def: $vgpr289887; SI-NEXT: ; kill: killed $vgpr289888; SI-NEXT: ; implicit-def: $vgpr289889; SI-NEXT: ; kill: killed $vgpr289890; SI-NEXT: ; implicit-def: $vgpr289891; SI-NEXT: ; kill: killed $vgpr289892; SI-NEXT: ; implicit-def: $vgpr289893; SI-NEXT: ; kill: killed $vgpr289894; SI-NEXT: ; implicit-def: $vgpr289895; SI-NEXT: ; kill: killed $vgpr289896; SI-NEXT: ; implicit-def: $vgpr289897; SI-NEXT: s_waitcnt expcnt(0)9898; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v479899; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v459900; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v439901; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v619902; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v599903; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v579904; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v399905; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v379906; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v359907; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v339908; SI-NEXT: ; kill: killed $vgpr289909; SI-NEXT: ; implicit-def: $vgpr289910; SI-NEXT: v_or_b32_e32 v0, v46, v09911; SI-NEXT: v_or_b32_e32 v1, v44, v19912; SI-NEXT: v_or_b32_e32 v2, v42, v29913; SI-NEXT: v_or_b32_e32 v21, v60, v219914; SI-NEXT: v_or_b32_e32 v22, v58, v229915; SI-NEXT: v_or_b32_e32 v23, v48, v239916; SI-NEXT: v_or_b32_e32 v24, v38, v249917; SI-NEXT: v_or_b32_e32 v25, v36, v259918; SI-NEXT: v_or_b32_e32 v26, v34, v269919; SI-NEXT: v_or_b32_e32 v27, v32, v279920; SI-NEXT: ; implicit-def: $vgpr479921; SI-NEXT: ; implicit-def: $vgpr469922; SI-NEXT: ; implicit-def: $vgpr459923; SI-NEXT: ; implicit-def: $vgpr449924; SI-NEXT: ; implicit-def: $vgpr439925; SI-NEXT: ; implicit-def: $vgpr429926; SI-NEXT: ; implicit-def: $vgpr419927; SI-NEXT: ; kill: killed $vgpr289928; SI-NEXT: ; implicit-def: $vgpr289929; SI-NEXT: ; kill: killed $vgpr289930; SI-NEXT: ; implicit-def: $vgpr619931; SI-NEXT: ; implicit-def: $vgpr609932; SI-NEXT: ; implicit-def: $vgpr599933; SI-NEXT: ; implicit-def: $vgpr589934; SI-NEXT: ; implicit-def: $vgpr579935; SI-NEXT: ; implicit-def: $vgpr489936; SI-NEXT: ; implicit-def: $vgpr399937; SI-NEXT: ; implicit-def: $vgpr389938; SI-NEXT: ; implicit-def: $vgpr379939; SI-NEXT: ; implicit-def: $vgpr369940; SI-NEXT: ; implicit-def: $vgpr359941; SI-NEXT: ; implicit-def: $vgpr349942; SI-NEXT: ; implicit-def: $vgpr339943; SI-NEXT: ; implicit-def: $vgpr329944; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload9945; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload9946; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload9947; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload9948; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload9949; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload9950; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload9951; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload9952; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload9953; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload9954; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload9955; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload9956; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload9957; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload9958; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload9959; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload9960; SI-NEXT: s_waitcnt vmcnt(14)9961; SI-NEXT: v_or_b32_e32 v3, v4, v39962; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload9963; SI-NEXT: s_waitcnt vmcnt(0)9964; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v49965; SI-NEXT: v_or_b32_e32 v4, v5, v49966; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload9967; SI-NEXT: s_waitcnt vmcnt(0)9968; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v59969; SI-NEXT: v_or_b32_e32 v5, v6, v59970; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload9971; SI-NEXT: s_waitcnt vmcnt(0)9972; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v69973; SI-NEXT: v_or_b32_e32 v6, v7, v69974; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload9975; SI-NEXT: s_waitcnt vmcnt(0)9976; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v79977; SI-NEXT: v_or_b32_e32 v7, v8, v79978; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload9979; SI-NEXT: s_waitcnt vmcnt(0)9980; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v89981; SI-NEXT: v_or_b32_e32 v8, v9, v89982; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload9983; SI-NEXT: s_waitcnt vmcnt(0)9984; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v99985; SI-NEXT: v_or_b32_e32 v9, v10, v99986; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload9987; SI-NEXT: s_waitcnt vmcnt(0)9988; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v109989; SI-NEXT: v_or_b32_e32 v10, v11, v109990; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload9991; SI-NEXT: s_waitcnt vmcnt(0)9992; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v119993; SI-NEXT: v_or_b32_e32 v11, v12, v119994; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload9995; SI-NEXT: s_waitcnt vmcnt(0)9996; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v129997; SI-NEXT: v_or_b32_e32 v12, v13, v129998; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload9999; SI-NEXT: s_waitcnt vmcnt(0)10000; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1310001; SI-NEXT: v_or_b32_e32 v13, v14, v1310002; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload10003; SI-NEXT: s_waitcnt vmcnt(0)10004; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1410005; SI-NEXT: v_or_b32_e32 v14, v15, v1410006; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v5610007; SI-NEXT: v_or_b32_e32 v15, v16, v1510008; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload10009; SI-NEXT: ; implicit-def: $vgpr5610010; SI-NEXT: s_waitcnt vmcnt(0)10011; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1610012; SI-NEXT: v_or_b32_e32 v16, v17, v1610013; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload10014; SI-NEXT: s_waitcnt vmcnt(0)10015; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1710016; SI-NEXT: v_or_b32_e32 v17, v18, v1710017; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload10018; SI-NEXT: s_waitcnt vmcnt(0)10019; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1810020; SI-NEXT: v_or_b32_e32 v18, v19, v1810021; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload10022; SI-NEXT: s_waitcnt vmcnt(0)10023; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v1910024; SI-NEXT: v_or_b32_e32 v19, v20, v1910025; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v6310026; SI-NEXT: v_or_b32_e32 v20, v62, v2010027; SI-NEXT: ; implicit-def: $vgpr6310028; SI-NEXT: ; implicit-def: $vgpr6210029; SI-NEXT: .LBB18_2: ; %Flow10030; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]10031; SI-NEXT: s_cbranch_execz .LBB18_410032; SI-NEXT: ; %bb.3: ; %cmp.true10033; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload10034; SI-NEXT: s_waitcnt expcnt(0)10035; SI-NEXT: v_cvt_f32_f16_e32 v0, v4710036; SI-NEXT: v_cvt_f32_f16_e32 v2, v4510037; SI-NEXT: v_cvt_f32_f16_e32 v1, v4610038; SI-NEXT: v_cvt_f32_f16_e32 v3, v4410039; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v010040; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v210041; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v110042; SI-NEXT: v_cvt_f16_f32_e32 v0, v010043; SI-NEXT: v_cvt_f16_f32_e32 v2, v210044; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v310045; SI-NEXT: v_cvt_f16_f32_e32 v1, v110046; SI-NEXT: v_cvt_f16_f32_e32 v3, v310047; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v010048; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v210049; SI-NEXT: v_or_b32_e32 v0, v1, v010050; SI-NEXT: v_or_b32_e32 v1, v3, v210051; SI-NEXT: v_cvt_f32_f16_e32 v2, v4310052; SI-NEXT: v_cvt_f32_f16_e32 v3, v4210053; SI-NEXT: v_cvt_f32_f16_e32 v16, v5610054; SI-NEXT: v_cvt_f32_f16_e32 v22, v6110055; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v210056; SI-NEXT: v_cvt_f16_f32_e32 v2, v210057; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v310058; SI-NEXT: v_cvt_f16_f32_e32 v3, v310059; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1610060; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v210061; SI-NEXT: v_cvt_f16_f32_e32 v16, v1610062; SI-NEXT: v_or_b32_e32 v2, v3, v210063; SI-NEXT: v_cvt_f32_f16_e32 v3, v4110064; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2210065; SI-NEXT: v_cvt_f16_f32_e32 v22, v2210066; SI-NEXT: v_cvt_f32_f16_e32 v23, v6010067; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v310068; SI-NEXT: v_cvt_f16_f32_e32 v3, v310069; SI-NEXT: v_cvt_f32_f16_e32 v24, v5810070; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2310071; SI-NEXT: v_cvt_f16_f32_e32 v23, v2310072; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v310073; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2410074; SI-NEXT: v_cvt_f16_f32_e32 v24, v2410075; SI-NEXT: v_cvt_f32_f16_e32 v25, v3910076; SI-NEXT: v_cvt_f32_f16_e32 v26, v3810077; SI-NEXT: v_cvt_f32_f16_e32 v27, v3610078; SI-NEXT: v_cvt_f32_f16_e32 v28, v3310079; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2510080; SI-NEXT: v_cvt_f16_f32_e32 v25, v2510081; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v2610082; SI-NEXT: v_cvt_f16_f32_e32 v26, v2610083; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v2710084; SI-NEXT: v_cvt_f16_f32_e32 v27, v2710085; SI-NEXT: v_cvt_f32_f16_e32 v29, v3210086; SI-NEXT: v_add_f32_e32 v28, 0x38000000, v2810087; SI-NEXT: v_cvt_f16_f32_e32 v28, v2810088; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload10089; SI-NEXT: v_add_f32_e32 v29, 0x38000000, v2910090; SI-NEXT: v_cvt_f16_f32_e32 v29, v2910091; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload10092; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload10093; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload10094; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload10095; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload10096; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload10097; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload10098; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload10099; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload10100; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload10101; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload10102; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload10103; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload10104; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload10105; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload10106; SI-NEXT: s_waitcnt vmcnt(14)10107; SI-NEXT: v_cvt_f32_f16_e32 v4, v410108; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v410109; SI-NEXT: v_cvt_f16_f32_e32 v4, v410110; SI-NEXT: v_or_b32_e32 v3, v4, v310111; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload10112; SI-NEXT: v_cvt_f32_f16_e32 v5, v510113; SI-NEXT: v_cvt_f32_f16_e32 v6, v610114; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v510115; SI-NEXT: v_cvt_f16_f32_e32 v5, v510116; SI-NEXT: s_waitcnt vmcnt(14)10117; SI-NEXT: v_cvt_f32_f16_e32 v7, v710118; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v610119; SI-NEXT: v_cvt_f16_f32_e32 v6, v610120; SI-NEXT: s_waitcnt vmcnt(13)10121; SI-NEXT: v_cvt_f32_f16_e32 v8, v810122; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v710123; SI-NEXT: v_cvt_f16_f32_e32 v7, v710124; SI-NEXT: s_waitcnt vmcnt(12)10125; SI-NEXT: v_cvt_f32_f16_e32 v9, v910126; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v810127; SI-NEXT: v_cvt_f16_f32_e32 v8, v810128; SI-NEXT: s_waitcnt vmcnt(11)10129; SI-NEXT: v_cvt_f32_f16_e32 v10, v1010130; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v910131; SI-NEXT: v_cvt_f16_f32_e32 v9, v910132; SI-NEXT: s_waitcnt vmcnt(10)10133; SI-NEXT: v_cvt_f32_f16_e32 v11, v1110134; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1010135; SI-NEXT: v_cvt_f16_f32_e32 v10, v1010136; SI-NEXT: s_waitcnt vmcnt(9)10137; SI-NEXT: v_cvt_f32_f16_e32 v12, v1210138; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1110139; SI-NEXT: v_cvt_f16_f32_e32 v11, v1110140; SI-NEXT: s_waitcnt vmcnt(8)10141; SI-NEXT: v_cvt_f32_f16_e32 v13, v1310142; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1210143; SI-NEXT: v_cvt_f16_f32_e32 v12, v1210144; SI-NEXT: s_waitcnt vmcnt(7)10145; SI-NEXT: v_cvt_f32_f16_e32 v14, v1410146; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v1310147; SI-NEXT: v_cvt_f16_f32_e32 v13, v1310148; SI-NEXT: s_waitcnt vmcnt(6)10149; SI-NEXT: v_cvt_f32_f16_e32 v15, v1510150; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1410151; SI-NEXT: v_cvt_f16_f32_e32 v14, v1410152; SI-NEXT: s_waitcnt vmcnt(5)10153; SI-NEXT: v_cvt_f32_f16_e32 v17, v1710154; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v1510155; SI-NEXT: v_cvt_f16_f32_e32 v15, v1510156; SI-NEXT: s_waitcnt vmcnt(0)10157; SI-NEXT: v_cvt_f32_f16_e32 v4, v410158; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1710159; SI-NEXT: v_cvt_f16_f32_e32 v17, v1710160; SI-NEXT: v_cvt_f32_f16_e32 v19, v1910161; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v410162; SI-NEXT: v_cvt_f16_f32_e32 v4, v410163; SI-NEXT: v_cvt_f32_f16_e32 v21, v2110164; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1910165; SI-NEXT: v_cvt_f16_f32_e32 v19, v1910166; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v410167; SI-NEXT: v_or_b32_e32 v4, v5, v410168; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload10169; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2110170; SI-NEXT: v_cvt_f16_f32_e32 v21, v2110171; SI-NEXT: s_waitcnt vmcnt(0)10172; SI-NEXT: v_cvt_f32_f16_e32 v5, v510173; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v510174; SI-NEXT: v_cvt_f16_f32_e32 v5, v510175; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v510176; SI-NEXT: v_or_b32_e32 v5, v6, v510177; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload10178; SI-NEXT: s_waitcnt vmcnt(0)10179; SI-NEXT: v_cvt_f32_f16_e32 v6, v610180; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v610181; SI-NEXT: v_cvt_f16_f32_e32 v6, v610182; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v610183; SI-NEXT: v_or_b32_e32 v6, v7, v610184; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload10185; SI-NEXT: s_waitcnt vmcnt(0)10186; SI-NEXT: v_cvt_f32_f16_e32 v7, v710187; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v710188; SI-NEXT: v_cvt_f16_f32_e32 v7, v710189; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v710190; SI-NEXT: v_or_b32_e32 v7, v8, v710191; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload10192; SI-NEXT: s_waitcnt vmcnt(0)10193; SI-NEXT: v_cvt_f32_f16_e32 v8, v810194; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v810195; SI-NEXT: v_cvt_f16_f32_e32 v8, v810196; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v810197; SI-NEXT: v_or_b32_e32 v8, v9, v810198; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload10199; SI-NEXT: s_waitcnt vmcnt(0)10200; SI-NEXT: v_cvt_f32_f16_e32 v9, v910201; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v910202; SI-NEXT: v_cvt_f16_f32_e32 v9, v910203; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v910204; SI-NEXT: v_or_b32_e32 v9, v10, v910205; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload10206; SI-NEXT: s_waitcnt vmcnt(0)10207; SI-NEXT: v_cvt_f32_f16_e32 v10, v1010208; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1010209; SI-NEXT: v_cvt_f16_f32_e32 v10, v1010210; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v1010211; SI-NEXT: v_or_b32_e32 v10, v11, v1010212; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload10213; SI-NEXT: s_waitcnt vmcnt(0)10214; SI-NEXT: v_cvt_f32_f16_e32 v11, v1110215; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1110216; SI-NEXT: v_cvt_f16_f32_e32 v11, v1110217; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v1110218; SI-NEXT: v_or_b32_e32 v11, v12, v1110219; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload10220; SI-NEXT: s_waitcnt vmcnt(0)10221; SI-NEXT: v_cvt_f32_f16_e32 v12, v1210222; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1210223; SI-NEXT: v_cvt_f16_f32_e32 v12, v1210224; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v1210225; SI-NEXT: v_or_b32_e32 v12, v13, v1210226; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload10227; SI-NEXT: s_waitcnt vmcnt(0)10228; SI-NEXT: v_cvt_f32_f16_e32 v13, v1310229; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v1310230; SI-NEXT: v_cvt_f16_f32_e32 v13, v1310231; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1310232; SI-NEXT: v_or_b32_e32 v13, v14, v1310233; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload10234; SI-NEXT: s_waitcnt vmcnt(0)10235; SI-NEXT: v_cvt_f32_f16_e32 v14, v1410236; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1410237; SI-NEXT: v_cvt_f16_f32_e32 v14, v1410238; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1410239; SI-NEXT: v_or_b32_e32 v14, v15, v1410240; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1610241; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload10242; SI-NEXT: v_or_b32_e32 v15, v17, v1510243; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload10244; SI-NEXT: v_cvt_f32_f16_e32 v18, v1810245; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1810246; SI-NEXT: v_cvt_f16_f32_e32 v18, v1810247; SI-NEXT: s_waitcnt vmcnt(1)10248; SI-NEXT: v_cvt_f32_f16_e32 v16, v1610249; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1610250; SI-NEXT: v_cvt_f16_f32_e32 v16, v1610251; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1610252; SI-NEXT: v_or_b32_e32 v16, v18, v1610253; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload10254; SI-NEXT: s_waitcnt vmcnt(1)10255; SI-NEXT: v_cvt_f32_f16_e32 v17, v1710256; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1710257; SI-NEXT: v_cvt_f16_f32_e32 v17, v1710258; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1710259; SI-NEXT: s_waitcnt vmcnt(0)10260; SI-NEXT: v_cvt_f32_f16_e32 v18, v1810261; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1810262; SI-NEXT: v_cvt_f16_f32_e32 v18, v1810263; SI-NEXT: v_or_b32_e32 v17, v18, v1710264; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1910265; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload10266; SI-NEXT: v_cvt_f32_f16_e32 v20, v2010267; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2010268; SI-NEXT: v_cvt_f16_f32_e32 v20, v2010269; SI-NEXT: v_or_b32_e32 v18, v20, v1810270; SI-NEXT: v_cvt_f32_f16_e32 v20, v6310271; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2010272; SI-NEXT: v_cvt_f16_f32_e32 v20, v2010273; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v2010274; SI-NEXT: s_waitcnt vmcnt(0)10275; SI-NEXT: v_cvt_f32_f16_e32 v19, v1910276; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1910277; SI-NEXT: v_cvt_f16_f32_e32 v19, v1910278; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v1910279; SI-NEXT: v_or_b32_e32 v19, v21, v1910280; SI-NEXT: v_cvt_f32_f16_e32 v21, v6210281; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2110282; SI-NEXT: v_cvt_f16_f32_e32 v21, v2110283; SI-NEXT: v_or_b32_e32 v20, v21, v2010284; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2210285; SI-NEXT: v_cvt_f32_f16_e32 v22, v5910286; SI-NEXT: v_or_b32_e32 v21, v23, v2110287; SI-NEXT: v_cvt_f32_f16_e32 v23, v5710288; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2210289; SI-NEXT: v_cvt_f16_f32_e32 v22, v2210290; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2310291; SI-NEXT: v_cvt_f16_f32_e32 v23, v2310292; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v2210293; SI-NEXT: v_or_b32_e32 v22, v24, v2210294; SI-NEXT: v_cvt_f32_f16_e32 v24, v4810295; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v2310296; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2410297; SI-NEXT: v_cvt_f16_f32_e32 v24, v2410298; SI-NEXT: v_or_b32_e32 v23, v24, v2310299; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2510300; SI-NEXT: v_cvt_f32_f16_e32 v25, v3710301; SI-NEXT: v_or_b32_e32 v24, v26, v2410302; SI-NEXT: v_cvt_f32_f16_e32 v26, v3510303; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2510304; SI-NEXT: v_cvt_f16_f32_e32 v25, v2510305; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v2610306; SI-NEXT: v_cvt_f16_f32_e32 v26, v2610307; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v2510308; SI-NEXT: v_or_b32_e32 v25, v27, v2510309; SI-NEXT: v_cvt_f32_f16_e32 v27, v3410310; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v2610311; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v2710312; SI-NEXT: v_cvt_f16_f32_e32 v27, v2710313; SI-NEXT: v_or_b32_e32 v26, v27, v2610314; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v2810315; SI-NEXT: v_or_b32_e32 v27, v29, v2710316; SI-NEXT: .LBB18_4: ; %end10317; SI-NEXT: s_or_b64 exec, exec, s[4:5]10318; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload10319; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload10320; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload10321; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload10322; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload10323; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload10324; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload10325; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload10326; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload10327; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload10328; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload10329; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload10330; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload10331; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload10332; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload10333; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload10334; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)10335; SI-NEXT: s_setpc_b64 s[30:31]10336;10337; VI-LABEL: bitcast_v56f16_to_v28i32:10338; VI: ; %bb.0:10339; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10340; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill10341; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill10342; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill10343; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill10344; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill10345; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill10346; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill10347; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill10348; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill10349; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill10350; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill10351; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill10352; VI-NEXT: v_mov_b32_e32 v32, v2710353; VI-NEXT: v_mov_b32_e32 v33, v2610354; VI-NEXT: v_mov_b32_e32 v34, v2510355; VI-NEXT: v_mov_b32_e32 v35, v2410356; VI-NEXT: v_mov_b32_e32 v36, v2310357; VI-NEXT: v_mov_b32_e32 v37, v2210358; VI-NEXT: v_mov_b32_e32 v38, v2110359; VI-NEXT: v_mov_b32_e32 v39, v2010360; VI-NEXT: v_mov_b32_e32 v48, v1910361; VI-NEXT: v_mov_b32_e32 v49, v1810362; VI-NEXT: v_mov_b32_e32 v50, v1710363; VI-NEXT: v_mov_b32_e32 v51, v1610364; VI-NEXT: v_mov_b32_e32 v52, v1510365; VI-NEXT: v_mov_b32_e32 v53, v1410366; VI-NEXT: v_mov_b32_e32 v54, v1310367; VI-NEXT: v_mov_b32_e32 v55, v1210368; VI-NEXT: v_mov_b32_e32 v40, v1110369; VI-NEXT: v_mov_b32_e32 v41, v1010370; VI-NEXT: v_mov_b32_e32 v42, v910371; VI-NEXT: v_mov_b32_e32 v43, v810372; VI-NEXT: v_mov_b32_e32 v44, v710373; VI-NEXT: v_mov_b32_e32 v45, v610374; VI-NEXT: v_mov_b32_e32 v46, v510375; VI-NEXT: v_mov_b32_e32 v47, v410376; VI-NEXT: v_mov_b32_e32 v56, v310377; VI-NEXT: v_mov_b32_e32 v57, v210378; VI-NEXT: v_mov_b32_e32 v58, v110379; VI-NEXT: v_mov_b32_e32 v59, v010380; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2810381; 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_vgpr3110382; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc10383; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]10384; VI-NEXT: s_cbranch_execz .LBB18_210385; VI-NEXT: ; %bb.1: ; %cmp.false10386; VI-NEXT: v_mov_b32_e32 v27, 1610387; VI-NEXT: v_lshlrev_b32_sdwa v0, v27, v59 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110388; VI-NEXT: v_lshlrev_b32_sdwa v1, v27, v58 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110389; VI-NEXT: v_lshlrev_b32_sdwa v2, v27, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110390; VI-NEXT: v_lshlrev_b32_sdwa v3, v27, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110391; VI-NEXT: v_lshlrev_b32_sdwa v4, v27, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110392; VI-NEXT: v_lshlrev_b32_sdwa v5, v27, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110393; VI-NEXT: v_lshlrev_b32_sdwa v6, v27, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110394; VI-NEXT: v_lshlrev_b32_sdwa v7, v27, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110395; VI-NEXT: v_lshlrev_b32_sdwa v8, v27, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110396; VI-NEXT: v_lshlrev_b32_sdwa v9, v27, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110397; VI-NEXT: v_lshlrev_b32_sdwa v10, v27, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110398; VI-NEXT: v_lshlrev_b32_sdwa v11, v27, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110399; VI-NEXT: v_lshlrev_b32_sdwa v12, v27, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110400; VI-NEXT: v_lshlrev_b32_sdwa v13, v27, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110401; VI-NEXT: v_lshlrev_b32_sdwa v14, v27, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110402; VI-NEXT: v_lshlrev_b32_sdwa v15, v27, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110403; VI-NEXT: v_lshlrev_b32_sdwa v16, v27, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110404; VI-NEXT: v_lshlrev_b32_sdwa v17, v27, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110405; VI-NEXT: v_lshlrev_b32_sdwa v18, v27, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110406; VI-NEXT: v_lshlrev_b32_sdwa v19, v27, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110407; VI-NEXT: v_lshlrev_b32_sdwa v20, v27, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110408; VI-NEXT: v_lshlrev_b32_sdwa v21, v27, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110409; VI-NEXT: v_lshlrev_b32_sdwa v22, v27, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110410; VI-NEXT: v_lshlrev_b32_sdwa v23, v27, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110411; VI-NEXT: v_lshlrev_b32_sdwa v24, v27, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110412; VI-NEXT: v_lshlrev_b32_sdwa v25, v27, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110413; VI-NEXT: v_lshlrev_b32_sdwa v26, v27, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110414; VI-NEXT: v_lshlrev_b32_sdwa v27, v27, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_110415; VI-NEXT: v_or_b32_sdwa v0, v59, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10416; VI-NEXT: v_or_b32_sdwa v1, v58, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10417; VI-NEXT: v_or_b32_sdwa v2, v57, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10418; VI-NEXT: v_or_b32_sdwa v3, v56, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10419; VI-NEXT: v_or_b32_sdwa v4, v47, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10420; VI-NEXT: v_or_b32_sdwa v5, v46, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10421; VI-NEXT: v_or_b32_sdwa v6, v45, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10422; VI-NEXT: v_or_b32_sdwa v7, v44, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10423; VI-NEXT: v_or_b32_sdwa v8, v43, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10424; VI-NEXT: v_or_b32_sdwa v9, v42, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10425; VI-NEXT: v_or_b32_sdwa v10, v41, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10426; VI-NEXT: v_or_b32_sdwa v11, v40, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10427; VI-NEXT: v_or_b32_sdwa v12, v55, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10428; VI-NEXT: v_or_b32_sdwa v13, v54, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10429; VI-NEXT: v_or_b32_sdwa v14, v53, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10430; VI-NEXT: v_or_b32_sdwa v15, v52, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10431; VI-NEXT: v_or_b32_sdwa v16, v51, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10432; VI-NEXT: v_or_b32_sdwa v17, v50, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10433; VI-NEXT: v_or_b32_sdwa v18, v49, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10434; VI-NEXT: v_or_b32_sdwa v19, v48, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10435; VI-NEXT: v_or_b32_sdwa v20, v39, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10436; VI-NEXT: v_or_b32_sdwa v21, v38, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10437; VI-NEXT: v_or_b32_sdwa v22, v37, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10438; VI-NEXT: v_or_b32_sdwa v23, v36, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10439; VI-NEXT: v_or_b32_sdwa v24, v35, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10440; VI-NEXT: v_or_b32_sdwa v25, v34, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10441; VI-NEXT: v_or_b32_sdwa v26, v33, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10442; VI-NEXT: v_or_b32_sdwa v27, v32, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD10443; VI-NEXT: ; implicit-def: $vgpr5910444; VI-NEXT: ; implicit-def: $vgpr5810445; VI-NEXT: ; implicit-def: $vgpr5710446; VI-NEXT: ; implicit-def: $vgpr5610447; VI-NEXT: ; implicit-def: $vgpr4710448; VI-NEXT: ; implicit-def: $vgpr4610449; VI-NEXT: ; implicit-def: $vgpr4510450; VI-NEXT: ; implicit-def: $vgpr4410451; VI-NEXT: ; implicit-def: $vgpr4310452; VI-NEXT: ; implicit-def: $vgpr4210453; VI-NEXT: ; implicit-def: $vgpr4110454; VI-NEXT: ; implicit-def: $vgpr4010455; VI-NEXT: ; implicit-def: $vgpr5510456; VI-NEXT: ; implicit-def: $vgpr5410457; VI-NEXT: ; implicit-def: $vgpr5310458; VI-NEXT: ; implicit-def: $vgpr5210459; VI-NEXT: ; implicit-def: $vgpr5110460; VI-NEXT: ; implicit-def: $vgpr5010461; VI-NEXT: ; implicit-def: $vgpr4910462; VI-NEXT: ; implicit-def: $vgpr4810463; VI-NEXT: ; implicit-def: $vgpr3910464; VI-NEXT: ; implicit-def: $vgpr3810465; VI-NEXT: ; implicit-def: $vgpr3710466; VI-NEXT: ; implicit-def: $vgpr3610467; VI-NEXT: ; implicit-def: $vgpr3510468; VI-NEXT: ; implicit-def: $vgpr3410469; VI-NEXT: ; implicit-def: $vgpr3310470; VI-NEXT: ; implicit-def: $vgpr3210471; VI-NEXT: .LBB18_2: ; %Flow10472; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]10473; VI-NEXT: s_cbranch_execz .LBB18_410474; VI-NEXT: ; %bb.3: ; %cmp.true10475; VI-NEXT: v_mov_b32_e32 v27, 0x20010476; VI-NEXT: v_add_f16_sdwa v0, v59, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10477; VI-NEXT: v_add_f16_e32 v1, 0x200, v5910478; VI-NEXT: v_add_f16_sdwa v2, v58, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10479; VI-NEXT: v_add_f16_e32 v3, 0x200, v5810480; VI-NEXT: v_or_b32_e32 v0, v1, v010481; VI-NEXT: v_or_b32_e32 v1, v3, v210482; VI-NEXT: v_add_f16_sdwa v2, v57, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10483; VI-NEXT: v_add_f16_e32 v3, 0x200, v5710484; VI-NEXT: v_or_b32_e32 v2, v3, v210485; VI-NEXT: v_add_f16_sdwa v3, v56, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10486; VI-NEXT: v_add_f16_e32 v4, 0x200, v5610487; VI-NEXT: v_or_b32_e32 v3, v4, v310488; VI-NEXT: v_add_f16_sdwa v4, v47, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10489; VI-NEXT: v_add_f16_e32 v5, 0x200, v4710490; VI-NEXT: v_or_b32_e32 v4, v5, v410491; VI-NEXT: v_add_f16_sdwa v5, v46, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10492; VI-NEXT: v_add_f16_e32 v6, 0x200, v4610493; VI-NEXT: v_or_b32_e32 v5, v6, v510494; VI-NEXT: v_add_f16_sdwa v6, v45, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10495; VI-NEXT: v_add_f16_e32 v7, 0x200, v4510496; VI-NEXT: v_or_b32_e32 v6, v7, v610497; VI-NEXT: v_add_f16_sdwa v7, v44, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10498; VI-NEXT: v_add_f16_e32 v8, 0x200, v4410499; VI-NEXT: v_or_b32_e32 v7, v8, v710500; VI-NEXT: v_add_f16_sdwa v8, v43, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10501; VI-NEXT: v_add_f16_e32 v9, 0x200, v4310502; VI-NEXT: v_or_b32_e32 v8, v9, v810503; VI-NEXT: v_add_f16_sdwa v9, v42, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10504; VI-NEXT: v_add_f16_e32 v10, 0x200, v4210505; VI-NEXT: v_or_b32_e32 v9, v10, v910506; VI-NEXT: v_add_f16_sdwa v10, v41, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10507; VI-NEXT: v_add_f16_e32 v11, 0x200, v4110508; VI-NEXT: v_or_b32_e32 v10, v11, v1010509; VI-NEXT: v_add_f16_sdwa v11, v40, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10510; VI-NEXT: v_add_f16_e32 v12, 0x200, v4010511; VI-NEXT: v_or_b32_e32 v11, v12, v1110512; VI-NEXT: v_add_f16_sdwa v12, v55, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10513; VI-NEXT: v_add_f16_e32 v13, 0x200, v5510514; VI-NEXT: v_or_b32_e32 v12, v13, v1210515; VI-NEXT: v_add_f16_sdwa v13, v54, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10516; VI-NEXT: v_add_f16_e32 v14, 0x200, v5410517; VI-NEXT: v_or_b32_e32 v13, v14, v1310518; VI-NEXT: v_add_f16_sdwa v14, v53, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10519; VI-NEXT: v_add_f16_e32 v15, 0x200, v5310520; VI-NEXT: v_or_b32_e32 v14, v15, v1410521; VI-NEXT: v_add_f16_sdwa v15, v52, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10522; VI-NEXT: v_add_f16_e32 v16, 0x200, v5210523; VI-NEXT: v_or_b32_e32 v15, v16, v1510524; VI-NEXT: v_add_f16_sdwa v16, v51, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10525; VI-NEXT: v_add_f16_e32 v17, 0x200, v5110526; VI-NEXT: v_or_b32_e32 v16, v17, v1610527; VI-NEXT: v_add_f16_sdwa v17, v50, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10528; VI-NEXT: v_add_f16_e32 v18, 0x200, v5010529; VI-NEXT: v_or_b32_e32 v17, v18, v1710530; VI-NEXT: v_add_f16_sdwa v18, v49, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10531; VI-NEXT: v_add_f16_e32 v19, 0x200, v4910532; VI-NEXT: v_or_b32_e32 v18, v19, v1810533; VI-NEXT: v_add_f16_sdwa v19, v48, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10534; VI-NEXT: v_add_f16_e32 v20, 0x200, v4810535; VI-NEXT: v_or_b32_e32 v19, v20, v1910536; VI-NEXT: v_add_f16_sdwa v20, v39, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10537; VI-NEXT: v_add_f16_e32 v21, 0x200, v3910538; VI-NEXT: v_or_b32_e32 v20, v21, v2010539; VI-NEXT: v_add_f16_sdwa v21, v38, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10540; VI-NEXT: v_add_f16_e32 v22, 0x200, v3810541; VI-NEXT: v_or_b32_e32 v21, v22, v2110542; VI-NEXT: v_add_f16_sdwa v22, v37, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10543; VI-NEXT: v_add_f16_e32 v23, 0x200, v3710544; VI-NEXT: v_or_b32_e32 v22, v23, v2210545; VI-NEXT: v_add_f16_sdwa v23, v36, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10546; VI-NEXT: v_add_f16_e32 v24, 0x200, v3610547; VI-NEXT: v_or_b32_e32 v23, v24, v2310548; VI-NEXT: v_add_f16_sdwa v24, v35, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10549; VI-NEXT: v_add_f16_e32 v25, 0x200, v3510550; VI-NEXT: v_or_b32_e32 v24, v25, v2410551; VI-NEXT: v_add_f16_sdwa v25, v34, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10552; VI-NEXT: v_add_f16_e32 v26, 0x200, v3410553; VI-NEXT: v_or_b32_e32 v25, v26, v2510554; VI-NEXT: v_add_f16_sdwa v26, v33, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10555; VI-NEXT: v_add_f16_e32 v28, 0x200, v3310556; VI-NEXT: v_or_b32_e32 v26, v28, v2610557; VI-NEXT: v_add_f16_sdwa v27, v32, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD10558; VI-NEXT: v_add_f16_e32 v28, 0x200, v3210559; VI-NEXT: v_or_b32_e32 v27, v28, v2710560; VI-NEXT: .LBB18_4: ; %end10561; VI-NEXT: s_or_b64 exec, exec, s[4:5]10562; VI-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload10563; VI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload10564; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload10565; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload10566; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload10567; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload10568; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload10569; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload10570; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload10571; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload10572; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload10573; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload10574; VI-NEXT: s_waitcnt vmcnt(0)10575; VI-NEXT: s_setpc_b64 s[30:31]10576;10577; GFX9-LABEL: bitcast_v56f16_to_v28i32:10578; GFX9: ; %bb.0:10579; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10580; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill10581; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill10582; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill10583; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill10584; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill10585; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill10586; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill10587; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill10588; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill10589; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill10590; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill10591; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill10592; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill10593; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill10594; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill10595; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill10596; GFX9-NEXT: v_mov_b32_e32 v59, v010597; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2710598; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill10599; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill10600; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2610601; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill10602; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill10603; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2510604; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill10605; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill10606; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2410607; GFX9-NEXT: v_mov_b32_e32 v37, v2210608; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill10609; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill10610; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2310611; GFX9-NEXT: v_mov_b32_e32 v38, v2110612; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill10613; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3710614; GFX9-NEXT: v_mov_b32_e32 v39, v2010615; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill10616; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3810617; GFX9-NEXT: v_mov_b32_e32 v48, v1910618; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill10619; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3910620; GFX9-NEXT: v_mov_b32_e32 v49, v1810621; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill10622; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4810623; GFX9-NEXT: v_mov_b32_e32 v50, v1710624; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill10625; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4910626; GFX9-NEXT: v_mov_b32_e32 v51, v1610627; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill10628; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5010629; GFX9-NEXT: v_mov_b32_e32 v52, v1510630; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill10631; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5110632; GFX9-NEXT: v_mov_b32_e32 v53, v1410633; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill10634; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5210635; GFX9-NEXT: v_mov_b32_e32 v54, v1310636; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill10637; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5310638; GFX9-NEXT: v_mov_b32_e32 v55, v1210639; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill10640; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5410641; GFX9-NEXT: v_mov_b32_e32 v40, v1110642; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill10643; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5510644; GFX9-NEXT: v_mov_b32_e32 v41, v1010645; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill10646; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4010647; GFX9-NEXT: v_mov_b32_e32 v42, v910648; GFX9-NEXT: v_mov_b32_e32 v43, v810649; GFX9-NEXT: v_mov_b32_e32 v44, v710650; GFX9-NEXT: v_mov_b32_e32 v45, v610651; GFX9-NEXT: v_mov_b32_e32 v46, v510652; GFX9-NEXT: v_mov_b32_e32 v47, v410653; GFX9-NEXT: v_mov_b32_e32 v56, v310654; GFX9-NEXT: v_mov_b32_e32 v57, v210655; GFX9-NEXT: v_mov_b32_e32 v58, v110656; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill10657; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4110658; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill10659; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4210660; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v4310661; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v4410662; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v4510663; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v4610664; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4710665; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v5610666; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v5710667; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v5810668; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v5910669; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2810670; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill10671; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill10672; 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_vgpr3110673; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc10674; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]10675; GFX9-NEXT: s_cbranch_execz .LBB18_210676; GFX9-NEXT: ; %bb.1: ; %cmp.false10677; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload10678; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload10679; GFX9-NEXT: s_mov_b32 s6, 0x504010010680; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v4210681; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v4110682; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v4010683; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v5510684; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v5410685; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v5310686; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v5210687; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v5110688; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v5010689; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v4910690; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v4810691; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v3910692; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v3810693; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v3710694; GFX9-NEXT: v_perm_b32 v0, v36, v59, s610695; GFX9-NEXT: v_perm_b32 v1, v35, v58, s610696; GFX9-NEXT: v_perm_b32 v2, v62, v57, s610697; GFX9-NEXT: v_perm_b32 v3, v34, v56, s610698; GFX9-NEXT: v_perm_b32 v4, v33, v47, s610699; GFX9-NEXT: v_perm_b32 v5, v61, v46, s610700; GFX9-NEXT: v_perm_b32 v6, v32, v45, s610701; GFX9-NEXT: v_perm_b32 v7, v60, v44, s610702; GFX9-NEXT: v_perm_b32 v8, v63, v43, s610703; GFX9-NEXT: v_perm_b32 v9, v9, v42, s610704; GFX9-NEXT: v_perm_b32 v10, v10, v41, s610705; GFX9-NEXT: v_perm_b32 v11, v11, v40, s610706; GFX9-NEXT: v_perm_b32 v12, v12, v55, s610707; GFX9-NEXT: v_perm_b32 v13, v13, v54, s610708; GFX9-NEXT: v_perm_b32 v14, v14, v53, s610709; GFX9-NEXT: v_perm_b32 v15, v15, v52, s610710; GFX9-NEXT: v_perm_b32 v16, v16, v51, s610711; GFX9-NEXT: v_perm_b32 v17, v17, v50, s610712; GFX9-NEXT: v_perm_b32 v18, v18, v49, s610713; GFX9-NEXT: v_perm_b32 v19, v19, v48, s610714; GFX9-NEXT: v_perm_b32 v20, v20, v39, s610715; GFX9-NEXT: v_perm_b32 v21, v21, v38, s610716; GFX9-NEXT: v_perm_b32 v22, v22, v37, s610717; GFX9-NEXT: ; implicit-def: $vgpr5910718; GFX9-NEXT: ; implicit-def: $vgpr5810719; GFX9-NEXT: ; implicit-def: $vgpr5710720; GFX9-NEXT: ; implicit-def: $vgpr5610721; GFX9-NEXT: ; implicit-def: $vgpr4710722; GFX9-NEXT: ; implicit-def: $vgpr4610723; GFX9-NEXT: ; implicit-def: $vgpr4510724; GFX9-NEXT: ; implicit-def: $vgpr4410725; GFX9-NEXT: ; implicit-def: $vgpr4310726; GFX9-NEXT: ; implicit-def: $vgpr4210727; GFX9-NEXT: ; implicit-def: $vgpr4110728; GFX9-NEXT: ; implicit-def: $vgpr4010729; GFX9-NEXT: ; implicit-def: $vgpr5510730; GFX9-NEXT: ; implicit-def: $vgpr5410731; GFX9-NEXT: ; implicit-def: $vgpr5310732; GFX9-NEXT: ; implicit-def: $vgpr5210733; GFX9-NEXT: ; implicit-def: $vgpr5110734; GFX9-NEXT: ; implicit-def: $vgpr5010735; GFX9-NEXT: ; implicit-def: $vgpr4910736; GFX9-NEXT: ; implicit-def: $vgpr4810737; GFX9-NEXT: ; implicit-def: $vgpr3910738; GFX9-NEXT: ; implicit-def: $vgpr3810739; GFX9-NEXT: ; implicit-def: $vgpr3710740; GFX9-NEXT: ; implicit-def: $vgpr6310741; GFX9-NEXT: ; implicit-def: $vgpr6010742; GFX9-NEXT: ; implicit-def: $vgpr3210743; GFX9-NEXT: ; implicit-def: $vgpr6110744; GFX9-NEXT: ; implicit-def: $vgpr3310745; GFX9-NEXT: ; implicit-def: $vgpr3410746; GFX9-NEXT: ; implicit-def: $vgpr6210747; GFX9-NEXT: ; implicit-def: $vgpr3510748; GFX9-NEXT: ; implicit-def: $vgpr3610749; GFX9-NEXT: s_waitcnt vmcnt(0)10750; GFX9-NEXT: v_perm_b32 v23, v24, v23, s610751; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload10752; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload10753; GFX9-NEXT: s_waitcnt vmcnt(0)10754; GFX9-NEXT: v_perm_b32 v24, v25, v24, s610755; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload10756; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload10757; GFX9-NEXT: s_waitcnt vmcnt(0)10758; GFX9-NEXT: v_perm_b32 v25, v26, v25, s610759; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload10760; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload10761; GFX9-NEXT: s_waitcnt vmcnt(0)10762; GFX9-NEXT: v_perm_b32 v26, v27, v26, s610763; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload10764; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload10765; GFX9-NEXT: s_waitcnt vmcnt(0)10766; GFX9-NEXT: v_perm_b32 v27, v28, v27, s610767; GFX9-NEXT: ; implicit-def: $vgpr2810768; GFX9-NEXT: ; kill: killed $vgpr2810769; GFX9-NEXT: ; implicit-def: $vgpr2810770; GFX9-NEXT: ; kill: killed $vgpr2810771; GFX9-NEXT: ; implicit-def: $vgpr2810772; GFX9-NEXT: ; kill: killed $vgpr2810773; GFX9-NEXT: ; implicit-def: $vgpr2810774; GFX9-NEXT: ; kill: killed $vgpr2810775; GFX9-NEXT: ; implicit-def: $vgpr2810776; GFX9-NEXT: ; kill: killed $vgpr2810777; GFX9-NEXT: ; implicit-def: $vgpr2810778; GFX9-NEXT: ; kill: killed $vgpr2810779; GFX9-NEXT: ; implicit-def: $vgpr2810780; GFX9-NEXT: ; kill: killed $vgpr2810781; GFX9-NEXT: ; implicit-def: $vgpr2810782; GFX9-NEXT: ; kill: killed $vgpr2810783; GFX9-NEXT: ; implicit-def: $vgpr2810784; GFX9-NEXT: ; kill: killed $vgpr2810785; GFX9-NEXT: ; implicit-def: $vgpr2810786; GFX9-NEXT: ; kill: killed $vgpr2810787; GFX9-NEXT: ; implicit-def: $vgpr2810788; GFX9-NEXT: ; kill: killed $vgpr2810789; GFX9-NEXT: ; implicit-def: $vgpr2810790; GFX9-NEXT: ; kill: killed $vgpr2810791; GFX9-NEXT: ; implicit-def: $vgpr2810792; GFX9-NEXT: ; kill: killed $vgpr2810793; GFX9-NEXT: ; implicit-def: $vgpr2810794; GFX9-NEXT: ; kill: killed $vgpr2810795; GFX9-NEXT: ; implicit-def: $vgpr2810796; GFX9-NEXT: ; kill: killed $vgpr2810797; GFX9-NEXT: ; implicit-def: $vgpr2810798; GFX9-NEXT: ; kill: killed $vgpr2810799; GFX9-NEXT: ; implicit-def: $vgpr2810800; GFX9-NEXT: ; kill: killed $vgpr2810801; GFX9-NEXT: ; implicit-def: $vgpr2810802; GFX9-NEXT: ; kill: killed $vgpr2810803; GFX9-NEXT: ; implicit-def: $vgpr2810804; GFX9-NEXT: ; kill: killed $vgpr2810805; GFX9-NEXT: ; implicit-def: $vgpr2810806; GFX9-NEXT: ; kill: killed $vgpr2810807; GFX9-NEXT: ; implicit-def: $vgpr2810808; GFX9-NEXT: ; kill: killed $vgpr2810809; GFX9-NEXT: ; implicit-def: $vgpr2810810; GFX9-NEXT: ; kill: killed $vgpr2810811; GFX9-NEXT: ; implicit-def: $vgpr2810812; GFX9-NEXT: ; kill: killed $vgpr2810813; GFX9-NEXT: ; implicit-def: $vgpr2810814; GFX9-NEXT: ; kill: killed $vgpr2810815; GFX9-NEXT: .LBB18_2: ; %Flow10816; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]10817; GFX9-NEXT: s_cbranch_execz .LBB18_410818; GFX9-NEXT: ; %bb.3: ; %cmp.true10819; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload10820; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload10821; GFX9-NEXT: s_mov_b32 s6, 0x504010010822; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload10823; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload10824; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload10825; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload10826; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload10827; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload10828; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload10829; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload10830; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload10831; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload10832; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload10833; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload10834; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload10835; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload10836; GFX9-NEXT: v_perm_b32 v0, v36, v59, s610837; GFX9-NEXT: s_movk_i32 s7, 0x20010838; GFX9-NEXT: v_perm_b32 v1, v35, v58, s610839; GFX9-NEXT: v_perm_b32 v2, v62, v57, s610840; GFX9-NEXT: v_perm_b32 v3, v34, v56, s610841; GFX9-NEXT: v_perm_b32 v4, v33, v47, s610842; GFX9-NEXT: v_perm_b32 v5, v61, v46, s610843; GFX9-NEXT: v_perm_b32 v6, v32, v45, s610844; GFX9-NEXT: v_perm_b32 v7, v60, v44, s610845; GFX9-NEXT: v_perm_b32 v8, v63, v43, s610846; GFX9-NEXT: v_pk_add_f16 v0, v0, s7 op_sel_hi:[1,0]10847; GFX9-NEXT: v_pk_add_f16 v1, v1, s7 op_sel_hi:[1,0]10848; GFX9-NEXT: v_pk_add_f16 v2, v2, s7 op_sel_hi:[1,0]10849; GFX9-NEXT: v_pk_add_f16 v3, v3, s7 op_sel_hi:[1,0]10850; GFX9-NEXT: v_pk_add_f16 v4, v4, s7 op_sel_hi:[1,0]10851; GFX9-NEXT: v_pk_add_f16 v5, v5, s7 op_sel_hi:[1,0]10852; GFX9-NEXT: v_pk_add_f16 v6, v6, s7 op_sel_hi:[1,0]10853; GFX9-NEXT: v_pk_add_f16 v7, v7, s7 op_sel_hi:[1,0]10854; GFX9-NEXT: v_pk_add_f16 v8, v8, s7 op_sel_hi:[1,0]10855; GFX9-NEXT: s_waitcnt vmcnt(14)10856; GFX9-NEXT: v_perm_b32 v23, v24, v23, s610857; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload10858; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload10859; GFX9-NEXT: s_waitcnt vmcnt(15)10860; GFX9-NEXT: v_perm_b32 v9, v9, v42, s610861; GFX9-NEXT: s_waitcnt vmcnt(14)10862; GFX9-NEXT: v_perm_b32 v10, v10, v41, s610863; GFX9-NEXT: s_waitcnt vmcnt(13)10864; GFX9-NEXT: v_perm_b32 v11, v11, v40, s610865; GFX9-NEXT: s_waitcnt vmcnt(12)10866; GFX9-NEXT: v_perm_b32 v12, v12, v55, s610867; GFX9-NEXT: s_waitcnt vmcnt(11)10868; GFX9-NEXT: v_perm_b32 v13, v13, v54, s610869; GFX9-NEXT: s_waitcnt vmcnt(10)10870; GFX9-NEXT: v_perm_b32 v14, v14, v53, s610871; GFX9-NEXT: s_waitcnt vmcnt(9)10872; GFX9-NEXT: v_perm_b32 v15, v15, v52, s610873; GFX9-NEXT: s_waitcnt vmcnt(8)10874; GFX9-NEXT: v_perm_b32 v16, v16, v51, s610875; GFX9-NEXT: s_waitcnt vmcnt(7)10876; GFX9-NEXT: v_perm_b32 v17, v17, v50, s610877; GFX9-NEXT: s_waitcnt vmcnt(6)10878; GFX9-NEXT: v_perm_b32 v18, v18, v49, s610879; GFX9-NEXT: s_waitcnt vmcnt(5)10880; GFX9-NEXT: v_perm_b32 v19, v19, v48, s610881; GFX9-NEXT: s_waitcnt vmcnt(4)10882; GFX9-NEXT: v_perm_b32 v20, v20, v39, s610883; GFX9-NEXT: s_waitcnt vmcnt(3)10884; GFX9-NEXT: v_perm_b32 v21, v21, v38, s610885; GFX9-NEXT: s_waitcnt vmcnt(2)10886; GFX9-NEXT: v_perm_b32 v22, v22, v37, s610887; GFX9-NEXT: v_pk_add_f16 v9, v9, s7 op_sel_hi:[1,0]10888; GFX9-NEXT: v_pk_add_f16 v10, v10, s7 op_sel_hi:[1,0]10889; GFX9-NEXT: v_pk_add_f16 v11, v11, s7 op_sel_hi:[1,0]10890; GFX9-NEXT: v_pk_add_f16 v12, v12, s7 op_sel_hi:[1,0]10891; GFX9-NEXT: v_pk_add_f16 v13, v13, s7 op_sel_hi:[1,0]10892; GFX9-NEXT: v_pk_add_f16 v14, v14, s7 op_sel_hi:[1,0]10893; GFX9-NEXT: v_pk_add_f16 v15, v15, s7 op_sel_hi:[1,0]10894; GFX9-NEXT: v_pk_add_f16 v16, v16, s7 op_sel_hi:[1,0]10895; GFX9-NEXT: v_pk_add_f16 v17, v17, s7 op_sel_hi:[1,0]10896; GFX9-NEXT: v_pk_add_f16 v18, v18, s7 op_sel_hi:[1,0]10897; GFX9-NEXT: v_pk_add_f16 v19, v19, s7 op_sel_hi:[1,0]10898; GFX9-NEXT: v_pk_add_f16 v20, v20, s7 op_sel_hi:[1,0]10899; GFX9-NEXT: v_pk_add_f16 v21, v21, s7 op_sel_hi:[1,0]10900; GFX9-NEXT: v_pk_add_f16 v22, v22, s7 op_sel_hi:[1,0]10901; GFX9-NEXT: v_pk_add_f16 v23, v23, s7 op_sel_hi:[1,0]10902; GFX9-NEXT: s_waitcnt vmcnt(0)10903; GFX9-NEXT: v_perm_b32 v24, v25, v24, s610904; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload10905; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload10906; GFX9-NEXT: v_pk_add_f16 v24, v24, s7 op_sel_hi:[1,0]10907; GFX9-NEXT: s_waitcnt vmcnt(0)10908; GFX9-NEXT: v_perm_b32 v25, v26, v25, s610909; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload10910; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload10911; GFX9-NEXT: v_pk_add_f16 v25, v25, s7 op_sel_hi:[1,0]10912; GFX9-NEXT: s_waitcnt vmcnt(0)10913; GFX9-NEXT: v_perm_b32 v26, v27, v26, s610914; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload10915; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload10916; GFX9-NEXT: v_pk_add_f16 v26, v26, s7 op_sel_hi:[1,0]10917; GFX9-NEXT: s_waitcnt vmcnt(0)10918; GFX9-NEXT: v_perm_b32 v27, v28, v27, s610919; GFX9-NEXT: v_pk_add_f16 v27, v27, s7 op_sel_hi:[1,0]10920; GFX9-NEXT: .LBB18_4: ; %end10921; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]10922; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload10923; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload10924; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload10925; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload10926; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload10927; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload10928; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload10929; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload10930; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload10931; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload10932; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload10933; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload10934; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload10935; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload10936; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload10937; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload10938; GFX9-NEXT: s_waitcnt vmcnt(0)10939; GFX9-NEXT: s_setpc_b64 s[30:31]10940;10941; GFX11-TRUE16-LABEL: bitcast_v56f16_to_v28i32:10942; GFX11-TRUE16: ; %bb.0:10943; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10944; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo10945; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2810946; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s010947; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)10948; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s010949; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB18_210950; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true10951; GFX11-TRUE16-NEXT: v_pk_add_f16 v0, 0x200, v0 op_sel_hi:[0,1]10952; GFX11-TRUE16-NEXT: v_pk_add_f16 v1, 0x200, v1 op_sel_hi:[0,1]10953; GFX11-TRUE16-NEXT: v_pk_add_f16 v2, 0x200, v2 op_sel_hi:[0,1]10954; GFX11-TRUE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]10955; GFX11-TRUE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]10956; GFX11-TRUE16-NEXT: v_pk_add_f16 v5, 0x200, v5 op_sel_hi:[0,1]10957; GFX11-TRUE16-NEXT: v_pk_add_f16 v6, 0x200, v6 op_sel_hi:[0,1]10958; GFX11-TRUE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]10959; GFX11-TRUE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]10960; GFX11-TRUE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]10961; GFX11-TRUE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]10962; GFX11-TRUE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]10963; GFX11-TRUE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]10964; GFX11-TRUE16-NEXT: v_pk_add_f16 v13, 0x200, v13 op_sel_hi:[0,1]10965; GFX11-TRUE16-NEXT: v_pk_add_f16 v14, 0x200, v14 op_sel_hi:[0,1]10966; GFX11-TRUE16-NEXT: v_pk_add_f16 v15, 0x200, v15 op_sel_hi:[0,1]10967; GFX11-TRUE16-NEXT: v_pk_add_f16 v16, 0x200, v16 op_sel_hi:[0,1]10968; GFX11-TRUE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]10969; GFX11-TRUE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]10970; GFX11-TRUE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]10971; GFX11-TRUE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]10972; GFX11-TRUE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]10973; GFX11-TRUE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]10974; GFX11-TRUE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]10975; GFX11-TRUE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]10976; GFX11-TRUE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]10977; GFX11-TRUE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]10978; GFX11-TRUE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]10979; GFX11-TRUE16-NEXT: .LBB18_2: ; %end10980; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s010981; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]10982;10983; GFX11-FAKE16-LABEL: bitcast_v56f16_to_v28i32:10984; GFX11-FAKE16: ; %bb.0:10985; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)10986; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2710987; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2610988; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2510989; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2410990; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2310991; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2210992; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2110993; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v2010994; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1910995; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1810996; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1710997; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1610998; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1510999; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1411000; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1311001; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1211002; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1111003; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1011004; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v911005; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v811006; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v711007; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v611008; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v511009; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v411010; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v011011; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v111012; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v211013; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 16, v311014; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2811015; GFX11-FAKE16-NEXT: v_perm_b32 v0, v69, v0, 0x504010011016; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x504010011017; GFX11-FAKE16-NEXT: v_perm_b32 v2, v71, v2, 0x504010011018; GFX11-FAKE16-NEXT: v_perm_b32 v3, v80, v3, 0x504010011019; GFX11-FAKE16-NEXT: v_perm_b32 v4, v68, v4, 0x504010011020; GFX11-FAKE16-NEXT: v_perm_b32 v5, v67, v5, 0x504010011021; GFX11-FAKE16-NEXT: v_perm_b32 v6, v66, v6, 0x504010011022; GFX11-FAKE16-NEXT: v_perm_b32 v7, v65, v7, 0x504010011023; GFX11-FAKE16-NEXT: v_perm_b32 v8, v64, v8, 0x504010011024; GFX11-FAKE16-NEXT: v_perm_b32 v9, v55, v9, 0x504010011025; GFX11-FAKE16-NEXT: v_perm_b32 v10, v54, v10, 0x504010011026; GFX11-FAKE16-NEXT: v_perm_b32 v11, v53, v11, 0x504010011027; GFX11-FAKE16-NEXT: v_perm_b32 v12, v52, v12, 0x504010011028; GFX11-FAKE16-NEXT: v_perm_b32 v13, v51, v13, 0x504010011029; GFX11-FAKE16-NEXT: v_perm_b32 v14, v50, v14, 0x504010011030; GFX11-FAKE16-NEXT: v_perm_b32 v15, v49, v15, 0x504010011031; GFX11-FAKE16-NEXT: v_perm_b32 v16, v48, v16, 0x504010011032; GFX11-FAKE16-NEXT: v_perm_b32 v17, v39, v17, 0x504010011033; GFX11-FAKE16-NEXT: v_perm_b32 v18, v38, v18, 0x504010011034; GFX11-FAKE16-NEXT: v_perm_b32 v19, v37, v19, 0x504010011035; GFX11-FAKE16-NEXT: v_perm_b32 v20, v36, v20, 0x504010011036; GFX11-FAKE16-NEXT: v_perm_b32 v21, v35, v21, 0x504010011037; GFX11-FAKE16-NEXT: v_perm_b32 v22, v34, v22, 0x504010011038; GFX11-FAKE16-NEXT: v_perm_b32 v23, v33, v23, 0x504010011039; GFX11-FAKE16-NEXT: v_perm_b32 v24, v32, v24, 0x504010011040; GFX11-FAKE16-NEXT: v_perm_b32 v25, v31, v25, 0x504010011041; GFX11-FAKE16-NEXT: v_perm_b32 v26, v30, v26, 0x504010011042; GFX11-FAKE16-NEXT: v_perm_b32 v27, v29, v27, 0x504010011043; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo11044; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)11045; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s011046; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s011047; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB18_211048; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.true11049; GFX11-FAKE16-NEXT: v_pk_add_f16 v0, 0x200, v0 op_sel_hi:[0,1]11050; GFX11-FAKE16-NEXT: v_pk_add_f16 v1, 0x200, v1 op_sel_hi:[0,1]11051; GFX11-FAKE16-NEXT: v_pk_add_f16 v2, 0x200, v2 op_sel_hi:[0,1]11052; GFX11-FAKE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]11053; GFX11-FAKE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]11054; GFX11-FAKE16-NEXT: v_pk_add_f16 v5, 0x200, v5 op_sel_hi:[0,1]11055; GFX11-FAKE16-NEXT: v_pk_add_f16 v6, 0x200, v6 op_sel_hi:[0,1]11056; GFX11-FAKE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]11057; GFX11-FAKE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]11058; GFX11-FAKE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]11059; GFX11-FAKE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]11060; GFX11-FAKE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]11061; GFX11-FAKE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]11062; GFX11-FAKE16-NEXT: v_pk_add_f16 v13, 0x200, v13 op_sel_hi:[0,1]11063; GFX11-FAKE16-NEXT: v_pk_add_f16 v14, 0x200, v14 op_sel_hi:[0,1]11064; GFX11-FAKE16-NEXT: v_pk_add_f16 v15, 0x200, v15 op_sel_hi:[0,1]11065; GFX11-FAKE16-NEXT: v_pk_add_f16 v16, 0x200, v16 op_sel_hi:[0,1]11066; GFX11-FAKE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]11067; GFX11-FAKE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]11068; GFX11-FAKE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]11069; GFX11-FAKE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]11070; GFX11-FAKE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]11071; GFX11-FAKE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]11072; GFX11-FAKE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]11073; GFX11-FAKE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]11074; GFX11-FAKE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]11075; GFX11-FAKE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]11076; GFX11-FAKE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]11077; GFX11-FAKE16-NEXT: .LBB18_2: ; %end11078; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s011079; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]11080 %cmp = icmp eq i32 %b, 011081 br i1 %cmp, label %cmp.true, label %cmp.false11082 11083cmp.true:11084 %a1 = fadd <56 x half> %a, splat (half 0xH0200)11085 %a2 = bitcast <56 x half> %a1 to <28 x i32>11086 br label %end11087 11088cmp.false:11089 %a3 = bitcast <56 x half> %a to <28 x i32>11090 br label %end11091 11092end:11093 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]11094 ret <28 x i32> %phi11095}11096 11097define inreg <28 x i32> @bitcast_v56f16_to_v28i32_scalar(<56 x half> inreg %a, i32 inreg %b) {11098; SI-LABEL: bitcast_v56f16_to_v28i32_scalar:11099; SI: ; %bb.0:11100; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11101; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill11102; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill11103; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill11104; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill11105; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill11106; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill11107; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill11108; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill11109; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill11110; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill11111; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill11112; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill11113; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill11114; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill11115; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill11116; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill11117; SI-NEXT: buffer_load_dword v31, off, s[0:3], s3211118; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:811119; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:411120; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:1611121; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:1211122; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:2411123; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:2011124; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:3211125; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:2811126; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4011127; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:3611128; SI-NEXT: s_waitcnt expcnt(2)11129; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:4411130; SI-NEXT: v_cvt_f16_f32_e32 v47, v011131; SI-NEXT: v_cvt_f16_f32_e32 v0, v2311132; SI-NEXT: v_cvt_f16_f32_e32 v44, v111133; SI-NEXT: v_cvt_f16_f32_e32 v46, v311134; SI-NEXT: v_cvt_f16_f32_e32 v58, v211135; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill11136; SI-NEXT: s_waitcnt expcnt(0)11137; SI-NEXT: v_cvt_f16_f32_e32 v0, v2211138; SI-NEXT: v_cvt_f16_f32_e32 v60, v511139; SI-NEXT: v_cvt_f16_f32_e32 v59, v411140; SI-NEXT: v_cvt_f16_f32_e32 v62, v711141; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill11142; SI-NEXT: s_waitcnt expcnt(0)11143; SI-NEXT: v_cvt_f16_f32_e32 v0, v2511144; SI-NEXT: v_cvt_f16_f32_e32 v56, v611145; SI-NEXT: v_cvt_f16_f32_e32 v57, v911146; SI-NEXT: v_cvt_f16_f32_e32 v45, v811147; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill11148; SI-NEXT: s_waitcnt expcnt(0)11149; SI-NEXT: v_cvt_f16_f32_e32 v0, v2411150; SI-NEXT: v_cvt_f16_f32_e32 v63, v1111151; SI-NEXT: v_cvt_f16_f32_e32 v38, v1011152; SI-NEXT: v_cvt_f16_f32_e32 v13, v1311153; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill11154; SI-NEXT: s_waitcnt expcnt(0)11155; SI-NEXT: v_cvt_f16_f32_e32 v0, v2711156; SI-NEXT: v_cvt_f16_f32_e32 v36, v1211157; SI-NEXT: v_cvt_f16_f32_e32 v34, v1511158; SI-NEXT: v_cvt_f16_f32_e32 v35, v1411159; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill11160; SI-NEXT: s_waitcnt expcnt(0)11161; SI-NEXT: v_cvt_f16_f32_e32 v0, v2611162; SI-NEXT: v_cvt_f16_f32_e32 v15, v1711163; SI-NEXT: v_cvt_f16_f32_e32 v32, v1611164; SI-NEXT: v_cvt_f16_f32_e32 v16, v1911165; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill11166; SI-NEXT: s_waitcnt expcnt(0)11167; SI-NEXT: v_cvt_f16_f32_e32 v0, v2811168; SI-NEXT: v_cvt_f16_f32_e32 v18, v1811169; SI-NEXT: v_cvt_f16_f32_e32 v17, v2111170; SI-NEXT: v_cvt_f16_f32_e32 v37, v2011171; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill11172; SI-NEXT: s_waitcnt expcnt(0)11173; SI-NEXT: v_cvt_f16_f32_e32 v0, v3011174; SI-NEXT: v_cvt_f16_f32_e32 v29, v2911175; SI-NEXT: v_cvt_f16_f32_e32 v2, s2111176; SI-NEXT: v_cvt_f16_f32_e32 v11, s2011177; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill11178; SI-NEXT: v_cvt_f16_f32_e32 v3, s2311179; SI-NEXT: v_cvt_f16_f32_e32 v10, s2211180; SI-NEXT: v_cvt_f16_f32_e32 v4, s2511181; SI-NEXT: v_cvt_f16_f32_e32 v9, s2411182; SI-NEXT: v_cvt_f16_f32_e32 v5, s2711183; SI-NEXT: v_cvt_f16_f32_e32 v8, s2611184; SI-NEXT: v_cvt_f16_f32_e32 v6, s2911185; SI-NEXT: v_cvt_f16_f32_e32 v7, s2811186; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill11187; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill11188; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill11189; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill11190; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill11191; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill11192; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill11193; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill11194; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill11195; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill11196; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill11197; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill11198; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill11199; SI-NEXT: s_waitcnt vmcnt(14)11200; SI-NEXT: v_cvt_f16_f32_e32 v0, v3111201; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill11202; SI-NEXT: s_waitcnt expcnt(0)11203; SI-NEXT: v_cvt_f16_f32_e32 v0, v5011204; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill11205; SI-NEXT: s_waitcnt expcnt(0)11206; SI-NEXT: v_cvt_f16_f32_e32 v0, v5111207; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v6111208; SI-NEXT: s_and_b64 s[4:5], vcc, exec11209; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill11210; SI-NEXT: s_waitcnt expcnt(0)11211; SI-NEXT: v_cvt_f16_f32_e32 v0, v5211212; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill11213; SI-NEXT: s_waitcnt expcnt(0)11214; SI-NEXT: v_cvt_f16_f32_e32 v0, v5311215; SI-NEXT: v_cvt_f16_f32_e32 v53, s1811216; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill11217; SI-NEXT: s_waitcnt expcnt(0)11218; SI-NEXT: v_cvt_f16_f32_e32 v0, v5411219; SI-NEXT: v_cvt_f16_f32_e32 v54, s1911220; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill11221; SI-NEXT: s_waitcnt expcnt(0)11222; SI-NEXT: v_cvt_f16_f32_e32 v0, v5511223; SI-NEXT: v_cvt_f16_f32_e32 v55, s1611224; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill11225; SI-NEXT: s_waitcnt expcnt(0)11226; SI-NEXT: v_cvt_f16_f32_e32 v0, v4011227; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill11228; SI-NEXT: s_waitcnt expcnt(0)11229; SI-NEXT: v_cvt_f16_f32_e32 v0, v4111230; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill11231; SI-NEXT: s_waitcnt expcnt(0)11232; SI-NEXT: v_cvt_f16_f32_e32 v0, v4211233; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill11234; SI-NEXT: s_waitcnt expcnt(0)11235; SI-NEXT: v_cvt_f16_f32_e32 v0, v4311236; SI-NEXT: v_cvt_f16_f32_e32 v43, s1711237; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill11238; SI-NEXT: s_cbranch_scc0 .LBB19_411239; SI-NEXT: ; %bb.1: ; %cmp.false11240; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1611241; SI-NEXT: v_or_b32_e32 v16, v18, v1611242; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload11243; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload11244; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload11245; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload11246; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload11247; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload11248; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload11249; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload11250; SI-NEXT: v_mov_b32_e32 v49, v211251; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v211252; SI-NEXT: v_mov_b32_e32 v48, v311253; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v311254; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v411255; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v511256; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v611257; SI-NEXT: v_mov_b32_e32 v61, v4411258; SI-NEXT: s_waitcnt expcnt(0)11259; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v4311260; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v5411261; SI-NEXT: v_mov_b32_e32 v39, v1111262; SI-NEXT: v_or_b32_e32 v2, v11, v211263; SI-NEXT: v_mov_b32_e32 v33, v1011264; SI-NEXT: v_or_b32_e32 v3, v10, v311265; SI-NEXT: v_or_b32_e32 v4, v9, v411266; SI-NEXT: v_or_b32_e32 v5, v8, v511267; SI-NEXT: v_or_b32_e32 v6, v7, v611268; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v6111269; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v4611270; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v6011271; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v6211272; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v5711273; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v6311274; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1311275; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v3411276; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1511277; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1711278; SI-NEXT: v_or_b32_e32 v0, v55, v011279; SI-NEXT: v_or_b32_e32 v1, v53, v111280; SI-NEXT: v_or_b32_e32 v7, v47, v711281; SI-NEXT: v_mov_b32_e32 v42, v5811282; SI-NEXT: v_or_b32_e32 v8, v58, v811283; SI-NEXT: v_mov_b32_e32 v41, v6011284; SI-NEXT: v_or_b32_e32 v9, v59, v911285; SI-NEXT: v_mov_b32_e32 v40, v5611286; SI-NEXT: v_or_b32_e32 v10, v56, v1011287; SI-NEXT: v_or_b32_e32 v11, v45, v1111288; SI-NEXT: v_or_b32_e32 v12, v38, v1211289; SI-NEXT: v_or_b32_e32 v13, v36, v1311290; SI-NEXT: v_or_b32_e32 v14, v35, v1411291; SI-NEXT: v_or_b32_e32 v15, v32, v1511292; SI-NEXT: v_or_b32_e32 v17, v37, v1711293; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload11294; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload11295; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload11296; SI-NEXT: s_waitcnt vmcnt(10)11297; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1811298; SI-NEXT: s_waitcnt vmcnt(9)11299; SI-NEXT: v_or_b32_e32 v18, v19, v1811300; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload11301; SI-NEXT: s_waitcnt vmcnt(0)11302; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v1911303; SI-NEXT: v_or_b32_e32 v19, v20, v1911304; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload11305; SI-NEXT: s_waitcnt vmcnt(0)11306; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v2011307; SI-NEXT: v_or_b32_e32 v20, v21, v2011308; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2911309; SI-NEXT: v_or_b32_e32 v21, v22, v2111310; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload11311; SI-NEXT: s_waitcnt vmcnt(0)11312; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v2211313; SI-NEXT: v_or_b32_e32 v22, v23, v2211314; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload11315; SI-NEXT: s_waitcnt vmcnt(0)11316; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v2311317; SI-NEXT: v_or_b32_e32 v23, v24, v2311318; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload11319; SI-NEXT: s_waitcnt vmcnt(0)11320; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2411321; SI-NEXT: v_or_b32_e32 v24, v25, v2411322; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload11323; SI-NEXT: s_waitcnt vmcnt(0)11324; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v2511325; SI-NEXT: v_or_b32_e32 v25, v26, v2511326; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload11327; SI-NEXT: s_waitcnt vmcnt(0)11328; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v2611329; SI-NEXT: v_or_b32_e32 v26, v27, v2611330; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload11331; SI-NEXT: s_waitcnt vmcnt(0)11332; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v2711333; SI-NEXT: v_or_b32_e32 v27, v50, v2711334; SI-NEXT: s_cbranch_execnz .LBB19_311335; SI-NEXT: .LBB19_2: ; %cmp.true11336; SI-NEXT: s_waitcnt expcnt(0)11337; SI-NEXT: v_cvt_f32_f16_e32 v0, v4311338; SI-NEXT: v_cvt_f32_f16_e32 v2, v5411339; SI-NEXT: v_cvt_f32_f16_e32 v1, v5511340; SI-NEXT: v_cvt_f32_f16_e32 v3, v5311341; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v011342; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v211343; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v111344; SI-NEXT: v_cvt_f16_f32_e32 v0, v011345; SI-NEXT: v_cvt_f16_f32_e32 v2, v211346; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v311347; SI-NEXT: v_cvt_f16_f32_e32 v1, v111348; SI-NEXT: v_cvt_f16_f32_e32 v3, v311349; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v011350; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v211351; SI-NEXT: v_or_b32_e32 v0, v1, v011352; SI-NEXT: v_or_b32_e32 v1, v3, v211353; SI-NEXT: v_cvt_f32_f16_e32 v2, v4911354; SI-NEXT: v_cvt_f32_f16_e32 v3, v3911355; SI-NEXT: v_cvt_f32_f16_e32 v4, v3311356; SI-NEXT: v_cvt_f32_f16_e32 v8, v4711357; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v211358; SI-NEXT: v_cvt_f16_f32_e32 v2, v211359; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v311360; SI-NEXT: v_cvt_f16_f32_e32 v3, v311361; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v411362; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v211363; SI-NEXT: v_cvt_f16_f32_e32 v4, v411364; SI-NEXT: v_or_b32_e32 v2, v3, v211365; SI-NEXT: v_cvt_f32_f16_e32 v3, v4811366; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v811367; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload11368; SI-NEXT: v_cvt_f16_f32_e32 v8, v811369; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v311370; SI-NEXT: v_cvt_f16_f32_e32 v3, v311371; SI-NEXT: v_cvt_f32_f16_e32 v9, v4211372; SI-NEXT: v_cvt_f32_f16_e32 v11, v4011373; SI-NEXT: v_cvt_f32_f16_e32 v12, v4511374; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v311375; SI-NEXT: v_or_b32_e32 v3, v4, v311376; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload11377; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v911378; SI-NEXT: v_cvt_f16_f32_e32 v9, v911379; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1111380; SI-NEXT: v_cvt_f16_f32_e32 v11, v1111381; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1211382; SI-NEXT: v_cvt_f16_f32_e32 v12, v1211383; SI-NEXT: v_cvt_f32_f16_e32 v13, v3811384; SI-NEXT: v_cvt_f32_f16_e32 v14, v3611385; SI-NEXT: v_cvt_f32_f16_e32 v15, v3511386; SI-NEXT: v_cvt_f32_f16_e32 v17, v3211387; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v1311388; SI-NEXT: v_cvt_f16_f32_e32 v13, v1311389; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1411390; SI-NEXT: v_cvt_f16_f32_e32 v14, v1411391; SI-NEXT: v_add_f32_e32 v15, 0x38000000, v1511392; SI-NEXT: v_cvt_f16_f32_e32 v15, v1511393; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1711394; SI-NEXT: v_cvt_f16_f32_e32 v17, v1711395; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload11396; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload11397; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload11398; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload11399; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload11400; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload11401; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload11402; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload11403; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload11404; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload11405; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload11406; SI-NEXT: v_cvt_f32_f16_e32 v22, v2911407; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload11408; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload11409; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload11410; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2211411; SI-NEXT: v_cvt_f16_f32_e32 v22, v2211412; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload11413; SI-NEXT: s_waitcnt vmcnt(14)11414; SI-NEXT: v_cvt_f32_f16_e32 v5, v511415; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v511416; SI-NEXT: v_cvt_f16_f32_e32 v5, v511417; SI-NEXT: v_cvt_f32_f16_e32 v4, v411418; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v411419; SI-NEXT: v_cvt_f16_f32_e32 v4, v411420; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v411421; SI-NEXT: v_or_b32_e32 v4, v5, v411422; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload11423; SI-NEXT: v_cvt_f32_f16_e32 v19, v1911424; SI-NEXT: s_waitcnt vmcnt(12)11425; SI-NEXT: v_cvt_f32_f16_e32 v28, v2811426; SI-NEXT: s_waitcnt vmcnt(11)11427; SI-NEXT: v_cvt_f32_f16_e32 v6, v611428; SI-NEXT: s_waitcnt vmcnt(10)11429; SI-NEXT: v_cvt_f32_f16_e32 v7, v711430; SI-NEXT: s_waitcnt vmcnt(9)11431; SI-NEXT: v_cvt_f32_f16_e32 v10, v1011432; SI-NEXT: s_waitcnt vmcnt(8)11433; SI-NEXT: v_cvt_f32_f16_e32 v16, v1611434; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v611435; SI-NEXT: v_cvt_f16_f32_e32 v6, v611436; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v711437; SI-NEXT: v_cvt_f16_f32_e32 v7, v711438; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1011439; SI-NEXT: v_cvt_f16_f32_e32 v10, v1011440; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1611441; SI-NEXT: v_cvt_f16_f32_e32 v16, v1611442; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1911443; SI-NEXT: v_cvt_f16_f32_e32 v19, v1911444; SI-NEXT: s_waitcnt vmcnt(5)11445; SI-NEXT: v_cvt_f32_f16_e32 v21, v2111446; SI-NEXT: s_waitcnt vmcnt(2)11447; SI-NEXT: v_cvt_f32_f16_e32 v25, v2511448; SI-NEXT: s_waitcnt vmcnt(1)11449; SI-NEXT: v_cvt_f32_f16_e32 v29, v2911450; SI-NEXT: v_add_f32_e32 v28, 0x38000000, v2811451; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2111452; SI-NEXT: v_cvt_f16_f32_e32 v21, v2111453; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2511454; SI-NEXT: v_cvt_f16_f32_e32 v25, v2511455; SI-NEXT: v_add_f32_e32 v29, 0x38000000, v2911456; SI-NEXT: v_cvt_f16_f32_e32 v28, v2811457; SI-NEXT: v_cvt_f16_f32_e32 v29, v2911458; SI-NEXT: s_waitcnt vmcnt(0)11459; SI-NEXT: v_cvt_f32_f16_e32 v5, v511460; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v511461; SI-NEXT: v_cvt_f16_f32_e32 v5, v511462; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v511463; SI-NEXT: v_or_b32_e32 v5, v6, v511464; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload11465; SI-NEXT: s_waitcnt vmcnt(0)11466; SI-NEXT: v_cvt_f32_f16_e32 v6, v611467; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v611468; SI-NEXT: v_cvt_f16_f32_e32 v6, v611469; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v611470; SI-NEXT: v_or_b32_e32 v6, v7, v611471; SI-NEXT: v_cvt_f32_f16_e32 v7, v6111472; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v711473; SI-NEXT: v_cvt_f16_f32_e32 v7, v711474; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v711475; SI-NEXT: v_or_b32_e32 v7, v8, v711476; SI-NEXT: v_cvt_f32_f16_e32 v8, v4611477; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v811478; SI-NEXT: v_cvt_f16_f32_e32 v8, v811479; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v811480; SI-NEXT: v_or_b32_e32 v8, v9, v811481; SI-NEXT: v_cvt_f32_f16_e32 v9, v4111482; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v911483; SI-NEXT: v_cvt_f16_f32_e32 v9, v911484; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v911485; SI-NEXT: v_or_b32_e32 v9, v10, v911486; SI-NEXT: v_cvt_f32_f16_e32 v10, v6211487; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v1011488; SI-NEXT: v_cvt_f16_f32_e32 v10, v1011489; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v1011490; SI-NEXT: v_or_b32_e32 v10, v11, v1011491; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload11492; SI-NEXT: s_waitcnt vmcnt(0)11493; SI-NEXT: v_cvt_f32_f16_e32 v11, v1111494; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v1111495; SI-NEXT: v_cvt_f16_f32_e32 v11, v1111496; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v1111497; SI-NEXT: v_or_b32_e32 v11, v12, v1111498; SI-NEXT: v_cvt_f32_f16_e32 v12, v6311499; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v1211500; SI-NEXT: v_cvt_f16_f32_e32 v12, v1211501; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v1211502; SI-NEXT: v_or_b32_e32 v12, v13, v1211503; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload11504; SI-NEXT: s_waitcnt vmcnt(0)11505; SI-NEXT: v_cvt_f32_f16_e32 v13, v1311506; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v1311507; SI-NEXT: v_cvt_f16_f32_e32 v13, v1311508; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1311509; SI-NEXT: v_or_b32_e32 v13, v14, v1311510; SI-NEXT: v_cvt_f32_f16_e32 v14, v3411511; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v1411512; SI-NEXT: v_cvt_f16_f32_e32 v14, v1411513; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1411514; SI-NEXT: v_or_b32_e32 v14, v15, v1411515; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1611516; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload11517; SI-NEXT: v_or_b32_e32 v15, v17, v1511518; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload11519; SI-NEXT: v_cvt_f32_f16_e32 v18, v1811520; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1811521; SI-NEXT: v_cvt_f16_f32_e32 v18, v1811522; SI-NEXT: s_waitcnt vmcnt(1)11523; SI-NEXT: v_cvt_f32_f16_e32 v16, v1611524; SI-NEXT: s_waitcnt vmcnt(0)11525; SI-NEXT: v_cvt_f32_f16_e32 v17, v1711526; SI-NEXT: v_add_f32_e32 v16, 0x38000000, v1611527; SI-NEXT: v_cvt_f16_f32_e32 v16, v1611528; SI-NEXT: v_add_f32_e32 v17, 0x38000000, v1711529; SI-NEXT: v_cvt_f16_f32_e32 v17, v1711530; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v1611531; SI-NEXT: v_or_b32_e32 v16, v18, v1611532; SI-NEXT: v_cvt_f32_f16_e32 v18, v3711533; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v1711534; SI-NEXT: v_add_f32_e32 v18, 0x38000000, v1811535; SI-NEXT: v_cvt_f16_f32_e32 v18, v1811536; SI-NEXT: v_or_b32_e32 v17, v18, v1711537; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v1911538; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload11539; SI-NEXT: v_cvt_f32_f16_e32 v20, v2011540; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2011541; SI-NEXT: v_cvt_f16_f32_e32 v20, v2011542; SI-NEXT: v_or_b32_e32 v18, v20, v1811543; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload11544; SI-NEXT: s_waitcnt vmcnt(1)11545; SI-NEXT: v_cvt_f32_f16_e32 v19, v1911546; SI-NEXT: v_add_f32_e32 v19, 0x38000000, v1911547; SI-NEXT: v_cvt_f16_f32_e32 v19, v1911548; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v1911549; SI-NEXT: v_or_b32_e32 v19, v21, v1911550; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload11551; SI-NEXT: s_waitcnt vmcnt(1)11552; SI-NEXT: v_cvt_f32_f16_e32 v20, v2011553; SI-NEXT: v_add_f32_e32 v20, 0x38000000, v2011554; SI-NEXT: v_cvt_f16_f32_e32 v20, v2011555; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v2011556; SI-NEXT: s_waitcnt vmcnt(0)11557; SI-NEXT: v_cvt_f32_f16_e32 v21, v2111558; SI-NEXT: v_add_f32_e32 v21, 0x38000000, v2111559; SI-NEXT: v_cvt_f16_f32_e32 v21, v2111560; SI-NEXT: v_or_b32_e32 v20, v21, v2011561; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2211562; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload11563; SI-NEXT: v_cvt_f32_f16_e32 v23, v2311564; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2311565; SI-NEXT: v_cvt_f16_f32_e32 v23, v2311566; SI-NEXT: v_or_b32_e32 v21, v23, v2111567; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload11568; SI-NEXT: v_cvt_f32_f16_e32 v24, v2411569; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2411570; SI-NEXT: v_cvt_f16_f32_e32 v24, v2411571; SI-NEXT: s_waitcnt vmcnt(1)11572; SI-NEXT: v_cvt_f32_f16_e32 v22, v2211573; SI-NEXT: v_add_f32_e32 v22, 0x38000000, v2211574; SI-NEXT: v_cvt_f16_f32_e32 v22, v2211575; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v2211576; SI-NEXT: v_or_b32_e32 v22, v24, v2211577; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload11578; SI-NEXT: s_waitcnt vmcnt(1)11579; SI-NEXT: v_cvt_f32_f16_e32 v23, v2311580; SI-NEXT: v_add_f32_e32 v23, 0x38000000, v2311581; SI-NEXT: v_cvt_f16_f32_e32 v23, v2311582; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v2311583; SI-NEXT: s_waitcnt vmcnt(0)11584; SI-NEXT: v_cvt_f32_f16_e32 v24, v2411585; SI-NEXT: v_add_f32_e32 v24, 0x38000000, v2411586; SI-NEXT: v_cvt_f16_f32_e32 v24, v2411587; SI-NEXT: v_or_b32_e32 v23, v24, v2311588; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2511589; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload11590; SI-NEXT: v_cvt_f32_f16_e32 v26, v2611591; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v2611592; SI-NEXT: v_cvt_f16_f32_e32 v26, v2611593; SI-NEXT: v_or_b32_e32 v24, v26, v2411594; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload11595; SI-NEXT: v_cvt_f32_f16_e32 v27, v2711596; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v2711597; SI-NEXT: v_cvt_f16_f32_e32 v27, v2711598; SI-NEXT: s_waitcnt vmcnt(1)11599; SI-NEXT: v_cvt_f32_f16_e32 v25, v2511600; SI-NEXT: v_add_f32_e32 v25, 0x38000000, v2511601; SI-NEXT: v_cvt_f16_f32_e32 v25, v2511602; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v2511603; SI-NEXT: v_or_b32_e32 v25, v27, v2511604; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload11605; SI-NEXT: s_waitcnt vmcnt(1)11606; SI-NEXT: v_cvt_f32_f16_e32 v26, v2611607; SI-NEXT: v_add_f32_e32 v26, 0x38000000, v2611608; SI-NEXT: v_cvt_f16_f32_e32 v26, v2611609; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v2611610; SI-NEXT: s_waitcnt vmcnt(0)11611; SI-NEXT: v_cvt_f32_f16_e32 v27, v2711612; SI-NEXT: v_add_f32_e32 v27, 0x38000000, v2711613; SI-NEXT: v_cvt_f16_f32_e32 v27, v2711614; SI-NEXT: v_or_b32_e32 v26, v27, v2611615; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v2811616; SI-NEXT: v_or_b32_e32 v27, v29, v2711617; SI-NEXT: .LBB19_3: ; %end11618; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload11619; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload11620; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload11621; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload11622; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload11623; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload11624; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload11625; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload11626; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload11627; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload11628; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload11629; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload11630; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload11631; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload11632; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload11633; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload11634; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)11635; SI-NEXT: s_setpc_b64 s[30:31]11636; SI-NEXT: .LBB19_4:11637; SI-NEXT: v_mov_b32_e32 v39, v1111638; SI-NEXT: v_mov_b32_e32 v33, v1011639; SI-NEXT: v_mov_b32_e32 v49, v211640; SI-NEXT: v_mov_b32_e32 v48, v311641; SI-NEXT: v_mov_b32_e32 v52, v3711642; SI-NEXT: v_mov_b32_e32 v37, v2911643; 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_vgpr3111644; SI-NEXT: v_mov_b32_e32 v42, v5811645; SI-NEXT: v_mov_b32_e32 v41, v6011646; SI-NEXT: v_mov_b32_e32 v40, v5611647; SI-NEXT: v_mov_b32_e32 v29, v3711648; SI-NEXT: v_mov_b32_e32 v37, v5211649; SI-NEXT: v_mov_b32_e32 v61, v4411650; SI-NEXT: s_branch .LBB19_211651;11652; VI-LABEL: bitcast_v56f16_to_v28i32_scalar:11653; VI: ; %bb.0:11654; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11655; VI-NEXT: s_lshr_b32 s6, s29, 1611656; VI-NEXT: s_lshr_b32 s7, s28, 1611657; VI-NEXT: s_lshr_b32 s8, s27, 1611658; VI-NEXT: s_lshr_b32 s9, s26, 1611659; VI-NEXT: s_lshr_b32 s10, s25, 1611660; VI-NEXT: s_lshr_b32 s11, s24, 1611661; VI-NEXT: s_lshr_b32 s12, s23, 1611662; VI-NEXT: s_lshr_b32 s13, s22, 1611663; VI-NEXT: s_lshr_b32 s14, s21, 1611664; VI-NEXT: s_lshr_b32 s15, s20, 1611665; VI-NEXT: s_lshr_b32 s40, s19, 1611666; VI-NEXT: s_lshr_b32 s41, s18, 1611667; VI-NEXT: s_lshr_b32 s42, s17, 1611668; VI-NEXT: s_lshr_b32 s43, s16, 1611669; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1411670; VI-NEXT: v_mov_b32_e32 v32, v1311671; VI-NEXT: v_mov_b32_e32 v33, v1211672; VI-NEXT: v_mov_b32_e32 v34, v1111673; VI-NEXT: v_mov_b32_e32 v35, v1011674; VI-NEXT: v_mov_b32_e32 v36, v911675; VI-NEXT: v_mov_b32_e32 v37, v811676; VI-NEXT: v_mov_b32_e32 v38, v711677; VI-NEXT: v_mov_b32_e32 v39, v611678; VI-NEXT: v_mov_b32_e32 v48, v511679; VI-NEXT: v_mov_b32_e32 v49, v411680; VI-NEXT: v_mov_b32_e32 v50, v311681; VI-NEXT: v_mov_b32_e32 v51, v211682; VI-NEXT: v_mov_b32_e32 v52, v111683; VI-NEXT: v_mov_b32_e32 v53, v011684; VI-NEXT: s_and_b64 s[4:5], vcc, exec11685; VI-NEXT: s_cbranch_scc0 .LBB19_411686; VI-NEXT: ; %bb.1: ; %cmp.false11687; VI-NEXT: s_and_b32 s4, 0xffff, s1611688; VI-NEXT: s_lshl_b32 s5, s43, 1611689; VI-NEXT: s_or_b32 s4, s4, s511690; VI-NEXT: s_and_b32 s5, 0xffff, s1711691; VI-NEXT: s_lshl_b32 s44, s42, 1611692; VI-NEXT: v_mov_b32_e32 v0, 1611693; VI-NEXT: s_or_b32 s5, s5, s4411694; VI-NEXT: s_and_b32 s44, 0xffff, s1811695; VI-NEXT: s_lshl_b32 s45, s41, 1611696; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111697; VI-NEXT: s_or_b32 s44, s44, s4511698; VI-NEXT: s_and_b32 s45, 0xffff, s1911699; VI-NEXT: s_lshl_b32 s46, s40, 1611700; VI-NEXT: v_or_b32_sdwa v14, v53, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11701; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111702; VI-NEXT: s_or_b32 s45, s45, s4611703; VI-NEXT: s_and_b32 s46, 0xffff, s2011704; VI-NEXT: s_lshl_b32 s47, s15, 1611705; VI-NEXT: v_or_b32_sdwa v16, v51, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11706; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111707; VI-NEXT: s_or_b32 s46, s46, s4711708; VI-NEXT: s_and_b32 s47, 0xffff, s2111709; VI-NEXT: s_lshl_b32 s56, s14, 1611710; VI-NEXT: v_or_b32_sdwa v17, v50, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11711; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111712; VI-NEXT: s_or_b32 s47, s47, s5611713; VI-NEXT: s_and_b32 s56, 0xffff, s2211714; VI-NEXT: s_lshl_b32 s57, s13, 1611715; VI-NEXT: v_or_b32_sdwa v18, v49, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11716; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111717; VI-NEXT: s_or_b32 s56, s56, s5711718; VI-NEXT: s_and_b32 s57, 0xffff, s2311719; VI-NEXT: s_lshl_b32 s58, s12, 1611720; VI-NEXT: v_or_b32_sdwa v19, v48, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11721; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111722; VI-NEXT: s_or_b32 s57, s57, s5811723; VI-NEXT: s_and_b32 s58, 0xffff, s2411724; VI-NEXT: s_lshl_b32 s59, s11, 1611725; VI-NEXT: v_or_b32_sdwa v20, v39, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11726; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111727; VI-NEXT: s_or_b32 s58, s58, s5911728; VI-NEXT: s_and_b32 s59, 0xffff, s2511729; VI-NEXT: s_lshl_b32 s60, s10, 1611730; VI-NEXT: v_or_b32_sdwa v21, v38, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11731; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111732; VI-NEXT: s_or_b32 s59, s59, s6011733; VI-NEXT: s_and_b32 s60, 0xffff, s2611734; VI-NEXT: s_lshl_b32 s61, s9, 1611735; VI-NEXT: v_or_b32_sdwa v22, v37, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11736; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111737; VI-NEXT: s_or_b32 s60, s60, s6111738; VI-NEXT: s_and_b32 s61, 0xffff, s2711739; VI-NEXT: s_lshl_b32 s62, s8, 1611740; VI-NEXT: v_or_b32_sdwa v23, v36, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11741; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111742; VI-NEXT: s_or_b32 s61, s61, s6211743; VI-NEXT: s_and_b32 s62, 0xffff, s2811744; VI-NEXT: s_lshl_b32 s63, s7, 1611745; VI-NEXT: v_or_b32_sdwa v24, v35, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11746; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111747; VI-NEXT: s_or_b32 s62, s62, s6311748; VI-NEXT: s_and_b32 s63, 0xffff, s2911749; VI-NEXT: s_lshl_b32 s72, s6, 1611750; VI-NEXT: v_lshlrev_b32_sdwa v2, v0, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111751; VI-NEXT: v_or_b32_sdwa v25, v34, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11752; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111753; VI-NEXT: v_lshlrev_b32_sdwa v0, v0, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_111754; VI-NEXT: s_or_b32 s63, s63, s7211755; VI-NEXT: v_or_b32_sdwa v15, v52, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11756; VI-NEXT: v_or_b32_sdwa v26, v33, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11757; VI-NEXT: v_or_b32_sdwa v27, v32, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD11758; VI-NEXT: v_mov_b32_e32 v0, s411759; VI-NEXT: v_mov_b32_e32 v1, s511760; VI-NEXT: v_mov_b32_e32 v2, s4411761; VI-NEXT: v_mov_b32_e32 v3, s4511762; VI-NEXT: v_mov_b32_e32 v4, s4611763; VI-NEXT: v_mov_b32_e32 v5, s4711764; VI-NEXT: v_mov_b32_e32 v6, s5611765; VI-NEXT: v_mov_b32_e32 v7, s5711766; VI-NEXT: v_mov_b32_e32 v8, s5811767; VI-NEXT: v_mov_b32_e32 v9, s5911768; VI-NEXT: v_mov_b32_e32 v10, s6011769; VI-NEXT: v_mov_b32_e32 v11, s6111770; VI-NEXT: v_mov_b32_e32 v12, s6211771; VI-NEXT: v_mov_b32_e32 v13, s6311772; VI-NEXT: s_cbranch_execnz .LBB19_311773; VI-NEXT: .LBB19_2: ; %cmp.true11774; VI-NEXT: v_mov_b32_e32 v13, 0x20011775; VI-NEXT: v_mov_b32_e32 v0, s4311776; VI-NEXT: v_mov_b32_e32 v2, s4211777; VI-NEXT: v_add_f16_sdwa v0, v0, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11778; VI-NEXT: v_add_f16_e32 v1, s16, v1311779; VI-NEXT: v_add_f16_sdwa v2, v2, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11780; VI-NEXT: v_add_f16_e32 v3, s17, v1311781; VI-NEXT: v_or_b32_e32 v0, v1, v011782; VI-NEXT: v_or_b32_e32 v1, v3, v211783; VI-NEXT: v_mov_b32_e32 v2, s4111784; VI-NEXT: v_add_f16_sdwa v2, v2, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11785; VI-NEXT: v_add_f16_e32 v3, s18, v1311786; VI-NEXT: v_or_b32_e32 v2, v3, v211787; VI-NEXT: v_mov_b32_e32 v3, s4011788; VI-NEXT: v_add_f16_sdwa v3, v3, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11789; VI-NEXT: v_add_f16_e32 v4, s19, v1311790; VI-NEXT: v_or_b32_e32 v3, v4, v311791; VI-NEXT: v_mov_b32_e32 v4, s1511792; VI-NEXT: v_add_f16_sdwa v4, v4, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11793; VI-NEXT: v_add_f16_e32 v5, s20, v1311794; VI-NEXT: v_or_b32_e32 v4, v5, v411795; VI-NEXT: v_mov_b32_e32 v5, s1411796; VI-NEXT: v_add_f16_sdwa v5, v5, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11797; VI-NEXT: v_add_f16_e32 v6, s21, v1311798; VI-NEXT: v_or_b32_e32 v5, v6, v511799; VI-NEXT: v_mov_b32_e32 v6, s1311800; VI-NEXT: v_add_f16_sdwa v6, v6, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11801; VI-NEXT: v_add_f16_e32 v7, s22, v1311802; VI-NEXT: v_or_b32_e32 v6, v7, v611803; VI-NEXT: v_mov_b32_e32 v7, s1211804; VI-NEXT: v_add_f16_sdwa v7, v7, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11805; VI-NEXT: v_add_f16_e32 v8, s23, v1311806; VI-NEXT: v_or_b32_e32 v7, v8, v711807; VI-NEXT: v_mov_b32_e32 v8, s1111808; VI-NEXT: v_add_f16_sdwa v8, v8, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11809; VI-NEXT: v_add_f16_e32 v9, s24, v1311810; VI-NEXT: v_or_b32_e32 v8, v9, v811811; VI-NEXT: v_mov_b32_e32 v9, s1011812; VI-NEXT: v_add_f16_sdwa v9, v9, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11813; VI-NEXT: v_add_f16_e32 v10, s25, v1311814; VI-NEXT: v_or_b32_e32 v9, v10, v911815; VI-NEXT: v_mov_b32_e32 v10, s911816; VI-NEXT: v_add_f16_sdwa v10, v10, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11817; VI-NEXT: v_add_f16_e32 v11, s26, v1311818; VI-NEXT: v_or_b32_e32 v10, v11, v1011819; VI-NEXT: v_mov_b32_e32 v11, s811820; VI-NEXT: v_add_f16_sdwa v11, v11, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11821; VI-NEXT: v_add_f16_e32 v12, s27, v1311822; VI-NEXT: v_or_b32_e32 v11, v12, v1111823; VI-NEXT: v_mov_b32_e32 v12, s711824; VI-NEXT: v_add_f16_sdwa v12, v12, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11825; VI-NEXT: v_add_f16_e32 v14, s28, v1311826; VI-NEXT: v_or_b32_e32 v12, v14, v1211827; VI-NEXT: v_mov_b32_e32 v14, s611828; VI-NEXT: v_add_f16_sdwa v14, v14, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD11829; VI-NEXT: v_add_f16_e32 v13, s29, v1311830; VI-NEXT: v_mov_b32_e32 v27, 0x20011831; VI-NEXT: v_or_b32_e32 v13, v13, v1411832; VI-NEXT: v_add_f16_sdwa v14, v53, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11833; VI-NEXT: v_add_f16_e32 v15, 0x200, v5311834; VI-NEXT: v_or_b32_e32 v14, v15, v1411835; VI-NEXT: v_add_f16_sdwa v15, v52, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11836; VI-NEXT: v_add_f16_e32 v16, 0x200, v5211837; VI-NEXT: v_or_b32_e32 v15, v16, v1511838; VI-NEXT: v_add_f16_sdwa v16, v51, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11839; VI-NEXT: v_add_f16_e32 v17, 0x200, v5111840; VI-NEXT: v_or_b32_e32 v16, v17, v1611841; VI-NEXT: v_add_f16_sdwa v17, v50, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11842; VI-NEXT: v_add_f16_e32 v18, 0x200, v5011843; VI-NEXT: v_or_b32_e32 v17, v18, v1711844; VI-NEXT: v_add_f16_sdwa v18, v49, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11845; VI-NEXT: v_add_f16_e32 v19, 0x200, v4911846; VI-NEXT: v_or_b32_e32 v18, v19, v1811847; VI-NEXT: v_add_f16_sdwa v19, v48, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11848; VI-NEXT: v_add_f16_e32 v20, 0x200, v4811849; VI-NEXT: v_or_b32_e32 v19, v20, v1911850; VI-NEXT: v_add_f16_sdwa v20, v39, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11851; VI-NEXT: v_add_f16_e32 v21, 0x200, v3911852; VI-NEXT: v_or_b32_e32 v20, v21, v2011853; VI-NEXT: v_add_f16_sdwa v21, v38, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11854; VI-NEXT: v_add_f16_e32 v22, 0x200, v3811855; VI-NEXT: v_or_b32_e32 v21, v22, v2111856; VI-NEXT: v_add_f16_sdwa v22, v37, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11857; VI-NEXT: v_add_f16_e32 v23, 0x200, v3711858; VI-NEXT: v_or_b32_e32 v22, v23, v2211859; VI-NEXT: v_add_f16_sdwa v23, v36, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11860; VI-NEXT: v_add_f16_e32 v24, 0x200, v3611861; VI-NEXT: v_or_b32_e32 v23, v24, v2311862; VI-NEXT: v_add_f16_sdwa v24, v35, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11863; VI-NEXT: v_add_f16_e32 v25, 0x200, v3511864; VI-NEXT: v_or_b32_e32 v24, v25, v2411865; VI-NEXT: v_add_f16_sdwa v25, v34, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11866; VI-NEXT: v_add_f16_e32 v26, 0x200, v3411867; VI-NEXT: v_or_b32_e32 v25, v26, v2511868; VI-NEXT: v_add_f16_sdwa v26, v33, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11869; VI-NEXT: v_add_f16_e32 v28, 0x200, v3311870; VI-NEXT: v_or_b32_e32 v26, v28, v2611871; VI-NEXT: v_add_f16_sdwa v27, v32, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD11872; VI-NEXT: v_add_f16_e32 v28, 0x200, v3211873; VI-NEXT: v_or_b32_e32 v27, v28, v2711874; VI-NEXT: .LBB19_3: ; %end11875; VI-NEXT: s_setpc_b64 s[30:31]11876; VI-NEXT: .LBB19_4:11877; 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_vgpr3111878; VI-NEXT: s_branch .LBB19_211879;11880; GFX9-LABEL: bitcast_v56f16_to_v28i32_scalar:11881; GFX9: ; %bb.0:11882; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)11883; GFX9-NEXT: v_mov_b32_e32 v32, v1311884; GFX9-NEXT: v_mov_b32_e32 v33, v1211885; GFX9-NEXT: v_mov_b32_e32 v34, v1111886; GFX9-NEXT: v_mov_b32_e32 v35, v1011887; GFX9-NEXT: v_mov_b32_e32 v36, v911888; GFX9-NEXT: v_mov_b32_e32 v37, v811889; GFX9-NEXT: v_mov_b32_e32 v38, v711890; GFX9-NEXT: v_mov_b32_e32 v39, v611891; GFX9-NEXT: v_mov_b32_e32 v48, v511892; GFX9-NEXT: v_mov_b32_e32 v49, v411893; GFX9-NEXT: v_mov_b32_e32 v50, v311894; GFX9-NEXT: v_mov_b32_e32 v51, v211895; GFX9-NEXT: v_mov_b32_e32 v52, v111896; GFX9-NEXT: v_mov_b32_e32 v53, v011897; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1411898; GFX9-NEXT: s_lshr_b32 s40, s29, 1611899; GFX9-NEXT: s_lshr_b32 s41, s28, 1611900; GFX9-NEXT: s_lshr_b32 s42, s27, 1611901; GFX9-NEXT: s_lshr_b32 s43, s26, 1611902; GFX9-NEXT: s_lshr_b32 s15, s25, 1611903; GFX9-NEXT: s_lshr_b32 s14, s24, 1611904; GFX9-NEXT: s_lshr_b32 s13, s23, 1611905; GFX9-NEXT: s_lshr_b32 s12, s22, 1611906; GFX9-NEXT: s_lshr_b32 s11, s21, 1611907; GFX9-NEXT: s_lshr_b32 s10, s20, 1611908; GFX9-NEXT: s_lshr_b32 s9, s19, 1611909; GFX9-NEXT: s_lshr_b32 s8, s18, 1611910; GFX9-NEXT: s_lshr_b32 s7, s17, 1611911; GFX9-NEXT: s_lshr_b32 s6, s16, 1611912; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill11913; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill11914; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill11915; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill11916; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill11917; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill11918; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill11919; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill11920; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill11921; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill11922; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill11923; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill11924; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v3211925; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v3311926; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v3411927; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v3511928; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v3611929; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v3711930; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec11931; GFX9-NEXT: s_pack_ll_b32_b16 s6, s16, s611932; GFX9-NEXT: s_pack_ll_b32_b16 s7, s17, s711933; GFX9-NEXT: s_pack_ll_b32_b16 s8, s18, s811934; GFX9-NEXT: s_pack_ll_b32_b16 s9, s19, s911935; GFX9-NEXT: s_pack_ll_b32_b16 s10, s20, s1011936; GFX9-NEXT: s_pack_ll_b32_b16 s11, s21, s1111937; GFX9-NEXT: s_pack_ll_b32_b16 s12, s22, s1211938; GFX9-NEXT: s_pack_ll_b32_b16 s13, s23, s1311939; GFX9-NEXT: s_pack_ll_b32_b16 s14, s24, s1411940; GFX9-NEXT: s_pack_ll_b32_b16 s15, s25, s1511941; GFX9-NEXT: s_pack_ll_b32_b16 s16, s26, s4311942; GFX9-NEXT: s_pack_ll_b32_b16 s17, s27, s4211943; GFX9-NEXT: s_pack_ll_b32_b16 s18, s28, s4111944; GFX9-NEXT: s_pack_ll_b32_b16 s19, s29, s4011945; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v3811946; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v3911947; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v4811948; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v4911949; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v5011950; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v5111951; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5211952; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v5311953; GFX9-NEXT: s_cbranch_scc0 .LBB19_411954; GFX9-NEXT: ; %bb.1: ; %cmp.false11955; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5311956; GFX9-NEXT: v_lshl_or_b32 v14, v59, 16, v011957; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5211958; GFX9-NEXT: v_lshl_or_b32 v15, v58, 16, v011959; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5111960; GFX9-NEXT: v_lshl_or_b32 v16, v57, 16, v011961; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5011962; GFX9-NEXT: v_lshl_or_b32 v17, v56, 16, v011963; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4911964; GFX9-NEXT: v_lshl_or_b32 v18, v47, 16, v011965; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4811966; GFX9-NEXT: v_lshl_or_b32 v19, v46, 16, v011967; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3911968; GFX9-NEXT: v_lshl_or_b32 v20, v45, 16, v011969; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3811970; GFX9-NEXT: v_lshl_or_b32 v21, v44, 16, v011971; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3711972; GFX9-NEXT: v_lshl_or_b32 v22, v43, 16, v011973; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3611974; GFX9-NEXT: v_lshl_or_b32 v23, v42, 16, v011975; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3511976; GFX9-NEXT: v_lshl_or_b32 v24, v41, 16, v011977; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3411978; GFX9-NEXT: v_lshl_or_b32 v25, v40, 16, v011979; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3311980; GFX9-NEXT: v_lshl_or_b32 v26, v55, 16, v011981; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3211982; GFX9-NEXT: v_lshl_or_b32 v27, v54, 16, v011983; GFX9-NEXT: v_mov_b32_e32 v0, s611984; GFX9-NEXT: v_mov_b32_e32 v1, s711985; GFX9-NEXT: v_mov_b32_e32 v2, s811986; GFX9-NEXT: v_mov_b32_e32 v3, s911987; GFX9-NEXT: v_mov_b32_e32 v4, s1011988; GFX9-NEXT: v_mov_b32_e32 v5, s1111989; GFX9-NEXT: v_mov_b32_e32 v6, s1211990; GFX9-NEXT: v_mov_b32_e32 v7, s1311991; GFX9-NEXT: v_mov_b32_e32 v8, s1411992; GFX9-NEXT: v_mov_b32_e32 v9, s1511993; GFX9-NEXT: v_mov_b32_e32 v10, s1611994; GFX9-NEXT: v_mov_b32_e32 v11, s1711995; GFX9-NEXT: v_mov_b32_e32 v12, s1811996; GFX9-NEXT: v_mov_b32_e32 v13, s1911997; GFX9-NEXT: s_cbranch_execnz .LBB19_311998; GFX9-NEXT: .LBB19_2: ; %cmp.true11999; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v5312000; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v5212001; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v5112002; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v5012003; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v4912004; GFX9-NEXT: v_and_b32_e32 v19, 0xffff, v4812005; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v3912006; GFX9-NEXT: v_and_b32_e32 v21, 0xffff, v3812007; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v3712008; GFX9-NEXT: v_and_b32_e32 v23, 0xffff, v3612009; GFX9-NEXT: v_and_b32_e32 v24, 0xffff, v3512010; GFX9-NEXT: v_and_b32_e32 v25, 0xffff, v3412011; GFX9-NEXT: v_and_b32_e32 v26, 0xffff, v3312012; GFX9-NEXT: v_and_b32_e32 v27, 0xffff, v3212013; GFX9-NEXT: v_mov_b32_e32 v13, 0x20012014; GFX9-NEXT: s_movk_i32 s4, 0x20012015; GFX9-NEXT: v_lshl_or_b32 v14, v59, 16, v1412016; GFX9-NEXT: v_lshl_or_b32 v15, v58, 16, v1512017; GFX9-NEXT: v_lshl_or_b32 v16, v57, 16, v1612018; GFX9-NEXT: v_lshl_or_b32 v17, v56, 16, v1712019; GFX9-NEXT: v_lshl_or_b32 v18, v47, 16, v1812020; GFX9-NEXT: v_lshl_or_b32 v19, v46, 16, v1912021; GFX9-NEXT: v_lshl_or_b32 v20, v45, 16, v2012022; GFX9-NEXT: v_lshl_or_b32 v21, v44, 16, v2112023; GFX9-NEXT: v_lshl_or_b32 v22, v43, 16, v2212024; GFX9-NEXT: v_lshl_or_b32 v23, v42, 16, v2312025; GFX9-NEXT: v_lshl_or_b32 v24, v41, 16, v2412026; GFX9-NEXT: v_lshl_or_b32 v25, v40, 16, v2512027; GFX9-NEXT: v_lshl_or_b32 v26, v55, 16, v2612028; GFX9-NEXT: v_lshl_or_b32 v27, v54, 16, v2712029; GFX9-NEXT: v_pk_add_f16 v0, s6, v13 op_sel_hi:[1,0]12030; GFX9-NEXT: v_pk_add_f16 v1, s7, v13 op_sel_hi:[1,0]12031; GFX9-NEXT: v_pk_add_f16 v2, s8, v13 op_sel_hi:[1,0]12032; GFX9-NEXT: v_pk_add_f16 v3, s9, v13 op_sel_hi:[1,0]12033; GFX9-NEXT: v_pk_add_f16 v4, s10, v13 op_sel_hi:[1,0]12034; GFX9-NEXT: v_pk_add_f16 v5, s11, v13 op_sel_hi:[1,0]12035; GFX9-NEXT: v_pk_add_f16 v6, s12, v13 op_sel_hi:[1,0]12036; GFX9-NEXT: v_pk_add_f16 v7, s13, v13 op_sel_hi:[1,0]12037; GFX9-NEXT: v_pk_add_f16 v8, s14, v13 op_sel_hi:[1,0]12038; GFX9-NEXT: v_pk_add_f16 v9, s15, v13 op_sel_hi:[1,0]12039; GFX9-NEXT: v_pk_add_f16 v10, s16, v13 op_sel_hi:[1,0]12040; GFX9-NEXT: v_pk_add_f16 v11, s17, v13 op_sel_hi:[1,0]12041; GFX9-NEXT: v_pk_add_f16 v12, s18, v13 op_sel_hi:[1,0]12042; GFX9-NEXT: v_pk_add_f16 v13, s19, v13 op_sel_hi:[1,0]12043; GFX9-NEXT: v_pk_add_f16 v14, v14, s4 op_sel_hi:[1,0]12044; GFX9-NEXT: v_pk_add_f16 v15, v15, s4 op_sel_hi:[1,0]12045; GFX9-NEXT: v_pk_add_f16 v16, v16, s4 op_sel_hi:[1,0]12046; GFX9-NEXT: v_pk_add_f16 v17, v17, s4 op_sel_hi:[1,0]12047; GFX9-NEXT: v_pk_add_f16 v18, v18, s4 op_sel_hi:[1,0]12048; GFX9-NEXT: v_pk_add_f16 v19, v19, s4 op_sel_hi:[1,0]12049; GFX9-NEXT: v_pk_add_f16 v20, v20, s4 op_sel_hi:[1,0]12050; GFX9-NEXT: v_pk_add_f16 v21, v21, s4 op_sel_hi:[1,0]12051; GFX9-NEXT: v_pk_add_f16 v22, v22, s4 op_sel_hi:[1,0]12052; GFX9-NEXT: v_pk_add_f16 v23, v23, s4 op_sel_hi:[1,0]12053; GFX9-NEXT: v_pk_add_f16 v24, v24, s4 op_sel_hi:[1,0]12054; GFX9-NEXT: v_pk_add_f16 v25, v25, s4 op_sel_hi:[1,0]12055; GFX9-NEXT: v_pk_add_f16 v26, v26, s4 op_sel_hi:[1,0]12056; GFX9-NEXT: v_pk_add_f16 v27, v27, s4 op_sel_hi:[1,0]12057; GFX9-NEXT: .LBB19_3: ; %end12058; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload12059; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload12060; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload12061; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload12062; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload12063; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload12064; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload12065; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload12066; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload12067; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload12068; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload12069; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload12070; GFX9-NEXT: s_waitcnt vmcnt(0)12071; GFX9-NEXT: s_setpc_b64 s[30:31]12072; GFX9-NEXT: .LBB19_4:12073; 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_vgpr3112074; GFX9-NEXT: s_branch .LBB19_212075;12076; GFX11-TRUE16-LABEL: bitcast_v56f16_to_v28i32_scalar:12077; GFX11-TRUE16: ; %bb.0:12078; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12079; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1012080; GFX11-TRUE16-NEXT: v_dual_mov_b32 v27, v9 :: v_dual_mov_b32 v26, v812081; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, v7 :: v_dual_mov_b32 v24, v612082; GFX11-TRUE16-NEXT: v_dual_mov_b32 v23, v5 :: v_dual_mov_b32 v22, v412083; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, v3 :: v_dual_mov_b32 v20, v212084; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, v1 :: v_dual_mov_b32 v18, v012085; GFX11-TRUE16-NEXT: s_lshr_b32 s41, s29, 1612086; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 1612087; GFX11-TRUE16-NEXT: s_lshr_b32 s15, s27, 1612088; GFX11-TRUE16-NEXT: s_lshr_b32 s14, s26, 1612089; GFX11-TRUE16-NEXT: s_lshr_b32 s13, s25, 1612090; GFX11-TRUE16-NEXT: s_lshr_b32 s12, s24, 1612091; GFX11-TRUE16-NEXT: s_lshr_b32 s11, s23, 1612092; GFX11-TRUE16-NEXT: s_lshr_b32 s10, s22, 1612093; GFX11-TRUE16-NEXT: s_lshr_b32 s9, s21, 1612094; GFX11-TRUE16-NEXT: s_lshr_b32 s8, s20, 1612095; GFX11-TRUE16-NEXT: s_lshr_b32 s7, s19, 1612096; GFX11-TRUE16-NEXT: s_lshr_b32 s6, s18, 1612097; GFX11-TRUE16-NEXT: s_lshr_b32 s5, s17, 1612098; GFX11-TRUE16-NEXT: s_lshr_b32 s4, s16, 1612099; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s3, 1612100; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s2, 1612101; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s1, 1612102; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s0, 1612103; GFX11-TRUE16-NEXT: s_mov_b32 s40, 012104; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4612105; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4512106; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4412107; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4312108; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s4, s16, s412109; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s5, s17, s512110; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s6, s18, s612111; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s7, s19, s712112; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s8, s20, s812113; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s9, s21, s912114; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1012115; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1112116; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1212117; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1312118; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1412119; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s15, s27, s1512120; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s16, s28, s4212121; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s17, s29, s4112122; GFX11-TRUE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo12123; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB19_412124; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false12125; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s112126; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s312127; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s512128; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s712129; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s912130; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1112131; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1312132; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1512133; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s1712134; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4012135; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB19_312136; GFX11-TRUE16-NEXT: .LBB19_2: ; %cmp.true12137; GFX11-TRUE16-NEXT: v_pk_add_f16 v0, 0x200, s0 op_sel_hi:[0,1]12138; GFX11-TRUE16-NEXT: v_pk_add_f16 v1, 0x200, s1 op_sel_hi:[0,1]12139; GFX11-TRUE16-NEXT: v_pk_add_f16 v2, 0x200, s2 op_sel_hi:[0,1]12140; GFX11-TRUE16-NEXT: v_pk_add_f16 v3, 0x200, s3 op_sel_hi:[0,1]12141; GFX11-TRUE16-NEXT: v_pk_add_f16 v4, 0x200, s4 op_sel_hi:[0,1]12142; GFX11-TRUE16-NEXT: v_pk_add_f16 v5, 0x200, s5 op_sel_hi:[0,1]12143; GFX11-TRUE16-NEXT: v_pk_add_f16 v6, 0x200, s6 op_sel_hi:[0,1]12144; GFX11-TRUE16-NEXT: v_pk_add_f16 v7, 0x200, s7 op_sel_hi:[0,1]12145; GFX11-TRUE16-NEXT: v_pk_add_f16 v8, 0x200, s8 op_sel_hi:[0,1]12146; GFX11-TRUE16-NEXT: v_pk_add_f16 v9, 0x200, s9 op_sel_hi:[0,1]12147; GFX11-TRUE16-NEXT: v_pk_add_f16 v10, 0x200, s10 op_sel_hi:[0,1]12148; GFX11-TRUE16-NEXT: v_pk_add_f16 v11, 0x200, s11 op_sel_hi:[0,1]12149; GFX11-TRUE16-NEXT: v_pk_add_f16 v12, 0x200, s12 op_sel_hi:[0,1]12150; GFX11-TRUE16-NEXT: v_pk_add_f16 v13, 0x200, s13 op_sel_hi:[0,1]12151; GFX11-TRUE16-NEXT: v_pk_add_f16 v14, 0x200, s14 op_sel_hi:[0,1]12152; GFX11-TRUE16-NEXT: v_pk_add_f16 v15, 0x200, s15 op_sel_hi:[0,1]12153; GFX11-TRUE16-NEXT: v_pk_add_f16 v16, 0x200, s16 op_sel_hi:[0,1]12154; GFX11-TRUE16-NEXT: v_pk_add_f16 v17, 0x200, s17 op_sel_hi:[0,1]12155; GFX11-TRUE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]12156; GFX11-TRUE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]12157; GFX11-TRUE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]12158; GFX11-TRUE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]12159; GFX11-TRUE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]12160; GFX11-TRUE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]12161; GFX11-TRUE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]12162; GFX11-TRUE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]12163; GFX11-TRUE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]12164; GFX11-TRUE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]12165; GFX11-TRUE16-NEXT: .LBB19_3: ; %end12166; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]12167; GFX11-TRUE16-NEXT: .LBB19_4:12168; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr012169; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112170; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr212171; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr312172; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr412173; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr512174; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr612175; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr712176; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr812177; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr912178; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1012179; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1112180; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1212181; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1312182; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1412183; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1512184; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1612185; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1712186; GFX11-TRUE16-NEXT: s_branch .LBB19_212187;12188; GFX11-FAKE16-LABEL: bitcast_v56f16_to_v28i32_scalar:12189; GFX11-FAKE16: ; %bb.0:12190; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12191; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1012192; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v912193; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v812194; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v712195; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v612196; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v512197; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v412198; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v312199; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v212200; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v112201; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v012202; GFX11-FAKE16-NEXT: v_and_b32_e32 v67, 0xffff, v012203; GFX11-FAKE16-NEXT: v_and_b32_e32 v66, 0xffff, v112204; GFX11-FAKE16-NEXT: v_and_b32_e32 v65, 0xffff, v212205; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v312206; GFX11-FAKE16-NEXT: v_and_b32_e32 v55, 0xffff, v412207; GFX11-FAKE16-NEXT: v_and_b32_e32 v54, 0xffff, v512208; GFX11-FAKE16-NEXT: v_and_b32_e32 v53, 0xffff, v612209; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v712210; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v812211; GFX11-FAKE16-NEXT: v_and_b32_e32 v50, 0xffff, v912212; GFX11-FAKE16-NEXT: s_lshr_b32 s40, s29, 1612213; GFX11-FAKE16-NEXT: s_lshr_b32 s41, s28, 1612214; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s27, 1612215; GFX11-FAKE16-NEXT: s_lshr_b32 s14, s26, 1612216; GFX11-FAKE16-NEXT: s_lshr_b32 s13, s25, 1612217; GFX11-FAKE16-NEXT: s_lshr_b32 s12, s24, 1612218; GFX11-FAKE16-NEXT: s_lshr_b32 s11, s23, 1612219; GFX11-FAKE16-NEXT: s_lshr_b32 s10, s22, 1612220; GFX11-FAKE16-NEXT: s_lshr_b32 s9, s21, 1612221; GFX11-FAKE16-NEXT: s_lshr_b32 s8, s20, 1612222; GFX11-FAKE16-NEXT: s_lshr_b32 s7, s19, 1612223; GFX11-FAKE16-NEXT: s_lshr_b32 s6, s18, 1612224; GFX11-FAKE16-NEXT: s_lshr_b32 s5, s17, 1612225; GFX11-FAKE16-NEXT: s_lshr_b32 s4, s16, 1612226; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s3, 1612227; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s2, 1612228; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s1, 1612229; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s0, 1612230; GFX11-FAKE16-NEXT: s_mov_b32 s15, 012231; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4612232; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4512233; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4412234; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4312235; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s4, s16, s412236; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s5, s17, s512237; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s6, s18, s612238; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s7, s19, s712239; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s8, s20, s812240; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s9, s21, s912241; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1012242; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1112243; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1212244; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1312245; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1412246; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s16, s27, s4212247; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s17, s28, s4112248; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s18, s29, s4012249; GFX11-FAKE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo12250; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB19_412251; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false12252; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v6712253; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v6612254; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v6512255; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v6412256; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v5512257; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v5412258; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v5312259; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v5212260; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v33, 16, v5112261; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v32, 16, v5012262; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s112263; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s312264; GFX11-FAKE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s512265; GFX11-FAKE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s712266; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s912267; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1112268; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1312269; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1612270; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s17 :: v_dual_mov_b32 v17, s1812271; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s1512272; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB19_312273; GFX11-FAKE16-NEXT: .LBB19_2: ; %cmp.true12274; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v6712275; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v6612276; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v6512277; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v6412278; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v5512279; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v5412280; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v5312281; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v5212282; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v33, 16, v5112283; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v32, 16, v5012284; GFX11-FAKE16-NEXT: v_pk_add_f16 v0, 0x200, s0 op_sel_hi:[0,1]12285; GFX11-FAKE16-NEXT: v_pk_add_f16 v1, 0x200, s1 op_sel_hi:[0,1]12286; GFX11-FAKE16-NEXT: v_pk_add_f16 v2, 0x200, s2 op_sel_hi:[0,1]12287; GFX11-FAKE16-NEXT: v_pk_add_f16 v3, 0x200, s3 op_sel_hi:[0,1]12288; GFX11-FAKE16-NEXT: v_pk_add_f16 v4, 0x200, s4 op_sel_hi:[0,1]12289; GFX11-FAKE16-NEXT: v_pk_add_f16 v5, 0x200, s5 op_sel_hi:[0,1]12290; GFX11-FAKE16-NEXT: v_pk_add_f16 v6, 0x200, s6 op_sel_hi:[0,1]12291; GFX11-FAKE16-NEXT: v_pk_add_f16 v7, 0x200, s7 op_sel_hi:[0,1]12292; GFX11-FAKE16-NEXT: v_pk_add_f16 v8, 0x200, s8 op_sel_hi:[0,1]12293; GFX11-FAKE16-NEXT: v_pk_add_f16 v9, 0x200, s9 op_sel_hi:[0,1]12294; GFX11-FAKE16-NEXT: v_pk_add_f16 v10, 0x200, s10 op_sel_hi:[0,1]12295; GFX11-FAKE16-NEXT: v_pk_add_f16 v11, 0x200, s11 op_sel_hi:[0,1]12296; GFX11-FAKE16-NEXT: v_pk_add_f16 v12, 0x200, s12 op_sel_hi:[0,1]12297; GFX11-FAKE16-NEXT: v_pk_add_f16 v13, 0x200, s13 op_sel_hi:[0,1]12298; GFX11-FAKE16-NEXT: v_pk_add_f16 v14, 0x200, s14 op_sel_hi:[0,1]12299; GFX11-FAKE16-NEXT: v_pk_add_f16 v15, 0x200, s16 op_sel_hi:[0,1]12300; GFX11-FAKE16-NEXT: v_pk_add_f16 v16, 0x200, s17 op_sel_hi:[0,1]12301; GFX11-FAKE16-NEXT: v_pk_add_f16 v17, 0x200, s18 op_sel_hi:[0,1]12302; GFX11-FAKE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]12303; GFX11-FAKE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]12304; GFX11-FAKE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]12305; GFX11-FAKE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]12306; GFX11-FAKE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]12307; GFX11-FAKE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]12308; GFX11-FAKE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]12309; GFX11-FAKE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]12310; GFX11-FAKE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]12311; GFX11-FAKE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]12312; GFX11-FAKE16-NEXT: .LBB19_3: ; %end12313; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]12314; GFX11-FAKE16-NEXT: .LBB19_4:12315; 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_vgpr3112316; GFX11-FAKE16-NEXT: s_branch .LBB19_212317 %cmp = icmp eq i32 %b, 012318 br i1 %cmp, label %cmp.true, label %cmp.false12319 12320cmp.true:12321 %a1 = fadd <56 x half> %a, splat (half 0xH0200)12322 %a2 = bitcast <56 x half> %a1 to <28 x i32>12323 br label %end12324 12325cmp.false:12326 %a3 = bitcast <56 x half> %a to <28 x i32>12327 br label %end12328 12329end:12330 %phi = phi <28 x i32> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12331 ret <28 x i32> %phi12332}12333 12334define <14 x i64> @bitcast_v28f32_to_v14i64(<28 x float> %a, i32 %b) {12335; SI-LABEL: bitcast_v28f32_to_v14i64:12336; SI: ; %bb.0:12337; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12338; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2812339; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc12340; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12341; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12342; SI-NEXT: s_cbranch_execz .LBB20_212343; SI-NEXT: ; %bb.1: ; %cmp.true12344; SI-NEXT: v_add_f32_e32 v27, 1.0, v2712345; SI-NEXT: v_add_f32_e32 v26, 1.0, v2612346; SI-NEXT: v_add_f32_e32 v25, 1.0, v2512347; SI-NEXT: v_add_f32_e32 v24, 1.0, v2412348; SI-NEXT: v_add_f32_e32 v23, 1.0, v2312349; SI-NEXT: v_add_f32_e32 v22, 1.0, v2212350; SI-NEXT: v_add_f32_e32 v21, 1.0, v2112351; SI-NEXT: v_add_f32_e32 v20, 1.0, v2012352; SI-NEXT: v_add_f32_e32 v19, 1.0, v1912353; SI-NEXT: v_add_f32_e32 v18, 1.0, v1812354; SI-NEXT: v_add_f32_e32 v17, 1.0, v1712355; SI-NEXT: v_add_f32_e32 v16, 1.0, v1612356; SI-NEXT: v_add_f32_e32 v15, 1.0, v1512357; SI-NEXT: v_add_f32_e32 v14, 1.0, v1412358; SI-NEXT: v_add_f32_e32 v13, 1.0, v1312359; SI-NEXT: v_add_f32_e32 v12, 1.0, v1212360; SI-NEXT: v_add_f32_e32 v11, 1.0, v1112361; SI-NEXT: v_add_f32_e32 v10, 1.0, v1012362; SI-NEXT: v_add_f32_e32 v9, 1.0, v912363; SI-NEXT: v_add_f32_e32 v8, 1.0, v812364; SI-NEXT: v_add_f32_e32 v7, 1.0, v712365; SI-NEXT: v_add_f32_e32 v6, 1.0, v612366; SI-NEXT: v_add_f32_e32 v5, 1.0, v512367; SI-NEXT: v_add_f32_e32 v4, 1.0, v412368; SI-NEXT: v_add_f32_e32 v3, 1.0, v312369; SI-NEXT: v_add_f32_e32 v2, 1.0, v212370; SI-NEXT: v_add_f32_e32 v1, 1.0, v112371; SI-NEXT: v_add_f32_e32 v0, 1.0, v012372; SI-NEXT: .LBB20_2: ; %end12373; SI-NEXT: s_or_b64 exec, exec, s[4:5]12374; SI-NEXT: s_setpc_b64 s[30:31]12375;12376; VI-LABEL: bitcast_v28f32_to_v14i64:12377; VI: ; %bb.0:12378; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12379; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2812380; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc12381; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12382; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12383; VI-NEXT: s_cbranch_execz .LBB20_212384; VI-NEXT: ; %bb.1: ; %cmp.true12385; VI-NEXT: v_add_f32_e32 v27, 1.0, v2712386; VI-NEXT: v_add_f32_e32 v26, 1.0, v2612387; VI-NEXT: v_add_f32_e32 v25, 1.0, v2512388; VI-NEXT: v_add_f32_e32 v24, 1.0, v2412389; VI-NEXT: v_add_f32_e32 v23, 1.0, v2312390; VI-NEXT: v_add_f32_e32 v22, 1.0, v2212391; VI-NEXT: v_add_f32_e32 v21, 1.0, v2112392; VI-NEXT: v_add_f32_e32 v20, 1.0, v2012393; VI-NEXT: v_add_f32_e32 v19, 1.0, v1912394; VI-NEXT: v_add_f32_e32 v18, 1.0, v1812395; VI-NEXT: v_add_f32_e32 v17, 1.0, v1712396; VI-NEXT: v_add_f32_e32 v16, 1.0, v1612397; VI-NEXT: v_add_f32_e32 v15, 1.0, v1512398; VI-NEXT: v_add_f32_e32 v14, 1.0, v1412399; VI-NEXT: v_add_f32_e32 v13, 1.0, v1312400; VI-NEXT: v_add_f32_e32 v12, 1.0, v1212401; VI-NEXT: v_add_f32_e32 v11, 1.0, v1112402; VI-NEXT: v_add_f32_e32 v10, 1.0, v1012403; VI-NEXT: v_add_f32_e32 v9, 1.0, v912404; VI-NEXT: v_add_f32_e32 v8, 1.0, v812405; VI-NEXT: v_add_f32_e32 v7, 1.0, v712406; VI-NEXT: v_add_f32_e32 v6, 1.0, v612407; VI-NEXT: v_add_f32_e32 v5, 1.0, v512408; VI-NEXT: v_add_f32_e32 v4, 1.0, v412409; VI-NEXT: v_add_f32_e32 v3, 1.0, v312410; VI-NEXT: v_add_f32_e32 v2, 1.0, v212411; VI-NEXT: v_add_f32_e32 v1, 1.0, v112412; VI-NEXT: v_add_f32_e32 v0, 1.0, v012413; VI-NEXT: .LBB20_2: ; %end12414; VI-NEXT: s_or_b64 exec, exec, s[4:5]12415; VI-NEXT: s_setpc_b64 s[30:31]12416;12417; GFX9-LABEL: bitcast_v28f32_to_v14i64:12418; GFX9: ; %bb.0:12419; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12420; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2812421; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc12422; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12423; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12424; GFX9-NEXT: s_cbranch_execz .LBB20_212425; GFX9-NEXT: ; %bb.1: ; %cmp.true12426; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2712427; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2612428; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2512429; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2412430; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2312431; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2212432; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2112433; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2012434; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1912435; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1812436; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1712437; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1612438; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1512439; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1412440; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1312441; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1212442; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1112443; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1012444; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v912445; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v812446; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v712447; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v612448; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v512449; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v412450; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v312451; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v212452; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v112453; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v012454; GFX9-NEXT: .LBB20_2: ; %end12455; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]12456; GFX9-NEXT: s_setpc_b64 s[30:31]12457;12458; GFX11-LABEL: bitcast_v28f32_to_v14i64:12459; GFX11: ; %bb.0:12460; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12461; GFX11-NEXT: s_mov_b32 s0, exec_lo12462; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2812463; GFX11-NEXT: s_xor_b32 s0, exec_lo, s012464; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)12465; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s012466; GFX11-NEXT: s_cbranch_execz .LBB20_212467; GFX11-NEXT: ; %bb.1: ; %cmp.true12468; GFX11-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2612469; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2412470; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2212471; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2012472; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1812473; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1612474; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1412475; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1212476; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1012477; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v812478; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v612479; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v412480; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v212481; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v012482; GFX11-NEXT: .LBB20_2: ; %end12483; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s012484; GFX11-NEXT: s_setpc_b64 s[30:31]12485 %cmp = icmp eq i32 %b, 012486 br i1 %cmp, label %cmp.true, label %cmp.false12487 12488cmp.true:12489 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)12490 %a2 = bitcast <28 x float> %a1 to <14 x i64>12491 br label %end12492 12493cmp.false:12494 %a3 = bitcast <28 x float> %a to <14 x i64>12495 br label %end12496 12497end:12498 %phi = phi <14 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12499 ret <14 x i64> %phi12500}12501 12502define inreg <14 x i64> @bitcast_v28f32_to_v14i64_scalar(<28 x float> inreg %a, i32 inreg %b) {12503; SI-LABEL: bitcast_v28f32_to_v14i64_scalar:12504; SI: ; %bb.0:12505; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12506; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1412507; SI-NEXT: v_mov_b32_e32 v27, v1312508; SI-NEXT: v_mov_b32_e32 v26, v1212509; SI-NEXT: v_mov_b32_e32 v25, v1112510; SI-NEXT: v_mov_b32_e32 v24, v1012511; SI-NEXT: v_mov_b32_e32 v23, v912512; SI-NEXT: v_mov_b32_e32 v22, v812513; SI-NEXT: v_mov_b32_e32 v21, v712514; SI-NEXT: v_mov_b32_e32 v20, v612515; SI-NEXT: v_mov_b32_e32 v19, v512516; SI-NEXT: v_mov_b32_e32 v18, v412517; SI-NEXT: v_mov_b32_e32 v17, v312518; SI-NEXT: v_mov_b32_e32 v16, v212519; SI-NEXT: v_mov_b32_e32 v15, v112520; SI-NEXT: v_mov_b32_e32 v28, v012521; SI-NEXT: v_mov_b32_e32 v0, s1612522; SI-NEXT: v_mov_b32_e32 v1, s1712523; SI-NEXT: v_mov_b32_e32 v2, s1812524; SI-NEXT: v_mov_b32_e32 v3, s1912525; SI-NEXT: v_mov_b32_e32 v4, s2012526; SI-NEXT: v_mov_b32_e32 v5, s2112527; SI-NEXT: s_and_b64 s[4:5], vcc, exec12528; SI-NEXT: v_mov_b32_e32 v6, s2212529; SI-NEXT: v_mov_b32_e32 v7, s2312530; SI-NEXT: v_mov_b32_e32 v8, s2412531; SI-NEXT: v_mov_b32_e32 v9, s2512532; SI-NEXT: v_mov_b32_e32 v10, s2612533; SI-NEXT: v_mov_b32_e32 v11, s2712534; SI-NEXT: v_mov_b32_e32 v12, s2812535; SI-NEXT: v_mov_b32_e32 v13, s2912536; SI-NEXT: s_cbranch_scc0 .LBB21_412537; SI-NEXT: ; %bb.1: ; %cmp.false12538; SI-NEXT: s_cbranch_execnz .LBB21_312539; SI-NEXT: .LBB21_2: ; %cmp.true12540; SI-NEXT: v_add_f32_e32 v27, 1.0, v2712541; SI-NEXT: v_add_f32_e32 v26, 1.0, v2612542; SI-NEXT: v_add_f32_e32 v25, 1.0, v2512543; SI-NEXT: v_add_f32_e32 v24, 1.0, v2412544; SI-NEXT: v_add_f32_e32 v23, 1.0, v2312545; SI-NEXT: v_add_f32_e32 v22, 1.0, v2212546; SI-NEXT: v_add_f32_e32 v21, 1.0, v2112547; SI-NEXT: v_add_f32_e32 v20, 1.0, v2012548; SI-NEXT: v_add_f32_e32 v19, 1.0, v1912549; SI-NEXT: v_add_f32_e32 v18, 1.0, v1812550; SI-NEXT: v_add_f32_e32 v17, 1.0, v1712551; SI-NEXT: v_add_f32_e32 v16, 1.0, v1612552; SI-NEXT: v_add_f32_e32 v15, 1.0, v1512553; SI-NEXT: v_add_f32_e32 v28, 1.0, v2812554; SI-NEXT: v_add_f32_e32 v13, 1.0, v1312555; SI-NEXT: v_add_f32_e32 v12, 1.0, v1212556; SI-NEXT: v_add_f32_e32 v11, 1.0, v1112557; SI-NEXT: v_add_f32_e32 v10, 1.0, v1012558; SI-NEXT: v_add_f32_e32 v9, 1.0, v912559; SI-NEXT: v_add_f32_e32 v8, 1.0, v812560; SI-NEXT: v_add_f32_e32 v7, 1.0, v712561; SI-NEXT: v_add_f32_e32 v6, 1.0, v612562; SI-NEXT: v_add_f32_e32 v5, 1.0, v512563; SI-NEXT: v_add_f32_e32 v4, 1.0, v412564; SI-NEXT: v_add_f32_e32 v3, 1.0, v312565; SI-NEXT: v_add_f32_e32 v2, 1.0, v212566; SI-NEXT: v_add_f32_e32 v1, 1.0, v112567; SI-NEXT: v_add_f32_e32 v0, 1.0, v012568; SI-NEXT: .LBB21_3: ; %end12569; SI-NEXT: v_mov_b32_e32 v14, v2812570; SI-NEXT: s_setpc_b64 s[30:31]12571; SI-NEXT: .LBB21_4:12572; SI-NEXT: s_branch .LBB21_212573;12574; VI-LABEL: bitcast_v28f32_to_v14i64_scalar:12575; VI: ; %bb.0:12576; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12577; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1412578; VI-NEXT: v_mov_b32_e32 v27, v1312579; VI-NEXT: v_mov_b32_e32 v26, v1212580; VI-NEXT: v_mov_b32_e32 v25, v1112581; VI-NEXT: v_mov_b32_e32 v24, v1012582; VI-NEXT: v_mov_b32_e32 v23, v912583; VI-NEXT: v_mov_b32_e32 v22, v812584; VI-NEXT: v_mov_b32_e32 v21, v712585; VI-NEXT: v_mov_b32_e32 v20, v612586; VI-NEXT: v_mov_b32_e32 v19, v512587; VI-NEXT: v_mov_b32_e32 v18, v412588; VI-NEXT: v_mov_b32_e32 v17, v312589; VI-NEXT: v_mov_b32_e32 v16, v212590; VI-NEXT: v_mov_b32_e32 v15, v112591; VI-NEXT: v_mov_b32_e32 v28, v012592; VI-NEXT: v_mov_b32_e32 v0, s1612593; VI-NEXT: v_mov_b32_e32 v1, s1712594; VI-NEXT: v_mov_b32_e32 v2, s1812595; VI-NEXT: v_mov_b32_e32 v3, s1912596; VI-NEXT: v_mov_b32_e32 v4, s2012597; VI-NEXT: v_mov_b32_e32 v5, s2112598; VI-NEXT: s_and_b64 s[4:5], vcc, exec12599; VI-NEXT: v_mov_b32_e32 v6, s2212600; VI-NEXT: v_mov_b32_e32 v7, s2312601; VI-NEXT: v_mov_b32_e32 v8, s2412602; VI-NEXT: v_mov_b32_e32 v9, s2512603; VI-NEXT: v_mov_b32_e32 v10, s2612604; VI-NEXT: v_mov_b32_e32 v11, s2712605; VI-NEXT: v_mov_b32_e32 v12, s2812606; VI-NEXT: v_mov_b32_e32 v13, s2912607; VI-NEXT: s_cbranch_scc0 .LBB21_412608; VI-NEXT: ; %bb.1: ; %cmp.false12609; VI-NEXT: s_cbranch_execnz .LBB21_312610; VI-NEXT: .LBB21_2: ; %cmp.true12611; VI-NEXT: v_add_f32_e32 v27, 1.0, v2712612; VI-NEXT: v_add_f32_e32 v26, 1.0, v2612613; VI-NEXT: v_add_f32_e32 v25, 1.0, v2512614; VI-NEXT: v_add_f32_e32 v24, 1.0, v2412615; VI-NEXT: v_add_f32_e32 v23, 1.0, v2312616; VI-NEXT: v_add_f32_e32 v22, 1.0, v2212617; VI-NEXT: v_add_f32_e32 v21, 1.0, v2112618; VI-NEXT: v_add_f32_e32 v20, 1.0, v2012619; VI-NEXT: v_add_f32_e32 v19, 1.0, v1912620; VI-NEXT: v_add_f32_e32 v18, 1.0, v1812621; VI-NEXT: v_add_f32_e32 v17, 1.0, v1712622; VI-NEXT: v_add_f32_e32 v16, 1.0, v1612623; VI-NEXT: v_add_f32_e32 v15, 1.0, v1512624; VI-NEXT: v_add_f32_e32 v28, 1.0, v2812625; VI-NEXT: v_add_f32_e32 v13, 1.0, v1312626; VI-NEXT: v_add_f32_e32 v12, 1.0, v1212627; VI-NEXT: v_add_f32_e32 v11, 1.0, v1112628; VI-NEXT: v_add_f32_e32 v10, 1.0, v1012629; VI-NEXT: v_add_f32_e32 v9, 1.0, v912630; VI-NEXT: v_add_f32_e32 v8, 1.0, v812631; VI-NEXT: v_add_f32_e32 v7, 1.0, v712632; VI-NEXT: v_add_f32_e32 v6, 1.0, v612633; VI-NEXT: v_add_f32_e32 v5, 1.0, v512634; VI-NEXT: v_add_f32_e32 v4, 1.0, v412635; VI-NEXT: v_add_f32_e32 v3, 1.0, v312636; VI-NEXT: v_add_f32_e32 v2, 1.0, v212637; VI-NEXT: v_add_f32_e32 v1, 1.0, v112638; VI-NEXT: v_add_f32_e32 v0, 1.0, v012639; VI-NEXT: .LBB21_3: ; %end12640; VI-NEXT: v_mov_b32_e32 v14, v2812641; VI-NEXT: s_setpc_b64 s[30:31]12642; VI-NEXT: .LBB21_4:12643; VI-NEXT: s_branch .LBB21_212644;12645; GFX9-LABEL: bitcast_v28f32_to_v14i64_scalar:12646; GFX9: ; %bb.0:12647; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12648; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1412649; GFX9-NEXT: v_mov_b32_e32 v27, v1312650; GFX9-NEXT: v_mov_b32_e32 v26, v1212651; GFX9-NEXT: v_mov_b32_e32 v25, v1112652; GFX9-NEXT: v_mov_b32_e32 v24, v1012653; GFX9-NEXT: v_mov_b32_e32 v23, v912654; GFX9-NEXT: v_mov_b32_e32 v22, v812655; GFX9-NEXT: v_mov_b32_e32 v21, v712656; GFX9-NEXT: v_mov_b32_e32 v20, v612657; GFX9-NEXT: v_mov_b32_e32 v19, v512658; GFX9-NEXT: v_mov_b32_e32 v18, v412659; GFX9-NEXT: v_mov_b32_e32 v17, v312660; GFX9-NEXT: v_mov_b32_e32 v16, v212661; GFX9-NEXT: v_mov_b32_e32 v15, v112662; GFX9-NEXT: v_mov_b32_e32 v28, v012663; GFX9-NEXT: v_mov_b32_e32 v0, s1612664; GFX9-NEXT: v_mov_b32_e32 v1, s1712665; GFX9-NEXT: v_mov_b32_e32 v2, s1812666; GFX9-NEXT: v_mov_b32_e32 v3, s1912667; GFX9-NEXT: v_mov_b32_e32 v4, s2012668; GFX9-NEXT: v_mov_b32_e32 v5, s2112669; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec12670; GFX9-NEXT: v_mov_b32_e32 v6, s2212671; GFX9-NEXT: v_mov_b32_e32 v7, s2312672; GFX9-NEXT: v_mov_b32_e32 v8, s2412673; GFX9-NEXT: v_mov_b32_e32 v9, s2512674; GFX9-NEXT: v_mov_b32_e32 v10, s2612675; GFX9-NEXT: v_mov_b32_e32 v11, s2712676; GFX9-NEXT: v_mov_b32_e32 v12, s2812677; GFX9-NEXT: v_mov_b32_e32 v13, s2912678; GFX9-NEXT: s_cbranch_scc0 .LBB21_412679; GFX9-NEXT: ; %bb.1: ; %cmp.false12680; GFX9-NEXT: s_cbranch_execnz .LBB21_312681; GFX9-NEXT: .LBB21_2: ; %cmp.true12682; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2712683; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2612684; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2512685; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2412686; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2312687; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2212688; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2112689; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2012690; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1912691; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1812692; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1712693; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1612694; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1512695; GFX9-NEXT: v_add_f32_e32 v28, 1.0, v2812696; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1312697; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1212698; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1112699; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1012700; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v912701; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v812702; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v712703; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v612704; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v512705; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v412706; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v312707; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v212708; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v112709; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v012710; GFX9-NEXT: .LBB21_3: ; %end12711; GFX9-NEXT: v_mov_b32_e32 v14, v2812712; GFX9-NEXT: s_setpc_b64 s[30:31]12713; GFX9-NEXT: .LBB21_4:12714; GFX9-NEXT: s_branch .LBB21_212715;12716; GFX11-LABEL: bitcast_v28f32_to_v14i64_scalar:12717; GFX11: ; %bb.0:12718; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12719; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v912720; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v712721; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v512722; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)12723; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1612724; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v312725; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v112726; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s112727; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s312728; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1712729; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1912730; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2112731; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2312732; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2512733; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2712734; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2912735; GFX11-NEXT: v_mov_b32_e32 v16, s2812736; GFX11-NEXT: s_mov_b32 s0, 012737; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo12738; GFX11-NEXT: s_cbranch_scc0 .LBB21_312739; GFX11-NEXT: ; %bb.1: ; %Flow12740; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s012741; GFX11-NEXT: s_cbranch_vccz .LBB21_412742; GFX11-NEXT: ; %bb.2: ; %end12743; GFX11-NEXT: s_setpc_b64 s[30:31]12744; GFX11-NEXT: .LBB21_3:12745; GFX11-NEXT: .LBB21_4: ; %cmp.true12746; GFX11-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2612747; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2412748; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2212749; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2012750; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1812751; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1612752; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1412753; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1212754; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1012755; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v812756; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v612757; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v412758; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v212759; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v012760; GFX11-NEXT: s_setpc_b64 s[30:31]12761 %cmp = icmp eq i32 %b, 012762 br i1 %cmp, label %cmp.true, label %cmp.false12763 12764cmp.true:12765 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)12766 %a2 = bitcast <28 x float> %a1 to <14 x i64>12767 br label %end12768 12769cmp.false:12770 %a3 = bitcast <28 x float> %a to <14 x i64>12771 br label %end12772 12773end:12774 %phi = phi <14 x i64> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12775 ret <14 x i64> %phi12776}12777 12778define <28 x float> @bitcast_v14i64_to_v28f32(<14 x i64> %a, i32 %b) {12779; SI-LABEL: bitcast_v14i64_to_v28f32:12780; SI: ; %bb.0:12781; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12782; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2812783; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc12784; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12785; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12786; SI-NEXT: s_cbranch_execz .LBB22_212787; SI-NEXT: ; %bb.1: ; %cmp.true12788; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v2612789; SI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc12790; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2412791; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc12792; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2212793; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc12794; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2012795; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc12796; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1812797; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc12798; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1612799; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc12800; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1412801; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc12802; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1212803; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc12804; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1012805; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc12806; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v812807; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc12808; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v612809; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc12810; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v412811; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc12812; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v212813; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc12814; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v012815; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc12816; SI-NEXT: .LBB22_2: ; %end12817; SI-NEXT: s_or_b64 exec, exec, s[4:5]12818; SI-NEXT: s_setpc_b64 s[30:31]12819;12820; VI-LABEL: bitcast_v14i64_to_v28f32:12821; VI: ; %bb.0:12822; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12823; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2812824; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc12825; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12826; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12827; VI-NEXT: s_cbranch_execz .LBB22_212828; VI-NEXT: ; %bb.1: ; %cmp.true12829; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v2612830; VI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc12831; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v2412832; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc12833; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v2212834; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc12835; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v2012836; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc12837; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v1812838; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc12839; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v1612840; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc12841; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v1412842; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc12843; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v1212844; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc12845; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v1012846; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc12847; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v812848; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc12849; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v612850; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc12851; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v412852; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc12853; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v212854; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc12855; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v012856; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc12857; VI-NEXT: .LBB22_2: ; %end12858; VI-NEXT: s_or_b64 exec, exec, s[4:5]12859; VI-NEXT: s_setpc_b64 s[30:31]12860;12861; GFX9-LABEL: bitcast_v14i64_to_v28f32:12862; GFX9: ; %bb.0:12863; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12864; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2812865; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc12866; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]12867; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]12868; GFX9-NEXT: s_cbranch_execz .LBB22_212869; GFX9-NEXT: ; %bb.1: ; %cmp.true12870; GFX9-NEXT: v_add_co_u32_e32 v26, vcc, 3, v2612871; GFX9-NEXT: v_addc_co_u32_e32 v27, vcc, 0, v27, vcc12872; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v2412873; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc12874; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v2212875; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc12876; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v2012877; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc12878; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v1812879; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc12880; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v1612881; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc12882; GFX9-NEXT: v_add_co_u32_e32 v14, vcc, 3, v1412883; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc12884; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v1212885; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc12886; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v1012887; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc12888; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v812889; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc12890; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v612891; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc12892; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v412893; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc12894; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v212895; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc12896; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v012897; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc12898; GFX9-NEXT: .LBB22_2: ; %end12899; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]12900; GFX9-NEXT: s_setpc_b64 s[30:31]12901;12902; GFX11-LABEL: bitcast_v14i64_to_v28f32:12903; GFX11: ; %bb.0:12904; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12905; GFX11-NEXT: s_mov_b32 s0, exec_lo12906; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2812907; GFX11-NEXT: s_xor_b32 s0, exec_lo, s012908; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)12909; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s012910; GFX11-NEXT: s_cbranch_execz .LBB22_212911; GFX11-NEXT: ; %bb.1: ; %cmp.true12912; GFX11-NEXT: v_add_co_u32 v26, vcc_lo, v26, 312913; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12914; GFX11-NEXT: v_add_co_ci_u32_e64 v27, null, 0, v27, vcc_lo12915; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 312916; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo12917; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 312918; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12919; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo12920; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 312921; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo12922; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 312923; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12924; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo12925; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 312926; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo12927; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 312928; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12929; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo12930; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 312931; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo12932; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 312933; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12934; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo12935; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 312936; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo12937; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 312938; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12939; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo12940; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 312941; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo12942; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 312943; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)12944; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo12945; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 312946; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo12947; GFX11-NEXT: .LBB22_2: ; %end12948; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s012949; GFX11-NEXT: s_setpc_b64 s[30:31]12950 %cmp = icmp eq i32 %b, 012951 br i1 %cmp, label %cmp.true, label %cmp.false12952 12953cmp.true:12954 %a1 = add <14 x i64> %a, splat (i64 3)12955 %a2 = bitcast <14 x i64> %a1 to <28 x float>12956 br label %end12957 12958cmp.false:12959 %a3 = bitcast <14 x i64> %a to <28 x float>12960 br label %end12961 12962end:12963 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]12964 ret <28 x float> %phi12965}12966 12967define inreg <28 x float> @bitcast_v14i64_to_v28f32_scalar(<14 x i64> inreg %a, i32 inreg %b) {12968; SI-LABEL: bitcast_v14i64_to_v28f32_scalar:12969; SI: ; %bb.0:12970; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12971; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1412972; SI-NEXT: v_mov_b32_e32 v27, v1312973; SI-NEXT: v_mov_b32_e32 v26, v1212974; SI-NEXT: v_mov_b32_e32 v25, v1112975; SI-NEXT: v_mov_b32_e32 v24, v1012976; SI-NEXT: v_mov_b32_e32 v23, v912977; SI-NEXT: v_mov_b32_e32 v22, v812978; SI-NEXT: v_mov_b32_e32 v21, v712979; SI-NEXT: v_mov_b32_e32 v20, v612980; SI-NEXT: v_mov_b32_e32 v19, v512981; SI-NEXT: v_mov_b32_e32 v18, v412982; SI-NEXT: v_mov_b32_e32 v17, v312983; SI-NEXT: v_mov_b32_e32 v16, v212984; SI-NEXT: v_mov_b32_e32 v15, v112985; SI-NEXT: v_mov_b32_e32 v28, v012986; SI-NEXT: v_mov_b32_e32 v0, s1612987; SI-NEXT: v_mov_b32_e32 v1, s1712988; SI-NEXT: v_mov_b32_e32 v2, s1812989; SI-NEXT: v_mov_b32_e32 v3, s1912990; SI-NEXT: v_mov_b32_e32 v4, s2012991; SI-NEXT: v_mov_b32_e32 v5, s2112992; SI-NEXT: s_and_b64 s[4:5], vcc, exec12993; SI-NEXT: v_mov_b32_e32 v6, s2212994; SI-NEXT: v_mov_b32_e32 v7, s2312995; SI-NEXT: v_mov_b32_e32 v8, s2412996; SI-NEXT: v_mov_b32_e32 v9, s2512997; SI-NEXT: v_mov_b32_e32 v10, s2612998; SI-NEXT: v_mov_b32_e32 v11, s2712999; SI-NEXT: v_mov_b32_e32 v12, s2813000; SI-NEXT: v_mov_b32_e32 v13, s2913001; SI-NEXT: s_cbranch_scc0 .LBB23_413002; SI-NEXT: ; %bb.1: ; %cmp.false13003; SI-NEXT: s_cbranch_execnz .LBB23_313004; SI-NEXT: .LBB23_2: ; %cmp.true13005; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v2613006; SI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc13007; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2413008; SI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc13009; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2213010; SI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc13011; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2013012; SI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc13013; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1813014; SI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc13015; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v1613016; SI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc13017; SI-NEXT: v_add_i32_e32 v28, vcc, 3, v2813018; SI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc13019; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1213020; SI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc13021; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1013022; SI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc13023; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v813024; SI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc13025; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v613026; SI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc13027; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v413028; SI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc13029; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v213030; SI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc13031; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v013032; SI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc13033; SI-NEXT: .LBB23_3: ; %end13034; SI-NEXT: v_mov_b32_e32 v14, v2813035; SI-NEXT: s_setpc_b64 s[30:31]13036; SI-NEXT: .LBB23_4:13037; SI-NEXT: s_branch .LBB23_213038;13039; VI-LABEL: bitcast_v14i64_to_v28f32_scalar:13040; VI: ; %bb.0:13041; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13042; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413043; VI-NEXT: v_mov_b32_e32 v27, v1313044; VI-NEXT: v_mov_b32_e32 v26, v1213045; VI-NEXT: v_mov_b32_e32 v25, v1113046; VI-NEXT: v_mov_b32_e32 v24, v1013047; VI-NEXT: v_mov_b32_e32 v23, v913048; VI-NEXT: v_mov_b32_e32 v22, v813049; VI-NEXT: v_mov_b32_e32 v21, v713050; VI-NEXT: v_mov_b32_e32 v20, v613051; VI-NEXT: v_mov_b32_e32 v19, v513052; VI-NEXT: v_mov_b32_e32 v18, v413053; VI-NEXT: v_mov_b32_e32 v17, v313054; VI-NEXT: v_mov_b32_e32 v16, v213055; VI-NEXT: v_mov_b32_e32 v15, v113056; VI-NEXT: v_mov_b32_e32 v28, v013057; VI-NEXT: v_mov_b32_e32 v0, s1613058; VI-NEXT: v_mov_b32_e32 v1, s1713059; VI-NEXT: v_mov_b32_e32 v2, s1813060; VI-NEXT: v_mov_b32_e32 v3, s1913061; VI-NEXT: v_mov_b32_e32 v4, s2013062; VI-NEXT: v_mov_b32_e32 v5, s2113063; VI-NEXT: s_and_b64 s[4:5], vcc, exec13064; VI-NEXT: v_mov_b32_e32 v6, s2213065; VI-NEXT: v_mov_b32_e32 v7, s2313066; VI-NEXT: v_mov_b32_e32 v8, s2413067; VI-NEXT: v_mov_b32_e32 v9, s2513068; VI-NEXT: v_mov_b32_e32 v10, s2613069; VI-NEXT: v_mov_b32_e32 v11, s2713070; VI-NEXT: v_mov_b32_e32 v12, s2813071; VI-NEXT: v_mov_b32_e32 v13, s2913072; VI-NEXT: s_cbranch_scc0 .LBB23_413073; VI-NEXT: ; %bb.1: ; %cmp.false13074; VI-NEXT: s_cbranch_execnz .LBB23_313075; VI-NEXT: .LBB23_2: ; %cmp.true13076; VI-NEXT: v_add_u32_e32 v26, vcc, 3, v2613077; VI-NEXT: v_addc_u32_e32 v27, vcc, 0, v27, vcc13078; VI-NEXT: v_add_u32_e32 v24, vcc, 3, v2413079; VI-NEXT: v_addc_u32_e32 v25, vcc, 0, v25, vcc13080; VI-NEXT: v_add_u32_e32 v22, vcc, 3, v2213081; VI-NEXT: v_addc_u32_e32 v23, vcc, 0, v23, vcc13082; VI-NEXT: v_add_u32_e32 v20, vcc, 3, v2013083; VI-NEXT: v_addc_u32_e32 v21, vcc, 0, v21, vcc13084; VI-NEXT: v_add_u32_e32 v18, vcc, 3, v1813085; VI-NEXT: v_addc_u32_e32 v19, vcc, 0, v19, vcc13086; VI-NEXT: v_add_u32_e32 v16, vcc, 3, v1613087; VI-NEXT: v_addc_u32_e32 v17, vcc, 0, v17, vcc13088; VI-NEXT: v_add_u32_e32 v28, vcc, 3, v2813089; VI-NEXT: v_addc_u32_e32 v15, vcc, 0, v15, vcc13090; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v1213091; VI-NEXT: v_addc_u32_e32 v13, vcc, 0, v13, vcc13092; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v1013093; VI-NEXT: v_addc_u32_e32 v11, vcc, 0, v11, vcc13094; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v813095; VI-NEXT: v_addc_u32_e32 v9, vcc, 0, v9, vcc13096; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v613097; VI-NEXT: v_addc_u32_e32 v7, vcc, 0, v7, vcc13098; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v413099; VI-NEXT: v_addc_u32_e32 v5, vcc, 0, v5, vcc13100; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v213101; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc13102; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v013103; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc13104; VI-NEXT: .LBB23_3: ; %end13105; VI-NEXT: v_mov_b32_e32 v14, v2813106; VI-NEXT: s_setpc_b64 s[30:31]13107; VI-NEXT: .LBB23_4:13108; VI-NEXT: s_branch .LBB23_213109;13110; GFX9-LABEL: bitcast_v14i64_to_v28f32_scalar:13111; GFX9: ; %bb.0:13112; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13113; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413114; GFX9-NEXT: v_mov_b32_e32 v27, v1313115; GFX9-NEXT: v_mov_b32_e32 v26, v1213116; GFX9-NEXT: v_mov_b32_e32 v25, v1113117; GFX9-NEXT: v_mov_b32_e32 v24, v1013118; GFX9-NEXT: v_mov_b32_e32 v23, v913119; GFX9-NEXT: v_mov_b32_e32 v22, v813120; GFX9-NEXT: v_mov_b32_e32 v21, v713121; GFX9-NEXT: v_mov_b32_e32 v20, v613122; GFX9-NEXT: v_mov_b32_e32 v19, v513123; GFX9-NEXT: v_mov_b32_e32 v18, v413124; GFX9-NEXT: v_mov_b32_e32 v17, v313125; GFX9-NEXT: v_mov_b32_e32 v16, v213126; GFX9-NEXT: v_mov_b32_e32 v15, v113127; GFX9-NEXT: v_mov_b32_e32 v28, v013128; GFX9-NEXT: v_mov_b32_e32 v0, s1613129; GFX9-NEXT: v_mov_b32_e32 v1, s1713130; GFX9-NEXT: v_mov_b32_e32 v2, s1813131; GFX9-NEXT: v_mov_b32_e32 v3, s1913132; GFX9-NEXT: v_mov_b32_e32 v4, s2013133; GFX9-NEXT: v_mov_b32_e32 v5, s2113134; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec13135; GFX9-NEXT: v_mov_b32_e32 v6, s2213136; GFX9-NEXT: v_mov_b32_e32 v7, s2313137; GFX9-NEXT: v_mov_b32_e32 v8, s2413138; GFX9-NEXT: v_mov_b32_e32 v9, s2513139; GFX9-NEXT: v_mov_b32_e32 v10, s2613140; GFX9-NEXT: v_mov_b32_e32 v11, s2713141; GFX9-NEXT: v_mov_b32_e32 v12, s2813142; GFX9-NEXT: v_mov_b32_e32 v13, s2913143; GFX9-NEXT: s_cbranch_scc0 .LBB23_413144; GFX9-NEXT: ; %bb.1: ; %cmp.false13145; GFX9-NEXT: s_cbranch_execnz .LBB23_313146; GFX9-NEXT: .LBB23_2: ; %cmp.true13147; GFX9-NEXT: v_add_co_u32_e32 v26, vcc, 3, v2613148; GFX9-NEXT: v_addc_co_u32_e32 v27, vcc, 0, v27, vcc13149; GFX9-NEXT: v_add_co_u32_e32 v24, vcc, 3, v2413150; GFX9-NEXT: v_addc_co_u32_e32 v25, vcc, 0, v25, vcc13151; GFX9-NEXT: v_add_co_u32_e32 v22, vcc, 3, v2213152; GFX9-NEXT: v_addc_co_u32_e32 v23, vcc, 0, v23, vcc13153; GFX9-NEXT: v_add_co_u32_e32 v20, vcc, 3, v2013154; GFX9-NEXT: v_addc_co_u32_e32 v21, vcc, 0, v21, vcc13155; GFX9-NEXT: v_add_co_u32_e32 v18, vcc, 3, v1813156; GFX9-NEXT: v_addc_co_u32_e32 v19, vcc, 0, v19, vcc13157; GFX9-NEXT: v_add_co_u32_e32 v16, vcc, 3, v1613158; GFX9-NEXT: v_addc_co_u32_e32 v17, vcc, 0, v17, vcc13159; GFX9-NEXT: v_add_co_u32_e32 v28, vcc, 3, v2813160; GFX9-NEXT: v_addc_co_u32_e32 v15, vcc, 0, v15, vcc13161; GFX9-NEXT: v_add_co_u32_e32 v12, vcc, 3, v1213162; GFX9-NEXT: v_addc_co_u32_e32 v13, vcc, 0, v13, vcc13163; GFX9-NEXT: v_add_co_u32_e32 v10, vcc, 3, v1013164; GFX9-NEXT: v_addc_co_u32_e32 v11, vcc, 0, v11, vcc13165; GFX9-NEXT: v_add_co_u32_e32 v8, vcc, 3, v813166; GFX9-NEXT: v_addc_co_u32_e32 v9, vcc, 0, v9, vcc13167; GFX9-NEXT: v_add_co_u32_e32 v6, vcc, 3, v613168; GFX9-NEXT: v_addc_co_u32_e32 v7, vcc, 0, v7, vcc13169; GFX9-NEXT: v_add_co_u32_e32 v4, vcc, 3, v413170; GFX9-NEXT: v_addc_co_u32_e32 v5, vcc, 0, v5, vcc13171; GFX9-NEXT: v_add_co_u32_e32 v2, vcc, 3, v213172; GFX9-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v3, vcc13173; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 3, v013174; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc13175; GFX9-NEXT: .LBB23_3: ; %end13176; GFX9-NEXT: v_mov_b32_e32 v14, v2813177; GFX9-NEXT: s_setpc_b64 s[30:31]13178; GFX9-NEXT: .LBB23_4:13179; GFX9-NEXT: s_branch .LBB23_213180;13181; GFX11-LABEL: bitcast_v14i64_to_v28f32_scalar:13182; GFX11: ; %bb.0:13183; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13184; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v913185; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v713186; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v513187; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)13188; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1613189; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v313190; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v113191; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s113192; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s313193; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1713194; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1913195; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2113196; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2313197; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2513198; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2713199; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2913200; GFX11-NEXT: v_mov_b32_e32 v16, s2813201; GFX11-NEXT: s_mov_b32 s0, 013202; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo13203; GFX11-NEXT: s_cbranch_scc0 .LBB23_313204; GFX11-NEXT: ; %bb.1: ; %Flow13205; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s013206; GFX11-NEXT: s_cbranch_vccz .LBB23_413207; GFX11-NEXT: ; %bb.2: ; %end13208; GFX11-NEXT: s_setpc_b64 s[30:31]13209; GFX11-NEXT: .LBB23_3:13210; GFX11-NEXT: .LBB23_4: ; %cmp.true13211; GFX11-NEXT: v_add_co_u32 v26, vcc_lo, v26, 313212; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13213; GFX11-NEXT: v_add_co_ci_u32_e64 v27, null, 0, v27, vcc_lo13214; GFX11-NEXT: v_add_co_u32 v24, vcc_lo, v24, 313215; GFX11-NEXT: v_add_co_ci_u32_e64 v25, null, 0, v25, vcc_lo13216; GFX11-NEXT: v_add_co_u32 v22, vcc_lo, v22, 313217; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13218; GFX11-NEXT: v_add_co_ci_u32_e64 v23, null, 0, v23, vcc_lo13219; GFX11-NEXT: v_add_co_u32 v20, vcc_lo, v20, 313220; GFX11-NEXT: v_add_co_ci_u32_e64 v21, null, 0, v21, vcc_lo13221; GFX11-NEXT: v_add_co_u32 v18, vcc_lo, v18, 313222; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13223; GFX11-NEXT: v_add_co_ci_u32_e64 v19, null, 0, v19, vcc_lo13224; GFX11-NEXT: v_add_co_u32 v16, vcc_lo, v16, 313225; GFX11-NEXT: v_add_co_ci_u32_e64 v17, null, 0, v17, vcc_lo13226; GFX11-NEXT: v_add_co_u32 v14, vcc_lo, v14, 313227; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13228; GFX11-NEXT: v_add_co_ci_u32_e64 v15, null, 0, v15, vcc_lo13229; GFX11-NEXT: v_add_co_u32 v12, vcc_lo, v12, 313230; GFX11-NEXT: v_add_co_ci_u32_e64 v13, null, 0, v13, vcc_lo13231; GFX11-NEXT: v_add_co_u32 v10, vcc_lo, v10, 313232; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13233; GFX11-NEXT: v_add_co_ci_u32_e64 v11, null, 0, v11, vcc_lo13234; GFX11-NEXT: v_add_co_u32 v8, vcc_lo, v8, 313235; GFX11-NEXT: v_add_co_ci_u32_e64 v9, null, 0, v9, vcc_lo13236; GFX11-NEXT: v_add_co_u32 v6, vcc_lo, v6, 313237; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13238; GFX11-NEXT: v_add_co_ci_u32_e64 v7, null, 0, v7, vcc_lo13239; GFX11-NEXT: v_add_co_u32 v4, vcc_lo, v4, 313240; GFX11-NEXT: v_add_co_ci_u32_e64 v5, null, 0, v5, vcc_lo13241; GFX11-NEXT: v_add_co_u32 v2, vcc_lo, v2, 313242; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)13243; GFX11-NEXT: v_add_co_ci_u32_e64 v3, null, 0, v3, vcc_lo13244; GFX11-NEXT: v_add_co_u32 v0, vcc_lo, v0, 313245; GFX11-NEXT: v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo13246; GFX11-NEXT: s_setpc_b64 s[30:31]13247 %cmp = icmp eq i32 %b, 013248 br i1 %cmp, label %cmp.true, label %cmp.false13249 13250cmp.true:13251 %a1 = add <14 x i64> %a, splat (i64 3)13252 %a2 = bitcast <14 x i64> %a1 to <28 x float>13253 br label %end13254 13255cmp.false:13256 %a3 = bitcast <14 x i64> %a to <28 x float>13257 br label %end13258 13259end:13260 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]13261 ret <28 x float> %phi13262}13263 13264define <14 x double> @bitcast_v28f32_to_v14f64(<28 x float> %a, i32 %b) {13265; SI-LABEL: bitcast_v28f32_to_v14f64:13266; SI: ; %bb.0:13267; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13268; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2813269; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc13270; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13271; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13272; SI-NEXT: s_cbranch_execz .LBB24_213273; SI-NEXT: ; %bb.1: ; %cmp.true13274; SI-NEXT: v_add_f32_e32 v27, 1.0, v2713275; SI-NEXT: v_add_f32_e32 v26, 1.0, v2613276; SI-NEXT: v_add_f32_e32 v25, 1.0, v2513277; SI-NEXT: v_add_f32_e32 v24, 1.0, v2413278; SI-NEXT: v_add_f32_e32 v23, 1.0, v2313279; SI-NEXT: v_add_f32_e32 v22, 1.0, v2213280; SI-NEXT: v_add_f32_e32 v21, 1.0, v2113281; SI-NEXT: v_add_f32_e32 v20, 1.0, v2013282; SI-NEXT: v_add_f32_e32 v19, 1.0, v1913283; SI-NEXT: v_add_f32_e32 v18, 1.0, v1813284; SI-NEXT: v_add_f32_e32 v17, 1.0, v1713285; SI-NEXT: v_add_f32_e32 v16, 1.0, v1613286; SI-NEXT: v_add_f32_e32 v15, 1.0, v1513287; SI-NEXT: v_add_f32_e32 v14, 1.0, v1413288; SI-NEXT: v_add_f32_e32 v13, 1.0, v1313289; SI-NEXT: v_add_f32_e32 v12, 1.0, v1213290; SI-NEXT: v_add_f32_e32 v11, 1.0, v1113291; SI-NEXT: v_add_f32_e32 v10, 1.0, v1013292; SI-NEXT: v_add_f32_e32 v9, 1.0, v913293; SI-NEXT: v_add_f32_e32 v8, 1.0, v813294; SI-NEXT: v_add_f32_e32 v7, 1.0, v713295; SI-NEXT: v_add_f32_e32 v6, 1.0, v613296; SI-NEXT: v_add_f32_e32 v5, 1.0, v513297; SI-NEXT: v_add_f32_e32 v4, 1.0, v413298; SI-NEXT: v_add_f32_e32 v3, 1.0, v313299; SI-NEXT: v_add_f32_e32 v2, 1.0, v213300; SI-NEXT: v_add_f32_e32 v1, 1.0, v113301; SI-NEXT: v_add_f32_e32 v0, 1.0, v013302; SI-NEXT: .LBB24_2: ; %end13303; SI-NEXT: s_or_b64 exec, exec, s[4:5]13304; SI-NEXT: s_setpc_b64 s[30:31]13305;13306; VI-LABEL: bitcast_v28f32_to_v14f64:13307; VI: ; %bb.0:13308; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13309; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2813310; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc13311; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13312; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13313; VI-NEXT: s_cbranch_execz .LBB24_213314; VI-NEXT: ; %bb.1: ; %cmp.true13315; VI-NEXT: v_add_f32_e32 v27, 1.0, v2713316; VI-NEXT: v_add_f32_e32 v26, 1.0, v2613317; VI-NEXT: v_add_f32_e32 v25, 1.0, v2513318; VI-NEXT: v_add_f32_e32 v24, 1.0, v2413319; VI-NEXT: v_add_f32_e32 v23, 1.0, v2313320; VI-NEXT: v_add_f32_e32 v22, 1.0, v2213321; VI-NEXT: v_add_f32_e32 v21, 1.0, v2113322; VI-NEXT: v_add_f32_e32 v20, 1.0, v2013323; VI-NEXT: v_add_f32_e32 v19, 1.0, v1913324; VI-NEXT: v_add_f32_e32 v18, 1.0, v1813325; VI-NEXT: v_add_f32_e32 v17, 1.0, v1713326; VI-NEXT: v_add_f32_e32 v16, 1.0, v1613327; VI-NEXT: v_add_f32_e32 v15, 1.0, v1513328; VI-NEXT: v_add_f32_e32 v14, 1.0, v1413329; VI-NEXT: v_add_f32_e32 v13, 1.0, v1313330; VI-NEXT: v_add_f32_e32 v12, 1.0, v1213331; VI-NEXT: v_add_f32_e32 v11, 1.0, v1113332; VI-NEXT: v_add_f32_e32 v10, 1.0, v1013333; VI-NEXT: v_add_f32_e32 v9, 1.0, v913334; VI-NEXT: v_add_f32_e32 v8, 1.0, v813335; VI-NEXT: v_add_f32_e32 v7, 1.0, v713336; VI-NEXT: v_add_f32_e32 v6, 1.0, v613337; VI-NEXT: v_add_f32_e32 v5, 1.0, v513338; VI-NEXT: v_add_f32_e32 v4, 1.0, v413339; VI-NEXT: v_add_f32_e32 v3, 1.0, v313340; VI-NEXT: v_add_f32_e32 v2, 1.0, v213341; VI-NEXT: v_add_f32_e32 v1, 1.0, v113342; VI-NEXT: v_add_f32_e32 v0, 1.0, v013343; VI-NEXT: .LBB24_2: ; %end13344; VI-NEXT: s_or_b64 exec, exec, s[4:5]13345; VI-NEXT: s_setpc_b64 s[30:31]13346;13347; GFX9-LABEL: bitcast_v28f32_to_v14f64:13348; GFX9: ; %bb.0:13349; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13350; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2813351; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc13352; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13353; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13354; GFX9-NEXT: s_cbranch_execz .LBB24_213355; GFX9-NEXT: ; %bb.1: ; %cmp.true13356; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2713357; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2613358; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2513359; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2413360; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2313361; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2213362; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2113363; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2013364; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1913365; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1813366; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1713367; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1613368; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1513369; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1413370; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1313371; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1213372; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1113373; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1013374; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v913375; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v813376; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v713377; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v613378; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v513379; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v413380; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v313381; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v213382; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v113383; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v013384; GFX9-NEXT: .LBB24_2: ; %end13385; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]13386; GFX9-NEXT: s_setpc_b64 s[30:31]13387;13388; GFX11-LABEL: bitcast_v28f32_to_v14f64:13389; GFX11: ; %bb.0:13390; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13391; GFX11-NEXT: s_mov_b32 s0, exec_lo13392; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2813393; GFX11-NEXT: s_xor_b32 s0, exec_lo, s013394; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)13395; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s013396; GFX11-NEXT: s_cbranch_execz .LBB24_213397; GFX11-NEXT: ; %bb.1: ; %cmp.true13398; GFX11-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2613399; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2413400; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2213401; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2013402; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1813403; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1613404; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1413405; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1213406; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1013407; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v813408; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v613409; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v413410; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v213411; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v013412; GFX11-NEXT: .LBB24_2: ; %end13413; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s013414; GFX11-NEXT: s_setpc_b64 s[30:31]13415 %cmp = icmp eq i32 %b, 013416 br i1 %cmp, label %cmp.true, label %cmp.false13417 13418cmp.true:13419 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)13420 %a2 = bitcast <28 x float> %a1 to <14 x double>13421 br label %end13422 13423cmp.false:13424 %a3 = bitcast <28 x float> %a to <14 x double>13425 br label %end13426 13427end:13428 %phi = phi <14 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]13429 ret <14 x double> %phi13430}13431 13432define inreg <14 x double> @bitcast_v28f32_to_v14f64_scalar(<28 x float> inreg %a, i32 inreg %b) {13433; SI-LABEL: bitcast_v28f32_to_v14f64_scalar:13434; SI: ; %bb.0:13435; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13436; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413437; SI-NEXT: v_mov_b32_e32 v27, v1313438; SI-NEXT: v_mov_b32_e32 v26, v1213439; SI-NEXT: v_mov_b32_e32 v25, v1113440; SI-NEXT: v_mov_b32_e32 v24, v1013441; SI-NEXT: v_mov_b32_e32 v23, v913442; SI-NEXT: v_mov_b32_e32 v22, v813443; SI-NEXT: v_mov_b32_e32 v21, v713444; SI-NEXT: v_mov_b32_e32 v20, v613445; SI-NEXT: v_mov_b32_e32 v19, v513446; SI-NEXT: v_mov_b32_e32 v18, v413447; SI-NEXT: v_mov_b32_e32 v17, v313448; SI-NEXT: v_mov_b32_e32 v16, v213449; SI-NEXT: v_mov_b32_e32 v15, v113450; SI-NEXT: v_mov_b32_e32 v28, v013451; SI-NEXT: v_mov_b32_e32 v0, s1613452; SI-NEXT: v_mov_b32_e32 v1, s1713453; SI-NEXT: v_mov_b32_e32 v2, s1813454; SI-NEXT: v_mov_b32_e32 v3, s1913455; SI-NEXT: v_mov_b32_e32 v4, s2013456; SI-NEXT: v_mov_b32_e32 v5, s2113457; SI-NEXT: s_and_b64 s[4:5], vcc, exec13458; SI-NEXT: v_mov_b32_e32 v6, s2213459; SI-NEXT: v_mov_b32_e32 v7, s2313460; SI-NEXT: v_mov_b32_e32 v8, s2413461; SI-NEXT: v_mov_b32_e32 v9, s2513462; SI-NEXT: v_mov_b32_e32 v10, s2613463; SI-NEXT: v_mov_b32_e32 v11, s2713464; SI-NEXT: v_mov_b32_e32 v12, s2813465; SI-NEXT: v_mov_b32_e32 v13, s2913466; SI-NEXT: s_cbranch_scc0 .LBB25_413467; SI-NEXT: ; %bb.1: ; %cmp.false13468; SI-NEXT: s_cbranch_execnz .LBB25_313469; SI-NEXT: .LBB25_2: ; %cmp.true13470; SI-NEXT: v_add_f32_e32 v27, 1.0, v2713471; SI-NEXT: v_add_f32_e32 v26, 1.0, v2613472; SI-NEXT: v_add_f32_e32 v25, 1.0, v2513473; SI-NEXT: v_add_f32_e32 v24, 1.0, v2413474; SI-NEXT: v_add_f32_e32 v23, 1.0, v2313475; SI-NEXT: v_add_f32_e32 v22, 1.0, v2213476; SI-NEXT: v_add_f32_e32 v21, 1.0, v2113477; SI-NEXT: v_add_f32_e32 v20, 1.0, v2013478; SI-NEXT: v_add_f32_e32 v19, 1.0, v1913479; SI-NEXT: v_add_f32_e32 v18, 1.0, v1813480; SI-NEXT: v_add_f32_e32 v17, 1.0, v1713481; SI-NEXT: v_add_f32_e32 v16, 1.0, v1613482; SI-NEXT: v_add_f32_e32 v15, 1.0, v1513483; SI-NEXT: v_add_f32_e32 v28, 1.0, v2813484; SI-NEXT: v_add_f32_e32 v13, 1.0, v1313485; SI-NEXT: v_add_f32_e32 v12, 1.0, v1213486; SI-NEXT: v_add_f32_e32 v11, 1.0, v1113487; SI-NEXT: v_add_f32_e32 v10, 1.0, v1013488; SI-NEXT: v_add_f32_e32 v9, 1.0, v913489; SI-NEXT: v_add_f32_e32 v8, 1.0, v813490; SI-NEXT: v_add_f32_e32 v7, 1.0, v713491; SI-NEXT: v_add_f32_e32 v6, 1.0, v613492; SI-NEXT: v_add_f32_e32 v5, 1.0, v513493; SI-NEXT: v_add_f32_e32 v4, 1.0, v413494; SI-NEXT: v_add_f32_e32 v3, 1.0, v313495; SI-NEXT: v_add_f32_e32 v2, 1.0, v213496; SI-NEXT: v_add_f32_e32 v1, 1.0, v113497; SI-NEXT: v_add_f32_e32 v0, 1.0, v013498; SI-NEXT: .LBB25_3: ; %end13499; SI-NEXT: v_mov_b32_e32 v14, v2813500; SI-NEXT: s_setpc_b64 s[30:31]13501; SI-NEXT: .LBB25_4:13502; SI-NEXT: s_branch .LBB25_213503;13504; VI-LABEL: bitcast_v28f32_to_v14f64_scalar:13505; VI: ; %bb.0:13506; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13507; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413508; VI-NEXT: v_mov_b32_e32 v27, v1313509; VI-NEXT: v_mov_b32_e32 v26, v1213510; VI-NEXT: v_mov_b32_e32 v25, v1113511; VI-NEXT: v_mov_b32_e32 v24, v1013512; VI-NEXT: v_mov_b32_e32 v23, v913513; VI-NEXT: v_mov_b32_e32 v22, v813514; VI-NEXT: v_mov_b32_e32 v21, v713515; VI-NEXT: v_mov_b32_e32 v20, v613516; VI-NEXT: v_mov_b32_e32 v19, v513517; VI-NEXT: v_mov_b32_e32 v18, v413518; VI-NEXT: v_mov_b32_e32 v17, v313519; VI-NEXT: v_mov_b32_e32 v16, v213520; VI-NEXT: v_mov_b32_e32 v15, v113521; VI-NEXT: v_mov_b32_e32 v28, v013522; VI-NEXT: v_mov_b32_e32 v0, s1613523; VI-NEXT: v_mov_b32_e32 v1, s1713524; VI-NEXT: v_mov_b32_e32 v2, s1813525; VI-NEXT: v_mov_b32_e32 v3, s1913526; VI-NEXT: v_mov_b32_e32 v4, s2013527; VI-NEXT: v_mov_b32_e32 v5, s2113528; VI-NEXT: s_and_b64 s[4:5], vcc, exec13529; VI-NEXT: v_mov_b32_e32 v6, s2213530; VI-NEXT: v_mov_b32_e32 v7, s2313531; VI-NEXT: v_mov_b32_e32 v8, s2413532; VI-NEXT: v_mov_b32_e32 v9, s2513533; VI-NEXT: v_mov_b32_e32 v10, s2613534; VI-NEXT: v_mov_b32_e32 v11, s2713535; VI-NEXT: v_mov_b32_e32 v12, s2813536; VI-NEXT: v_mov_b32_e32 v13, s2913537; VI-NEXT: s_cbranch_scc0 .LBB25_413538; VI-NEXT: ; %bb.1: ; %cmp.false13539; VI-NEXT: s_cbranch_execnz .LBB25_313540; VI-NEXT: .LBB25_2: ; %cmp.true13541; VI-NEXT: v_add_f32_e32 v27, 1.0, v2713542; VI-NEXT: v_add_f32_e32 v26, 1.0, v2613543; VI-NEXT: v_add_f32_e32 v25, 1.0, v2513544; VI-NEXT: v_add_f32_e32 v24, 1.0, v2413545; VI-NEXT: v_add_f32_e32 v23, 1.0, v2313546; VI-NEXT: v_add_f32_e32 v22, 1.0, v2213547; VI-NEXT: v_add_f32_e32 v21, 1.0, v2113548; VI-NEXT: v_add_f32_e32 v20, 1.0, v2013549; VI-NEXT: v_add_f32_e32 v19, 1.0, v1913550; VI-NEXT: v_add_f32_e32 v18, 1.0, v1813551; VI-NEXT: v_add_f32_e32 v17, 1.0, v1713552; VI-NEXT: v_add_f32_e32 v16, 1.0, v1613553; VI-NEXT: v_add_f32_e32 v15, 1.0, v1513554; VI-NEXT: v_add_f32_e32 v28, 1.0, v2813555; VI-NEXT: v_add_f32_e32 v13, 1.0, v1313556; VI-NEXT: v_add_f32_e32 v12, 1.0, v1213557; VI-NEXT: v_add_f32_e32 v11, 1.0, v1113558; VI-NEXT: v_add_f32_e32 v10, 1.0, v1013559; VI-NEXT: v_add_f32_e32 v9, 1.0, v913560; VI-NEXT: v_add_f32_e32 v8, 1.0, v813561; VI-NEXT: v_add_f32_e32 v7, 1.0, v713562; VI-NEXT: v_add_f32_e32 v6, 1.0, v613563; VI-NEXT: v_add_f32_e32 v5, 1.0, v513564; VI-NEXT: v_add_f32_e32 v4, 1.0, v413565; VI-NEXT: v_add_f32_e32 v3, 1.0, v313566; VI-NEXT: v_add_f32_e32 v2, 1.0, v213567; VI-NEXT: v_add_f32_e32 v1, 1.0, v113568; VI-NEXT: v_add_f32_e32 v0, 1.0, v013569; VI-NEXT: .LBB25_3: ; %end13570; VI-NEXT: v_mov_b32_e32 v14, v2813571; VI-NEXT: s_setpc_b64 s[30:31]13572; VI-NEXT: .LBB25_4:13573; VI-NEXT: s_branch .LBB25_213574;13575; GFX9-LABEL: bitcast_v28f32_to_v14f64_scalar:13576; GFX9: ; %bb.0:13577; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13578; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413579; GFX9-NEXT: v_mov_b32_e32 v27, v1313580; GFX9-NEXT: v_mov_b32_e32 v26, v1213581; GFX9-NEXT: v_mov_b32_e32 v25, v1113582; GFX9-NEXT: v_mov_b32_e32 v24, v1013583; GFX9-NEXT: v_mov_b32_e32 v23, v913584; GFX9-NEXT: v_mov_b32_e32 v22, v813585; GFX9-NEXT: v_mov_b32_e32 v21, v713586; GFX9-NEXT: v_mov_b32_e32 v20, v613587; GFX9-NEXT: v_mov_b32_e32 v19, v513588; GFX9-NEXT: v_mov_b32_e32 v18, v413589; GFX9-NEXT: v_mov_b32_e32 v17, v313590; GFX9-NEXT: v_mov_b32_e32 v16, v213591; GFX9-NEXT: v_mov_b32_e32 v15, v113592; GFX9-NEXT: v_mov_b32_e32 v28, v013593; GFX9-NEXT: v_mov_b32_e32 v0, s1613594; GFX9-NEXT: v_mov_b32_e32 v1, s1713595; GFX9-NEXT: v_mov_b32_e32 v2, s1813596; GFX9-NEXT: v_mov_b32_e32 v3, s1913597; GFX9-NEXT: v_mov_b32_e32 v4, s2013598; GFX9-NEXT: v_mov_b32_e32 v5, s2113599; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec13600; GFX9-NEXT: v_mov_b32_e32 v6, s2213601; GFX9-NEXT: v_mov_b32_e32 v7, s2313602; GFX9-NEXT: v_mov_b32_e32 v8, s2413603; GFX9-NEXT: v_mov_b32_e32 v9, s2513604; GFX9-NEXT: v_mov_b32_e32 v10, s2613605; GFX9-NEXT: v_mov_b32_e32 v11, s2713606; GFX9-NEXT: v_mov_b32_e32 v12, s2813607; GFX9-NEXT: v_mov_b32_e32 v13, s2913608; GFX9-NEXT: s_cbranch_scc0 .LBB25_413609; GFX9-NEXT: ; %bb.1: ; %cmp.false13610; GFX9-NEXT: s_cbranch_execnz .LBB25_313611; GFX9-NEXT: .LBB25_2: ; %cmp.true13612; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2713613; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2613614; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2513615; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2413616; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2313617; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2213618; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2113619; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2013620; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1913621; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1813622; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1713623; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1613624; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1513625; GFX9-NEXT: v_add_f32_e32 v28, 1.0, v2813626; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1313627; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1213628; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1113629; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1013630; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v913631; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v813632; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v713633; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v613634; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v513635; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v413636; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v313637; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v213638; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v113639; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v013640; GFX9-NEXT: .LBB25_3: ; %end13641; GFX9-NEXT: v_mov_b32_e32 v14, v2813642; GFX9-NEXT: s_setpc_b64 s[30:31]13643; GFX9-NEXT: .LBB25_4:13644; GFX9-NEXT: s_branch .LBB25_213645;13646; GFX11-LABEL: bitcast_v28f32_to_v14f64_scalar:13647; GFX11: ; %bb.0:13648; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13649; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v913650; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v713651; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v513652; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)13653; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1613654; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v313655; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v113656; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s113657; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s313658; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1713659; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1913660; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2113661; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2313662; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2513663; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2713664; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2913665; GFX11-NEXT: v_mov_b32_e32 v16, s2813666; GFX11-NEXT: s_mov_b32 s0, 013667; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo13668; GFX11-NEXT: s_cbranch_scc0 .LBB25_313669; GFX11-NEXT: ; %bb.1: ; %Flow13670; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s013671; GFX11-NEXT: s_cbranch_vccz .LBB25_413672; GFX11-NEXT: ; %bb.2: ; %end13673; GFX11-NEXT: s_setpc_b64 s[30:31]13674; GFX11-NEXT: .LBB25_3:13675; GFX11-NEXT: .LBB25_4: ; %cmp.true13676; GFX11-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2613677; GFX11-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2413678; GFX11-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2213679; GFX11-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2013680; GFX11-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1813681; GFX11-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1613682; GFX11-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1413683; GFX11-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1213684; GFX11-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1013685; GFX11-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v813686; GFX11-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v613687; GFX11-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v413688; GFX11-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v213689; GFX11-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v013690; GFX11-NEXT: s_setpc_b64 s[30:31]13691 %cmp = icmp eq i32 %b, 013692 br i1 %cmp, label %cmp.true, label %cmp.false13693 13694cmp.true:13695 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)13696 %a2 = bitcast <28 x float> %a1 to <14 x double>13697 br label %end13698 13699cmp.false:13700 %a3 = bitcast <28 x float> %a to <14 x double>13701 br label %end13702 13703end:13704 %phi = phi <14 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]13705 ret <14 x double> %phi13706}13707 13708define <28 x float> @bitcast_v14f64_to_v28f32(<14 x double> %a, i32 %b) {13709; SI-LABEL: bitcast_v14f64_to_v28f32:13710; SI: ; %bb.0:13711; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13712; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2813713; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc13714; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13715; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13716; SI-NEXT: s_cbranch_execz .LBB26_213717; SI-NEXT: ; %bb.1: ; %cmp.true13718; SI-NEXT: v_add_f64 v[26:27], v[26:27], 1.013719; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.013720; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.013721; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.013722; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.013723; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.013724; SI-NEXT: v_add_f64 v[14:15], v[14:15], 1.013725; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.013726; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.013727; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.013728; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.013729; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.013730; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.013731; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.013732; SI-NEXT: .LBB26_2: ; %end13733; SI-NEXT: s_or_b64 exec, exec, s[4:5]13734; SI-NEXT: s_setpc_b64 s[30:31]13735;13736; VI-LABEL: bitcast_v14f64_to_v28f32:13737; VI: ; %bb.0:13738; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13739; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2813740; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc13741; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13742; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13743; VI-NEXT: s_cbranch_execz .LBB26_213744; VI-NEXT: ; %bb.1: ; %cmp.true13745; VI-NEXT: v_add_f64 v[26:27], v[26:27], 1.013746; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.013747; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.013748; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.013749; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.013750; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.013751; VI-NEXT: v_add_f64 v[14:15], v[14:15], 1.013752; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.013753; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.013754; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.013755; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.013756; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.013757; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.013758; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.013759; VI-NEXT: .LBB26_2: ; %end13760; VI-NEXT: s_or_b64 exec, exec, s[4:5]13761; VI-NEXT: s_setpc_b64 s[30:31]13762;13763; GFX9-LABEL: bitcast_v14f64_to_v28f32:13764; GFX9: ; %bb.0:13765; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13766; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2813767; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc13768; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]13769; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]13770; GFX9-NEXT: s_cbranch_execz .LBB26_213771; GFX9-NEXT: ; %bb.1: ; %cmp.true13772; GFX9-NEXT: v_add_f64 v[26:27], v[26:27], 1.013773; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.013774; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.013775; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.013776; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.013777; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.013778; GFX9-NEXT: v_add_f64 v[14:15], v[14:15], 1.013779; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.013780; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.013781; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.013782; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.013783; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.013784; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.013785; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.013786; GFX9-NEXT: .LBB26_2: ; %end13787; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]13788; GFX9-NEXT: s_setpc_b64 s[30:31]13789;13790; GFX11-LABEL: bitcast_v14f64_to_v28f32:13791; GFX11: ; %bb.0:13792; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13793; GFX11-NEXT: s_mov_b32 s0, exec_lo13794; GFX11-NEXT: v_cmpx_ne_u32_e32 0, v2813795; GFX11-NEXT: s_xor_b32 s0, exec_lo, s013796; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)13797; GFX11-NEXT: s_and_not1_saveexec_b32 s0, s013798; GFX11-NEXT: s_cbranch_execz .LBB26_213799; GFX11-NEXT: ; %bb.1: ; %cmp.true13800; GFX11-NEXT: v_add_f64 v[26:27], v[26:27], 1.013801; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.013802; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.013803; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.013804; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.013805; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.013806; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.013807; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.013808; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.013809; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.013810; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.013811; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.013812; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.013813; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.013814; GFX11-NEXT: .LBB26_2: ; %end13815; GFX11-NEXT: s_or_b32 exec_lo, exec_lo, s013816; GFX11-NEXT: s_setpc_b64 s[30:31]13817 %cmp = icmp eq i32 %b, 013818 br i1 %cmp, label %cmp.true, label %cmp.false13819 13820cmp.true:13821 %a1 = fadd <14 x double> %a, splat (double 1.000000e+00)13822 %a2 = bitcast <14 x double> %a1 to <28 x float>13823 br label %end13824 13825cmp.false:13826 %a3 = bitcast <14 x double> %a to <28 x float>13827 br label %end13828 13829end:13830 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]13831 ret <28 x float> %phi13832}13833 13834define inreg <28 x float> @bitcast_v14f64_to_v28f32_scalar(<14 x double> inreg %a, i32 inreg %b) {13835; SI-LABEL: bitcast_v14f64_to_v28f32_scalar:13836; SI: ; %bb.0:13837; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13838; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413839; SI-NEXT: v_mov_b32_e32 v27, v1313840; SI-NEXT: v_mov_b32_e32 v26, v1213841; SI-NEXT: v_mov_b32_e32 v25, v1113842; SI-NEXT: v_mov_b32_e32 v24, v1013843; SI-NEXT: v_mov_b32_e32 v23, v913844; SI-NEXT: v_mov_b32_e32 v22, v813845; SI-NEXT: v_mov_b32_e32 v21, v713846; SI-NEXT: v_mov_b32_e32 v20, v613847; SI-NEXT: v_mov_b32_e32 v19, v513848; SI-NEXT: v_mov_b32_e32 v18, v413849; SI-NEXT: v_mov_b32_e32 v17, v313850; SI-NEXT: v_mov_b32_e32 v16, v213851; SI-NEXT: v_mov_b32_e32 v29, v113852; SI-NEXT: v_mov_b32_e32 v28, v013853; SI-NEXT: v_mov_b32_e32 v0, s1613854; SI-NEXT: v_mov_b32_e32 v1, s1713855; SI-NEXT: v_mov_b32_e32 v2, s1813856; SI-NEXT: v_mov_b32_e32 v3, s1913857; SI-NEXT: v_mov_b32_e32 v4, s2013858; SI-NEXT: v_mov_b32_e32 v5, s2113859; SI-NEXT: v_mov_b32_e32 v6, s2213860; SI-NEXT: v_mov_b32_e32 v7, s2313861; SI-NEXT: v_mov_b32_e32 v8, s2413862; SI-NEXT: v_mov_b32_e32 v9, s2513863; SI-NEXT: v_mov_b32_e32 v10, s2613864; SI-NEXT: v_mov_b32_e32 v11, s2713865; SI-NEXT: s_and_b64 s[4:5], vcc, exec13866; SI-NEXT: v_mov_b32_e32 v12, s2813867; SI-NEXT: v_mov_b32_e32 v13, s2913868; SI-NEXT: s_cbranch_scc0 .LBB27_413869; SI-NEXT: ; %bb.1: ; %cmp.false13870; SI-NEXT: s_cbranch_execnz .LBB27_313871; SI-NEXT: .LBB27_2: ; %cmp.true13872; SI-NEXT: v_add_f64 v[26:27], v[26:27], 1.013873; SI-NEXT: v_add_f64 v[24:25], v[24:25], 1.013874; SI-NEXT: v_add_f64 v[22:23], v[22:23], 1.013875; SI-NEXT: v_add_f64 v[20:21], v[20:21], 1.013876; SI-NEXT: v_add_f64 v[18:19], v[18:19], 1.013877; SI-NEXT: v_add_f64 v[16:17], v[16:17], 1.013878; SI-NEXT: v_add_f64 v[28:29], v[28:29], 1.013879; SI-NEXT: v_add_f64 v[12:13], v[12:13], 1.013880; SI-NEXT: v_add_f64 v[10:11], v[10:11], 1.013881; SI-NEXT: v_add_f64 v[8:9], v[8:9], 1.013882; SI-NEXT: v_add_f64 v[6:7], v[6:7], 1.013883; SI-NEXT: v_add_f64 v[4:5], v[4:5], 1.013884; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.013885; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.013886; SI-NEXT: .LBB27_3: ; %end13887; SI-NEXT: v_mov_b32_e32 v14, v2813888; SI-NEXT: v_mov_b32_e32 v15, v2913889; SI-NEXT: s_setpc_b64 s[30:31]13890; SI-NEXT: .LBB27_4:13891; SI-NEXT: s_branch .LBB27_213892;13893; VI-LABEL: bitcast_v14f64_to_v28f32_scalar:13894; VI: ; %bb.0:13895; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13896; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413897; VI-NEXT: v_mov_b32_e32 v27, v1313898; VI-NEXT: v_mov_b32_e32 v26, v1213899; VI-NEXT: v_mov_b32_e32 v25, v1113900; VI-NEXT: v_mov_b32_e32 v24, v1013901; VI-NEXT: v_mov_b32_e32 v23, v913902; VI-NEXT: v_mov_b32_e32 v22, v813903; VI-NEXT: v_mov_b32_e32 v21, v713904; VI-NEXT: v_mov_b32_e32 v20, v613905; VI-NEXT: v_mov_b32_e32 v19, v513906; VI-NEXT: v_mov_b32_e32 v18, v413907; VI-NEXT: v_mov_b32_e32 v17, v313908; VI-NEXT: v_mov_b32_e32 v16, v213909; VI-NEXT: v_mov_b32_e32 v29, v113910; VI-NEXT: v_mov_b32_e32 v28, v013911; VI-NEXT: v_mov_b32_e32 v0, s1613912; VI-NEXT: v_mov_b32_e32 v1, s1713913; VI-NEXT: v_mov_b32_e32 v2, s1813914; VI-NEXT: v_mov_b32_e32 v3, s1913915; VI-NEXT: v_mov_b32_e32 v4, s2013916; VI-NEXT: v_mov_b32_e32 v5, s2113917; VI-NEXT: v_mov_b32_e32 v6, s2213918; VI-NEXT: v_mov_b32_e32 v7, s2313919; VI-NEXT: v_mov_b32_e32 v8, s2413920; VI-NEXT: v_mov_b32_e32 v9, s2513921; VI-NEXT: v_mov_b32_e32 v10, s2613922; VI-NEXT: v_mov_b32_e32 v11, s2713923; VI-NEXT: s_and_b64 s[4:5], vcc, exec13924; VI-NEXT: v_mov_b32_e32 v12, s2813925; VI-NEXT: v_mov_b32_e32 v13, s2913926; VI-NEXT: s_cbranch_scc0 .LBB27_413927; VI-NEXT: ; %bb.1: ; %cmp.false13928; VI-NEXT: s_cbranch_execnz .LBB27_313929; VI-NEXT: .LBB27_2: ; %cmp.true13930; VI-NEXT: v_add_f64 v[26:27], v[26:27], 1.013931; VI-NEXT: v_add_f64 v[24:25], v[24:25], 1.013932; VI-NEXT: v_add_f64 v[22:23], v[22:23], 1.013933; VI-NEXT: v_add_f64 v[20:21], v[20:21], 1.013934; VI-NEXT: v_add_f64 v[18:19], v[18:19], 1.013935; VI-NEXT: v_add_f64 v[16:17], v[16:17], 1.013936; VI-NEXT: v_add_f64 v[28:29], v[28:29], 1.013937; VI-NEXT: v_add_f64 v[12:13], v[12:13], 1.013938; VI-NEXT: v_add_f64 v[10:11], v[10:11], 1.013939; VI-NEXT: v_add_f64 v[8:9], v[8:9], 1.013940; VI-NEXT: v_add_f64 v[6:7], v[6:7], 1.013941; VI-NEXT: v_add_f64 v[4:5], v[4:5], 1.013942; VI-NEXT: v_add_f64 v[2:3], v[2:3], 1.013943; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.013944; VI-NEXT: .LBB27_3: ; %end13945; VI-NEXT: v_mov_b32_e32 v14, v2813946; VI-NEXT: v_mov_b32_e32 v15, v2913947; VI-NEXT: s_setpc_b64 s[30:31]13948; VI-NEXT: .LBB27_4:13949; VI-NEXT: s_branch .LBB27_213950;13951; GFX9-LABEL: bitcast_v14f64_to_v28f32_scalar:13952; GFX9: ; %bb.0:13953; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)13954; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1413955; GFX9-NEXT: v_mov_b32_e32 v27, v1313956; GFX9-NEXT: v_mov_b32_e32 v26, v1213957; GFX9-NEXT: v_mov_b32_e32 v25, v1113958; GFX9-NEXT: v_mov_b32_e32 v24, v1013959; GFX9-NEXT: v_mov_b32_e32 v23, v913960; GFX9-NEXT: v_mov_b32_e32 v22, v813961; GFX9-NEXT: v_mov_b32_e32 v21, v713962; GFX9-NEXT: v_mov_b32_e32 v20, v613963; GFX9-NEXT: v_mov_b32_e32 v19, v513964; GFX9-NEXT: v_mov_b32_e32 v18, v413965; GFX9-NEXT: v_mov_b32_e32 v17, v313966; GFX9-NEXT: v_mov_b32_e32 v16, v213967; GFX9-NEXT: v_mov_b32_e32 v29, v113968; GFX9-NEXT: v_mov_b32_e32 v28, v013969; GFX9-NEXT: v_mov_b32_e32 v0, s1613970; GFX9-NEXT: v_mov_b32_e32 v1, s1713971; GFX9-NEXT: v_mov_b32_e32 v2, s1813972; GFX9-NEXT: v_mov_b32_e32 v3, s1913973; GFX9-NEXT: v_mov_b32_e32 v4, s2013974; GFX9-NEXT: v_mov_b32_e32 v5, s2113975; GFX9-NEXT: v_mov_b32_e32 v6, s2213976; GFX9-NEXT: v_mov_b32_e32 v7, s2313977; GFX9-NEXT: v_mov_b32_e32 v8, s2413978; GFX9-NEXT: v_mov_b32_e32 v9, s2513979; GFX9-NEXT: v_mov_b32_e32 v10, s2613980; GFX9-NEXT: v_mov_b32_e32 v11, s2713981; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec13982; GFX9-NEXT: v_mov_b32_e32 v12, s2813983; GFX9-NEXT: v_mov_b32_e32 v13, s2913984; GFX9-NEXT: s_cbranch_scc0 .LBB27_413985; GFX9-NEXT: ; %bb.1: ; %cmp.false13986; GFX9-NEXT: s_cbranch_execnz .LBB27_313987; GFX9-NEXT: .LBB27_2: ; %cmp.true13988; GFX9-NEXT: v_add_f64 v[26:27], v[26:27], 1.013989; GFX9-NEXT: v_add_f64 v[24:25], v[24:25], 1.013990; GFX9-NEXT: v_add_f64 v[22:23], v[22:23], 1.013991; GFX9-NEXT: v_add_f64 v[20:21], v[20:21], 1.013992; GFX9-NEXT: v_add_f64 v[18:19], v[18:19], 1.013993; GFX9-NEXT: v_add_f64 v[16:17], v[16:17], 1.013994; GFX9-NEXT: v_add_f64 v[28:29], v[28:29], 1.013995; GFX9-NEXT: v_add_f64 v[12:13], v[12:13], 1.013996; GFX9-NEXT: v_add_f64 v[10:11], v[10:11], 1.013997; GFX9-NEXT: v_add_f64 v[8:9], v[8:9], 1.013998; GFX9-NEXT: v_add_f64 v[6:7], v[6:7], 1.013999; GFX9-NEXT: v_add_f64 v[4:5], v[4:5], 1.014000; GFX9-NEXT: v_add_f64 v[2:3], v[2:3], 1.014001; GFX9-NEXT: v_add_f64 v[0:1], v[0:1], 1.014002; GFX9-NEXT: .LBB27_3: ; %end14003; GFX9-NEXT: v_mov_b32_e32 v14, v2814004; GFX9-NEXT: v_mov_b32_e32 v15, v2914005; GFX9-NEXT: s_setpc_b64 s[30:31]14006; GFX9-NEXT: .LBB27_4:14007; GFX9-NEXT: s_branch .LBB27_214008;14009; GFX11-LABEL: bitcast_v14f64_to_v28f32_scalar:14010; GFX11: ; %bb.0:14011; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14012; GFX11-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v914013; GFX11-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v714014; GFX11-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v514015; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)14016; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1614017; GFX11-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v314018; GFX11-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v114019; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s114020; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s314021; GFX11-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1714022; GFX11-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1914023; GFX11-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2114024; GFX11-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2314025; GFX11-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2514026; GFX11-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2714027; GFX11-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2914028; GFX11-NEXT: v_mov_b32_e32 v16, s2814029; GFX11-NEXT: s_mov_b32 s0, 014030; GFX11-NEXT: s_and_b32 s1, vcc_lo, exec_lo14031; GFX11-NEXT: s_cbranch_scc0 .LBB27_314032; GFX11-NEXT: ; %bb.1: ; %Flow14033; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s014034; GFX11-NEXT: s_cbranch_vccz .LBB27_414035; GFX11-NEXT: ; %bb.2: ; %end14036; GFX11-NEXT: s_setpc_b64 s[30:31]14037; GFX11-NEXT: .LBB27_3:14038; GFX11-NEXT: .LBB27_4: ; %cmp.true14039; GFX11-NEXT: v_add_f64 v[26:27], v[26:27], 1.014040; GFX11-NEXT: v_add_f64 v[24:25], v[24:25], 1.014041; GFX11-NEXT: v_add_f64 v[22:23], v[22:23], 1.014042; GFX11-NEXT: v_add_f64 v[20:21], v[20:21], 1.014043; GFX11-NEXT: v_add_f64 v[18:19], v[18:19], 1.014044; GFX11-NEXT: v_add_f64 v[16:17], v[16:17], 1.014045; GFX11-NEXT: v_add_f64 v[14:15], v[14:15], 1.014046; GFX11-NEXT: v_add_f64 v[12:13], v[12:13], 1.014047; GFX11-NEXT: v_add_f64 v[10:11], v[10:11], 1.014048; GFX11-NEXT: v_add_f64 v[8:9], v[8:9], 1.014049; GFX11-NEXT: v_add_f64 v[6:7], v[6:7], 1.014050; GFX11-NEXT: v_add_f64 v[4:5], v[4:5], 1.014051; GFX11-NEXT: v_add_f64 v[2:3], v[2:3], 1.014052; GFX11-NEXT: v_add_f64 v[0:1], v[0:1], 1.014053; GFX11-NEXT: s_setpc_b64 s[30:31]14054 %cmp = icmp eq i32 %b, 014055 br i1 %cmp, label %cmp.true, label %cmp.false14056 14057cmp.true:14058 %a1 = fadd <14 x double> %a, splat (double 1.000000e+00)14059 %a2 = bitcast <14 x double> %a1 to <28 x float>14060 br label %end14061 14062cmp.false:14063 %a3 = bitcast <14 x double> %a to <28 x float>14064 br label %end14065 14066end:14067 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]14068 ret <28 x float> %phi14069}14070 14071define <56 x i16> @bitcast_v28f32_to_v56i16(<28 x float> %a, i32 %b) {14072; SI-LABEL: bitcast_v28f32_to_v56i16:14073; SI: ; %bb.0:14074; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14075; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2914076; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill14077; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill14078; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill14079; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill14080; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill14081; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill14082; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill14083; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill14084; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 ; 4-byte Folded Spill14085; SI-NEXT: ; implicit-def: $vgpr4414086; SI-NEXT: ; implicit-def: $vgpr5614087; SI-NEXT: ; implicit-def: $vgpr4214088; SI-NEXT: ; implicit-def: $vgpr4714089; SI-NEXT: ; implicit-def: $vgpr4014090; SI-NEXT: ; implicit-def: $vgpr4614091; SI-NEXT: ; implicit-def: $vgpr5414092; SI-NEXT: ; implicit-def: $vgpr4514093; SI-NEXT: ; implicit-def: $vgpr5114094; SI-NEXT: ; implicit-def: $vgpr4314095; SI-NEXT: ; implicit-def: $vgpr4914096; SI-NEXT: ; implicit-def: $vgpr4114097; SI-NEXT: ; implicit-def: $vgpr3914098; SI-NEXT: ; implicit-def: $vgpr5514099; SI-NEXT: ; implicit-def: $vgpr3714100; SI-NEXT: ; implicit-def: $vgpr5314101; SI-NEXT: ; implicit-def: $vgpr3414102; SI-NEXT: ; implicit-def: $vgpr5214103; SI-NEXT: ; implicit-def: $vgpr3314104; SI-NEXT: ; implicit-def: $vgpr5014105; SI-NEXT: ; implicit-def: $vgpr3214106; SI-NEXT: ; implicit-def: $vgpr4814107; SI-NEXT: ; implicit-def: $vgpr3114108; SI-NEXT: ; implicit-def: $vgpr3814109; SI-NEXT: ; implicit-def: $vgpr3014110; SI-NEXT: ; implicit-def: $vgpr3614111; SI-NEXT: ; implicit-def: $vgpr2914112; SI-NEXT: ; implicit-def: $vgpr3514113; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc14114; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]14115; SI-NEXT: s_cbranch_execz .LBB28_214116; SI-NEXT: ; %bb.1: ; %cmp.false14117; SI-NEXT: v_alignbit_b32 v29, v28, v27, 1614118; SI-NEXT: v_alignbit_b32 v30, v26, v25, 1614119; SI-NEXT: v_alignbit_b32 v31, v24, v23, 1614120; SI-NEXT: v_alignbit_b32 v32, v22, v21, 1614121; SI-NEXT: v_alignbit_b32 v33, v20, v19, 1614122; SI-NEXT: v_alignbit_b32 v34, v18, v17, 1614123; SI-NEXT: v_alignbit_b32 v37, v16, v15, 1614124; SI-NEXT: v_alignbit_b32 v39, v14, v13, 1614125; SI-NEXT: v_alignbit_b32 v49, v12, v11, 1614126; SI-NEXT: v_alignbit_b32 v51, v10, v9, 1614127; SI-NEXT: v_alignbit_b32 v54, v8, v7, 1614128; SI-NEXT: v_alignbit_b32 v40, v6, v5, 1614129; SI-NEXT: s_waitcnt expcnt(6)14130; SI-NEXT: v_alignbit_b32 v42, v4, v3, 1614131; SI-NEXT: s_waitcnt expcnt(4)14132; SI-NEXT: v_alignbit_b32 v44, v2, v1, 1614133; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v2814134; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v2614135; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v2414136; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v2214137; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v2014138; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1814139; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v1614140; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1414141; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v1214142; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1014143; SI-NEXT: s_waitcnt expcnt(3)14144; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v814145; SI-NEXT: s_waitcnt expcnt(2)14146; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v614147; SI-NEXT: s_waitcnt expcnt(1)14148; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v414149; SI-NEXT: s_waitcnt expcnt(0)14150; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v214151; SI-NEXT: .LBB28_2: ; %Flow14152; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]14153; SI-NEXT: s_cbranch_execz .LBB28_414154; SI-NEXT: ; %bb.3: ; %cmp.true14155; SI-NEXT: v_add_f32_e32 v2, 1.0, v214156; SI-NEXT: v_add_f32_e32 v1, 1.0, v114157; SI-NEXT: v_add_f32_e32 v4, 1.0, v414158; SI-NEXT: v_add_f32_e32 v3, 1.0, v314159; SI-NEXT: v_add_f32_e32 v6, 1.0, v614160; SI-NEXT: v_add_f32_e32 v5, 1.0, v514161; SI-NEXT: v_add_f32_e32 v8, 1.0, v814162; SI-NEXT: v_add_f32_e32 v7, 1.0, v714163; SI-NEXT: v_add_f32_e32 v10, 1.0, v1014164; SI-NEXT: v_add_f32_e32 v9, 1.0, v914165; SI-NEXT: v_add_f32_e32 v12, 1.0, v1214166; SI-NEXT: v_add_f32_e32 v11, 1.0, v1114167; SI-NEXT: v_add_f32_e32 v14, 1.0, v1414168; SI-NEXT: v_add_f32_e32 v13, 1.0, v1314169; SI-NEXT: v_add_f32_e32 v16, 1.0, v1614170; SI-NEXT: v_add_f32_e32 v15, 1.0, v1514171; SI-NEXT: v_add_f32_e32 v18, 1.0, v1814172; SI-NEXT: v_add_f32_e32 v17, 1.0, v1714173; SI-NEXT: v_add_f32_e32 v20, 1.0, v2014174; SI-NEXT: v_add_f32_e32 v19, 1.0, v1914175; SI-NEXT: v_add_f32_e32 v22, 1.0, v2214176; SI-NEXT: v_add_f32_e32 v21, 1.0, v2114177; SI-NEXT: v_add_f32_e32 v24, 1.0, v2414178; SI-NEXT: v_add_f32_e32 v23, 1.0, v2314179; SI-NEXT: v_add_f32_e32 v26, 1.0, v2614180; SI-NEXT: v_add_f32_e32 v25, 1.0, v2514181; SI-NEXT: v_add_f32_e32 v28, 1.0, v2814182; SI-NEXT: v_add_f32_e32 v27, 1.0, v2714183; SI-NEXT: v_alignbit_b32 v29, v28, v27, 1614184; SI-NEXT: v_alignbit_b32 v30, v26, v25, 1614185; SI-NEXT: v_alignbit_b32 v31, v24, v23, 1614186; SI-NEXT: v_alignbit_b32 v32, v22, v21, 1614187; SI-NEXT: v_alignbit_b32 v33, v20, v19, 1614188; SI-NEXT: v_alignbit_b32 v34, v18, v17, 1614189; SI-NEXT: v_alignbit_b32 v37, v16, v15, 1614190; SI-NEXT: v_alignbit_b32 v39, v14, v13, 1614191; SI-NEXT: v_alignbit_b32 v49, v12, v11, 1614192; SI-NEXT: v_alignbit_b32 v51, v10, v9, 1614193; SI-NEXT: v_alignbit_b32 v54, v8, v7, 1614194; SI-NEXT: v_alignbit_b32 v40, v6, v5, 1614195; SI-NEXT: s_waitcnt expcnt(6)14196; SI-NEXT: v_alignbit_b32 v42, v4, v3, 1614197; SI-NEXT: s_waitcnt expcnt(4)14198; SI-NEXT: v_alignbit_b32 v44, v2, v1, 1614199; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v2814200; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v2614201; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v2414202; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v2214203; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v2014204; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1814205; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v1614206; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1414207; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v1214208; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1014209; SI-NEXT: s_waitcnt expcnt(3)14210; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v814211; SI-NEXT: s_waitcnt expcnt(2)14212; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v614213; SI-NEXT: s_waitcnt expcnt(1)14214; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v414215; SI-NEXT: s_waitcnt expcnt(0)14216; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v214217; SI-NEXT: .LBB28_4: ; %end14218; SI-NEXT: s_or_b64 exec, exec, s[4:5]14219; SI-NEXT: v_and_b32_e32 v1, 0xffff, v114220; SI-NEXT: s_waitcnt expcnt(4)14221; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v4414222; SI-NEXT: v_or_b32_e32 v1, v1, v4414223; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen14224; SI-NEXT: s_waitcnt expcnt(0)14225; SI-NEXT: v_and_b32_e32 v1, 0xffff, v214226; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5614227; SI-NEXT: v_or_b32_e32 v1, v1, v214228; SI-NEXT: v_add_i32_e32 v2, vcc, 4, v014229; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14230; SI-NEXT: s_waitcnt expcnt(0)14231; SI-NEXT: v_and_b32_e32 v1, 0xffff, v314232; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4214233; SI-NEXT: v_or_b32_e32 v1, v1, v214234; SI-NEXT: v_add_i32_e32 v2, vcc, 8, v014235; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14236; SI-NEXT: s_waitcnt expcnt(0)14237; SI-NEXT: v_and_b32_e32 v1, 0xffff, v414238; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4714239; SI-NEXT: v_or_b32_e32 v1, v1, v214240; SI-NEXT: v_add_i32_e32 v2, vcc, 12, v014241; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14242; SI-NEXT: s_waitcnt expcnt(0)14243; SI-NEXT: v_and_b32_e32 v1, 0xffff, v514244; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4014245; SI-NEXT: v_or_b32_e32 v1, v1, v214246; SI-NEXT: v_add_i32_e32 v2, vcc, 16, v014247; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14248; SI-NEXT: s_waitcnt expcnt(0)14249; SI-NEXT: v_and_b32_e32 v1, 0xffff, v614250; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4614251; SI-NEXT: v_or_b32_e32 v1, v1, v214252; SI-NEXT: v_add_i32_e32 v2, vcc, 20, v014253; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14254; SI-NEXT: s_waitcnt expcnt(0)14255; SI-NEXT: v_and_b32_e32 v1, 0xffff, v714256; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5414257; SI-NEXT: v_or_b32_e32 v1, v1, v214258; SI-NEXT: v_add_i32_e32 v2, vcc, 24, v014259; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14260; SI-NEXT: s_waitcnt expcnt(0)14261; SI-NEXT: v_and_b32_e32 v1, 0xffff, v814262; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4514263; SI-NEXT: v_or_b32_e32 v1, v1, v214264; SI-NEXT: v_add_i32_e32 v2, vcc, 28, v014265; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14266; SI-NEXT: s_waitcnt expcnt(0)14267; SI-NEXT: v_and_b32_e32 v1, 0xffff, v914268; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5114269; SI-NEXT: v_or_b32_e32 v1, v1, v214270; SI-NEXT: v_add_i32_e32 v2, vcc, 32, v014271; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14272; SI-NEXT: s_waitcnt expcnt(0)14273; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1014274; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4314275; SI-NEXT: v_or_b32_e32 v1, v1, v214276; SI-NEXT: v_add_i32_e32 v2, vcc, 36, v014277; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14278; SI-NEXT: s_waitcnt expcnt(0)14279; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1114280; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4914281; SI-NEXT: v_or_b32_e32 v1, v1, v214282; SI-NEXT: v_add_i32_e32 v2, vcc, 40, v014283; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14284; SI-NEXT: s_waitcnt expcnt(0)14285; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1214286; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4114287; SI-NEXT: v_or_b32_e32 v1, v1, v214288; SI-NEXT: v_add_i32_e32 v2, vcc, 44, v014289; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14290; SI-NEXT: s_waitcnt expcnt(0)14291; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1314292; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3914293; SI-NEXT: v_or_b32_e32 v1, v1, v214294; SI-NEXT: v_add_i32_e32 v2, vcc, 48, v014295; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14296; SI-NEXT: s_waitcnt expcnt(0)14297; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1414298; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5514299; SI-NEXT: v_or_b32_e32 v1, v1, v214300; SI-NEXT: v_add_i32_e32 v2, vcc, 52, v014301; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14302; SI-NEXT: s_waitcnt expcnt(0)14303; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1514304; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3714305; SI-NEXT: v_or_b32_e32 v1, v1, v214306; SI-NEXT: v_add_i32_e32 v2, vcc, 56, v014307; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14308; SI-NEXT: s_waitcnt expcnt(0)14309; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1614310; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5314311; SI-NEXT: v_or_b32_e32 v1, v1, v214312; SI-NEXT: v_add_i32_e32 v2, vcc, 60, v014313; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14314; SI-NEXT: s_waitcnt expcnt(0)14315; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1714316; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3414317; SI-NEXT: v_or_b32_e32 v1, v1, v214318; SI-NEXT: v_add_i32_e32 v2, vcc, 64, v014319; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14320; SI-NEXT: s_waitcnt expcnt(0)14321; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1814322; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5214323; SI-NEXT: v_or_b32_e32 v1, v1, v214324; SI-NEXT: v_add_i32_e32 v2, vcc, 0x44, v014325; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14326; SI-NEXT: s_waitcnt expcnt(0)14327; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1914328; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3314329; SI-NEXT: v_or_b32_e32 v1, v1, v214330; SI-NEXT: v_add_i32_e32 v2, vcc, 0x48, v014331; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14332; SI-NEXT: s_waitcnt expcnt(0)14333; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2014334; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5014335; SI-NEXT: v_or_b32_e32 v1, v1, v214336; SI-NEXT: v_add_i32_e32 v2, vcc, 0x4c, v014337; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14338; SI-NEXT: s_waitcnt expcnt(0)14339; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2114340; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3214341; SI-NEXT: v_or_b32_e32 v1, v1, v214342; SI-NEXT: v_add_i32_e32 v2, vcc, 0x50, v014343; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14344; SI-NEXT: s_waitcnt expcnt(0)14345; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2214346; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4814347; SI-NEXT: v_or_b32_e32 v1, v1, v214348; SI-NEXT: v_add_i32_e32 v2, vcc, 0x54, v014349; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14350; SI-NEXT: s_waitcnt expcnt(0)14351; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2314352; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3114353; SI-NEXT: v_or_b32_e32 v1, v1, v214354; SI-NEXT: v_add_i32_e32 v2, vcc, 0x58, v014355; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14356; SI-NEXT: s_waitcnt expcnt(0)14357; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2414358; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3814359; SI-NEXT: v_or_b32_e32 v1, v1, v214360; SI-NEXT: v_add_i32_e32 v2, vcc, 0x5c, v014361; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14362; SI-NEXT: s_waitcnt expcnt(0)14363; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2514364; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3014365; SI-NEXT: v_or_b32_e32 v1, v1, v214366; SI-NEXT: v_add_i32_e32 v2, vcc, 0x60, v014367; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14368; SI-NEXT: s_waitcnt expcnt(0)14369; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2614370; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3614371; SI-NEXT: v_or_b32_e32 v1, v1, v214372; SI-NEXT: v_add_i32_e32 v2, vcc, 0x64, v014373; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14374; SI-NEXT: s_waitcnt expcnt(0)14375; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2714376; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2914377; SI-NEXT: v_or_b32_e32 v1, v1, v214378; SI-NEXT: v_add_i32_e32 v2, vcc, 0x68, v014379; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen14380; SI-NEXT: s_waitcnt expcnt(0)14381; SI-NEXT: v_and_b32_e32 v1, 0xffff, v2814382; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3514383; SI-NEXT: v_or_b32_e32 v1, v1, v214384; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v014385; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen14386; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 ; 4-byte Folded Reload14387; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload14388; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload14389; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload14390; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload14391; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload14392; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload14393; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload14394; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload14395; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)14396; SI-NEXT: s_setpc_b64 s[30:31]14397;14398; VI-LABEL: bitcast_v28f32_to_v56i16:14399; VI: ; %bb.0:14400; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14401; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2814402; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill14403; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill14404; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill14405; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill14406; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill14407; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill14408; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill14409; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill14410; VI-NEXT: ; implicit-def: $vgpr4714411; VI-NEXT: ; implicit-def: $vgpr4614412; VI-NEXT: ; implicit-def: $vgpr4514413; VI-NEXT: ; implicit-def: $vgpr4414414; VI-NEXT: ; implicit-def: $vgpr4314415; VI-NEXT: ; implicit-def: $vgpr4214416; VI-NEXT: ; implicit-def: $vgpr4114417; VI-NEXT: ; implicit-def: $vgpr4014418; VI-NEXT: ; implicit-def: $vgpr5514419; VI-NEXT: ; implicit-def: $vgpr5414420; VI-NEXT: ; implicit-def: $vgpr5314421; VI-NEXT: ; implicit-def: $vgpr5214422; VI-NEXT: ; implicit-def: $vgpr5114423; VI-NEXT: ; implicit-def: $vgpr5014424; VI-NEXT: ; implicit-def: $vgpr4914425; VI-NEXT: ; implicit-def: $vgpr4814426; VI-NEXT: ; implicit-def: $vgpr3914427; VI-NEXT: ; implicit-def: $vgpr3814428; VI-NEXT: ; implicit-def: $vgpr3714429; VI-NEXT: ; implicit-def: $vgpr3614430; VI-NEXT: ; implicit-def: $vgpr3514431; VI-NEXT: ; implicit-def: $vgpr3414432; VI-NEXT: ; implicit-def: $vgpr3314433; VI-NEXT: ; implicit-def: $vgpr3214434; VI-NEXT: ; implicit-def: $vgpr3114435; VI-NEXT: ; implicit-def: $vgpr3014436; VI-NEXT: ; implicit-def: $vgpr2914437; VI-NEXT: ; implicit-def: $vgpr2814438; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc14439; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]14440; VI-NEXT: s_cbranch_execz .LBB28_214441; VI-NEXT: ; %bb.1: ; %cmp.false14442; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2714443; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2614444; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2514445; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2414446; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2314447; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2214448; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2114449; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2014450; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1914451; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1814452; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1714453; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1614454; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1514455; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1414456; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1314457; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1214458; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1114459; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1014460; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v914461; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v814462; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v714463; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v614464; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v514465; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v414466; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v314467; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v214468; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v114469; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v014470; VI-NEXT: .LBB28_2: ; %Flow14471; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]14472; VI-NEXT: s_cbranch_execz .LBB28_414473; VI-NEXT: ; %bb.3: ; %cmp.true14474; VI-NEXT: v_add_f32_e32 v27, 1.0, v2714475; VI-NEXT: v_add_f32_e32 v26, 1.0, v2614476; VI-NEXT: v_add_f32_e32 v25, 1.0, v2514477; VI-NEXT: v_add_f32_e32 v24, 1.0, v2414478; VI-NEXT: v_add_f32_e32 v23, 1.0, v2314479; VI-NEXT: v_add_f32_e32 v22, 1.0, v2214480; VI-NEXT: v_add_f32_e32 v21, 1.0, v2114481; VI-NEXT: v_add_f32_e32 v20, 1.0, v2014482; VI-NEXT: v_add_f32_e32 v19, 1.0, v1914483; VI-NEXT: v_add_f32_e32 v18, 1.0, v1814484; VI-NEXT: v_add_f32_e32 v17, 1.0, v1714485; VI-NEXT: v_add_f32_e32 v16, 1.0, v1614486; VI-NEXT: v_add_f32_e32 v15, 1.0, v1514487; VI-NEXT: v_add_f32_e32 v14, 1.0, v1414488; VI-NEXT: v_add_f32_e32 v13, 1.0, v1314489; VI-NEXT: v_add_f32_e32 v12, 1.0, v1214490; VI-NEXT: v_add_f32_e32 v11, 1.0, v1114491; VI-NEXT: v_add_f32_e32 v10, 1.0, v1014492; VI-NEXT: v_add_f32_e32 v9, 1.0, v914493; VI-NEXT: v_add_f32_e32 v8, 1.0, v814494; VI-NEXT: v_add_f32_e32 v7, 1.0, v714495; VI-NEXT: v_add_f32_e32 v6, 1.0, v614496; VI-NEXT: v_add_f32_e32 v5, 1.0, v514497; VI-NEXT: v_add_f32_e32 v4, 1.0, v414498; VI-NEXT: v_add_f32_e32 v3, 1.0, v314499; VI-NEXT: v_add_f32_e32 v2, 1.0, v214500; VI-NEXT: v_add_f32_e32 v1, 1.0, v114501; VI-NEXT: v_add_f32_e32 v0, 1.0, v014502; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2714503; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2614504; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2514505; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2414506; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2314507; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2214508; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2114509; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2014510; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1914511; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1814512; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1714513; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1614514; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1514515; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1414516; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1314517; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1214518; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1114519; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1014520; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v914521; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v814522; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v714523; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v614524; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v514525; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v414526; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v314527; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v214528; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v114529; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v014530; VI-NEXT: .LBB28_4: ; %end14531; VI-NEXT: s_or_b64 exec, exec, s[4:5]14532; VI-NEXT: v_lshlrev_b32_e32 v47, 16, v4714533; VI-NEXT: v_lshlrev_b32_e32 v46, 16, v4614534; VI-NEXT: v_lshlrev_b32_e32 v45, 16, v4514535; VI-NEXT: v_lshlrev_b32_e32 v44, 16, v4414536; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v4314537; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v4214538; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v4114539; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v4014540; VI-NEXT: v_or_b32_sdwa v0, v0, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14541; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14542; VI-NEXT: v_or_b32_sdwa v2, v2, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14543; VI-NEXT: v_or_b32_sdwa v3, v3, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14544; VI-NEXT: v_or_b32_sdwa v4, v4, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14545; VI-NEXT: v_or_b32_sdwa v5, v5, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14546; VI-NEXT: v_or_b32_sdwa v6, v6, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14547; VI-NEXT: v_or_b32_sdwa v7, v7, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14548; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload14549; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload14550; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload14551; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload14552; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload14553; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload14554; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload14555; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload14556; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v5514557; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v5414558; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v5314559; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v5214560; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v5114561; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v5014562; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v4914563; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v4814564; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v3914565; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v3814566; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v3714567; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v3614568; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v3514569; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v3414570; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v3314571; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v3214572; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v3114573; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v3014574; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v2914575; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v2814576; VI-NEXT: v_or_b32_sdwa v8, v8, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14577; VI-NEXT: v_or_b32_sdwa v9, v9, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14578; VI-NEXT: v_or_b32_sdwa v10, v10, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14579; VI-NEXT: v_or_b32_sdwa v11, v11, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14580; VI-NEXT: v_or_b32_sdwa v12, v12, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14581; VI-NEXT: v_or_b32_sdwa v13, v13, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14582; VI-NEXT: v_or_b32_sdwa v14, v14, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14583; VI-NEXT: v_or_b32_sdwa v15, v15, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14584; VI-NEXT: v_or_b32_sdwa v16, v16, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14585; VI-NEXT: v_or_b32_sdwa v17, v17, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14586; VI-NEXT: v_or_b32_sdwa v18, v18, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14587; VI-NEXT: v_or_b32_sdwa v19, v19, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14588; VI-NEXT: v_or_b32_sdwa v20, v20, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14589; VI-NEXT: v_or_b32_sdwa v21, v21, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14590; VI-NEXT: v_or_b32_sdwa v22, v22, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14591; VI-NEXT: v_or_b32_sdwa v23, v23, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14592; VI-NEXT: v_or_b32_sdwa v24, v24, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14593; VI-NEXT: v_or_b32_sdwa v25, v25, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14594; VI-NEXT: v_or_b32_sdwa v26, v26, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14595; VI-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD14596; VI-NEXT: s_waitcnt vmcnt(0)14597; VI-NEXT: s_setpc_b64 s[30:31]14598;14599; GFX9-LABEL: bitcast_v28f32_to_v56i16:14600; GFX9: ; %bb.0:14601; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14602; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2814603; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill14604; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill14605; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill14606; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill14607; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill14608; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill14609; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill14610; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill14611; GFX9-NEXT: ; implicit-def: $vgpr4714612; GFX9-NEXT: ; implicit-def: $vgpr4614613; GFX9-NEXT: ; implicit-def: $vgpr4514614; GFX9-NEXT: ; implicit-def: $vgpr4414615; GFX9-NEXT: ; implicit-def: $vgpr4314616; GFX9-NEXT: ; implicit-def: $vgpr4214617; GFX9-NEXT: ; implicit-def: $vgpr4114618; GFX9-NEXT: ; implicit-def: $vgpr4014619; GFX9-NEXT: ; implicit-def: $vgpr5514620; GFX9-NEXT: ; implicit-def: $vgpr5414621; GFX9-NEXT: ; implicit-def: $vgpr5314622; GFX9-NEXT: ; implicit-def: $vgpr5214623; GFX9-NEXT: ; implicit-def: $vgpr5114624; GFX9-NEXT: ; implicit-def: $vgpr5014625; GFX9-NEXT: ; implicit-def: $vgpr4914626; GFX9-NEXT: ; implicit-def: $vgpr4814627; GFX9-NEXT: ; implicit-def: $vgpr3914628; GFX9-NEXT: ; implicit-def: $vgpr3814629; GFX9-NEXT: ; implicit-def: $vgpr3714630; GFX9-NEXT: ; implicit-def: $vgpr3614631; GFX9-NEXT: ; implicit-def: $vgpr3514632; GFX9-NEXT: ; implicit-def: $vgpr3414633; GFX9-NEXT: ; implicit-def: $vgpr3314634; GFX9-NEXT: ; implicit-def: $vgpr3214635; GFX9-NEXT: ; implicit-def: $vgpr3114636; GFX9-NEXT: ; implicit-def: $vgpr3014637; GFX9-NEXT: ; implicit-def: $vgpr2914638; GFX9-NEXT: ; implicit-def: $vgpr2814639; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc14640; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]14641; GFX9-NEXT: s_cbranch_execz .LBB28_214642; GFX9-NEXT: ; %bb.1: ; %cmp.false14643; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2714644; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2614645; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2514646; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2414647; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2314648; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2214649; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2114650; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2014651; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1914652; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1814653; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1714654; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1614655; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1514656; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1414657; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1314658; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1214659; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1114660; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1014661; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v914662; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v814663; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v714664; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v614665; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v514666; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v414667; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v314668; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v214669; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v114670; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v014671; GFX9-NEXT: .LBB28_2: ; %Flow14672; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]14673; GFX9-NEXT: s_cbranch_execz .LBB28_414674; GFX9-NEXT: ; %bb.3: ; %cmp.true14675; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2714676; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2614677; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2514678; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2414679; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2314680; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2214681; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2114682; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2014683; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1914684; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1814685; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1714686; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1614687; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1514688; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1414689; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1314690; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1214691; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1114692; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1014693; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v914694; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v814695; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v714696; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v614697; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v514698; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v414699; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v314700; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v214701; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v114702; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v014703; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2714704; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2614705; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2514706; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2414707; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2314708; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2214709; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2114710; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2014711; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1914712; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1814713; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1714714; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1614715; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1514716; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1414717; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1314718; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1214719; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1114720; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1014721; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v914722; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v814723; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v714724; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v614725; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v514726; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v414727; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v314728; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v214729; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v114730; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v014731; GFX9-NEXT: .LBB28_4: ; %end14732; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]14733; GFX9-NEXT: s_mov_b32 s4, 0x504010014734; GFX9-NEXT: v_perm_b32 v0, v47, v0, s414735; GFX9-NEXT: v_perm_b32 v1, v46, v1, s414736; GFX9-NEXT: v_perm_b32 v2, v45, v2, s414737; GFX9-NEXT: v_perm_b32 v3, v44, v3, s414738; GFX9-NEXT: v_perm_b32 v4, v43, v4, s414739; GFX9-NEXT: v_perm_b32 v5, v42, v5, s414740; GFX9-NEXT: v_perm_b32 v6, v41, v6, s414741; GFX9-NEXT: v_perm_b32 v7, v40, v7, s414742; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload14743; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload14744; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload14745; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload14746; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload14747; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload14748; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload14749; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload14750; GFX9-NEXT: v_perm_b32 v8, v55, v8, s414751; GFX9-NEXT: v_perm_b32 v9, v54, v9, s414752; GFX9-NEXT: v_perm_b32 v10, v53, v10, s414753; GFX9-NEXT: v_perm_b32 v11, v52, v11, s414754; GFX9-NEXT: v_perm_b32 v12, v51, v12, s414755; GFX9-NEXT: v_perm_b32 v13, v50, v13, s414756; GFX9-NEXT: v_perm_b32 v14, v49, v14, s414757; GFX9-NEXT: v_perm_b32 v15, v48, v15, s414758; GFX9-NEXT: v_perm_b32 v16, v39, v16, s414759; GFX9-NEXT: v_perm_b32 v17, v38, v17, s414760; GFX9-NEXT: v_perm_b32 v18, v37, v18, s414761; GFX9-NEXT: v_perm_b32 v19, v36, v19, s414762; GFX9-NEXT: v_perm_b32 v20, v35, v20, s414763; GFX9-NEXT: v_perm_b32 v21, v34, v21, s414764; GFX9-NEXT: v_perm_b32 v22, v33, v22, s414765; GFX9-NEXT: v_perm_b32 v23, v32, v23, s414766; GFX9-NEXT: v_perm_b32 v24, v31, v24, s414767; GFX9-NEXT: v_perm_b32 v25, v30, v25, s414768; GFX9-NEXT: v_perm_b32 v26, v29, v26, s414769; GFX9-NEXT: v_perm_b32 v27, v28, v27, s414770; GFX9-NEXT: s_waitcnt vmcnt(0)14771; GFX9-NEXT: s_setpc_b64 s[30:31]14772;14773; GFX11-TRUE16-LABEL: bitcast_v28f32_to_v56i16:14774; GFX11-TRUE16: ; %bb.0:14775; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14776; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo14777; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2814778; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s014779; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)14780; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s014781; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB28_214782; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true14783; GFX11-TRUE16-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2614784; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2414785; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2214786; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2014787; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1814788; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1614789; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1414790; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1214791; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1014792; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v814793; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v614794; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v414795; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v214796; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v014797; GFX11-TRUE16-NEXT: .LBB28_2: ; %end14798; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s014799; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]14800;14801; GFX11-FAKE16-LABEL: bitcast_v28f32_to_v56i16:14802; GFX11-FAKE16: ; %bb.0:14803; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14804; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2814805; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr7114806; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr7014807; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6914808; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6814809; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6714810; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6614811; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6514812; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6414813; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5514814; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5414815; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5314816; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5214817; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5114818; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5014819; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4914820; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4814821; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3914822; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3814823; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3714824; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3614825; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3514826; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3414827; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3314828; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3214829; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3114830; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3014831; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2914832; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2814833; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo14834; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)14835; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s014836; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB28_214837; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false14838; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2714839; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2614840; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2514841; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2414842; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2314843; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2214844; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2114845; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2014846; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1914847; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1814848; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1714849; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1614850; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1514851; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1414852; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1314853; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1214854; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1114855; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1014856; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v914857; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v814858; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v714859; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v614860; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v514861; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v414862; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v314863; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v214864; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v114865; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v014866; GFX11-FAKE16-NEXT: .LBB28_2: ; %Flow14867; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s014868; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB28_414869; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true14870; GFX11-FAKE16-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2614871; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2414872; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2214873; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2014874; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1814875; GFX11-FAKE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1614876; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1414877; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1214878; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1014879; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v814880; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v614881; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v414882; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v214883; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v014884; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2714885; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2614886; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2514887; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2414888; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2314889; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2214890; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2114891; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2014892; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1914893; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1814894; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1714895; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1614896; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1514897; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1414898; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1314899; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1214900; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1114901; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1014902; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v914903; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v814904; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v714905; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v614906; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v514907; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v414908; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v314909; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v214910; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v114911; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v014912; GFX11-FAKE16-NEXT: .LBB28_4: ; %end14913; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s014914; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)14915; GFX11-FAKE16-NEXT: v_perm_b32 v0, v71, v0, 0x504010014916; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x504010014917; GFX11-FAKE16-NEXT: v_perm_b32 v2, v69, v2, 0x504010014918; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x504010014919; GFX11-FAKE16-NEXT: v_perm_b32 v4, v67, v4, 0x504010014920; GFX11-FAKE16-NEXT: v_perm_b32 v5, v66, v5, 0x504010014921; GFX11-FAKE16-NEXT: v_perm_b32 v6, v65, v6, 0x504010014922; GFX11-FAKE16-NEXT: v_perm_b32 v7, v64, v7, 0x504010014923; GFX11-FAKE16-NEXT: v_perm_b32 v8, v55, v8, 0x504010014924; GFX11-FAKE16-NEXT: v_perm_b32 v9, v54, v9, 0x504010014925; GFX11-FAKE16-NEXT: v_perm_b32 v10, v53, v10, 0x504010014926; GFX11-FAKE16-NEXT: v_perm_b32 v11, v52, v11, 0x504010014927; GFX11-FAKE16-NEXT: v_perm_b32 v12, v51, v12, 0x504010014928; GFX11-FAKE16-NEXT: v_perm_b32 v13, v50, v13, 0x504010014929; GFX11-FAKE16-NEXT: v_perm_b32 v14, v49, v14, 0x504010014930; GFX11-FAKE16-NEXT: v_perm_b32 v15, v48, v15, 0x504010014931; GFX11-FAKE16-NEXT: v_perm_b32 v16, v39, v16, 0x504010014932; GFX11-FAKE16-NEXT: v_perm_b32 v17, v38, v17, 0x504010014933; GFX11-FAKE16-NEXT: v_perm_b32 v18, v37, v18, 0x504010014934; GFX11-FAKE16-NEXT: v_perm_b32 v19, v36, v19, 0x504010014935; GFX11-FAKE16-NEXT: v_perm_b32 v20, v35, v20, 0x504010014936; GFX11-FAKE16-NEXT: v_perm_b32 v21, v34, v21, 0x504010014937; GFX11-FAKE16-NEXT: v_perm_b32 v22, v33, v22, 0x504010014938; GFX11-FAKE16-NEXT: v_perm_b32 v23, v32, v23, 0x504010014939; GFX11-FAKE16-NEXT: v_perm_b32 v24, v31, v24, 0x504010014940; GFX11-FAKE16-NEXT: v_perm_b32 v25, v30, v25, 0x504010014941; GFX11-FAKE16-NEXT: v_perm_b32 v26, v29, v26, 0x504010014942; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v27, 0x504010014943; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]14944 %cmp = icmp eq i32 %b, 014945 br i1 %cmp, label %cmp.true, label %cmp.false14946 14947cmp.true:14948 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)14949 %a2 = bitcast <28 x float> %a1 to <56 x i16>14950 br label %end14951 14952cmp.false:14953 %a3 = bitcast <28 x float> %a to <56 x i16>14954 br label %end14955 14956end:14957 %phi = phi <56 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]14958 ret <56 x i16> %phi14959}14960 14961define inreg <56 x i16> @bitcast_v28f32_to_v56i16_scalar(<28 x float> inreg %a, i32 inreg %b) {14962; SI-LABEL: bitcast_v28f32_to_v56i16_scalar:14963; SI: ; %bb.0:14964; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)14965; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1514966; SI-NEXT: v_mov_b32_e32 v27, s1614967; SI-NEXT: v_mov_b32_e32 v28, s1714968; SI-NEXT: v_mov_b32_e32 v23, s1814969; SI-NEXT: v_mov_b32_e32 v24, s1914970; SI-NEXT: v_mov_b32_e32 v25, s2014971; SI-NEXT: v_mov_b32_e32 v26, s2114972; SI-NEXT: v_mov_b32_e32 v21, s2214973; SI-NEXT: v_mov_b32_e32 v22, s2314974; SI-NEXT: v_mov_b32_e32 v19, s2414975; SI-NEXT: v_mov_b32_e32 v20, s2514976; SI-NEXT: v_mov_b32_e32 v17, s2614977; SI-NEXT: v_mov_b32_e32 v18, s2714978; SI-NEXT: s_and_b64 s[4:5], vcc, exec14979; SI-NEXT: v_mov_b32_e32 v15, s2814980; SI-NEXT: v_mov_b32_e32 v16, s2914981; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill14982; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill14983; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill14984; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill14985; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill14986; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill14987; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill14988; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill14989; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill14990; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill14991; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill14992; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill14993; SI-NEXT: s_cbranch_scc0 .LBB29_414994; SI-NEXT: ; %bb.1: ; %cmp.false14995; SI-NEXT: v_lshr_b64 v[29:30], v[13:14], 1614996; SI-NEXT: v_lshr_b64 v[30:31], v[11:12], 1614997; SI-NEXT: v_lshr_b64 v[31:32], v[9:10], 1614998; SI-NEXT: v_lshr_b64 v[32:33], v[7:8], 1614999; SI-NEXT: v_lshr_b64 v[48:49], v[19:20], 1615000; SI-NEXT: v_lshr_b64 v[33:34], v[5:6], 1615001; SI-NEXT: v_lshr_b64 v[49:50], v[21:22], 1615002; SI-NEXT: v_lshr_b64 v[34:35], v[3:4], 1615003; SI-NEXT: v_lshr_b64 v[50:51], v[25:26], 1615004; SI-NEXT: v_lshr_b64 v[35:36], v[15:16], 1615005; SI-NEXT: v_lshr_b64 v[51:52], v[23:24], 1615006; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v1415007; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1215008; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v1015009; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v815010; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v615011; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v415012; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v215013; SI-NEXT: s_waitcnt expcnt(6)15014; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v1615015; SI-NEXT: s_waitcnt expcnt(5)15016; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v1815017; SI-NEXT: s_waitcnt expcnt(4)15018; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v2015019; SI-NEXT: s_waitcnt expcnt(3)15020; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v2215021; SI-NEXT: s_waitcnt expcnt(2)15022; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v2615023; SI-NEXT: s_waitcnt expcnt(1)15024; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v2415025; SI-NEXT: s_waitcnt expcnt(0)15026; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v2815027; SI-NEXT: v_lshr_b64 v[38:39], v[1:2], 1615028; SI-NEXT: v_lshr_b64 v[36:37], v[17:18], 1615029; SI-NEXT: v_lshr_b64 v[52:53], v[27:28], 1615030; SI-NEXT: s_cbranch_execnz .LBB29_315031; SI-NEXT: .LBB29_2: ; %cmp.true15032; SI-NEXT: v_add_f32_e32 v14, 1.0, v1415033; SI-NEXT: v_add_f32_e32 v13, 1.0, v1315034; SI-NEXT: v_add_f32_e32 v12, 1.0, v1215035; SI-NEXT: v_add_f32_e32 v11, 1.0, v1115036; SI-NEXT: v_lshr_b64 v[29:30], v[13:14], 1615037; SI-NEXT: v_add_f32_e32 v10, 1.0, v1015038; SI-NEXT: v_add_f32_e32 v9, 1.0, v915039; SI-NEXT: v_lshr_b64 v[30:31], v[11:12], 1615040; SI-NEXT: v_add_f32_e32 v20, 1.0, v2015041; SI-NEXT: v_add_f32_e32 v19, 1.0, v1915042; SI-NEXT: v_add_f32_e32 v8, 1.0, v815043; SI-NEXT: v_add_f32_e32 v7, 1.0, v715044; SI-NEXT: v_lshr_b64 v[31:32], v[9:10], 1615045; SI-NEXT: v_add_f32_e32 v22, 1.0, v2215046; SI-NEXT: v_add_f32_e32 v21, 1.0, v2115047; SI-NEXT: v_add_f32_e32 v6, 1.0, v615048; SI-NEXT: v_add_f32_e32 v5, 1.0, v515049; SI-NEXT: v_lshr_b64 v[32:33], v[7:8], 1615050; SI-NEXT: v_lshr_b64 v[48:49], v[19:20], 1615051; SI-NEXT: v_add_f32_e32 v26, 1.0, v2615052; SI-NEXT: v_add_f32_e32 v25, 1.0, v2515053; SI-NEXT: v_add_f32_e32 v4, 1.0, v415054; SI-NEXT: v_add_f32_e32 v3, 1.0, v315055; SI-NEXT: v_lshr_b64 v[33:34], v[5:6], 1615056; SI-NEXT: v_lshr_b64 v[49:50], v[21:22], 1615057; SI-NEXT: v_add_f32_e32 v24, 1.0, v2415058; SI-NEXT: v_add_f32_e32 v23, 1.0, v2315059; SI-NEXT: v_add_f32_e32 v16, 1.0, v1615060; SI-NEXT: v_add_f32_e32 v15, 1.0, v1515061; SI-NEXT: v_lshr_b64 v[34:35], v[3:4], 1615062; SI-NEXT: v_lshr_b64 v[50:51], v[25:26], 1615063; SI-NEXT: v_add_f32_e32 v28, 1.0, v2815064; SI-NEXT: v_add_f32_e32 v27, 1.0, v2715065; SI-NEXT: v_add_f32_e32 v18, 1.0, v1815066; SI-NEXT: v_add_f32_e32 v17, 1.0, v1715067; SI-NEXT: v_add_f32_e32 v2, 1.0, v215068; SI-NEXT: v_add_f32_e32 v1, 1.0, v115069; SI-NEXT: v_lshr_b64 v[35:36], v[15:16], 1615070; SI-NEXT: v_lshr_b64 v[51:52], v[23:24], 1615071; SI-NEXT: v_lshr_b64 v[38:39], v[1:2], 1615072; SI-NEXT: v_lshr_b64 v[36:37], v[17:18], 1615073; SI-NEXT: v_lshr_b64 v[52:53], v[27:28], 1615074; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v1415075; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1215076; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v1015077; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v815078; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v615079; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v415080; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v215081; SI-NEXT: s_waitcnt expcnt(6)15082; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v1615083; SI-NEXT: s_waitcnt expcnt(5)15084; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v1815085; SI-NEXT: s_waitcnt expcnt(4)15086; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v2015087; SI-NEXT: s_waitcnt expcnt(3)15088; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v2215089; SI-NEXT: s_waitcnt expcnt(2)15090; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v2615091; SI-NEXT: s_waitcnt expcnt(1)15092; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v2415093; SI-NEXT: s_waitcnt expcnt(0)15094; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v2815095; SI-NEXT: .LBB29_3: ; %end15096; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v5215097; SI-NEXT: v_and_b32_e32 v27, 0xffff, v2715098; SI-NEXT: v_or_b32_e32 v27, v27, v3715099; SI-NEXT: buffer_store_dword v27, v0, s[0:3], 0 offen15100; SI-NEXT: s_waitcnt expcnt(0)15101; SI-NEXT: v_and_b32_e32 v27, 0xffff, v2815102; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v5915103; SI-NEXT: v_or_b32_e32 v27, v27, v2815104; SI-NEXT: v_add_i32_e32 v28, vcc, 4, v015105; SI-NEXT: buffer_store_dword v27, v28, s[0:3], 0 offen15106; SI-NEXT: s_waitcnt expcnt(0)15107; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v5115108; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2315109; SI-NEXT: v_or_b32_e32 v23, v23, v2715110; SI-NEXT: v_add_i32_e32 v27, vcc, 8, v015111; SI-NEXT: buffer_store_dword v23, v27, s[0:3], 0 offen15112; SI-NEXT: s_waitcnt expcnt(0)15113; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2415114; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v5815115; SI-NEXT: v_or_b32_e32 v23, v23, v2415116; SI-NEXT: v_add_i32_e32 v24, vcc, 12, v015117; SI-NEXT: buffer_store_dword v23, v24, s[0:3], 0 offen15118; SI-NEXT: s_waitcnt expcnt(0)15119; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v5015120; SI-NEXT: v_and_b32_e32 v24, 0xffff, v2515121; SI-NEXT: v_or_b32_e32 v23, v24, v2315122; SI-NEXT: v_add_i32_e32 v24, vcc, 16, v015123; SI-NEXT: buffer_store_dword v23, v24, s[0:3], 0 offen15124; SI-NEXT: s_waitcnt expcnt(0)15125; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2615126; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v5715127; SI-NEXT: v_or_b32_e32 v23, v23, v2415128; SI-NEXT: v_add_i32_e32 v24, vcc, 20, v015129; SI-NEXT: buffer_store_dword v23, v24, s[0:3], 0 offen15130; SI-NEXT: v_and_b32_e32 v21, 0xffff, v2115131; SI-NEXT: s_waitcnt expcnt(0)15132; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v4915133; SI-NEXT: v_or_b32_e32 v21, v21, v2315134; SI-NEXT: v_add_i32_e32 v23, vcc, 24, v015135; SI-NEXT: buffer_store_dword v21, v23, s[0:3], 0 offen15136; SI-NEXT: s_waitcnt expcnt(0)15137; SI-NEXT: v_and_b32_e32 v21, 0xffff, v2215138; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v5615139; SI-NEXT: v_or_b32_e32 v21, v21, v2215140; SI-NEXT: v_add_i32_e32 v22, vcc, 28, v015141; SI-NEXT: buffer_store_dword v21, v22, s[0:3], 0 offen15142; SI-NEXT: v_and_b32_e32 v19, 0xffff, v1915143; SI-NEXT: s_waitcnt expcnt(0)15144; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v4815145; SI-NEXT: v_or_b32_e32 v19, v19, v2115146; SI-NEXT: v_add_i32_e32 v21, vcc, 32, v015147; SI-NEXT: buffer_store_dword v19, v21, s[0:3], 0 offen15148; SI-NEXT: s_waitcnt expcnt(0)15149; SI-NEXT: v_and_b32_e32 v19, 0xffff, v2015150; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v4715151; SI-NEXT: v_or_b32_e32 v19, v19, v2015152; SI-NEXT: v_add_i32_e32 v20, vcc, 36, v015153; SI-NEXT: buffer_store_dword v19, v20, s[0:3], 0 offen15154; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1715155; SI-NEXT: s_waitcnt expcnt(0)15156; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v3615157; SI-NEXT: v_or_b32_e32 v17, v17, v1915158; SI-NEXT: v_add_i32_e32 v19, vcc, 40, v015159; SI-NEXT: buffer_store_dword v17, v19, s[0:3], 0 offen15160; SI-NEXT: s_waitcnt expcnt(0)15161; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1815162; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v4615163; SI-NEXT: v_or_b32_e32 v17, v17, v1815164; SI-NEXT: v_add_i32_e32 v18, vcc, 44, v015165; SI-NEXT: buffer_store_dword v17, v18, s[0:3], 0 offen15166; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1515167; SI-NEXT: s_waitcnt expcnt(0)15168; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v3515169; SI-NEXT: v_or_b32_e32 v15, v15, v1715170; SI-NEXT: v_add_i32_e32 v17, vcc, 48, v015171; SI-NEXT: buffer_store_dword v15, v17, s[0:3], 0 offen15172; SI-NEXT: s_waitcnt expcnt(0)15173; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1615174; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v4515175; SI-NEXT: v_or_b32_e32 v15, v15, v1615176; SI-NEXT: v_add_i32_e32 v16, vcc, 52, v015177; SI-NEXT: buffer_store_dword v15, v16, s[0:3], 0 offen15178; SI-NEXT: v_and_b32_e32 v1, 0xffff, v115179; SI-NEXT: s_waitcnt expcnt(0)15180; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v3815181; SI-NEXT: v_or_b32_e32 v1, v1, v1515182; SI-NEXT: v_add_i32_e32 v15, vcc, 56, v015183; SI-NEXT: buffer_store_dword v1, v15, s[0:3], 0 offen15184; SI-NEXT: s_waitcnt expcnt(0)15185; SI-NEXT: v_and_b32_e32 v1, 0xffff, v215186; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4415187; SI-NEXT: v_or_b32_e32 v1, v1, v215188; SI-NEXT: v_add_i32_e32 v2, vcc, 60, v015189; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15190; SI-NEXT: s_waitcnt expcnt(0)15191; SI-NEXT: v_and_b32_e32 v1, 0xffff, v315192; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3415193; SI-NEXT: v_or_b32_e32 v1, v1, v215194; SI-NEXT: v_add_i32_e32 v2, vcc, 64, v015195; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15196; SI-NEXT: s_waitcnt expcnt(0)15197; SI-NEXT: v_and_b32_e32 v1, 0xffff, v415198; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4315199; SI-NEXT: v_or_b32_e32 v1, v1, v215200; SI-NEXT: v_add_i32_e32 v2, vcc, 0x44, v015201; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15202; SI-NEXT: s_waitcnt expcnt(0)15203; SI-NEXT: v_and_b32_e32 v1, 0xffff, v515204; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3315205; SI-NEXT: v_or_b32_e32 v1, v1, v215206; SI-NEXT: v_add_i32_e32 v2, vcc, 0x48, v015207; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15208; SI-NEXT: s_waitcnt expcnt(0)15209; SI-NEXT: v_and_b32_e32 v1, 0xffff, v615210; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4215211; SI-NEXT: v_or_b32_e32 v1, v1, v215212; SI-NEXT: v_add_i32_e32 v2, vcc, 0x4c, v015213; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15214; SI-NEXT: s_waitcnt expcnt(0)15215; SI-NEXT: v_and_b32_e32 v1, 0xffff, v715216; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3215217; SI-NEXT: v_or_b32_e32 v1, v1, v215218; SI-NEXT: v_add_i32_e32 v2, vcc, 0x50, v015219; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15220; SI-NEXT: s_waitcnt expcnt(0)15221; SI-NEXT: v_and_b32_e32 v1, 0xffff, v815222; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4115223; SI-NEXT: v_or_b32_e32 v1, v1, v215224; SI-NEXT: v_add_i32_e32 v2, vcc, 0x54, v015225; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15226; SI-NEXT: s_waitcnt expcnt(0)15227; SI-NEXT: v_and_b32_e32 v1, 0xffff, v915228; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3115229; SI-NEXT: v_or_b32_e32 v1, v1, v215230; SI-NEXT: v_add_i32_e32 v2, vcc, 0x58, v015231; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15232; SI-NEXT: s_waitcnt expcnt(0)15233; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1015234; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4015235; SI-NEXT: v_or_b32_e32 v1, v1, v215236; SI-NEXT: v_add_i32_e32 v2, vcc, 0x5c, v015237; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15238; SI-NEXT: s_waitcnt expcnt(0)15239; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1115240; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3015241; SI-NEXT: v_or_b32_e32 v1, v1, v215242; SI-NEXT: v_add_i32_e32 v2, vcc, 0x60, v015243; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15244; SI-NEXT: s_waitcnt expcnt(0)15245; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1215246; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5515247; SI-NEXT: v_or_b32_e32 v1, v1, v215248; SI-NEXT: v_add_i32_e32 v2, vcc, 0x64, v015249; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15250; SI-NEXT: s_waitcnt expcnt(0)15251; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1315252; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2915253; SI-NEXT: v_or_b32_e32 v1, v1, v215254; SI-NEXT: v_add_i32_e32 v2, vcc, 0x68, v015255; SI-NEXT: buffer_store_dword v1, v2, s[0:3], 0 offen15256; SI-NEXT: s_waitcnt expcnt(0)15257; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1415258; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v5415259; SI-NEXT: v_or_b32_e32 v1, v1, v215260; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v015261; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen15262; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload15263; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload15264; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload15265; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload15266; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload15267; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload15268; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload15269; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload15270; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload15271; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload15272; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload15273; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload15274; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)15275; SI-NEXT: s_setpc_b64 s[30:31]15276; SI-NEXT: .LBB29_4:15277; SI-NEXT: ; implicit-def: $vgpr5215278; SI-NEXT: ; implicit-def: $vgpr5915279; SI-NEXT: ; implicit-def: $vgpr5115280; SI-NEXT: ; implicit-def: $vgpr5815281; SI-NEXT: ; implicit-def: $vgpr5015282; SI-NEXT: ; implicit-def: $vgpr5715283; SI-NEXT: ; implicit-def: $vgpr4915284; SI-NEXT: ; implicit-def: $vgpr5615285; SI-NEXT: ; implicit-def: $vgpr4815286; SI-NEXT: ; implicit-def: $vgpr4715287; SI-NEXT: ; implicit-def: $vgpr3615288; SI-NEXT: ; implicit-def: $vgpr4615289; SI-NEXT: ; implicit-def: $vgpr3515290; SI-NEXT: ; implicit-def: $vgpr4515291; SI-NEXT: ; implicit-def: $vgpr4415292; SI-NEXT: ; implicit-def: $vgpr4315293; SI-NEXT: ; implicit-def: $vgpr4215294; SI-NEXT: ; implicit-def: $vgpr4115295; SI-NEXT: ; implicit-def: $vgpr4015296; SI-NEXT: ; implicit-def: $vgpr5515297; SI-NEXT: ; implicit-def: $vgpr5415298; SI-NEXT: ; implicit-def: $vgpr3815299; SI-NEXT: ; implicit-def: $vgpr3415300; SI-NEXT: ; implicit-def: $vgpr3315301; SI-NEXT: ; implicit-def: $vgpr3215302; SI-NEXT: ; implicit-def: $vgpr3115303; SI-NEXT: ; implicit-def: $vgpr3015304; SI-NEXT: ; implicit-def: $vgpr2915305; SI-NEXT: s_branch .LBB29_215306;15307; VI-LABEL: bitcast_v28f32_to_v56i16_scalar:15308; VI: ; %bb.0:15309; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15310; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1415311; VI-NEXT: v_mov_b32_e32 v20, s1615312; VI-NEXT: v_mov_b32_e32 v18, s1715313; VI-NEXT: v_mov_b32_e32 v17, s1815314; VI-NEXT: v_mov_b32_e32 v16, s1915315; VI-NEXT: v_mov_b32_e32 v15, s2015316; VI-NEXT: v_mov_b32_e32 v26, s2115317; VI-NEXT: s_and_b64 s[4:5], vcc, exec15318; VI-NEXT: v_mov_b32_e32 v27, s2215319; VI-NEXT: v_mov_b32_e32 v25, s2315320; VI-NEXT: v_mov_b32_e32 v24, s2415321; VI-NEXT: v_mov_b32_e32 v23, s2515322; VI-NEXT: v_mov_b32_e32 v22, s2615323; VI-NEXT: v_mov_b32_e32 v21, s2715324; VI-NEXT: v_mov_b32_e32 v19, s2815325; VI-NEXT: v_mov_b32_e32 v14, s2915326; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill15327; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill15328; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill15329; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill15330; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill15331; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill15332; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill15333; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill15334; VI-NEXT: s_cbranch_scc0 .LBB29_415335; VI-NEXT: ; %bb.1: ; %cmp.false15336; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1315337; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1215338; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1115339; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1015340; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v915341; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v815342; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v715343; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v615344; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v515345; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v415346; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v315347; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v215348; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v115349; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v015350; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1415351; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1915352; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v2115353; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v2215354; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2315355; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2415356; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2515357; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2715358; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2615359; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1515360; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v1615361; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1715362; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1815363; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2015364; VI-NEXT: s_cbranch_execnz .LBB29_315365; VI-NEXT: .LBB29_2: ; %cmp.true15366; VI-NEXT: v_add_f32_e32 v13, 1.0, v1315367; VI-NEXT: v_add_f32_e32 v12, 1.0, v1215368; VI-NEXT: v_add_f32_e32 v11, 1.0, v1115369; VI-NEXT: v_add_f32_e32 v10, 1.0, v1015370; VI-NEXT: v_add_f32_e32 v9, 1.0, v915371; VI-NEXT: v_add_f32_e32 v8, 1.0, v815372; VI-NEXT: v_add_f32_e32 v7, 1.0, v715373; VI-NEXT: v_add_f32_e32 v6, 1.0, v615374; VI-NEXT: v_add_f32_e32 v5, 1.0, v515375; VI-NEXT: v_add_f32_e32 v4, 1.0, v415376; VI-NEXT: v_add_f32_e32 v3, 1.0, v315377; VI-NEXT: v_add_f32_e32 v2, 1.0, v215378; VI-NEXT: v_add_f32_e32 v1, 1.0, v115379; VI-NEXT: v_add_f32_e32 v0, 1.0, v015380; VI-NEXT: v_add_f32_e32 v14, 1.0, v1415381; VI-NEXT: v_add_f32_e32 v19, 1.0, v1915382; VI-NEXT: v_add_f32_e32 v21, 1.0, v2115383; VI-NEXT: v_add_f32_e32 v22, 1.0, v2215384; VI-NEXT: v_add_f32_e32 v23, 1.0, v2315385; VI-NEXT: v_add_f32_e32 v24, 1.0, v2415386; VI-NEXT: v_add_f32_e32 v25, 1.0, v2515387; VI-NEXT: v_add_f32_e32 v27, 1.0, v2715388; VI-NEXT: v_add_f32_e32 v26, 1.0, v2615389; VI-NEXT: v_add_f32_e32 v15, 1.0, v1515390; VI-NEXT: v_add_f32_e32 v16, 1.0, v1615391; VI-NEXT: v_add_f32_e32 v17, 1.0, v1715392; VI-NEXT: v_add_f32_e32 v18, 1.0, v1815393; VI-NEXT: v_add_f32_e32 v20, 1.0, v2015394; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1315395; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1215396; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1115397; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1015398; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v915399; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v815400; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v715401; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v615402; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v515403; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v415404; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v315405; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v215406; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v115407; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v015408; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1415409; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1915410; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v2115411; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v2215412; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2315413; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2415414; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2515415; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2715416; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2615417; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1515418; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v1615419; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1715420; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1815421; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2015422; VI-NEXT: .LBB29_3: ; %end15423; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v2815424; VI-NEXT: v_or_b32_sdwa v28, v20, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15425; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v2915426; VI-NEXT: v_or_b32_sdwa v29, v18, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15427; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v3015428; VI-NEXT: v_or_b32_sdwa v30, v17, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15429; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v3115430; VI-NEXT: v_or_b32_sdwa v31, v16, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15431; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v3215432; VI-NEXT: v_or_b32_sdwa v32, v15, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15433; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3315434; VI-NEXT: v_or_b32_sdwa v33, v26, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15435; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3415436; VI-NEXT: v_or_b32_sdwa v34, v27, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15437; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3515438; VI-NEXT: v_or_b32_sdwa v35, v25, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15439; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3615440; VI-NEXT: v_or_b32_sdwa v36, v24, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15441; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3715442; VI-NEXT: v_or_b32_sdwa v37, v23, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15443; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3815444; VI-NEXT: v_or_b32_sdwa v38, v22, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15445; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3915446; VI-NEXT: v_or_b32_sdwa v39, v21, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15447; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v4815448; VI-NEXT: v_or_b32_sdwa v48, v19, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15449; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v4915450; VI-NEXT: v_or_b32_sdwa v49, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15451; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v4715452; VI-NEXT: v_or_b32_sdwa v14, v0, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15453; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4615454; VI-NEXT: v_or_b32_sdwa v15, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15455; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4515456; VI-NEXT: v_or_b32_sdwa v16, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15457; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4415458; VI-NEXT: v_or_b32_sdwa v17, v3, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15459; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4315460; VI-NEXT: v_or_b32_sdwa v18, v4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15461; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4215462; VI-NEXT: v_or_b32_sdwa v19, v5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15463; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4115464; VI-NEXT: v_or_b32_sdwa v20, v6, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15465; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4015466; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload15467; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload15468; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload15469; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload15470; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload15471; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload15472; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload15473; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload15474; VI-NEXT: v_or_b32_sdwa v21, v7, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15475; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5515476; VI-NEXT: v_or_b32_sdwa v22, v8, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15477; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5415478; VI-NEXT: v_or_b32_sdwa v23, v9, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15479; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5315480; VI-NEXT: v_or_b32_sdwa v24, v10, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15481; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5215482; VI-NEXT: v_or_b32_sdwa v25, v11, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15483; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5115484; VI-NEXT: v_or_b32_sdwa v26, v12, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15485; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5015486; VI-NEXT: v_or_b32_sdwa v27, v13, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD15487; VI-NEXT: v_mov_b32_e32 v0, v2815488; VI-NEXT: v_mov_b32_e32 v1, v2915489; VI-NEXT: v_mov_b32_e32 v2, v3015490; VI-NEXT: v_mov_b32_e32 v3, v3115491; VI-NEXT: v_mov_b32_e32 v4, v3215492; VI-NEXT: v_mov_b32_e32 v5, v3315493; VI-NEXT: v_mov_b32_e32 v6, v3415494; VI-NEXT: v_mov_b32_e32 v7, v3515495; VI-NEXT: v_mov_b32_e32 v8, v3615496; VI-NEXT: v_mov_b32_e32 v9, v3715497; VI-NEXT: v_mov_b32_e32 v10, v3815498; VI-NEXT: v_mov_b32_e32 v11, v3915499; VI-NEXT: v_mov_b32_e32 v12, v4815500; VI-NEXT: v_mov_b32_e32 v13, v4915501; VI-NEXT: s_waitcnt vmcnt(0)15502; VI-NEXT: s_setpc_b64 s[30:31]15503; VI-NEXT: .LBB29_4:15504; VI-NEXT: ; implicit-def: $vgpr2815505; VI-NEXT: ; implicit-def: $vgpr2915506; VI-NEXT: ; implicit-def: $vgpr3015507; VI-NEXT: ; implicit-def: $vgpr3115508; VI-NEXT: ; implicit-def: $vgpr3215509; VI-NEXT: ; implicit-def: $vgpr3315510; VI-NEXT: ; implicit-def: $vgpr3415511; VI-NEXT: ; implicit-def: $vgpr3515512; VI-NEXT: ; implicit-def: $vgpr3615513; VI-NEXT: ; implicit-def: $vgpr3715514; VI-NEXT: ; implicit-def: $vgpr3815515; VI-NEXT: ; implicit-def: $vgpr3915516; VI-NEXT: ; implicit-def: $vgpr4815517; VI-NEXT: ; implicit-def: $vgpr4915518; VI-NEXT: ; implicit-def: $vgpr4715519; VI-NEXT: ; implicit-def: $vgpr4615520; VI-NEXT: ; implicit-def: $vgpr4515521; VI-NEXT: ; implicit-def: $vgpr4415522; VI-NEXT: ; implicit-def: $vgpr4315523; VI-NEXT: ; implicit-def: $vgpr4215524; VI-NEXT: ; implicit-def: $vgpr4115525; VI-NEXT: ; implicit-def: $vgpr4015526; VI-NEXT: ; implicit-def: $vgpr5515527; VI-NEXT: ; implicit-def: $vgpr5415528; VI-NEXT: ; implicit-def: $vgpr5315529; VI-NEXT: ; implicit-def: $vgpr5215530; VI-NEXT: ; implicit-def: $vgpr5115531; VI-NEXT: ; implicit-def: $vgpr5015532; VI-NEXT: s_branch .LBB29_215533;15534; GFX9-LABEL: bitcast_v28f32_to_v56i16_scalar:15535; GFX9: ; %bb.0:15536; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15537; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1415538; GFX9-NEXT: v_mov_b32_e32 v20, s1615539; GFX9-NEXT: v_mov_b32_e32 v18, s1715540; GFX9-NEXT: v_mov_b32_e32 v17, s1815541; GFX9-NEXT: v_mov_b32_e32 v16, s1915542; GFX9-NEXT: v_mov_b32_e32 v15, s2015543; GFX9-NEXT: v_mov_b32_e32 v26, s2115544; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec15545; GFX9-NEXT: v_mov_b32_e32 v27, s2215546; GFX9-NEXT: v_mov_b32_e32 v25, s2315547; GFX9-NEXT: v_mov_b32_e32 v24, s2415548; GFX9-NEXT: v_mov_b32_e32 v23, s2515549; GFX9-NEXT: v_mov_b32_e32 v22, s2615550; GFX9-NEXT: v_mov_b32_e32 v21, s2715551; GFX9-NEXT: v_mov_b32_e32 v19, s2815552; GFX9-NEXT: v_mov_b32_e32 v14, s2915553; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill15554; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill15555; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill15556; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill15557; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill15558; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill15559; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill15560; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill15561; GFX9-NEXT: s_cbranch_scc0 .LBB29_415562; GFX9-NEXT: ; %bb.1: ; %cmp.false15563; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1315564; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1215565; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1115566; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1015567; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v915568; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v815569; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v715570; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v615571; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v515572; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v415573; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v315574; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v215575; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v115576; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v015577; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1415578; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1915579; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v2115580; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v2215581; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2315582; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2415583; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2515584; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2715585; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2615586; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1515587; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v1615588; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1715589; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1815590; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2015591; GFX9-NEXT: s_cbranch_execnz .LBB29_315592; GFX9-NEXT: .LBB29_2: ; %cmp.true15593; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1315594; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1215595; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1115596; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1015597; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v915598; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v815599; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v715600; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v615601; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v515602; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v415603; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v315604; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v215605; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v115606; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v015607; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1415608; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1915609; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2115610; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2215611; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2315612; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2415613; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2515614; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2715615; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2615616; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1515617; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1615618; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1715619; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1815620; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2015621; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1315622; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1215623; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1115624; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1015625; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v915626; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v815627; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v715628; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v615629; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v515630; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v415631; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v315632; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v215633; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v115634; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v015635; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1415636; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1915637; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v2115638; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v2215639; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2315640; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2415641; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2515642; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2715643; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2615644; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1515645; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v1615646; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1715647; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1815648; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2015649; GFX9-NEXT: .LBB29_3: ; %end15650; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v1515651; GFX9-NEXT: v_lshl_or_b32 v32, v32, 16, v1515652; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2615653; GFX9-NEXT: v_lshl_or_b32 v33, v33, 16, v1515654; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2715655; GFX9-NEXT: v_lshl_or_b32 v34, v34, 16, v1515656; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2515657; GFX9-NEXT: v_lshl_or_b32 v35, v35, 16, v1515658; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2415659; GFX9-NEXT: v_lshl_or_b32 v36, v36, 16, v1515660; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2315661; GFX9-NEXT: v_lshl_or_b32 v37, v37, 16, v1515662; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2215663; GFX9-NEXT: v_lshl_or_b32 v38, v38, 16, v1515664; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v2115665; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v1415666; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v015667; GFX9-NEXT: v_lshl_or_b32 v39, v39, 16, v1515668; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v1915669; GFX9-NEXT: v_lshl_or_b32 v49, v49, 16, v1415670; GFX9-NEXT: v_lshl_or_b32 v14, v47, 16, v015671; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v115672; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v1615673; GFX9-NEXT: v_lshl_or_b32 v48, v48, 16, v1515674; GFX9-NEXT: v_lshl_or_b32 v15, v46, 16, v015675; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v215676; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v1715677; GFX9-NEXT: v_lshl_or_b32 v31, v31, 16, v1615678; GFX9-NEXT: v_lshl_or_b32 v16, v45, 16, v015679; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v315680; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v1815681; GFX9-NEXT: v_lshl_or_b32 v30, v30, 16, v1715682; GFX9-NEXT: v_lshl_or_b32 v17, v44, 16, v015683; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v415684; GFX9-NEXT: v_lshl_or_b32 v29, v29, 16, v1815685; GFX9-NEXT: v_lshl_or_b32 v18, v43, 16, v015686; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v515687; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v2015688; GFX9-NEXT: v_lshl_or_b32 v19, v42, 16, v015689; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v615690; GFX9-NEXT: v_lshl_or_b32 v28, v28, 16, v2015691; GFX9-NEXT: v_lshl_or_b32 v20, v41, 16, v015692; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v715693; GFX9-NEXT: v_lshl_or_b32 v21, v40, 16, v015694; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload15695; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload15696; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload15697; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload15698; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload15699; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload15700; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload15701; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload15702; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v815703; GFX9-NEXT: v_lshl_or_b32 v22, v55, 16, v015704; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v915705; GFX9-NEXT: v_lshl_or_b32 v23, v54, 16, v015706; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1015707; GFX9-NEXT: v_lshl_or_b32 v24, v53, 16, v015708; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1115709; GFX9-NEXT: v_lshl_or_b32 v25, v52, 16, v015710; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1215711; GFX9-NEXT: v_lshl_or_b32 v26, v51, 16, v015712; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v1315713; GFX9-NEXT: v_lshl_or_b32 v27, v50, 16, v015714; GFX9-NEXT: v_mov_b32_e32 v0, v2815715; GFX9-NEXT: v_mov_b32_e32 v1, v2915716; GFX9-NEXT: v_mov_b32_e32 v2, v3015717; GFX9-NEXT: v_mov_b32_e32 v3, v3115718; GFX9-NEXT: v_mov_b32_e32 v4, v3215719; GFX9-NEXT: v_mov_b32_e32 v5, v3315720; GFX9-NEXT: v_mov_b32_e32 v6, v3415721; GFX9-NEXT: v_mov_b32_e32 v7, v3515722; GFX9-NEXT: v_mov_b32_e32 v8, v3615723; GFX9-NEXT: v_mov_b32_e32 v9, v3715724; GFX9-NEXT: v_mov_b32_e32 v10, v3815725; GFX9-NEXT: v_mov_b32_e32 v11, v3915726; GFX9-NEXT: v_mov_b32_e32 v12, v4815727; GFX9-NEXT: v_mov_b32_e32 v13, v4915728; GFX9-NEXT: s_waitcnt vmcnt(0)15729; GFX9-NEXT: s_setpc_b64 s[30:31]15730; GFX9-NEXT: .LBB29_4:15731; GFX9-NEXT: ; implicit-def: $vgpr2815732; GFX9-NEXT: ; implicit-def: $vgpr2915733; GFX9-NEXT: ; implicit-def: $vgpr3015734; GFX9-NEXT: ; implicit-def: $vgpr3115735; GFX9-NEXT: ; implicit-def: $vgpr3215736; GFX9-NEXT: ; implicit-def: $vgpr3315737; GFX9-NEXT: ; implicit-def: $vgpr3415738; GFX9-NEXT: ; implicit-def: $vgpr3515739; GFX9-NEXT: ; implicit-def: $vgpr3615740; GFX9-NEXT: ; implicit-def: $vgpr3715741; GFX9-NEXT: ; implicit-def: $vgpr3815742; GFX9-NEXT: ; implicit-def: $vgpr3915743; GFX9-NEXT: ; implicit-def: $vgpr4815744; GFX9-NEXT: ; implicit-def: $vgpr4915745; GFX9-NEXT: ; implicit-def: $vgpr4715746; GFX9-NEXT: ; implicit-def: $vgpr4615747; GFX9-NEXT: ; implicit-def: $vgpr4515748; GFX9-NEXT: ; implicit-def: $vgpr4415749; GFX9-NEXT: ; implicit-def: $vgpr4315750; GFX9-NEXT: ; implicit-def: $vgpr4215751; GFX9-NEXT: ; implicit-def: $vgpr4115752; GFX9-NEXT: ; implicit-def: $vgpr4015753; GFX9-NEXT: ; implicit-def: $vgpr5515754; GFX9-NEXT: ; implicit-def: $vgpr5415755; GFX9-NEXT: ; implicit-def: $vgpr5315756; GFX9-NEXT: ; implicit-def: $vgpr5215757; GFX9-NEXT: ; implicit-def: $vgpr5115758; GFX9-NEXT: ; implicit-def: $vgpr5015759; GFX9-NEXT: s_branch .LBB29_215760;15761; GFX11-TRUE16-LABEL: bitcast_v28f32_to_v56i16_scalar:15762; GFX11-TRUE16: ; %bb.0:15763; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15764; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, v10 :: v_dual_mov_b32 v27, v915765; GFX11-TRUE16-NEXT: v_dual_mov_b32 v26, v8 :: v_dual_mov_b32 v25, v715766; GFX11-TRUE16-NEXT: v_dual_mov_b32 v24, v6 :: v_dual_mov_b32 v23, v515767; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)15768; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1615769; GFX11-TRUE16-NEXT: v_dual_mov_b32 v22, v4 :: v_dual_mov_b32 v21, v315770; GFX11-TRUE16-NEXT: v_dual_mov_b32 v20, v2 :: v_dual_mov_b32 v19, v115771; GFX11-TRUE16-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v1, s115772; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s315773; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v5, s1715774; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s1915775; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s2115776; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s2315777; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s2515778; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s2715779; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v17, s2915780; GFX11-TRUE16-NEXT: v_mov_b32_e32 v16, s2815781; GFX11-TRUE16-NEXT: s_mov_b32 s0, 015782; GFX11-TRUE16-NEXT: s_and_b32 s1, vcc_lo, exec_lo15783; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB29_415784; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false15785; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2715786; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2615787; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2515788; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2415789; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2315790; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2215791; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2115792; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2015793; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1915794; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1815795; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1715796; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1615797; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1515798; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1415799; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1315800; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1215801; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1115802; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1015803; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v915804; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v815805; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v715806; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v615807; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v515808; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v415809; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v68, 16, v315810; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 16, v215811; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 16, v115812; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 16, v015813; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s015814; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB29_315815; GFX11-TRUE16-NEXT: .LBB29_2: ; %cmp.true15816; GFX11-TRUE16-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2615817; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2415818; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2215819; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2015820; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1815821; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1615822; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1415823; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1215824; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1015825; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v815826; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v615827; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v415828; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v215829; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v015830; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2715831; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2615832; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2515833; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2415834; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2315835; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2215836; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2115837; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2015838; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1915839; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1815840; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1715841; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1615842; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1515843; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1415844; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1315845; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1215846; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1115847; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1015848; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v915849; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v815850; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v715851; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v615852; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v515853; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v415854; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v68, 16, v315855; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 16, v215856; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 16, v115857; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 16, v015858; GFX11-TRUE16-NEXT: .LBB29_3: ; %end15859; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_4)15860; GFX11-TRUE16-NEXT: v_dual_mov_b32 v71, v71 :: v_dual_mov_b32 v70, v7015861; GFX11-TRUE16-NEXT: v_dual_mov_b32 v69, v69 :: v_dual_mov_b32 v68, v6815862; GFX11-TRUE16-NEXT: v_dual_mov_b32 v67, v67 :: v_dual_mov_b32 v66, v6615863; GFX11-TRUE16-NEXT: v_dual_mov_b32 v65, v65 :: v_dual_mov_b32 v64, v6415864; GFX11-TRUE16-NEXT: v_dual_mov_b32 v55, v55 :: v_dual_mov_b32 v54, v5415865; GFX11-TRUE16-NEXT: v_dual_mov_b32 v53, v53 :: v_dual_mov_b32 v52, v5215866; GFX11-TRUE16-NEXT: v_dual_mov_b32 v51, v51 :: v_dual_mov_b32 v50, v5015867; GFX11-TRUE16-NEXT: v_dual_mov_b32 v49, v49 :: v_dual_mov_b32 v48, v4815868; GFX11-TRUE16-NEXT: v_dual_mov_b32 v39, v39 :: v_dual_mov_b32 v38, v3815869; GFX11-TRUE16-NEXT: v_dual_mov_b32 v37, v37 :: v_dual_mov_b32 v36, v3615870; GFX11-TRUE16-NEXT: v_dual_mov_b32 v35, v35 :: v_dual_mov_b32 v34, v3415871; GFX11-TRUE16-NEXT: v_dual_mov_b32 v33, v33 :: v_dual_mov_b32 v32, v3215872; GFX11-TRUE16-NEXT: v_dual_mov_b32 v31, v31 :: v_dual_mov_b32 v30, v3015873; GFX11-TRUE16-NEXT: v_dual_mov_b32 v29, v29 :: v_dual_mov_b32 v28, v2815874; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v71.l15875; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v70.l15876; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v69.l15877; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v68.l15878; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v67.l15879; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v66.l15880; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v65.l15881; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v64.l15882; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v55.l15883; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v54.l15884; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v53.l15885; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v52.l15886; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v51.l15887; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v50.l15888; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v49.l15889; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v48.l15890; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v39.l15891; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v38.l15892; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v37.l15893; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v36.l15894; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v35.l15895; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v34.l15896; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v33.l15897; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v32.l15898; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v31.l15899; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v30.l15900; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v29.l15901; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l15902; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]15903; GFX11-TRUE16-NEXT: .LBB29_4:15904; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr7115905; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr7015906; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6915907; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6815908; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6715909; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6615910; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6515911; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr6415912; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5515913; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5415914; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5315915; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5215916; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5115917; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5015918; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr4915919; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr4815920; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3915921; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3815922; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3715923; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3615924; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3515925; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3415926; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3315927; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3215928; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3115929; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3015930; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2915931; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr2815932; GFX11-TRUE16-NEXT: s_branch .LBB29_215933;15934; GFX11-FAKE16-LABEL: bitcast_v28f32_to_v56i16_scalar:15935; GFX11-FAKE16: ; %bb.0:15936; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)15937; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1015938; GFX11-FAKE16-NEXT: v_dual_mov_b32 v28, s0 :: v_dual_mov_b32 v27, s115939; GFX11-FAKE16-NEXT: v_dual_mov_b32 v26, s2 :: v_dual_mov_b32 v25, s315940; GFX11-FAKE16-NEXT: v_dual_mov_b32 v24, s16 :: v_dual_mov_b32 v23, s1715941; GFX11-FAKE16-NEXT: v_dual_mov_b32 v22, s18 :: v_dual_mov_b32 v21, s1915942; GFX11-FAKE16-NEXT: v_dual_mov_b32 v20, s20 :: v_dual_mov_b32 v19, s2115943; GFX11-FAKE16-NEXT: v_dual_mov_b32 v18, s22 :: v_dual_mov_b32 v11, s2415944; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s23 :: v_dual_mov_b32 v15, s2515945; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s26 :: v_dual_mov_b32 v13, s2715946; GFX11-FAKE16-NEXT: v_dual_mov_b32 v17, s28 :: v_dual_mov_b32 v16, s2915947; GFX11-FAKE16-NEXT: s_mov_b32 s0, 015948; GFX11-FAKE16-NEXT: s_and_b32 s1, vcc_lo, exec_lo15949; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB29_415950; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false15951; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v915952; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v815953; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v715954; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v615955; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v515956; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v415957; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v315958; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v215959; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v115960; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v015961; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v1615962; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v1715963; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v1315964; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v1415965; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v1515966; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v1115967; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v1215968; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v10, 16, v1815969; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v1915970; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v2015971; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v2115972; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v2215973; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2315974; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2415975; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2515976; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2615977; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2715978; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2815979; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s015980; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB29_315981; GFX11-FAKE16-NEXT: .LBB29_2: ; %cmp.true15982; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v815983; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v615984; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v415985; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v215986; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v015987; GFX11-FAKE16-NEXT: v_dual_add_f32 v16, 1.0, v16 :: v_dual_add_f32 v17, 1.0, v1715988; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v14, 1.0, v1415989; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v12, 1.0, v1215990; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v18, 1.0, v1815991; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v20, 1.0, v2015992; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v22, 1.0, v2215993; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v24, 1.0, v2415994; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v26, 1.0, v2615995; GFX11-FAKE16-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v28, 1.0, v2815996; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v915997; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v815998; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v715999; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v616000; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v516001; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v416002; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v316003; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v216004; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v116005; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v016006; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v1616007; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v1716008; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v1316009; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v1416010; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v1516011; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v1116012; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v1216013; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v10, 16, v1816014; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v1916015; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v2016016; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v2116017; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v2216018; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2316019; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2416020; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2516021; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2616022; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2716023; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2816024; GFX11-FAKE16-NEXT: .LBB29_3: ; %end16025; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v1916026; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xffff, v2716027; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xffff, v2516028; GFX11-FAKE16-NEXT: v_and_b32_e32 v23, 0xffff, v2316029; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v2116030; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1816031; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v29, 16, v1916032; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xffff, v1716033; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v1616034; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff, v116035; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v2716036; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xffff, v2816037; GFX11-FAKE16-NEXT: v_lshl_or_b32 v33, v33, 16, v2516038; GFX11-FAKE16-NEXT: v_and_b32_e32 v26, 0xffff, v2616039; GFX11-FAKE16-NEXT: v_lshl_or_b32 v35, v35, 16, v2316040; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff, v2416041; GFX11-FAKE16-NEXT: v_lshl_or_b32 v37, v37, 16, v2116042; GFX11-FAKE16-NEXT: v_and_b32_e32 v22, 0xffff, v2216043; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v2016044; GFX11-FAKE16-NEXT: v_and_b32_e32 v12, 0xffff, v1216045; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v1116046; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v10, 16, v1816047; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v1516048; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v1316049; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v65, 16, v1716050; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v64, 16, v1916051; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xffff, v016052; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xffff, v216053; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v316054; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v416055; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v54, 16, v116056; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff, v616057; GFX11-FAKE16-NEXT: v_lshl_or_b32 v32, v32, 16, v2616058; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v70, 16, v1216059; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v69, 16, v2116060; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v1416061; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v68, 16, v1516062; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v66, 16, v1816063; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v55, 16, v016064; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v52, 16, v316065; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xffff, v516066; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v816067; GFX11-FAKE16-NEXT: v_mov_b32_e32 v5, v3516068; GFX11-FAKE16-NEXT: v_lshl_or_b32 v34, v34, 16, v2416069; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v49, 16, v116070; GFX11-FAKE16-NEXT: v_mov_b32_e32 v1, v3116071; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v2816072; GFX11-FAKE16-NEXT: v_lshl_or_b32 v28, v71, 16, v2016073; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v53, 16, v216074; GFX11-FAKE16-NEXT: v_dual_mov_b32 v7, v37 :: v_dual_and_b32 v2, 0xffff, v716075; GFX11-FAKE16-NEXT: v_lshl_or_b32 v36, v36, 16, v2216076; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v51, 16, v416077; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v916078; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v67, 16, v1416079; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v50, 16, v016080; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v48, 16, v216081; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v39, 16, v316082; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v38, 16, v416083; GFX11-FAKE16-NEXT: v_mov_b32_e32 v0, v3016084; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, v32 :: v_dual_mov_b32 v3, v3316085; GFX11-FAKE16-NEXT: v_mov_b32_e32 v4, v3416086; GFX11-FAKE16-NEXT: v_mov_b32_e32 v6, v3616087; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, v28 :: v_dual_mov_b32 v9, v2916088; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]16089; GFX11-FAKE16-NEXT: .LBB29_4:16090; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3016091; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3116092; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3216093; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3316094; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3416095; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3516096; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3616097; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3716098; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr7116099; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2916100; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr1016101; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr7016102; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6916103; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6816104; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6716105; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6616106; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6516107; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6416108; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5516109; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5416110; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5316111; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5216112; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5116113; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5016114; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4916115; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4816116; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3916117; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3816118; GFX11-FAKE16-NEXT: s_branch .LBB29_216119 %cmp = icmp eq i32 %b, 016120 br i1 %cmp, label %cmp.true, label %cmp.false16121 16122cmp.true:16123 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)16124 %a2 = bitcast <28 x float> %a1 to <56 x i16>16125 br label %end16126 16127cmp.false:16128 %a3 = bitcast <28 x float> %a to <56 x i16>16129 br label %end16130 16131end:16132 %phi = phi <56 x i16> [ %a2, %cmp.true ], [ %a3, %cmp.false ]16133 ret <56 x i16> %phi16134}16135 16136define <28 x float> @bitcast_v56i16_to_v28f32(<56 x i16> %a, i32 %b) {16137; SI-LABEL: bitcast_v56i16_to_v28f32:16138; SI: ; %bb.0:16139; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16140; SI-NEXT: v_mov_b32_e32 v54, v216141; SI-NEXT: v_mov_b32_e32 v55, v016142; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:9616143; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:9216144; SI-NEXT: v_mov_b32_e32 v53, v416145; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill16146; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill16147; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill16148; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill16149; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill16150; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill16151; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill16152; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill16153; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill16154; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill16155; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill16156; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill16157; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill16158; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill16159; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill16160; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill16161; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill16162; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill16163; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill16164; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill16165; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill16166; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill16167; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill16168; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill16169; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill16170; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill16171; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill16172; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill16173; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill16174; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v116175; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v316176; SI-NEXT: v_lshlrev_b32_e32 v57, 16, v516177; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v716178; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v916179; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v1116180; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v1316181; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v1516182; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v1716183; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v1916184; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v2116185; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v2316186; SI-NEXT: v_lshlrev_b32_e32 v43, 16, v2516187; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v2716188; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v2916189; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:416190; SI-NEXT: s_waitcnt vmcnt(14)16191; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v016192; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill16193; SI-NEXT: s_waitcnt expcnt(0)16194; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:8816195; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:8416196; SI-NEXT: s_waitcnt vmcnt(1)16197; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v216198; SI-NEXT: s_waitcnt vmcnt(0)16199; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill16200; SI-NEXT: s_waitcnt expcnt(0)16201; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:8016202; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:7616203; SI-NEXT: s_waitcnt vmcnt(1)16204; SI-NEXT: v_lshlrev_b32_e32 v62, 16, v416205; SI-NEXT: s_waitcnt vmcnt(0)16206; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill16207; SI-NEXT: s_waitcnt expcnt(0)16208; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:7216209; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:6816210; SI-NEXT: s_waitcnt vmcnt(1)16211; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v616212; SI-NEXT: s_waitcnt vmcnt(0)16213; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill16214; SI-NEXT: s_waitcnt expcnt(0)16215; SI-NEXT: buffer_load_dword v8, off, s[0:3], s3216216; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:10016217; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:3216218; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:2416219; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:1616220; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:816221; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:6416222; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:6016223; SI-NEXT: s_waitcnt vmcnt(7)16224; SI-NEXT: v_lshlrev_b32_e32 v47, 16, v816225; SI-NEXT: s_waitcnt vmcnt(6)16226; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1016227; SI-NEXT: s_waitcnt vmcnt(5)16228; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v1216229; SI-NEXT: s_waitcnt vmcnt(4)16230; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v1416231; SI-NEXT: s_waitcnt vmcnt(3)16232; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v1616233; SI-NEXT: s_waitcnt vmcnt(2)16234; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v1816235; SI-NEXT: s_waitcnt vmcnt(1)16236; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v2016237; SI-NEXT: s_waitcnt vmcnt(0)16238; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill16239; SI-NEXT: s_waitcnt expcnt(0)16240; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:5616241; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:4016242; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:4816243; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:5216244; SI-NEXT: s_waitcnt vmcnt(3)16245; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v2216246; SI-NEXT: s_waitcnt vmcnt(2)16247; SI-NEXT: v_lshlrev_b32_e32 v35, 16, v2416248; SI-NEXT: s_waitcnt vmcnt(1)16249; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v2616250; SI-NEXT: s_waitcnt vmcnt(0)16251; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill16252; SI-NEXT: s_waitcnt expcnt(0)16253; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:4416254; SI-NEXT: s_waitcnt vmcnt(0)16255; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill16256; SI-NEXT: s_waitcnt expcnt(0)16257; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:3616258; SI-NEXT: s_waitcnt vmcnt(0)16259; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill16260; SI-NEXT: s_waitcnt expcnt(0)16261; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:2816262; SI-NEXT: s_waitcnt vmcnt(0)16263; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill16264; SI-NEXT: s_waitcnt expcnt(0)16265; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:2016266; SI-NEXT: s_waitcnt vmcnt(0)16267; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill16268; SI-NEXT: s_waitcnt expcnt(0)16269; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:1216270; SI-NEXT: s_waitcnt vmcnt(0)16271; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill16272; 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_vgpr3116273; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc16274; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]16275; SI-NEXT: s_cbranch_execz .LBB30_216276; SI-NEXT: ; %bb.1: ; %cmp.false16277; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload16278; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload16279; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload16280; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload16281; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload16282; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload16283; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload16284; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload16285; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload16286; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload16287; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload16288; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload16289; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload16290; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload16291; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload16292; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload16293; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload16294; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload16295; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload16296; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload16297; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload16298; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload16299; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload16300; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload16301; SI-NEXT: ; implicit-def: $vgpr2816302; SI-NEXT: ; kill: killed $vgpr2816303; SI-NEXT: ; implicit-def: $vgpr2816304; SI-NEXT: ; kill: killed $vgpr2816305; SI-NEXT: ; implicit-def: $vgpr2816306; SI-NEXT: ; kill: killed $vgpr2816307; SI-NEXT: ; implicit-def: $vgpr2816308; SI-NEXT: ; kill: killed $vgpr2816309; SI-NEXT: ; implicit-def: $vgpr2816310; SI-NEXT: ; kill: killed $vgpr2816311; SI-NEXT: ; implicit-def: $vgpr2816312; SI-NEXT: ; kill: killed $vgpr2816313; SI-NEXT: ; implicit-def: $vgpr2816314; SI-NEXT: ; kill: killed $vgpr2816315; SI-NEXT: ; implicit-def: $vgpr2816316; SI-NEXT: ; kill: killed $vgpr2816317; SI-NEXT: ; implicit-def: $vgpr2816318; SI-NEXT: ; kill: killed $vgpr2816319; SI-NEXT: ; implicit-def: $vgpr2816320; SI-NEXT: ; kill: killed $vgpr2816321; SI-NEXT: ; implicit-def: $vgpr2816322; SI-NEXT: ; kill: killed $vgpr2816323; SI-NEXT: ; implicit-def: $vgpr2816324; SI-NEXT: ; kill: killed $vgpr2816325; SI-NEXT: ; implicit-def: $vgpr2816326; SI-NEXT: ; kill: killed $vgpr2816327; SI-NEXT: ; implicit-def: $vgpr2816328; SI-NEXT: ; kill: killed $vgpr2816329; SI-NEXT: ; implicit-def: $vgpr2816330; SI-NEXT: ; kill: killed $vgpr2816331; SI-NEXT: ; implicit-def: $vgpr2816332; SI-NEXT: ; kill: killed $vgpr2816333; SI-NEXT: ; implicit-def: $vgpr2816334; SI-NEXT: ; kill: killed $vgpr2816335; SI-NEXT: ; implicit-def: $vgpr2816336; SI-NEXT: ; kill: killed $vgpr2816337; SI-NEXT: ; implicit-def: $vgpr2816338; SI-NEXT: ; kill: killed $vgpr2816339; SI-NEXT: ; implicit-def: $vgpr2816340; SI-NEXT: ; kill: killed $vgpr2816341; SI-NEXT: ; implicit-def: $vgpr2816342; SI-NEXT: ; kill: killed $vgpr2816343; SI-NEXT: ; implicit-def: $vgpr2816344; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5516345; SI-NEXT: v_and_b32_e32 v1, 0xffff, v5416346; SI-NEXT: v_and_b32_e32 v2, 0xffff, v5316347; SI-NEXT: v_and_b32_e32 v16, 0xffff, v5916348; SI-NEXT: ; kill: killed $vgpr2816349; SI-NEXT: ; implicit-def: $vgpr2816350; SI-NEXT: v_or_b32_e32 v0, v0, v5816351; SI-NEXT: v_or_b32_e32 v1, v1, v5216352; SI-NEXT: v_or_b32_e32 v2, v2, v5716353; SI-NEXT: v_or_b32_e32 v16, v16, v4916354; SI-NEXT: ; implicit-def: $vgpr5516355; SI-NEXT: ; implicit-def: $vgpr5416356; SI-NEXT: ; implicit-def: $vgpr5316357; SI-NEXT: ; implicit-def: $vgpr5916358; SI-NEXT: ; kill: killed $vgpr2816359; SI-NEXT: ; implicit-def: $vgpr2816360; SI-NEXT: ; kill: killed $vgpr2816361; SI-NEXT: ; implicit-def: $vgpr5816362; SI-NEXT: ; implicit-def: $vgpr5216363; SI-NEXT: ; implicit-def: $vgpr5716364; SI-NEXT: ; implicit-def: $vgpr4916365; SI-NEXT: s_waitcnt vmcnt(14)16366; SI-NEXT: v_and_b32_e32 v3, 0xffff, v316367; SI-NEXT: v_and_b32_e32 v4, 0xffff, v416368; SI-NEXT: v_and_b32_e32 v5, 0xffff, v516369; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1716370; SI-NEXT: v_and_b32_e32 v18, 0xffff, v1816371; SI-NEXT: v_and_b32_e32 v19, 0xffff, v1916372; SI-NEXT: v_and_b32_e32 v20, 0xffff, v2016373; SI-NEXT: v_and_b32_e32 v21, 0xffff, v2116374; SI-NEXT: v_and_b32_e32 v6, 0xffff, v616375; SI-NEXT: v_and_b32_e32 v7, 0xffff, v716376; SI-NEXT: s_waitcnt vmcnt(13)16377; SI-NEXT: v_and_b32_e32 v9, 0xffff, v916378; SI-NEXT: s_waitcnt vmcnt(12)16379; SI-NEXT: v_and_b32_e32 v10, 0xffff, v1016380; SI-NEXT: s_waitcnt vmcnt(11)16381; SI-NEXT: v_and_b32_e32 v22, 0xffff, v2216382; SI-NEXT: s_waitcnt vmcnt(10)16383; SI-NEXT: v_and_b32_e32 v8, 0xffff, v816384; SI-NEXT: s_waitcnt vmcnt(9)16385; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2316386; SI-NEXT: s_waitcnt vmcnt(8)16387; SI-NEXT: v_and_b32_e32 v11, 0xffff, v1116388; SI-NEXT: s_waitcnt vmcnt(7)16389; SI-NEXT: v_and_b32_e32 v12, 0xffff, v1216390; SI-NEXT: s_waitcnt vmcnt(6)16391; SI-NEXT: v_and_b32_e32 v13, 0xffff, v1316392; SI-NEXT: s_waitcnt vmcnt(5)16393; SI-NEXT: v_and_b32_e32 v14, 0xffff, v1416394; SI-NEXT: s_waitcnt vmcnt(4)16395; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1516396; SI-NEXT: s_waitcnt vmcnt(3)16397; SI-NEXT: v_and_b32_e32 v24, 0xffff, v2416398; SI-NEXT: s_waitcnt vmcnt(2)16399; SI-NEXT: v_and_b32_e32 v25, 0xffff, v2516400; SI-NEXT: s_waitcnt vmcnt(1)16401; SI-NEXT: v_and_b32_e32 v26, 0xffff, v2616402; SI-NEXT: s_waitcnt vmcnt(0)16403; SI-NEXT: v_and_b32_e32 v27, 0xffff, v2716404; SI-NEXT: v_or_b32_e32 v3, v3, v5116405; SI-NEXT: v_or_b32_e32 v4, v4, v5616406; SI-NEXT: v_or_b32_e32 v5, v5, v5016407; SI-NEXT: v_or_b32_e32 v6, v6, v4616408; SI-NEXT: v_or_b32_e32 v7, v7, v4516409; SI-NEXT: v_or_b32_e32 v8, v8, v3916410; SI-NEXT: v_or_b32_e32 v9, v9, v3716411; SI-NEXT: v_or_b32_e32 v10, v10, v3616412; SI-NEXT: v_or_b32_e32 v11, v11, v3416413; SI-NEXT: v_or_b32_e32 v12, v12, v4316414; SI-NEXT: v_or_b32_e32 v13, v13, v4216415; SI-NEXT: v_or_b32_e32 v14, v14, v4016416; SI-NEXT: v_or_b32_e32 v15, v15, v4716417; SI-NEXT: v_or_b32_e32 v17, v17, v4816418; SI-NEXT: v_or_b32_e32 v18, v18, v3816419; SI-NEXT: v_or_b32_e32 v19, v19, v4416420; SI-NEXT: v_or_b32_e32 v20, v20, v3516421; SI-NEXT: v_or_b32_e32 v21, v21, v3316422; SI-NEXT: v_or_b32_e32 v22, v22, v3216423; SI-NEXT: v_or_b32_e32 v23, v23, v4116424; SI-NEXT: v_or_b32_e32 v24, v24, v6316425; SI-NEXT: v_or_b32_e32 v25, v25, v6216426; SI-NEXT: v_or_b32_e32 v26, v26, v6116427; SI-NEXT: v_or_b32_e32 v27, v27, v6016428; SI-NEXT: ; implicit-def: $vgpr5116429; SI-NEXT: ; implicit-def: $vgpr5616430; SI-NEXT: ; implicit-def: $vgpr5016431; SI-NEXT: ; implicit-def: $vgpr4616432; SI-NEXT: ; implicit-def: $vgpr4516433; SI-NEXT: ; implicit-def: $vgpr3916434; SI-NEXT: ; implicit-def: $vgpr3716435; SI-NEXT: ; implicit-def: $vgpr3616436; SI-NEXT: ; implicit-def: $vgpr3416437; SI-NEXT: ; implicit-def: $vgpr4316438; SI-NEXT: ; implicit-def: $vgpr4216439; SI-NEXT: ; implicit-def: $vgpr4016440; SI-NEXT: ; implicit-def: $vgpr4716441; SI-NEXT: ; implicit-def: $vgpr4816442; SI-NEXT: ; implicit-def: $vgpr3816443; SI-NEXT: ; implicit-def: $vgpr4416444; SI-NEXT: ; implicit-def: $vgpr3516445; SI-NEXT: ; implicit-def: $vgpr3316446; SI-NEXT: ; implicit-def: $vgpr3216447; SI-NEXT: ; implicit-def: $vgpr4116448; SI-NEXT: ; implicit-def: $vgpr6316449; SI-NEXT: ; implicit-def: $vgpr6216450; SI-NEXT: ; implicit-def: $vgpr6116451; SI-NEXT: ; implicit-def: $vgpr6016452; SI-NEXT: .LBB30_2: ; %Flow16453; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]16454; SI-NEXT: s_cbranch_execz .LBB30_416455; SI-NEXT: ; %bb.3: ; %cmp.true16456; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload16457; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload16458; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload16459; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload16460; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload16461; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload16462; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload16463; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload16464; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload16465; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload16466; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload16467; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload16468; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload16469; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload16470; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload16471; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload16472; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload16473; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload16474; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload16475; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload16476; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload16477; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload16478; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload16479; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload16480; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5516481; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v5416482; SI-NEXT: v_add_i32_e32 v2, vcc, 3, v5316483; SI-NEXT: v_add_i32_e32 v16, vcc, 3, v5916484; SI-NEXT: v_and_b32_e32 v0, 0xffff, v016485; SI-NEXT: v_and_b32_e32 v1, 0xffff, v116486; SI-NEXT: v_and_b32_e32 v2, 0xffff, v216487; SI-NEXT: v_and_b32_e32 v16, 0xffff, v1616488; SI-NEXT: v_or_b32_e32 v0, v58, v016489; SI-NEXT: s_mov_b32 s6, 0x3000016490; SI-NEXT: v_or_b32_e32 v1, v52, v116491; SI-NEXT: v_or_b32_e32 v2, v57, v216492; SI-NEXT: v_or_b32_e32 v16, v49, v1616493; SI-NEXT: v_add_i32_e32 v0, vcc, 0x30000, v016494; SI-NEXT: v_add_i32_e32 v1, vcc, s6, v116495; SI-NEXT: v_add_i32_e32 v2, vcc, s6, v216496; SI-NEXT: v_add_i32_e32 v16, vcc, s6, v1616497; SI-NEXT: s_waitcnt vmcnt(14)16498; SI-NEXT: v_add_i32_e32 v3, vcc, 3, v316499; SI-NEXT: v_add_i32_e32 v4, vcc, 3, v416500; SI-NEXT: v_add_i32_e32 v5, vcc, 3, v516501; SI-NEXT: v_add_i32_e32 v17, vcc, 3, v1716502; SI-NEXT: v_add_i32_e32 v6, vcc, 3, v616503; SI-NEXT: v_add_i32_e32 v7, vcc, 3, v716504; SI-NEXT: s_waitcnt vmcnt(13)16505; SI-NEXT: v_add_i32_e32 v9, vcc, 3, v916506; SI-NEXT: s_waitcnt vmcnt(10)16507; SI-NEXT: v_add_i32_e32 v8, vcc, 3, v816508; SI-NEXT: v_add_i32_e32 v10, vcc, 3, v1016509; SI-NEXT: s_waitcnt vmcnt(8)16510; SI-NEXT: v_add_i32_e32 v11, vcc, 3, v1116511; SI-NEXT: s_waitcnt vmcnt(7)16512; SI-NEXT: v_add_i32_e32 v12, vcc, 3, v1216513; SI-NEXT: s_waitcnt vmcnt(6)16514; SI-NEXT: v_add_i32_e32 v13, vcc, 3, v1316515; SI-NEXT: s_waitcnt vmcnt(5)16516; SI-NEXT: v_add_i32_e32 v14, vcc, 3, v1416517; SI-NEXT: s_waitcnt vmcnt(4)16518; SI-NEXT: v_add_i32_e32 v15, vcc, 3, v1516519; SI-NEXT: v_add_i32_e32 v18, vcc, 3, v1816520; SI-NEXT: v_add_i32_e32 v19, vcc, 3, v1916521; SI-NEXT: v_add_i32_e32 v20, vcc, 3, v2016522; SI-NEXT: v_add_i32_e32 v21, vcc, 3, v2116523; SI-NEXT: v_add_i32_e32 v22, vcc, 3, v2216524; SI-NEXT: v_add_i32_e32 v23, vcc, 3, v2316525; SI-NEXT: s_waitcnt vmcnt(3)16526; SI-NEXT: v_add_i32_e32 v24, vcc, 3, v2416527; SI-NEXT: s_waitcnt vmcnt(2)16528; SI-NEXT: v_add_i32_e32 v25, vcc, 3, v2516529; SI-NEXT: s_waitcnt vmcnt(1)16530; SI-NEXT: v_add_i32_e32 v26, vcc, 3, v2616531; SI-NEXT: s_waitcnt vmcnt(0)16532; SI-NEXT: v_add_i32_e32 v27, vcc, 3, v2716533; SI-NEXT: v_and_b32_e32 v3, 0xffff, v316534; SI-NEXT: v_and_b32_e32 v4, 0xffff, v416535; SI-NEXT: v_and_b32_e32 v5, 0xffff, v516536; SI-NEXT: v_and_b32_e32 v6, 0xffff, v616537; SI-NEXT: v_and_b32_e32 v7, 0xffff, v716538; SI-NEXT: v_and_b32_e32 v8, 0xffff, v816539; SI-NEXT: v_and_b32_e32 v9, 0xffff, v916540; SI-NEXT: v_and_b32_e32 v10, 0xffff, v1016541; SI-NEXT: v_and_b32_e32 v11, 0xffff, v1116542; SI-NEXT: v_and_b32_e32 v12, 0xffff, v1216543; SI-NEXT: v_and_b32_e32 v13, 0xffff, v1316544; SI-NEXT: v_and_b32_e32 v14, 0xffff, v1416545; SI-NEXT: v_and_b32_e32 v15, 0xffff, v1516546; SI-NEXT: v_and_b32_e32 v17, 0xffff, v1716547; SI-NEXT: v_and_b32_e32 v18, 0xffff, v1816548; SI-NEXT: v_and_b32_e32 v19, 0xffff, v1916549; SI-NEXT: v_and_b32_e32 v20, 0xffff, v2016550; SI-NEXT: v_and_b32_e32 v21, 0xffff, v2116551; SI-NEXT: v_and_b32_e32 v22, 0xffff, v2216552; SI-NEXT: v_and_b32_e32 v23, 0xffff, v2316553; SI-NEXT: v_and_b32_e32 v24, 0xffff, v2416554; SI-NEXT: v_and_b32_e32 v25, 0xffff, v2516555; SI-NEXT: v_and_b32_e32 v26, 0xffff, v2616556; SI-NEXT: v_and_b32_e32 v27, 0xffff, v2716557; SI-NEXT: v_or_b32_e32 v3, v51, v316558; SI-NEXT: v_or_b32_e32 v4, v56, v416559; SI-NEXT: v_or_b32_e32 v5, v50, v516560; SI-NEXT: v_or_b32_e32 v6, v46, v616561; SI-NEXT: v_or_b32_e32 v7, v45, v716562; SI-NEXT: v_or_b32_e32 v8, v39, v816563; SI-NEXT: v_or_b32_e32 v9, v37, v916564; SI-NEXT: v_or_b32_e32 v10, v36, v1016565; SI-NEXT: v_or_b32_e32 v11, v34, v1116566; SI-NEXT: v_or_b32_e32 v12, v43, v1216567; SI-NEXT: v_or_b32_e32 v13, v42, v1316568; SI-NEXT: v_or_b32_e32 v14, v40, v1416569; SI-NEXT: v_or_b32_e32 v15, v47, v1516570; SI-NEXT: v_or_b32_e32 v17, v48, v1716571; SI-NEXT: v_or_b32_e32 v18, v38, v1816572; SI-NEXT: v_or_b32_e32 v19, v44, v1916573; SI-NEXT: v_or_b32_e32 v20, v35, v2016574; SI-NEXT: v_or_b32_e32 v21, v33, v2116575; SI-NEXT: v_or_b32_e32 v22, v32, v2216576; SI-NEXT: v_or_b32_e32 v23, v41, v2316577; SI-NEXT: v_or_b32_e32 v24, v63, v2416578; SI-NEXT: v_or_b32_e32 v25, v62, v2516579; SI-NEXT: v_or_b32_e32 v26, v61, v2616580; SI-NEXT: v_or_b32_e32 v27, v60, v2716581; SI-NEXT: v_add_i32_e32 v3, vcc, s6, v316582; SI-NEXT: v_add_i32_e32 v4, vcc, s6, v416583; SI-NEXT: v_add_i32_e32 v5, vcc, s6, v516584; SI-NEXT: v_add_i32_e32 v6, vcc, s6, v616585; SI-NEXT: v_add_i32_e32 v7, vcc, s6, v716586; SI-NEXT: v_add_i32_e32 v8, vcc, s6, v816587; SI-NEXT: v_add_i32_e32 v9, vcc, s6, v916588; SI-NEXT: v_add_i32_e32 v10, vcc, s6, v1016589; SI-NEXT: v_add_i32_e32 v11, vcc, s6, v1116590; SI-NEXT: v_add_i32_e32 v12, vcc, s6, v1216591; SI-NEXT: v_add_i32_e32 v13, vcc, s6, v1316592; SI-NEXT: v_add_i32_e32 v14, vcc, s6, v1416593; SI-NEXT: v_add_i32_e32 v15, vcc, s6, v1516594; SI-NEXT: v_add_i32_e32 v17, vcc, s6, v1716595; SI-NEXT: v_add_i32_e32 v18, vcc, s6, v1816596; SI-NEXT: v_add_i32_e32 v19, vcc, s6, v1916597; SI-NEXT: v_add_i32_e32 v20, vcc, s6, v2016598; SI-NEXT: v_add_i32_e32 v21, vcc, s6, v2116599; SI-NEXT: v_add_i32_e32 v22, vcc, s6, v2216600; SI-NEXT: v_add_i32_e32 v23, vcc, s6, v2316601; SI-NEXT: v_add_i32_e32 v24, vcc, s6, v2416602; SI-NEXT: v_add_i32_e32 v25, vcc, s6, v2516603; SI-NEXT: v_add_i32_e32 v26, vcc, 0x30000, v2616604; SI-NEXT: v_add_i32_e32 v27, vcc, 0x30000, v2716605; SI-NEXT: .LBB30_4: ; %end16606; SI-NEXT: s_or_b64 exec, exec, s[4:5]16607; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload16608; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload16609; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload16610; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload16611; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload16612; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload16613; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload16614; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload16615; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload16616; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload16617; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload16618; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload16619; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload16620; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload16621; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload16622; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload16623; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)16624; SI-NEXT: s_setpc_b64 s[30:31]16625;16626; VI-LABEL: bitcast_v56i16_to_v28f32:16627; VI: ; %bb.0:16628; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16629; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill16630; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill16631; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill16632; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill16633; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill16634; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill16635; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill16636; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill16637; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill16638; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill16639; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill16640; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill16641; VI-NEXT: v_mov_b32_e32 v32, v2716642; VI-NEXT: v_mov_b32_e32 v33, v2616643; VI-NEXT: v_mov_b32_e32 v34, v2516644; VI-NEXT: v_mov_b32_e32 v35, v2416645; VI-NEXT: v_mov_b32_e32 v36, v2316646; VI-NEXT: v_mov_b32_e32 v37, v2216647; VI-NEXT: v_mov_b32_e32 v38, v2116648; VI-NEXT: v_mov_b32_e32 v39, v2016649; VI-NEXT: v_mov_b32_e32 v48, v1916650; VI-NEXT: v_mov_b32_e32 v49, v1816651; VI-NEXT: v_mov_b32_e32 v50, v1716652; VI-NEXT: v_mov_b32_e32 v51, v1616653; VI-NEXT: v_mov_b32_e32 v52, v1516654; VI-NEXT: v_mov_b32_e32 v53, v1416655; VI-NEXT: v_mov_b32_e32 v54, v1316656; VI-NEXT: v_mov_b32_e32 v55, v1216657; VI-NEXT: v_mov_b32_e32 v40, v1116658; VI-NEXT: v_mov_b32_e32 v41, v1016659; VI-NEXT: v_mov_b32_e32 v42, v916660; VI-NEXT: v_mov_b32_e32 v43, v816661; VI-NEXT: v_mov_b32_e32 v44, v716662; VI-NEXT: v_mov_b32_e32 v45, v616663; VI-NEXT: v_mov_b32_e32 v46, v516664; VI-NEXT: v_mov_b32_e32 v47, v416665; VI-NEXT: v_mov_b32_e32 v56, v316666; VI-NEXT: v_mov_b32_e32 v57, v216667; VI-NEXT: v_mov_b32_e32 v58, v116668; VI-NEXT: v_mov_b32_e32 v59, v016669; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2816670; 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_vgpr3116671; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc16672; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]16673; VI-NEXT: s_cbranch_execz .LBB30_216674; VI-NEXT: ; %bb.1: ; %cmp.false16675; VI-NEXT: v_mov_b32_e32 v27, 1616676; VI-NEXT: v_lshlrev_b32_sdwa v0, v27, v59 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116677; VI-NEXT: v_lshlrev_b32_sdwa v1, v27, v58 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116678; VI-NEXT: v_lshlrev_b32_sdwa v2, v27, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116679; VI-NEXT: v_lshlrev_b32_sdwa v3, v27, v56 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116680; VI-NEXT: v_lshlrev_b32_sdwa v4, v27, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116681; VI-NEXT: v_lshlrev_b32_sdwa v5, v27, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116682; VI-NEXT: v_lshlrev_b32_sdwa v6, v27, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116683; VI-NEXT: v_lshlrev_b32_sdwa v7, v27, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116684; VI-NEXT: v_lshlrev_b32_sdwa v8, v27, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116685; VI-NEXT: v_lshlrev_b32_sdwa v9, v27, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116686; VI-NEXT: v_lshlrev_b32_sdwa v10, v27, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116687; VI-NEXT: v_lshlrev_b32_sdwa v11, v27, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116688; VI-NEXT: v_lshlrev_b32_sdwa v12, v27, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116689; VI-NEXT: v_lshlrev_b32_sdwa v13, v27, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116690; VI-NEXT: v_lshlrev_b32_sdwa v14, v27, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116691; VI-NEXT: v_lshlrev_b32_sdwa v15, v27, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116692; VI-NEXT: v_lshlrev_b32_sdwa v16, v27, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116693; VI-NEXT: v_lshlrev_b32_sdwa v17, v27, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116694; VI-NEXT: v_lshlrev_b32_sdwa v18, v27, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116695; VI-NEXT: v_lshlrev_b32_sdwa v19, v27, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116696; VI-NEXT: v_lshlrev_b32_sdwa v20, v27, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116697; VI-NEXT: v_lshlrev_b32_sdwa v21, v27, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116698; VI-NEXT: v_lshlrev_b32_sdwa v22, v27, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116699; VI-NEXT: v_lshlrev_b32_sdwa v23, v27, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116700; VI-NEXT: v_lshlrev_b32_sdwa v24, v27, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116701; VI-NEXT: v_lshlrev_b32_sdwa v25, v27, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116702; VI-NEXT: v_lshlrev_b32_sdwa v26, v27, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116703; VI-NEXT: v_lshlrev_b32_sdwa v27, v27, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_116704; VI-NEXT: v_or_b32_sdwa v0, v59, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16705; VI-NEXT: v_or_b32_sdwa v1, v58, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16706; VI-NEXT: v_or_b32_sdwa v2, v57, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16707; VI-NEXT: v_or_b32_sdwa v3, v56, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16708; VI-NEXT: v_or_b32_sdwa v4, v47, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16709; VI-NEXT: v_or_b32_sdwa v5, v46, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16710; VI-NEXT: v_or_b32_sdwa v6, v45, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16711; VI-NEXT: v_or_b32_sdwa v7, v44, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16712; VI-NEXT: v_or_b32_sdwa v8, v43, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16713; VI-NEXT: v_or_b32_sdwa v9, v42, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16714; VI-NEXT: v_or_b32_sdwa v10, v41, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16715; VI-NEXT: v_or_b32_sdwa v11, v40, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16716; VI-NEXT: v_or_b32_sdwa v12, v55, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16717; VI-NEXT: v_or_b32_sdwa v13, v54, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16718; VI-NEXT: v_or_b32_sdwa v14, v53, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16719; VI-NEXT: v_or_b32_sdwa v15, v52, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16720; VI-NEXT: v_or_b32_sdwa v16, v51, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16721; VI-NEXT: v_or_b32_sdwa v17, v50, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16722; VI-NEXT: v_or_b32_sdwa v18, v49, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16723; VI-NEXT: v_or_b32_sdwa v19, v48, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16724; VI-NEXT: v_or_b32_sdwa v20, v39, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16725; VI-NEXT: v_or_b32_sdwa v21, v38, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16726; VI-NEXT: v_or_b32_sdwa v22, v37, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16727; VI-NEXT: v_or_b32_sdwa v23, v36, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16728; VI-NEXT: v_or_b32_sdwa v24, v35, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16729; VI-NEXT: v_or_b32_sdwa v25, v34, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16730; VI-NEXT: v_or_b32_sdwa v26, v33, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16731; VI-NEXT: v_or_b32_sdwa v27, v32, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD16732; VI-NEXT: ; implicit-def: $vgpr5916733; VI-NEXT: ; implicit-def: $vgpr5816734; VI-NEXT: ; implicit-def: $vgpr5716735; VI-NEXT: ; implicit-def: $vgpr5616736; VI-NEXT: ; implicit-def: $vgpr4716737; VI-NEXT: ; implicit-def: $vgpr4616738; VI-NEXT: ; implicit-def: $vgpr4516739; VI-NEXT: ; implicit-def: $vgpr4416740; VI-NEXT: ; implicit-def: $vgpr4316741; VI-NEXT: ; implicit-def: $vgpr4216742; VI-NEXT: ; implicit-def: $vgpr4116743; VI-NEXT: ; implicit-def: $vgpr4016744; VI-NEXT: ; implicit-def: $vgpr5516745; VI-NEXT: ; implicit-def: $vgpr5416746; VI-NEXT: ; implicit-def: $vgpr5316747; VI-NEXT: ; implicit-def: $vgpr5216748; VI-NEXT: ; implicit-def: $vgpr5116749; VI-NEXT: ; implicit-def: $vgpr5016750; VI-NEXT: ; implicit-def: $vgpr4916751; VI-NEXT: ; implicit-def: $vgpr4816752; VI-NEXT: ; implicit-def: $vgpr3916753; VI-NEXT: ; implicit-def: $vgpr3816754; VI-NEXT: ; implicit-def: $vgpr3716755; VI-NEXT: ; implicit-def: $vgpr3616756; VI-NEXT: ; implicit-def: $vgpr3516757; VI-NEXT: ; implicit-def: $vgpr3416758; VI-NEXT: ; implicit-def: $vgpr3316759; VI-NEXT: ; implicit-def: $vgpr3216760; VI-NEXT: .LBB30_2: ; %Flow16761; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]16762; VI-NEXT: s_cbranch_execz .LBB30_416763; VI-NEXT: ; %bb.3: ; %cmp.true16764; VI-NEXT: v_mov_b32_e32 v27, 316765; VI-NEXT: v_add_u16_e32 v0, 3, v5916766; VI-NEXT: v_add_u16_sdwa v1, v59, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16767; VI-NEXT: v_add_u16_e32 v2, 3, v5816768; VI-NEXT: v_add_u16_sdwa v3, v58, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16769; VI-NEXT: v_or_b32_e32 v0, v0, v116770; VI-NEXT: v_or_b32_e32 v1, v2, v316771; VI-NEXT: v_add_u16_e32 v2, 3, v5716772; VI-NEXT: v_add_u16_sdwa v3, v57, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16773; VI-NEXT: v_or_b32_e32 v2, v2, v316774; VI-NEXT: v_add_u16_e32 v3, 3, v5616775; VI-NEXT: v_add_u16_sdwa v4, v56, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16776; VI-NEXT: v_or_b32_e32 v3, v3, v416777; VI-NEXT: v_add_u16_e32 v4, 3, v4716778; VI-NEXT: v_add_u16_sdwa v5, v47, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16779; VI-NEXT: v_or_b32_e32 v4, v4, v516780; VI-NEXT: v_add_u16_e32 v5, 3, v4616781; VI-NEXT: v_add_u16_sdwa v6, v46, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16782; VI-NEXT: v_or_b32_e32 v5, v5, v616783; VI-NEXT: v_add_u16_e32 v6, 3, v4516784; VI-NEXT: v_add_u16_sdwa v7, v45, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16785; VI-NEXT: v_or_b32_e32 v6, v6, v716786; VI-NEXT: v_add_u16_e32 v7, 3, v4416787; VI-NEXT: v_add_u16_sdwa v8, v44, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16788; VI-NEXT: v_or_b32_e32 v7, v7, v816789; VI-NEXT: v_add_u16_e32 v8, 3, v4316790; VI-NEXT: v_add_u16_sdwa v9, v43, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16791; VI-NEXT: v_or_b32_e32 v8, v8, v916792; VI-NEXT: v_add_u16_e32 v9, 3, v4216793; VI-NEXT: v_add_u16_sdwa v10, v42, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16794; VI-NEXT: v_or_b32_e32 v9, v9, v1016795; VI-NEXT: v_add_u16_e32 v10, 3, v4116796; VI-NEXT: v_add_u16_sdwa v11, v41, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16797; VI-NEXT: v_or_b32_e32 v10, v10, v1116798; VI-NEXT: v_add_u16_e32 v11, 3, v4016799; VI-NEXT: v_add_u16_sdwa v12, v40, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16800; VI-NEXT: v_or_b32_e32 v11, v11, v1216801; VI-NEXT: v_add_u16_e32 v12, 3, v5516802; VI-NEXT: v_add_u16_sdwa v13, v55, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16803; VI-NEXT: v_or_b32_e32 v12, v12, v1316804; VI-NEXT: v_add_u16_e32 v13, 3, v5416805; VI-NEXT: v_add_u16_sdwa v14, v54, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16806; VI-NEXT: v_or_b32_e32 v13, v13, v1416807; VI-NEXT: v_add_u16_e32 v14, 3, v5316808; VI-NEXT: v_add_u16_sdwa v15, v53, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16809; VI-NEXT: v_or_b32_e32 v14, v14, v1516810; VI-NEXT: v_add_u16_e32 v15, 3, v5216811; VI-NEXT: v_add_u16_sdwa v16, v52, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16812; VI-NEXT: v_or_b32_e32 v15, v15, v1616813; VI-NEXT: v_add_u16_e32 v16, 3, v5116814; VI-NEXT: v_add_u16_sdwa v17, v51, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16815; VI-NEXT: v_or_b32_e32 v16, v16, v1716816; VI-NEXT: v_add_u16_e32 v17, 3, v5016817; VI-NEXT: v_add_u16_sdwa v18, v50, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16818; VI-NEXT: v_or_b32_e32 v17, v17, v1816819; VI-NEXT: v_add_u16_e32 v18, 3, v4916820; VI-NEXT: v_add_u16_sdwa v19, v49, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16821; VI-NEXT: v_or_b32_e32 v18, v18, v1916822; VI-NEXT: v_add_u16_e32 v19, 3, v4816823; VI-NEXT: v_add_u16_sdwa v20, v48, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16824; VI-NEXT: v_or_b32_e32 v19, v19, v2016825; VI-NEXT: v_add_u16_e32 v20, 3, v3916826; VI-NEXT: v_add_u16_sdwa v21, v39, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16827; VI-NEXT: v_or_b32_e32 v20, v20, v2116828; VI-NEXT: v_add_u16_e32 v21, 3, v3816829; VI-NEXT: v_add_u16_sdwa v22, v38, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16830; VI-NEXT: v_or_b32_e32 v21, v21, v2216831; VI-NEXT: v_add_u16_e32 v22, 3, v3716832; VI-NEXT: v_add_u16_sdwa v23, v37, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16833; VI-NEXT: v_or_b32_e32 v22, v22, v2316834; VI-NEXT: v_add_u16_e32 v23, 3, v3616835; VI-NEXT: v_add_u16_sdwa v24, v36, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16836; VI-NEXT: v_or_b32_e32 v23, v23, v2416837; VI-NEXT: v_add_u16_e32 v24, 3, v3516838; VI-NEXT: v_add_u16_sdwa v25, v35, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16839; VI-NEXT: v_or_b32_e32 v24, v24, v2516840; VI-NEXT: v_add_u16_e32 v25, 3, v3416841; VI-NEXT: v_add_u16_sdwa v26, v34, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16842; VI-NEXT: v_or_b32_e32 v25, v25, v2616843; VI-NEXT: v_add_u16_e32 v26, 3, v3316844; VI-NEXT: v_add_u16_sdwa v28, v33, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16845; VI-NEXT: v_or_b32_e32 v26, v26, v2816846; VI-NEXT: v_add_u16_e32 v28, 3, v3216847; VI-NEXT: v_add_u16_sdwa v27, v32, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD16848; VI-NEXT: v_or_b32_e32 v27, v28, v2716849; VI-NEXT: .LBB30_4: ; %end16850; VI-NEXT: s_or_b64 exec, exec, s[4:5]16851; VI-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload16852; VI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload16853; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload16854; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload16855; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload16856; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload16857; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload16858; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload16859; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload16860; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload16861; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload16862; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload16863; VI-NEXT: s_waitcnt vmcnt(0)16864; VI-NEXT: s_setpc_b64 s[30:31]16865;16866; GFX9-LABEL: bitcast_v56i16_to_v28f32:16867; GFX9: ; %bb.0:16868; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)16869; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill16870; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill16871; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill16872; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill16873; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill16874; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill16875; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill16876; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill16877; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill16878; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill16879; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill16880; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill16881; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill16882; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill16883; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill16884; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill16885; GFX9-NEXT: v_mov_b32_e32 v59, v016886; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2716887; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill16888; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill16889; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2616890; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill16891; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill16892; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2516893; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill16894; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill16895; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2416896; GFX9-NEXT: v_mov_b32_e32 v37, v2216897; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill16898; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill16899; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v2316900; GFX9-NEXT: v_mov_b32_e32 v38, v2116901; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill16902; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3716903; GFX9-NEXT: v_mov_b32_e32 v39, v2016904; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill16905; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3816906; GFX9-NEXT: v_mov_b32_e32 v48, v1916907; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill16908; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v3916909; GFX9-NEXT: v_mov_b32_e32 v49, v1816910; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill16911; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4816912; GFX9-NEXT: v_mov_b32_e32 v50, v1716913; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill16914; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4916915; GFX9-NEXT: v_mov_b32_e32 v51, v1616916; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill16917; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5016918; GFX9-NEXT: v_mov_b32_e32 v52, v1516919; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill16920; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5116921; GFX9-NEXT: v_mov_b32_e32 v53, v1416922; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill16923; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5216924; GFX9-NEXT: v_mov_b32_e32 v54, v1316925; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill16926; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5316927; GFX9-NEXT: v_mov_b32_e32 v55, v1216928; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill16929; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5416930; GFX9-NEXT: v_mov_b32_e32 v40, v1116931; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill16932; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5516933; GFX9-NEXT: v_mov_b32_e32 v41, v1016934; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill16935; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4016936; GFX9-NEXT: v_mov_b32_e32 v42, v916937; GFX9-NEXT: v_mov_b32_e32 v43, v816938; GFX9-NEXT: v_mov_b32_e32 v44, v716939; GFX9-NEXT: v_mov_b32_e32 v45, v616940; GFX9-NEXT: v_mov_b32_e32 v46, v516941; GFX9-NEXT: v_mov_b32_e32 v47, v416942; GFX9-NEXT: v_mov_b32_e32 v56, v316943; GFX9-NEXT: v_mov_b32_e32 v57, v216944; GFX9-NEXT: v_mov_b32_e32 v58, v116945; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill16946; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4116947; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill16948; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v4216949; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v4316950; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v4416951; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v4516952; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v4616953; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4716954; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v5616955; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v5716956; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v5816957; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v5916958; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2816959; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill16960; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill16961; 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_vgpr3116962; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc16963; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]16964; GFX9-NEXT: s_cbranch_execz .LBB30_216965; GFX9-NEXT: ; %bb.1: ; %cmp.false16966; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload16967; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload16968; GFX9-NEXT: s_mov_b32 s6, 0x504010016969; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v4216970; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v4116971; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v4016972; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v5516973; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v5416974; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v5316975; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v5216976; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v5116977; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v5016978; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v4916979; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v4816980; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v3916981; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v3816982; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v3716983; GFX9-NEXT: v_perm_b32 v0, v36, v59, s616984; GFX9-NEXT: v_perm_b32 v1, v35, v58, s616985; GFX9-NEXT: v_perm_b32 v2, v62, v57, s616986; GFX9-NEXT: v_perm_b32 v3, v34, v56, s616987; GFX9-NEXT: v_perm_b32 v4, v33, v47, s616988; GFX9-NEXT: v_perm_b32 v5, v61, v46, s616989; GFX9-NEXT: v_perm_b32 v6, v32, v45, s616990; GFX9-NEXT: v_perm_b32 v7, v60, v44, s616991; GFX9-NEXT: v_perm_b32 v8, v63, v43, s616992; GFX9-NEXT: v_perm_b32 v9, v9, v42, s616993; GFX9-NEXT: v_perm_b32 v10, v10, v41, s616994; GFX9-NEXT: v_perm_b32 v11, v11, v40, s616995; GFX9-NEXT: v_perm_b32 v12, v12, v55, s616996; GFX9-NEXT: v_perm_b32 v13, v13, v54, s616997; GFX9-NEXT: v_perm_b32 v14, v14, v53, s616998; GFX9-NEXT: v_perm_b32 v15, v15, v52, s616999; GFX9-NEXT: v_perm_b32 v16, v16, v51, s617000; GFX9-NEXT: v_perm_b32 v17, v17, v50, s617001; GFX9-NEXT: v_perm_b32 v18, v18, v49, s617002; GFX9-NEXT: v_perm_b32 v19, v19, v48, s617003; GFX9-NEXT: v_perm_b32 v20, v20, v39, s617004; GFX9-NEXT: v_perm_b32 v21, v21, v38, s617005; GFX9-NEXT: v_perm_b32 v22, v22, v37, s617006; GFX9-NEXT: ; implicit-def: $vgpr5917007; GFX9-NEXT: ; implicit-def: $vgpr5817008; GFX9-NEXT: ; implicit-def: $vgpr5717009; GFX9-NEXT: ; implicit-def: $vgpr5617010; GFX9-NEXT: ; implicit-def: $vgpr4717011; GFX9-NEXT: ; implicit-def: $vgpr4617012; GFX9-NEXT: ; implicit-def: $vgpr4517013; GFX9-NEXT: ; implicit-def: $vgpr4417014; GFX9-NEXT: ; implicit-def: $vgpr4317015; GFX9-NEXT: ; implicit-def: $vgpr4217016; GFX9-NEXT: ; implicit-def: $vgpr4117017; GFX9-NEXT: ; implicit-def: $vgpr4017018; GFX9-NEXT: ; implicit-def: $vgpr5517019; GFX9-NEXT: ; implicit-def: $vgpr5417020; GFX9-NEXT: ; implicit-def: $vgpr5317021; GFX9-NEXT: ; implicit-def: $vgpr5217022; GFX9-NEXT: ; implicit-def: $vgpr5117023; GFX9-NEXT: ; implicit-def: $vgpr5017024; GFX9-NEXT: ; implicit-def: $vgpr4917025; GFX9-NEXT: ; implicit-def: $vgpr4817026; GFX9-NEXT: ; implicit-def: $vgpr3917027; GFX9-NEXT: ; implicit-def: $vgpr3817028; GFX9-NEXT: ; implicit-def: $vgpr3717029; GFX9-NEXT: ; implicit-def: $vgpr6317030; GFX9-NEXT: ; implicit-def: $vgpr6017031; GFX9-NEXT: ; implicit-def: $vgpr3217032; GFX9-NEXT: ; implicit-def: $vgpr6117033; GFX9-NEXT: ; implicit-def: $vgpr3317034; GFX9-NEXT: ; implicit-def: $vgpr3417035; GFX9-NEXT: ; implicit-def: $vgpr6217036; GFX9-NEXT: ; implicit-def: $vgpr3517037; GFX9-NEXT: ; implicit-def: $vgpr3617038; GFX9-NEXT: s_waitcnt vmcnt(0)17039; GFX9-NEXT: v_perm_b32 v23, v24, v23, s617040; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload17041; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload17042; GFX9-NEXT: s_waitcnt vmcnt(0)17043; GFX9-NEXT: v_perm_b32 v24, v25, v24, s617044; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload17045; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload17046; GFX9-NEXT: s_waitcnt vmcnt(0)17047; GFX9-NEXT: v_perm_b32 v25, v26, v25, s617048; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload17049; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload17050; GFX9-NEXT: s_waitcnt vmcnt(0)17051; GFX9-NEXT: v_perm_b32 v26, v27, v26, s617052; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload17053; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload17054; GFX9-NEXT: s_waitcnt vmcnt(0)17055; GFX9-NEXT: v_perm_b32 v27, v28, v27, s617056; GFX9-NEXT: ; implicit-def: $vgpr2817057; GFX9-NEXT: ; kill: killed $vgpr2817058; GFX9-NEXT: ; implicit-def: $vgpr2817059; GFX9-NEXT: ; kill: killed $vgpr2817060; GFX9-NEXT: ; implicit-def: $vgpr2817061; GFX9-NEXT: ; kill: killed $vgpr2817062; GFX9-NEXT: ; implicit-def: $vgpr2817063; GFX9-NEXT: ; kill: killed $vgpr2817064; GFX9-NEXT: ; implicit-def: $vgpr2817065; GFX9-NEXT: ; kill: killed $vgpr2817066; GFX9-NEXT: ; implicit-def: $vgpr2817067; GFX9-NEXT: ; kill: killed $vgpr2817068; GFX9-NEXT: ; implicit-def: $vgpr2817069; GFX9-NEXT: ; kill: killed $vgpr2817070; GFX9-NEXT: ; implicit-def: $vgpr2817071; GFX9-NEXT: ; kill: killed $vgpr2817072; GFX9-NEXT: ; implicit-def: $vgpr2817073; GFX9-NEXT: ; kill: killed $vgpr2817074; GFX9-NEXT: ; implicit-def: $vgpr2817075; GFX9-NEXT: ; kill: killed $vgpr2817076; GFX9-NEXT: ; implicit-def: $vgpr2817077; GFX9-NEXT: ; kill: killed $vgpr2817078; GFX9-NEXT: ; implicit-def: $vgpr2817079; GFX9-NEXT: ; kill: killed $vgpr2817080; GFX9-NEXT: ; implicit-def: $vgpr2817081; GFX9-NEXT: ; kill: killed $vgpr2817082; GFX9-NEXT: ; implicit-def: $vgpr2817083; GFX9-NEXT: ; kill: killed $vgpr2817084; GFX9-NEXT: ; implicit-def: $vgpr2817085; GFX9-NEXT: ; kill: killed $vgpr2817086; GFX9-NEXT: ; implicit-def: $vgpr2817087; GFX9-NEXT: ; kill: killed $vgpr2817088; GFX9-NEXT: ; implicit-def: $vgpr2817089; GFX9-NEXT: ; kill: killed $vgpr2817090; GFX9-NEXT: ; implicit-def: $vgpr2817091; GFX9-NEXT: ; kill: killed $vgpr2817092; GFX9-NEXT: ; implicit-def: $vgpr2817093; GFX9-NEXT: ; kill: killed $vgpr2817094; GFX9-NEXT: ; implicit-def: $vgpr2817095; GFX9-NEXT: ; kill: killed $vgpr2817096; GFX9-NEXT: ; implicit-def: $vgpr2817097; GFX9-NEXT: ; kill: killed $vgpr2817098; GFX9-NEXT: ; implicit-def: $vgpr2817099; GFX9-NEXT: ; kill: killed $vgpr2817100; GFX9-NEXT: ; implicit-def: $vgpr2817101; GFX9-NEXT: ; kill: killed $vgpr2817102; GFX9-NEXT: ; implicit-def: $vgpr2817103; GFX9-NEXT: ; kill: killed $vgpr2817104; GFX9-NEXT: .LBB30_2: ; %Flow17105; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]17106; GFX9-NEXT: s_cbranch_execz .LBB30_417107; GFX9-NEXT: ; %bb.3: ; %cmp.true17108; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload17109; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload17110; GFX9-NEXT: s_mov_b32 s6, 0x504010017111; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload17112; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload17113; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload17114; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload17115; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload17116; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload17117; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload17118; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload17119; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload17120; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload17121; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload17122; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload17123; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload17124; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload17125; GFX9-NEXT: v_perm_b32 v0, v36, v59, s617126; GFX9-NEXT: v_perm_b32 v1, v35, v58, s617127; GFX9-NEXT: v_perm_b32 v2, v62, v57, s617128; GFX9-NEXT: v_perm_b32 v3, v34, v56, s617129; GFX9-NEXT: v_perm_b32 v4, v33, v47, s617130; GFX9-NEXT: v_perm_b32 v5, v61, v46, s617131; GFX9-NEXT: v_perm_b32 v6, v32, v45, s617132; GFX9-NEXT: v_perm_b32 v7, v60, v44, s617133; GFX9-NEXT: v_perm_b32 v8, v63, v43, s617134; GFX9-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]17135; GFX9-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]17136; GFX9-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]17137; GFX9-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]17138; GFX9-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]17139; GFX9-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]17140; GFX9-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]17141; GFX9-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]17142; GFX9-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]17143; GFX9-NEXT: s_waitcnt vmcnt(14)17144; GFX9-NEXT: v_perm_b32 v23, v24, v23, s617145; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload17146; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload17147; GFX9-NEXT: s_waitcnt vmcnt(15)17148; GFX9-NEXT: v_perm_b32 v9, v9, v42, s617149; GFX9-NEXT: s_waitcnt vmcnt(14)17150; GFX9-NEXT: v_perm_b32 v10, v10, v41, s617151; GFX9-NEXT: s_waitcnt vmcnt(13)17152; GFX9-NEXT: v_perm_b32 v11, v11, v40, s617153; GFX9-NEXT: s_waitcnt vmcnt(12)17154; GFX9-NEXT: v_perm_b32 v12, v12, v55, s617155; GFX9-NEXT: s_waitcnt vmcnt(11)17156; GFX9-NEXT: v_perm_b32 v13, v13, v54, s617157; GFX9-NEXT: s_waitcnt vmcnt(10)17158; GFX9-NEXT: v_perm_b32 v14, v14, v53, s617159; GFX9-NEXT: s_waitcnt vmcnt(9)17160; GFX9-NEXT: v_perm_b32 v15, v15, v52, s617161; GFX9-NEXT: s_waitcnt vmcnt(8)17162; GFX9-NEXT: v_perm_b32 v16, v16, v51, s617163; GFX9-NEXT: s_waitcnt vmcnt(7)17164; GFX9-NEXT: v_perm_b32 v17, v17, v50, s617165; GFX9-NEXT: s_waitcnt vmcnt(6)17166; GFX9-NEXT: v_perm_b32 v18, v18, v49, s617167; GFX9-NEXT: s_waitcnt vmcnt(5)17168; GFX9-NEXT: v_perm_b32 v19, v19, v48, s617169; GFX9-NEXT: s_waitcnt vmcnt(4)17170; GFX9-NEXT: v_perm_b32 v20, v20, v39, s617171; GFX9-NEXT: s_waitcnt vmcnt(3)17172; GFX9-NEXT: v_perm_b32 v21, v21, v38, s617173; GFX9-NEXT: s_waitcnt vmcnt(2)17174; GFX9-NEXT: v_perm_b32 v22, v22, v37, s617175; GFX9-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]17176; GFX9-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]17177; GFX9-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]17178; GFX9-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]17179; GFX9-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]17180; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]17181; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]17182; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]17183; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]17184; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]17185; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]17186; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]17187; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]17188; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]17189; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]17190; GFX9-NEXT: s_waitcnt vmcnt(0)17191; GFX9-NEXT: v_perm_b32 v24, v25, v24, s617192; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload17193; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload17194; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]17195; GFX9-NEXT: s_waitcnt vmcnt(0)17196; GFX9-NEXT: v_perm_b32 v25, v26, v25, s617197; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload17198; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload17199; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]17200; GFX9-NEXT: s_waitcnt vmcnt(0)17201; GFX9-NEXT: v_perm_b32 v26, v27, v26, s617202; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload17203; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload17204; GFX9-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]17205; GFX9-NEXT: s_waitcnt vmcnt(0)17206; GFX9-NEXT: v_perm_b32 v27, v28, v27, s617207; GFX9-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]17208; GFX9-NEXT: .LBB30_4: ; %end17209; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]17210; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload17211; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload17212; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload17213; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload17214; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload17215; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload17216; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload17217; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload17218; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload17219; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload17220; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload17221; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload17222; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload17223; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload17224; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload17225; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload17226; GFX9-NEXT: s_waitcnt vmcnt(0)17227; GFX9-NEXT: s_setpc_b64 s[30:31]17228;17229; GFX11-TRUE16-LABEL: bitcast_v56i16_to_v28f32:17230; GFX11-TRUE16: ; %bb.0:17231; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17232; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo17233; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2817234; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s017235; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)17236; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s017237; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB30_217238; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true17239; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]17240; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]17241; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]17242; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]17243; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]17244; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]17245; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]17246; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]17247; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]17248; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]17249; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]17250; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]17251; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]17252; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]17253; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]17254; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]17255; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]17256; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]17257; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]17258; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]17259; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]17260; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]17261; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]17262; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]17263; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]17264; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]17265; GFX11-TRUE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]17266; GFX11-TRUE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]17267; GFX11-TRUE16-NEXT: .LBB30_2: ; %end17268; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s017269; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]17270;17271; GFX11-FAKE16-LABEL: bitcast_v56i16_to_v28f32:17272; GFX11-FAKE16: ; %bb.0:17273; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17274; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2717275; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2617276; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2517277; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2417278; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2317279; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2217280; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2117281; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v2017282; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1917283; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1817284; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1717285; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1617286; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1517287; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1417288; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1317289; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1217290; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1117291; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1017292; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v917293; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v817294; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v717295; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v617296; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v517297; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v417298; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v017299; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v117300; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v217301; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 16, v317302; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2817303; GFX11-FAKE16-NEXT: v_perm_b32 v0, v69, v0, 0x504010017304; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x504010017305; GFX11-FAKE16-NEXT: v_perm_b32 v2, v71, v2, 0x504010017306; GFX11-FAKE16-NEXT: v_perm_b32 v3, v80, v3, 0x504010017307; GFX11-FAKE16-NEXT: v_perm_b32 v4, v68, v4, 0x504010017308; GFX11-FAKE16-NEXT: v_perm_b32 v5, v67, v5, 0x504010017309; GFX11-FAKE16-NEXT: v_perm_b32 v6, v66, v6, 0x504010017310; GFX11-FAKE16-NEXT: v_perm_b32 v7, v65, v7, 0x504010017311; GFX11-FAKE16-NEXT: v_perm_b32 v8, v64, v8, 0x504010017312; GFX11-FAKE16-NEXT: v_perm_b32 v9, v55, v9, 0x504010017313; GFX11-FAKE16-NEXT: v_perm_b32 v10, v54, v10, 0x504010017314; GFX11-FAKE16-NEXT: v_perm_b32 v11, v53, v11, 0x504010017315; GFX11-FAKE16-NEXT: v_perm_b32 v12, v52, v12, 0x504010017316; GFX11-FAKE16-NEXT: v_perm_b32 v13, v51, v13, 0x504010017317; GFX11-FAKE16-NEXT: v_perm_b32 v14, v50, v14, 0x504010017318; GFX11-FAKE16-NEXT: v_perm_b32 v15, v49, v15, 0x504010017319; GFX11-FAKE16-NEXT: v_perm_b32 v16, v48, v16, 0x504010017320; GFX11-FAKE16-NEXT: v_perm_b32 v17, v39, v17, 0x504010017321; GFX11-FAKE16-NEXT: v_perm_b32 v18, v38, v18, 0x504010017322; GFX11-FAKE16-NEXT: v_perm_b32 v19, v37, v19, 0x504010017323; GFX11-FAKE16-NEXT: v_perm_b32 v20, v36, v20, 0x504010017324; GFX11-FAKE16-NEXT: v_perm_b32 v21, v35, v21, 0x504010017325; GFX11-FAKE16-NEXT: v_perm_b32 v22, v34, v22, 0x504010017326; GFX11-FAKE16-NEXT: v_perm_b32 v23, v33, v23, 0x504010017327; GFX11-FAKE16-NEXT: v_perm_b32 v24, v32, v24, 0x504010017328; GFX11-FAKE16-NEXT: v_perm_b32 v25, v31, v25, 0x504010017329; GFX11-FAKE16-NEXT: v_perm_b32 v26, v30, v26, 0x504010017330; GFX11-FAKE16-NEXT: v_perm_b32 v27, v29, v27, 0x504010017331; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo17332; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)17333; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s017334; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s017335; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB30_217336; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.true17337; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, v0, 3 op_sel_hi:[1,0]17338; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]17339; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]17340; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]17341; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]17342; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]17343; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]17344; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]17345; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]17346; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]17347; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]17348; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]17349; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]17350; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]17351; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]17352; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]17353; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]17354; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]17355; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]17356; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]17357; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]17358; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]17359; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]17360; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]17361; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]17362; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]17363; GFX11-FAKE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]17364; GFX11-FAKE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]17365; GFX11-FAKE16-NEXT: .LBB30_2: ; %end17366; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s017367; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]17368 %cmp = icmp eq i32 %b, 017369 br i1 %cmp, label %cmp.true, label %cmp.false17370 17371cmp.true:17372 %a1 = add <56 x i16> %a, splat (i16 3)17373 %a2 = bitcast <56 x i16> %a1 to <28 x float>17374 br label %end17375 17376cmp.false:17377 %a3 = bitcast <56 x i16> %a to <28 x float>17378 br label %end17379 17380end:17381 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]17382 ret <28 x float> %phi17383}17384 17385define inreg <28 x float> @bitcast_v56i16_to_v28f32_scalar(<56 x i16> inreg %a, i32 inreg %b) {17386; SI-LABEL: bitcast_v56i16_to_v28f32_scalar:17387; SI: ; %bb.0:17388; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17389; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill17390; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill17391; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill17392; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill17393; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill17394; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill17395; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill17396; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill17397; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill17398; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill17399; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill17400; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill17401; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill17402; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill17403; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill17404; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill17405; SI-NEXT: s_waitcnt expcnt(6)17406; SI-NEXT: v_mov_b32_e32 v57, v1217407; SI-NEXT: s_waitcnt expcnt(5)17408; SI-NEXT: v_mov_b32_e32 v58, v1017409; SI-NEXT: s_waitcnt expcnt(3)17410; SI-NEXT: v_mov_b32_e32 v60, v817411; SI-NEXT: v_mov_b32_e32 v33, v617412; SI-NEXT: v_mov_b32_e32 v35, v417413; SI-NEXT: v_mov_b32_e32 v39, v217414; SI-NEXT: s_waitcnt expcnt(2)17415; SI-NEXT: v_mov_b32_e32 v61, v017416; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:4417417; SI-NEXT: buffer_load_dword v2, off, s[0:3], s3217418; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:817419; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:417420; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:1617421; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:1217422; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:2417423; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:2017424; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:3217425; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:2817426; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:4017427; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:3617428; SI-NEXT: v_mov_b32_e32 v31, v2617429; SI-NEXT: v_mov_b32_e32 v41, v2417430; SI-NEXT: v_mov_b32_e32 v42, v2217431; SI-NEXT: v_mov_b32_e32 v43, v2017432; SI-NEXT: v_mov_b32_e32 v49, v1817433; SI-NEXT: v_mov_b32_e32 v44, v1617434; SI-NEXT: v_mov_b32_e32 v45, v1417435; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v117436; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v317437; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v517438; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v717439; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v917440; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v1117441; SI-NEXT: s_waitcnt expcnt(0)17442; SI-NEXT: v_lshlrev_b32_e32 v63, 16, v1317443; SI-NEXT: v_lshlrev_b32_e32 v62, 16, v1517444; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v1717445; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v1917446; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v2117447; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v2317448; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v2517449; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v2717450; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v2917451; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill17452; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill17453; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill17454; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill17455; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill17456; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill17457; SI-NEXT: s_waitcnt vmcnt(14)17458; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v017459; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v217460; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v417461; SI-NEXT: s_and_b64 s[4:5], vcc, exec17462; SI-NEXT: s_waitcnt vmcnt(13)17463; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v617464; SI-NEXT: s_waitcnt vmcnt(11)17465; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v817466; SI-NEXT: s_waitcnt vmcnt(9)17467; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v1017468; SI-NEXT: s_waitcnt vmcnt(7)17469; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v1217470; SI-NEXT: s_cbranch_scc0 .LBB31_417471; SI-NEXT: ; %bb.1: ; %cmp.false17472; SI-NEXT: v_and_b32_e32 v0, 0xffff, v6117473; SI-NEXT: v_or_b32_e32 v7, v0, v1817474; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3517475; SI-NEXT: v_or_b32_e32 v9, v0, v1617476; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3317477; SI-NEXT: v_or_b32_e32 v10, v0, v1417478; SI-NEXT: v_and_b32_e32 v0, 0xffff, v6017479; SI-NEXT: v_or_b32_e32 v11, v0, v517480; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5817481; SI-NEXT: v_or_b32_e32 v12, v0, v317482; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5717483; SI-NEXT: v_or_b32_e32 v13, v0, v6317484; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4517485; SI-NEXT: s_waitcnt expcnt(3)17486; SI-NEXT: v_or_b32_e32 v14, v0, v6217487; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4417488; SI-NEXT: v_or_b32_e32 v15, v0, v4017489; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4917490; SI-NEXT: s_waitcnt expcnt(2)17491; SI-NEXT: v_or_b32_e32 v16, v0, v4817492; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4317493; SI-NEXT: v_or_b32_e32 v17, v0, v3817494; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4217495; SI-NEXT: s_waitcnt expcnt(1)17496; SI-NEXT: v_or_b32_e32 v18, v0, v3717497; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4117498; SI-NEXT: v_and_b32_e32 v1, 0xffff, v3917499; SI-NEXT: v_or_b32_e32 v19, v0, v3617500; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3117501; SI-NEXT: s_and_b32 s4, s16, 0xffff17502; SI-NEXT: s_lshl_b32 s5, s17, 1617503; SI-NEXT: v_or_b32_e32 v8, v1, v2017504; SI-NEXT: s_waitcnt expcnt(0)17505; SI-NEXT: v_or_b32_e32 v20, v0, v5517506; SI-NEXT: v_and_b32_e32 v0, 0xffff, v2817507; SI-NEXT: s_or_b32 s4, s4, s517508; SI-NEXT: s_and_b32 s5, s18, 0xffff17509; SI-NEXT: s_lshl_b32 s6, s19, 1617510; SI-NEXT: v_or_b32_e32 v21, v0, v3417511; SI-NEXT: v_and_b32_e32 v0, 0xffff, v3017512; SI-NEXT: s_or_b32 s5, s5, s617513; SI-NEXT: s_and_b32 s6, s20, 0xffff17514; SI-NEXT: s_lshl_b32 s7, s21, 1617515; SI-NEXT: v_or_b32_e32 v22, v0, v5417516; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5617517; SI-NEXT: s_or_b32 s6, s6, s717518; SI-NEXT: s_and_b32 s7, s22, 0xffff17519; SI-NEXT: s_lshl_b32 s8, s23, 1617520; SI-NEXT: v_or_b32_e32 v23, v0, v3217521; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5117522; SI-NEXT: s_or_b32 s7, s7, s817523; SI-NEXT: s_and_b32 s8, s24, 0xffff17524; SI-NEXT: s_lshl_b32 s9, s25, 1617525; SI-NEXT: v_or_b32_e32 v24, v0, v5917526; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4717527; SI-NEXT: s_or_b32 s8, s8, s917528; SI-NEXT: s_and_b32 s9, s26, 0xffff17529; SI-NEXT: s_lshl_b32 s10, s27, 1617530; SI-NEXT: v_or_b32_e32 v25, v0, v5317531; SI-NEXT: v_and_b32_e32 v0, 0xffff, v4617532; SI-NEXT: s_or_b32 s9, s9, s1017533; SI-NEXT: s_and_b32 s10, s28, 0xffff17534; SI-NEXT: s_lshl_b32 s11, s29, 1617535; SI-NEXT: v_or_b32_e32 v26, v0, v5217536; SI-NEXT: s_waitcnt vmcnt(6)17537; SI-NEXT: v_and_b32_e32 v0, 0xffff, v5017538; SI-NEXT: s_or_b32 s10, s10, s1117539; SI-NEXT: v_or_b32_e32 v27, v0, v2917540; SI-NEXT: v_mov_b32_e32 v0, s417541; SI-NEXT: v_mov_b32_e32 v1, s517542; SI-NEXT: v_mov_b32_e32 v2, s617543; SI-NEXT: v_mov_b32_e32 v3, s717544; SI-NEXT: v_mov_b32_e32 v4, s817545; SI-NEXT: v_mov_b32_e32 v5, s917546; SI-NEXT: v_mov_b32_e32 v6, s1017547; SI-NEXT: s_cbranch_execnz .LBB31_317548; SI-NEXT: .LBB31_2: ; %cmp.true17549; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload17550; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload17551; SI-NEXT: s_waitcnt vmcnt(5)17552; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v6117553; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017554; SI-NEXT: s_add_i32 s16, s16, 317555; SI-NEXT: s_and_b32 s4, s16, 0xffff17556; SI-NEXT: s_lshl_b32 s5, s17, 1617557; SI-NEXT: s_add_i32 s18, s18, 317558; SI-NEXT: s_or_b32 s4, s5, s417559; SI-NEXT: s_and_b32 s5, s18, 0xffff17560; SI-NEXT: s_lshl_b32 s6, s19, 1617561; SI-NEXT: s_add_i32 s20, s20, 317562; SI-NEXT: s_or_b32 s5, s6, s517563; SI-NEXT: s_and_b32 s6, s20, 0xffff17564; SI-NEXT: s_lshl_b32 s7, s21, 1617565; SI-NEXT: s_add_i32 s22, s22, 317566; SI-NEXT: s_or_b32 s6, s7, s617567; SI-NEXT: s_and_b32 s7, s22, 0xffff17568; SI-NEXT: s_lshl_b32 s8, s23, 1617569; SI-NEXT: s_add_i32 s24, s24, 317570; SI-NEXT: s_or_b32 s7, s8, s717571; SI-NEXT: s_and_b32 s8, s24, 0xffff17572; SI-NEXT: s_lshl_b32 s9, s25, 1617573; SI-NEXT: s_add_i32 s26, s26, 317574; SI-NEXT: s_or_b32 s8, s9, s817575; SI-NEXT: s_and_b32 s9, s26, 0xffff17576; SI-NEXT: s_lshl_b32 s10, s27, 1617577; SI-NEXT: s_add_i32 s28, s28, 317578; SI-NEXT: s_or_b32 s9, s10, s917579; SI-NEXT: s_and_b32 s10, s28, 0xffff17580; SI-NEXT: s_lshl_b32 s11, s29, 1617581; SI-NEXT: s_or_b32 s10, s11, s1017582; SI-NEXT: s_add_i32 s4, s4, 0x3000017583; SI-NEXT: s_add_i32 s5, s5, 0x3000017584; SI-NEXT: s_add_i32 s6, s6, 0x3000017585; SI-NEXT: s_add_i32 s7, s7, 0x3000017586; SI-NEXT: s_add_i32 s8, s8, 0x3000017587; SI-NEXT: s_add_i32 s9, s9, 0x3000017588; SI-NEXT: s_add_i32 s10, s10, 0x3000017589; SI-NEXT: v_mov_b32_e32 v3, s717590; SI-NEXT: v_mov_b32_e32 v4, s817591; SI-NEXT: v_mov_b32_e32 v5, s917592; SI-NEXT: v_mov_b32_e32 v6, s1017593; SI-NEXT: s_waitcnt vmcnt(1)17594; SI-NEXT: v_or_b32_e32 v0, v1, v017595; SI-NEXT: v_add_i32_e32 v1, vcc, 3, v3917596; SI-NEXT: v_and_b32_e32 v1, 0xffff, v117597; SI-NEXT: s_waitcnt vmcnt(0)17598; SI-NEXT: v_or_b32_e32 v1, v2, v117599; SI-NEXT: v_add_i32_e32 v8, vcc, 0x30000, v117600; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload17601; SI-NEXT: v_add_i32_e32 v7, vcc, 0x30000, v017602; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3517603; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017604; SI-NEXT: v_mov_b32_e32 v2, s617605; SI-NEXT: s_waitcnt vmcnt(0)17606; SI-NEXT: v_or_b32_e32 v0, v1, v017607; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload17608; SI-NEXT: v_add_i32_e32 v9, vcc, 0x30000, v017609; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3317610; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017611; SI-NEXT: s_waitcnt vmcnt(0)17612; SI-NEXT: v_or_b32_e32 v0, v1, v017613; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload17614; SI-NEXT: v_add_i32_e32 v10, vcc, 0x30000, v017615; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v6017616; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017617; SI-NEXT: s_waitcnt vmcnt(0)17618; SI-NEXT: v_or_b32_e32 v0, v1, v017619; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload17620; SI-NEXT: v_add_i32_e32 v11, vcc, 0x30000, v017621; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5817622; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017623; SI-NEXT: s_waitcnt vmcnt(0)17624; SI-NEXT: v_or_b32_e32 v0, v1, v017625; SI-NEXT: v_add_i32_e32 v12, vcc, 0x30000, v017626; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5717627; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017628; SI-NEXT: v_or_b32_e32 v0, v63, v017629; SI-NEXT: v_add_i32_e32 v13, vcc, 0x30000, v017630; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4517631; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017632; SI-NEXT: v_or_b32_e32 v0, v62, v017633; SI-NEXT: v_add_i32_e32 v14, vcc, 0x30000, v017634; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4417635; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017636; SI-NEXT: v_or_b32_e32 v0, v40, v017637; SI-NEXT: v_add_i32_e32 v15, vcc, 0x30000, v017638; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4917639; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017640; SI-NEXT: v_or_b32_e32 v0, v48, v017641; SI-NEXT: v_add_i32_e32 v16, vcc, 0x30000, v017642; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4317643; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017644; SI-NEXT: v_or_b32_e32 v0, v38, v017645; SI-NEXT: v_add_i32_e32 v17, vcc, 0x30000, v017646; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4217647; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017648; SI-NEXT: v_or_b32_e32 v0, v37, v017649; SI-NEXT: v_add_i32_e32 v18, vcc, 0x30000, v017650; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4117651; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017652; SI-NEXT: v_or_b32_e32 v0, v36, v017653; SI-NEXT: v_add_i32_e32 v19, vcc, 0x30000, v017654; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3117655; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017656; SI-NEXT: v_or_b32_e32 v0, v55, v017657; SI-NEXT: v_add_i32_e32 v20, vcc, 0x30000, v017658; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v2817659; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017660; SI-NEXT: v_or_b32_e32 v0, v34, v017661; SI-NEXT: v_add_i32_e32 v21, vcc, 0x30000, v017662; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v3017663; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017664; SI-NEXT: v_or_b32_e32 v0, v54, v017665; SI-NEXT: v_add_i32_e32 v22, vcc, 0x30000, v017666; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5617667; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017668; SI-NEXT: v_or_b32_e32 v0, v32, v017669; SI-NEXT: v_add_i32_e32 v23, vcc, 0x30000, v017670; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5117671; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017672; SI-NEXT: v_or_b32_e32 v0, v59, v017673; SI-NEXT: v_add_i32_e32 v24, vcc, 0x30000, v017674; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4717675; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017676; SI-NEXT: v_or_b32_e32 v0, v53, v017677; SI-NEXT: v_add_i32_e32 v25, vcc, 0x30000, v017678; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v4617679; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017680; SI-NEXT: v_or_b32_e32 v0, v52, v017681; SI-NEXT: v_add_i32_e32 v26, vcc, 0x30000, v017682; SI-NEXT: v_add_i32_e32 v0, vcc, 3, v5017683; SI-NEXT: v_and_b32_e32 v0, 0xffff, v017684; SI-NEXT: v_or_b32_e32 v0, v29, v017685; SI-NEXT: v_add_i32_e32 v27, vcc, 0x30000, v017686; SI-NEXT: v_mov_b32_e32 v0, s417687; SI-NEXT: v_mov_b32_e32 v1, s517688; SI-NEXT: .LBB31_3: ; %end17689; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload17690; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload17691; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload17692; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload17693; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload17694; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload17695; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload17696; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload17697; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload17698; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload17699; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload17700; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload17701; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload17702; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload17703; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload17704; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload17705; SI-NEXT: s_waitcnt vmcnt(0)17706; SI-NEXT: s_setpc_b64 s[30:31]17707; SI-NEXT: .LBB31_4:17708; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill17709; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill17710; SI-NEXT: s_waitcnt expcnt(0)17711; SI-NEXT: v_mov_b32_e32 v62, v5817712; SI-NEXT: v_mov_b32_e32 v58, v5117713; SI-NEXT: v_mov_b32_e32 v51, v4717714; SI-NEXT: v_mov_b32_e32 v47, v4417715; SI-NEXT: v_mov_b32_e32 v44, v4117716; SI-NEXT: v_mov_b32_e32 v41, v3017717; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill17718; SI-NEXT: s_waitcnt expcnt(0)17719; SI-NEXT: v_mov_b32_e32 v63, v5917720; SI-NEXT: v_mov_b32_e32 v59, v5617721; SI-NEXT: s_waitcnt vmcnt(9)17722; SI-NEXT: v_mov_b32_e32 v56, v5017723; SI-NEXT: v_mov_b32_e32 v50, v4517724; SI-NEXT: v_mov_b32_e32 v45, v4217725; SI-NEXT: v_mov_b32_e32 v42, v2817726; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill17727; SI-NEXT: s_waitcnt expcnt(0)17728; SI-NEXT: v_mov_b32_e32 v61, v5217729; SI-NEXT: v_mov_b32_e32 v52, v5717730; SI-NEXT: v_mov_b32_e32 v57, v4617731; SI-NEXT: v_mov_b32_e32 v46, v4917732; SI-NEXT: v_mov_b32_e32 v49, v4317733; SI-NEXT: v_mov_b32_e32 v43, v3117734; SI-NEXT: v_mov_b32_e32 v53, v4017735; SI-NEXT: v_mov_b32_e32 v40, v4817736; SI-NEXT: v_mov_b32_e32 v48, v3917737; SI-NEXT: v_mov_b32_e32 v39, v3817738; SI-NEXT: v_mov_b32_e32 v38, v3717739; SI-NEXT: v_mov_b32_e32 v37, v3617740; SI-NEXT: v_mov_b32_e32 v36, v3517741; SI-NEXT: v_mov_b32_e32 v35, v5517742; SI-NEXT: v_mov_b32_e32 v55, v3417743; SI-NEXT: v_mov_b32_e32 v34, v3317744; SI-NEXT: v_mov_b32_e32 v33, v5417745; SI-NEXT: v_mov_b32_e32 v54, v3217746; SI-NEXT: v_mov_b32_e32 v32, v6017747; SI-NEXT: v_mov_b32_e32 v60, v2917748; 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_vgpr3117749; SI-NEXT: v_mov_b32_e32 v29, v6017750; SI-NEXT: v_mov_b32_e32 v60, v3217751; SI-NEXT: v_mov_b32_e32 v32, v5417752; SI-NEXT: v_mov_b32_e32 v54, v3317753; SI-NEXT: v_mov_b32_e32 v33, v3417754; SI-NEXT: v_mov_b32_e32 v34, v5517755; SI-NEXT: v_mov_b32_e32 v55, v3517756; SI-NEXT: v_mov_b32_e32 v35, v3617757; SI-NEXT: v_mov_b32_e32 v36, v3717758; SI-NEXT: v_mov_b32_e32 v37, v3817759; SI-NEXT: v_mov_b32_e32 v38, v3917760; SI-NEXT: v_mov_b32_e32 v39, v4817761; SI-NEXT: v_mov_b32_e32 v48, v4017762; SI-NEXT: v_mov_b32_e32 v40, v5317763; SI-NEXT: v_mov_b32_e32 v31, v4317764; SI-NEXT: v_mov_b32_e32 v43, v4917765; SI-NEXT: v_mov_b32_e32 v49, v4617766; SI-NEXT: v_mov_b32_e32 v46, v5717767; SI-NEXT: v_mov_b32_e32 v57, v5217768; SI-NEXT: v_mov_b32_e32 v52, v6117769; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload17770; SI-NEXT: v_mov_b32_e32 v28, v4217771; SI-NEXT: v_mov_b32_e32 v42, v4517772; SI-NEXT: v_mov_b32_e32 v45, v5017773; SI-NEXT: v_mov_b32_e32 v50, v5617774; SI-NEXT: v_mov_b32_e32 v56, v5917775; SI-NEXT: v_mov_b32_e32 v59, v6317776; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload17777; SI-NEXT: v_mov_b32_e32 v30, v4117778; SI-NEXT: v_mov_b32_e32 v41, v4417779; SI-NEXT: v_mov_b32_e32 v44, v4717780; SI-NEXT: v_mov_b32_e32 v47, v5117781; SI-NEXT: v_mov_b32_e32 v51, v5817782; SI-NEXT: v_mov_b32_e32 v58, v6217783; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload17784; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload17785; SI-NEXT: s_branch .LBB31_217786;17787; VI-LABEL: bitcast_v56i16_to_v28f32_scalar:17788; VI: ; %bb.0:17789; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)17790; VI-NEXT: s_lshr_b32 s6, s29, 1617791; VI-NEXT: s_lshr_b32 s7, s28, 1617792; VI-NEXT: s_lshr_b32 s8, s27, 1617793; VI-NEXT: s_lshr_b32 s9, s26, 1617794; VI-NEXT: s_lshr_b32 s10, s25, 1617795; VI-NEXT: s_lshr_b32 s11, s24, 1617796; VI-NEXT: s_lshr_b32 s12, s23, 1617797; VI-NEXT: s_lshr_b32 s13, s22, 1617798; VI-NEXT: s_lshr_b32 s14, s21, 1617799; VI-NEXT: s_lshr_b32 s15, s20, 1617800; VI-NEXT: s_lshr_b32 s40, s19, 1617801; VI-NEXT: s_lshr_b32 s41, s18, 1617802; VI-NEXT: s_lshr_b32 s42, s17, 1617803; VI-NEXT: s_lshr_b32 s43, s16, 1617804; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1417805; VI-NEXT: v_mov_b32_e32 v32, v1317806; VI-NEXT: v_mov_b32_e32 v33, v1217807; VI-NEXT: v_mov_b32_e32 v34, v1117808; VI-NEXT: v_mov_b32_e32 v35, v1017809; VI-NEXT: v_mov_b32_e32 v36, v917810; VI-NEXT: v_mov_b32_e32 v37, v817811; VI-NEXT: v_mov_b32_e32 v38, v717812; VI-NEXT: v_mov_b32_e32 v39, v617813; VI-NEXT: v_mov_b32_e32 v48, v517814; VI-NEXT: v_mov_b32_e32 v49, v417815; VI-NEXT: v_mov_b32_e32 v50, v317816; VI-NEXT: v_mov_b32_e32 v51, v217817; VI-NEXT: v_mov_b32_e32 v52, v117818; VI-NEXT: v_mov_b32_e32 v53, v017819; VI-NEXT: s_and_b64 s[4:5], vcc, exec17820; VI-NEXT: s_cbranch_scc0 .LBB31_417821; VI-NEXT: ; %bb.1: ; %cmp.false17822; VI-NEXT: s_and_b32 s4, 0xffff, s1617823; VI-NEXT: s_lshl_b32 s5, s43, 1617824; VI-NEXT: s_or_b32 s4, s4, s517825; VI-NEXT: s_and_b32 s5, 0xffff, s1717826; VI-NEXT: s_lshl_b32 s44, s42, 1617827; VI-NEXT: v_mov_b32_e32 v0, 1617828; VI-NEXT: s_or_b32 s5, s5, s4417829; VI-NEXT: s_and_b32 s44, 0xffff, s1817830; VI-NEXT: s_lshl_b32 s45, s41, 1617831; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117832; VI-NEXT: s_or_b32 s44, s44, s4517833; VI-NEXT: s_and_b32 s45, 0xffff, s1917834; VI-NEXT: s_lshl_b32 s46, s40, 1617835; VI-NEXT: v_or_b32_sdwa v14, v53, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17836; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117837; VI-NEXT: s_or_b32 s45, s45, s4617838; VI-NEXT: s_and_b32 s46, 0xffff, s2017839; VI-NEXT: s_lshl_b32 s47, s15, 1617840; VI-NEXT: v_or_b32_sdwa v16, v51, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17841; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117842; VI-NEXT: s_or_b32 s46, s46, s4717843; VI-NEXT: s_and_b32 s47, 0xffff, s2117844; VI-NEXT: s_lshl_b32 s56, s14, 1617845; VI-NEXT: v_or_b32_sdwa v17, v50, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17846; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117847; VI-NEXT: s_or_b32 s47, s47, s5617848; VI-NEXT: s_and_b32 s56, 0xffff, s2217849; VI-NEXT: s_lshl_b32 s57, s13, 1617850; VI-NEXT: v_or_b32_sdwa v18, v49, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17851; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117852; VI-NEXT: s_or_b32 s56, s56, s5717853; VI-NEXT: s_and_b32 s57, 0xffff, s2317854; VI-NEXT: s_lshl_b32 s58, s12, 1617855; VI-NEXT: v_or_b32_sdwa v19, v48, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17856; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117857; VI-NEXT: s_or_b32 s57, s57, s5817858; VI-NEXT: s_and_b32 s58, 0xffff, s2417859; VI-NEXT: s_lshl_b32 s59, s11, 1617860; VI-NEXT: v_or_b32_sdwa v20, v39, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17861; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117862; VI-NEXT: s_or_b32 s58, s58, s5917863; VI-NEXT: s_and_b32 s59, 0xffff, s2517864; VI-NEXT: s_lshl_b32 s60, s10, 1617865; VI-NEXT: v_or_b32_sdwa v21, v38, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17866; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117867; VI-NEXT: s_or_b32 s59, s59, s6017868; VI-NEXT: s_and_b32 s60, 0xffff, s2617869; VI-NEXT: s_lshl_b32 s61, s9, 1617870; VI-NEXT: v_or_b32_sdwa v22, v37, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17871; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117872; VI-NEXT: s_or_b32 s60, s60, s6117873; VI-NEXT: s_and_b32 s61, 0xffff, s2717874; VI-NEXT: s_lshl_b32 s62, s8, 1617875; VI-NEXT: v_or_b32_sdwa v23, v36, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17876; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117877; VI-NEXT: s_or_b32 s61, s61, s6217878; VI-NEXT: s_and_b32 s62, 0xffff, s2817879; VI-NEXT: s_lshl_b32 s63, s7, 1617880; VI-NEXT: v_or_b32_sdwa v24, v35, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17881; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117882; VI-NEXT: s_or_b32 s62, s62, s6317883; VI-NEXT: s_and_b32 s63, 0xffff, s2917884; VI-NEXT: s_lshl_b32 s72, s6, 1617885; VI-NEXT: v_lshlrev_b32_sdwa v2, v0, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117886; VI-NEXT: v_or_b32_sdwa v25, v34, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17887; VI-NEXT: v_lshlrev_b32_sdwa v1, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117888; VI-NEXT: v_lshlrev_b32_sdwa v0, v0, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117889; VI-NEXT: s_or_b32 s63, s63, s7217890; VI-NEXT: v_or_b32_sdwa v15, v52, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17891; VI-NEXT: v_or_b32_sdwa v26, v33, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17892; VI-NEXT: v_or_b32_sdwa v27, v32, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD17893; VI-NEXT: v_mov_b32_e32 v0, s417894; VI-NEXT: v_mov_b32_e32 v1, s517895; VI-NEXT: v_mov_b32_e32 v2, s4417896; VI-NEXT: v_mov_b32_e32 v3, s4517897; VI-NEXT: v_mov_b32_e32 v4, s4617898; VI-NEXT: v_mov_b32_e32 v5, s4717899; VI-NEXT: v_mov_b32_e32 v6, s5617900; VI-NEXT: v_mov_b32_e32 v7, s5717901; VI-NEXT: v_mov_b32_e32 v8, s5817902; VI-NEXT: v_mov_b32_e32 v9, s5917903; VI-NEXT: v_mov_b32_e32 v10, s6017904; VI-NEXT: v_mov_b32_e32 v11, s6117905; VI-NEXT: v_mov_b32_e32 v12, s6217906; VI-NEXT: v_mov_b32_e32 v13, s6317907; VI-NEXT: s_cbranch_execnz .LBB31_317908; VI-NEXT: .LBB31_2: ; %cmp.true17909; VI-NEXT: v_mov_b32_e32 v1, 1617910; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v5317911; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117912; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017913; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v5217914; VI-NEXT: v_lshlrev_b32_sdwa v3, v1, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117915; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017916; VI-NEXT: v_add_u32_e32 v14, vcc, 0x30000, v017917; VI-NEXT: v_add_u32_e32 v15, vcc, 0x30000, v217918; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v5117919; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117920; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017921; VI-NEXT: v_add_u32_e32 v16, vcc, 0x30000, v017922; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v5017923; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117924; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017925; VI-NEXT: v_add_u32_e32 v17, vcc, 0x30000, v017926; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v4917927; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117928; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017929; VI-NEXT: v_add_u32_e32 v18, vcc, 0x30000, v017930; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v4817931; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117932; VI-NEXT: s_add_i32 s16, s16, 317933; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017934; VI-NEXT: s_and_b32 s4, s16, 0xffff17935; VI-NEXT: s_lshl_b32 s5, s43, 1617936; VI-NEXT: s_add_i32 s17, s17, 317937; VI-NEXT: v_add_u32_e32 v19, vcc, 0x30000, v017938; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3917939; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117940; VI-NEXT: s_or_b32 s4, s5, s417941; VI-NEXT: s_and_b32 s5, s17, 0xffff17942; VI-NEXT: s_lshl_b32 s16, s42, 1617943; VI-NEXT: s_add_i32 s18, s18, 317944; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017945; VI-NEXT: s_or_b32 s5, s16, s517946; VI-NEXT: s_and_b32 s16, s18, 0xffff17947; VI-NEXT: s_lshl_b32 s17, s41, 1617948; VI-NEXT: s_add_i32 s19, s19, 317949; VI-NEXT: v_add_u32_e32 v20, vcc, 0x30000, v017950; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3817951; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117952; VI-NEXT: s_or_b32 s16, s17, s1617953; VI-NEXT: s_and_b32 s17, s19, 0xffff17954; VI-NEXT: s_lshl_b32 s18, s40, 1617955; VI-NEXT: s_add_i32 s20, s20, 317956; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017957; VI-NEXT: s_or_b32 s17, s18, s1717958; VI-NEXT: s_and_b32 s18, s20, 0xffff17959; VI-NEXT: s_lshl_b32 s15, s15, 1617960; VI-NEXT: s_add_i32 s21, s21, 317961; VI-NEXT: v_add_u32_e32 v21, vcc, 0x30000, v017962; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3717963; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117964; VI-NEXT: s_or_b32 s15, s15, s1817965; VI-NEXT: s_and_b32 s18, s21, 0xffff17966; VI-NEXT: s_lshl_b32 s14, s14, 1617967; VI-NEXT: s_add_i32 s22, s22, 317968; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017969; VI-NEXT: s_or_b32 s14, s14, s1817970; VI-NEXT: s_and_b32 s18, s22, 0xffff17971; VI-NEXT: s_lshl_b32 s13, s13, 1617972; VI-NEXT: s_add_i32 s23, s23, 317973; VI-NEXT: v_add_u32_e32 v22, vcc, 0x30000, v017974; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3617975; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117976; VI-NEXT: s_or_b32 s13, s13, s1817977; VI-NEXT: s_and_b32 s18, s23, 0xffff17978; VI-NEXT: s_lshl_b32 s12, s12, 1617979; VI-NEXT: s_add_i32 s24, s24, 317980; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017981; VI-NEXT: s_or_b32 s12, s12, s1817982; VI-NEXT: s_and_b32 s18, s24, 0xffff17983; VI-NEXT: s_lshl_b32 s11, s11, 1617984; VI-NEXT: s_add_i32 s25, s25, 317985; VI-NEXT: v_add_u32_e32 v23, vcc, 0x30000, v017986; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3517987; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_117988; VI-NEXT: s_or_b32 s11, s11, s1817989; VI-NEXT: s_and_b32 s18, s25, 0xffff17990; VI-NEXT: s_lshl_b32 s10, s10, 1617991; VI-NEXT: s_add_i32 s26, s26, 317992; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_017993; VI-NEXT: s_or_b32 s10, s10, s1817994; VI-NEXT: s_and_b32 s18, s26, 0xffff17995; VI-NEXT: s_lshl_b32 s9, s9, 1617996; VI-NEXT: s_add_i32 s27, s27, 317997; VI-NEXT: v_add_u32_e32 v24, vcc, 0x30000, v017998; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3417999; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_118000; VI-NEXT: s_or_b32 s9, s9, s1818001; VI-NEXT: s_and_b32 s18, s27, 0xffff18002; VI-NEXT: s_lshl_b32 s8, s8, 1618003; VI-NEXT: s_add_i32 s28, s28, 318004; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_018005; VI-NEXT: s_or_b32 s8, s8, s1818006; VI-NEXT: s_and_b32 s18, s28, 0xffff18007; VI-NEXT: s_lshl_b32 s7, s7, 1618008; VI-NEXT: s_add_i32 s29, s29, 318009; VI-NEXT: v_add_u32_e32 v25, vcc, 0x30000, v018010; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3318011; VI-NEXT: v_lshlrev_b32_sdwa v2, v1, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_118012; VI-NEXT: s_or_b32 s7, s7, s1818013; VI-NEXT: s_and_b32 s18, s29, 0xffff18014; VI-NEXT: s_lshl_b32 s6, s6, 1618015; VI-NEXT: v_or_b32_sdwa v0, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_018016; VI-NEXT: s_or_b32 s6, s6, s1818017; VI-NEXT: v_add_u32_e32 v26, vcc, 0x30000, v018018; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v3218019; VI-NEXT: v_lshlrev_b32_sdwa v1, v1, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_118020; VI-NEXT: s_add_i32 s4, s4, 0x3000018021; VI-NEXT: s_add_i32 s5, s5, 0x3000018022; VI-NEXT: s_add_i32 s16, s16, 0x3000018023; VI-NEXT: s_add_i32 s17, s17, 0x3000018024; VI-NEXT: s_add_i32 s15, s15, 0x3000018025; VI-NEXT: s_add_i32 s14, s14, 0x3000018026; VI-NEXT: s_add_i32 s13, s13, 0x3000018027; VI-NEXT: s_add_i32 s12, s12, 0x3000018028; VI-NEXT: s_add_i32 s11, s11, 0x3000018029; VI-NEXT: s_add_i32 s10, s10, 0x3000018030; VI-NEXT: s_add_i32 s9, s9, 0x3000018031; VI-NEXT: s_add_i32 s8, s8, 0x3000018032; VI-NEXT: s_add_i32 s7, s7, 0x3000018033; VI-NEXT: s_add_i32 s6, s6, 0x3000018034; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_018035; VI-NEXT: v_add_u32_e32 v27, vcc, 0x30000, v018036; VI-NEXT: v_mov_b32_e32 v0, s418037; VI-NEXT: v_mov_b32_e32 v1, s518038; VI-NEXT: v_mov_b32_e32 v2, s1618039; VI-NEXT: v_mov_b32_e32 v3, s1718040; VI-NEXT: v_mov_b32_e32 v4, s1518041; VI-NEXT: v_mov_b32_e32 v5, s1418042; VI-NEXT: v_mov_b32_e32 v6, s1318043; VI-NEXT: v_mov_b32_e32 v7, s1218044; VI-NEXT: v_mov_b32_e32 v8, s1118045; VI-NEXT: v_mov_b32_e32 v9, s1018046; VI-NEXT: v_mov_b32_e32 v10, s918047; VI-NEXT: v_mov_b32_e32 v11, s818048; VI-NEXT: v_mov_b32_e32 v12, s718049; VI-NEXT: v_mov_b32_e32 v13, s618050; VI-NEXT: .LBB31_3: ; %end18051; VI-NEXT: s_setpc_b64 s[30:31]18052; VI-NEXT: .LBB31_4:18053; 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_vgpr3118054; VI-NEXT: s_branch .LBB31_218055;18056; GFX9-LABEL: bitcast_v56i16_to_v28f32_scalar:18057; GFX9: ; %bb.0:18058; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18059; GFX9-NEXT: v_mov_b32_e32 v32, v1318060; GFX9-NEXT: v_mov_b32_e32 v33, v1218061; GFX9-NEXT: v_mov_b32_e32 v34, v1118062; GFX9-NEXT: v_mov_b32_e32 v35, v1018063; GFX9-NEXT: v_mov_b32_e32 v36, v918064; GFX9-NEXT: v_mov_b32_e32 v37, v818065; GFX9-NEXT: v_mov_b32_e32 v38, v718066; GFX9-NEXT: v_mov_b32_e32 v39, v618067; GFX9-NEXT: v_mov_b32_e32 v48, v518068; GFX9-NEXT: v_mov_b32_e32 v49, v418069; GFX9-NEXT: v_mov_b32_e32 v50, v318070; GFX9-NEXT: v_mov_b32_e32 v51, v218071; GFX9-NEXT: v_mov_b32_e32 v52, v118072; GFX9-NEXT: v_mov_b32_e32 v53, v018073; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1418074; GFX9-NEXT: s_lshr_b32 s40, s29, 1618075; GFX9-NEXT: s_lshr_b32 s41, s28, 1618076; GFX9-NEXT: s_lshr_b32 s42, s27, 1618077; GFX9-NEXT: s_lshr_b32 s43, s26, 1618078; GFX9-NEXT: s_lshr_b32 s15, s25, 1618079; GFX9-NEXT: s_lshr_b32 s14, s24, 1618080; GFX9-NEXT: s_lshr_b32 s13, s23, 1618081; GFX9-NEXT: s_lshr_b32 s12, s22, 1618082; GFX9-NEXT: s_lshr_b32 s11, s21, 1618083; GFX9-NEXT: s_lshr_b32 s10, s20, 1618084; GFX9-NEXT: s_lshr_b32 s9, s19, 1618085; GFX9-NEXT: s_lshr_b32 s8, s18, 1618086; GFX9-NEXT: s_lshr_b32 s7, s17, 1618087; GFX9-NEXT: s_lshr_b32 s6, s16, 1618088; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill18089; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill18090; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill18091; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill18092; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill18093; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill18094; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill18095; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill18096; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill18097; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill18098; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill18099; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 ; 4-byte Folded Spill18100; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v3218101; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v3318102; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v3418103; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v3518104; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v3618105; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v3718106; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec18107; GFX9-NEXT: s_pack_ll_b32_b16 s6, s16, s618108; GFX9-NEXT: s_pack_ll_b32_b16 s7, s17, s718109; GFX9-NEXT: s_pack_ll_b32_b16 s8, s18, s818110; GFX9-NEXT: s_pack_ll_b32_b16 s9, s19, s918111; GFX9-NEXT: s_pack_ll_b32_b16 s10, s20, s1018112; GFX9-NEXT: s_pack_ll_b32_b16 s11, s21, s1118113; GFX9-NEXT: s_pack_ll_b32_b16 s12, s22, s1218114; GFX9-NEXT: s_pack_ll_b32_b16 s13, s23, s1318115; GFX9-NEXT: s_pack_ll_b32_b16 s14, s24, s1418116; GFX9-NEXT: s_pack_ll_b32_b16 s15, s25, s1518117; GFX9-NEXT: s_pack_ll_b32_b16 s16, s26, s4318118; GFX9-NEXT: s_pack_ll_b32_b16 s17, s27, s4218119; GFX9-NEXT: s_pack_ll_b32_b16 s18, s28, s4118120; GFX9-NEXT: s_pack_ll_b32_b16 s19, s29, s4018121; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v3818122; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v3918123; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v4818124; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v4918125; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v5018126; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v5118127; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5218128; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v5318129; GFX9-NEXT: s_cbranch_scc0 .LBB31_418130; GFX9-NEXT: ; %bb.1: ; %cmp.false18131; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5318132; GFX9-NEXT: v_lshl_or_b32 v14, v59, 16, v018133; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5218134; GFX9-NEXT: v_lshl_or_b32 v15, v58, 16, v018135; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5118136; GFX9-NEXT: v_lshl_or_b32 v16, v57, 16, v018137; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v5018138; GFX9-NEXT: v_lshl_or_b32 v17, v56, 16, v018139; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4918140; GFX9-NEXT: v_lshl_or_b32 v18, v47, 16, v018141; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v4818142; GFX9-NEXT: v_lshl_or_b32 v19, v46, 16, v018143; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3918144; GFX9-NEXT: v_lshl_or_b32 v20, v45, 16, v018145; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3818146; GFX9-NEXT: v_lshl_or_b32 v21, v44, 16, v018147; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3718148; GFX9-NEXT: v_lshl_or_b32 v22, v43, 16, v018149; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3618150; GFX9-NEXT: v_lshl_or_b32 v23, v42, 16, v018151; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3518152; GFX9-NEXT: v_lshl_or_b32 v24, v41, 16, v018153; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3418154; GFX9-NEXT: v_lshl_or_b32 v25, v40, 16, v018155; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3318156; GFX9-NEXT: v_lshl_or_b32 v26, v55, 16, v018157; GFX9-NEXT: v_and_b32_e32 v0, 0xffff, v3218158; GFX9-NEXT: v_lshl_or_b32 v27, v54, 16, v018159; GFX9-NEXT: v_mov_b32_e32 v0, s618160; GFX9-NEXT: v_mov_b32_e32 v1, s718161; GFX9-NEXT: v_mov_b32_e32 v2, s818162; GFX9-NEXT: v_mov_b32_e32 v3, s918163; GFX9-NEXT: v_mov_b32_e32 v4, s1018164; GFX9-NEXT: v_mov_b32_e32 v5, s1118165; GFX9-NEXT: v_mov_b32_e32 v6, s1218166; GFX9-NEXT: v_mov_b32_e32 v7, s1318167; GFX9-NEXT: v_mov_b32_e32 v8, s1418168; GFX9-NEXT: v_mov_b32_e32 v9, s1518169; GFX9-NEXT: v_mov_b32_e32 v10, s1618170; GFX9-NEXT: v_mov_b32_e32 v11, s1718171; GFX9-NEXT: v_mov_b32_e32 v12, s1818172; GFX9-NEXT: v_mov_b32_e32 v13, s1918173; GFX9-NEXT: s_cbranch_execnz .LBB31_318174; GFX9-NEXT: .LBB31_2: ; %cmp.true18175; GFX9-NEXT: v_and_b32_e32 v14, 0xffff, v5318176; GFX9-NEXT: v_and_b32_e32 v15, 0xffff, v5218177; GFX9-NEXT: v_and_b32_e32 v16, 0xffff, v5118178; GFX9-NEXT: v_and_b32_e32 v17, 0xffff, v5018179; GFX9-NEXT: v_and_b32_e32 v18, 0xffff, v4918180; GFX9-NEXT: v_and_b32_e32 v19, 0xffff, v4818181; GFX9-NEXT: v_and_b32_e32 v20, 0xffff, v3918182; GFX9-NEXT: v_and_b32_e32 v21, 0xffff, v3818183; GFX9-NEXT: v_and_b32_e32 v22, 0xffff, v3718184; GFX9-NEXT: v_and_b32_e32 v23, 0xffff, v3618185; GFX9-NEXT: v_and_b32_e32 v24, 0xffff, v3518186; GFX9-NEXT: v_and_b32_e32 v25, 0xffff, v3418187; GFX9-NEXT: v_and_b32_e32 v26, 0xffff, v3318188; GFX9-NEXT: v_and_b32_e32 v27, 0xffff, v3218189; GFX9-NEXT: v_lshl_or_b32 v14, v59, 16, v1418190; GFX9-NEXT: v_lshl_or_b32 v15, v58, 16, v1518191; GFX9-NEXT: v_lshl_or_b32 v16, v57, 16, v1618192; GFX9-NEXT: v_lshl_or_b32 v17, v56, 16, v1718193; GFX9-NEXT: v_lshl_or_b32 v18, v47, 16, v1818194; GFX9-NEXT: v_lshl_or_b32 v19, v46, 16, v1918195; GFX9-NEXT: v_lshl_or_b32 v20, v45, 16, v2018196; GFX9-NEXT: v_lshl_or_b32 v21, v44, 16, v2118197; GFX9-NEXT: v_lshl_or_b32 v22, v43, 16, v2218198; GFX9-NEXT: v_lshl_or_b32 v23, v42, 16, v2318199; GFX9-NEXT: v_lshl_or_b32 v24, v41, 16, v2418200; GFX9-NEXT: v_lshl_or_b32 v25, v40, 16, v2518201; GFX9-NEXT: v_lshl_or_b32 v26, v55, 16, v2618202; GFX9-NEXT: v_lshl_or_b32 v27, v54, 16, v2718203; GFX9-NEXT: v_pk_add_u16 v0, s6, 3 op_sel_hi:[1,0]18204; GFX9-NEXT: v_pk_add_u16 v1, s7, 3 op_sel_hi:[1,0]18205; GFX9-NEXT: v_pk_add_u16 v2, s8, 3 op_sel_hi:[1,0]18206; GFX9-NEXT: v_pk_add_u16 v3, s9, 3 op_sel_hi:[1,0]18207; GFX9-NEXT: v_pk_add_u16 v4, s10, 3 op_sel_hi:[1,0]18208; GFX9-NEXT: v_pk_add_u16 v5, s11, 3 op_sel_hi:[1,0]18209; GFX9-NEXT: v_pk_add_u16 v6, s12, 3 op_sel_hi:[1,0]18210; GFX9-NEXT: v_pk_add_u16 v7, s13, 3 op_sel_hi:[1,0]18211; GFX9-NEXT: v_pk_add_u16 v8, s14, 3 op_sel_hi:[1,0]18212; GFX9-NEXT: v_pk_add_u16 v9, s15, 3 op_sel_hi:[1,0]18213; GFX9-NEXT: v_pk_add_u16 v10, s16, 3 op_sel_hi:[1,0]18214; GFX9-NEXT: v_pk_add_u16 v11, s17, 3 op_sel_hi:[1,0]18215; GFX9-NEXT: v_pk_add_u16 v12, s18, 3 op_sel_hi:[1,0]18216; GFX9-NEXT: v_pk_add_u16 v13, s19, 3 op_sel_hi:[1,0]18217; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]18218; GFX9-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]18219; GFX9-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]18220; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]18221; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]18222; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]18223; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]18224; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]18225; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]18226; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]18227; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]18228; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]18229; GFX9-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]18230; GFX9-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]18231; GFX9-NEXT: .LBB31_3: ; %end18232; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 ; 4-byte Folded Reload18233; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload18234; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload18235; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload18236; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload18237; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload18238; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload18239; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload18240; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload18241; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload18242; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload18243; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload18244; GFX9-NEXT: s_waitcnt vmcnt(0)18245; GFX9-NEXT: s_setpc_b64 s[30:31]18246; GFX9-NEXT: .LBB31_4:18247; 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_vgpr3118248; GFX9-NEXT: s_branch .LBB31_218249;18250; GFX11-TRUE16-LABEL: bitcast_v56i16_to_v28f32_scalar:18251; GFX11-TRUE16: ; %bb.0:18252; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18253; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1018254; GFX11-TRUE16-NEXT: v_dual_mov_b32 v27, v9 :: v_dual_mov_b32 v26, v818255; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, v7 :: v_dual_mov_b32 v24, v618256; GFX11-TRUE16-NEXT: v_dual_mov_b32 v23, v5 :: v_dual_mov_b32 v22, v418257; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, v3 :: v_dual_mov_b32 v20, v218258; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, v1 :: v_dual_mov_b32 v18, v018259; GFX11-TRUE16-NEXT: s_lshr_b32 s41, s29, 1618260; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 1618261; GFX11-TRUE16-NEXT: s_lshr_b32 s15, s27, 1618262; GFX11-TRUE16-NEXT: s_lshr_b32 s14, s26, 1618263; GFX11-TRUE16-NEXT: s_lshr_b32 s13, s25, 1618264; GFX11-TRUE16-NEXT: s_lshr_b32 s12, s24, 1618265; GFX11-TRUE16-NEXT: s_lshr_b32 s11, s23, 1618266; GFX11-TRUE16-NEXT: s_lshr_b32 s10, s22, 1618267; GFX11-TRUE16-NEXT: s_lshr_b32 s9, s21, 1618268; GFX11-TRUE16-NEXT: s_lshr_b32 s8, s20, 1618269; GFX11-TRUE16-NEXT: s_lshr_b32 s7, s19, 1618270; GFX11-TRUE16-NEXT: s_lshr_b32 s6, s18, 1618271; GFX11-TRUE16-NEXT: s_lshr_b32 s5, s17, 1618272; GFX11-TRUE16-NEXT: s_lshr_b32 s4, s16, 1618273; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s3, 1618274; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s2, 1618275; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s1, 1618276; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s0, 1618277; GFX11-TRUE16-NEXT: s_mov_b32 s40, 018278; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4618279; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4518280; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4418281; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4318282; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s4, s16, s418283; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s5, s17, s518284; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s6, s18, s618285; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s7, s19, s718286; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s8, s20, s818287; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s9, s21, s918288; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1018289; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1118290; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1218291; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1318292; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1418293; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s15, s27, s1518294; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s16, s28, s4218295; GFX11-TRUE16-NEXT: s_pack_ll_b32_b16 s17, s29, s4118296; GFX11-TRUE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo18297; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB31_418298; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false18299; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s118300; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s318301; GFX11-TRUE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s518302; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s718303; GFX11-TRUE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s918304; GFX11-TRUE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1118305; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1318306; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1518307; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s16 :: v_dual_mov_b32 v17, s1718308; GFX11-TRUE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4018309; GFX11-TRUE16-NEXT: s_cbranch_vccnz .LBB31_318310; GFX11-TRUE16-NEXT: .LBB31_2: ; %cmp.true18311; GFX11-TRUE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]18312; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]18313; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]18314; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]18315; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]18316; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]18317; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]18318; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]18319; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]18320; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]18321; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]18322; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]18323; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]18324; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]18325; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]18326; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, s15, 3 op_sel_hi:[1,0]18327; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, s16, 3 op_sel_hi:[1,0]18328; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, s17, 3 op_sel_hi:[1,0]18329; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]18330; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]18331; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]18332; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]18333; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]18334; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]18335; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]18336; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]18337; GFX11-TRUE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]18338; GFX11-TRUE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]18339; GFX11-TRUE16-NEXT: .LBB31_3: ; %end18340; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]18341; GFX11-TRUE16-NEXT: .LBB31_4:18342; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr018343; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118344; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr218345; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr318346; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr418347; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr518348; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr618349; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr718350; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr818351; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr918352; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1018353; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1118354; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1218355; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1318356; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1418357; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1518358; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1618359; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1718360; GFX11-TRUE16-NEXT: s_branch .LBB31_218361;18362; GFX11-FAKE16-LABEL: bitcast_v56i16_to_v28f32_scalar:18363; GFX11-FAKE16: ; %bb.0:18364; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18365; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v1018366; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v918367; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v818368; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v718369; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v618370; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v518371; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v418372; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v318373; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v218374; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v118375; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v018376; GFX11-FAKE16-NEXT: v_and_b32_e32 v67, 0xffff, v018377; GFX11-FAKE16-NEXT: v_and_b32_e32 v66, 0xffff, v118378; GFX11-FAKE16-NEXT: v_and_b32_e32 v65, 0xffff, v218379; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v318380; GFX11-FAKE16-NEXT: v_and_b32_e32 v55, 0xffff, v418381; GFX11-FAKE16-NEXT: v_and_b32_e32 v54, 0xffff, v518382; GFX11-FAKE16-NEXT: v_and_b32_e32 v53, 0xffff, v618383; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v718384; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v818385; GFX11-FAKE16-NEXT: v_and_b32_e32 v50, 0xffff, v918386; GFX11-FAKE16-NEXT: s_lshr_b32 s40, s29, 1618387; GFX11-FAKE16-NEXT: s_lshr_b32 s41, s28, 1618388; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s27, 1618389; GFX11-FAKE16-NEXT: s_lshr_b32 s14, s26, 1618390; GFX11-FAKE16-NEXT: s_lshr_b32 s13, s25, 1618391; GFX11-FAKE16-NEXT: s_lshr_b32 s12, s24, 1618392; GFX11-FAKE16-NEXT: s_lshr_b32 s11, s23, 1618393; GFX11-FAKE16-NEXT: s_lshr_b32 s10, s22, 1618394; GFX11-FAKE16-NEXT: s_lshr_b32 s9, s21, 1618395; GFX11-FAKE16-NEXT: s_lshr_b32 s8, s20, 1618396; GFX11-FAKE16-NEXT: s_lshr_b32 s7, s19, 1618397; GFX11-FAKE16-NEXT: s_lshr_b32 s6, s18, 1618398; GFX11-FAKE16-NEXT: s_lshr_b32 s5, s17, 1618399; GFX11-FAKE16-NEXT: s_lshr_b32 s4, s16, 1618400; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s3, 1618401; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s2, 1618402; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s1, 1618403; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s0, 1618404; GFX11-FAKE16-NEXT: s_mov_b32 s15, 018405; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s0, s0, s4618406; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s1, s1, s4518407; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s2, s2, s4418408; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s3, s3, s4318409; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s4, s16, s418410; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s5, s17, s518411; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s6, s18, s618412; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s7, s19, s718413; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s8, s20, s818414; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s9, s21, s918415; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s10, s22, s1018416; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s11, s23, s1118417; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s12, s24, s1218418; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s13, s25, s1318419; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s14, s26, s1418420; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s16, s27, s4218421; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s17, s28, s4118422; GFX11-FAKE16-NEXT: s_pack_ll_b32_b16 s18, s29, s4018423; GFX11-FAKE16-NEXT: s_and_b32 s47, vcc_lo, exec_lo18424; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB31_418425; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false18426; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v6718427; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v6618428; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v6518429; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v6418430; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v5518431; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v5418432; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v5318433; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v5218434; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v33, 16, v5118435; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v32, 16, v5018436; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s118437; GFX11-FAKE16-NEXT: v_dual_mov_b32 v2, s2 :: v_dual_mov_b32 v3, s318438; GFX11-FAKE16-NEXT: v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s518439; GFX11-FAKE16-NEXT: v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s718440; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s8 :: v_dual_mov_b32 v9, s918441; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v11, s1118442; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v13, s1318443; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v15, s1618444; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s17 :: v_dual_mov_b32 v17, s1818445; GFX11-FAKE16-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s1518446; GFX11-FAKE16-NEXT: s_cbranch_vccnz .LBB31_318447; GFX11-FAKE16-NEXT: .LBB31_2: ; %cmp.true18448; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v49, 16, v6718449; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v48, 16, v6618450; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v39, 16, v6518451; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v38, 16, v6418452; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v37, 16, v5518453; GFX11-FAKE16-NEXT: v_lshl_or_b32 v23, v36, 16, v5418454; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v35, 16, v5318455; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v34, 16, v5218456; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v33, 16, v5118457; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v32, 16, v5018458; GFX11-FAKE16-NEXT: v_pk_add_u16 v0, s0, 3 op_sel_hi:[1,0]18459; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, s1, 3 op_sel_hi:[1,0]18460; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, s2, 3 op_sel_hi:[1,0]18461; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, s3, 3 op_sel_hi:[1,0]18462; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, s4, 3 op_sel_hi:[1,0]18463; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, s5, 3 op_sel_hi:[1,0]18464; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, s6, 3 op_sel_hi:[1,0]18465; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, s7, 3 op_sel_hi:[1,0]18466; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, s8, 3 op_sel_hi:[1,0]18467; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, s9, 3 op_sel_hi:[1,0]18468; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, s10, 3 op_sel_hi:[1,0]18469; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, s11, 3 op_sel_hi:[1,0]18470; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, s12, 3 op_sel_hi:[1,0]18471; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, s13, 3 op_sel_hi:[1,0]18472; GFX11-FAKE16-NEXT: v_pk_add_u16 v14, s14, 3 op_sel_hi:[1,0]18473; GFX11-FAKE16-NEXT: v_pk_add_u16 v15, s16, 3 op_sel_hi:[1,0]18474; GFX11-FAKE16-NEXT: v_pk_add_u16 v16, s17, 3 op_sel_hi:[1,0]18475; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, s18, 3 op_sel_hi:[1,0]18476; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]18477; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]18478; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]18479; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]18480; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]18481; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]18482; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]18483; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]18484; GFX11-FAKE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]18485; GFX11-FAKE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]18486; GFX11-FAKE16-NEXT: .LBB31_3: ; %end18487; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]18488; GFX11-FAKE16-NEXT: .LBB31_4:18489; 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_vgpr3118490; GFX11-FAKE16-NEXT: s_branch .LBB31_218491 %cmp = icmp eq i32 %b, 018492 br i1 %cmp, label %cmp.true, label %cmp.false18493 18494cmp.true:18495 %a1 = add <56 x i16> %a, splat (i16 3)18496 %a2 = bitcast <56 x i16> %a1 to <28 x float>18497 br label %end18498 18499cmp.false:18500 %a3 = bitcast <56 x i16> %a to <28 x float>18501 br label %end18502 18503end:18504 %phi = phi <28 x float> [ %a2, %cmp.true ], [ %a3, %cmp.false ]18505 ret <28 x float> %phi18506}18507 18508define <56 x half> @bitcast_v28f32_to_v56f16(<28 x float> %a, i32 %b) {18509; SI-LABEL: bitcast_v28f32_to_v56f16:18510; SI: ; %bb.0:18511; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)18512; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2918513; SI-NEXT: ; implicit-def: $vgpr2918514; SI-NEXT: ; kill: killed $vgpr2918515; SI-NEXT: ; implicit-def: $vgpr2918516; SI-NEXT: ; kill: killed $vgpr2918517; SI-NEXT: ; implicit-def: $vgpr2918518; SI-NEXT: ; kill: killed $vgpr2918519; SI-NEXT: ; implicit-def: $vgpr2918520; SI-NEXT: ; kill: killed $vgpr2918521; SI-NEXT: ; implicit-def: $vgpr2918522; SI-NEXT: ; kill: killed $vgpr2918523; SI-NEXT: ; implicit-def: $vgpr2918524; SI-NEXT: ; kill: killed $vgpr2918525; SI-NEXT: ; implicit-def: $vgpr2918526; SI-NEXT: ; kill: killed $vgpr2918527; SI-NEXT: ; implicit-def: $vgpr2918528; SI-NEXT: ; kill: killed $vgpr2918529; SI-NEXT: ; implicit-def: $vgpr2918530; SI-NEXT: ; kill: killed $vgpr2918531; SI-NEXT: ; implicit-def: $vgpr2918532; SI-NEXT: ; kill: killed $vgpr2918533; SI-NEXT: ; implicit-def: $vgpr2918534; SI-NEXT: ; kill: killed $vgpr2918535; SI-NEXT: ; implicit-def: $vgpr2918536; SI-NEXT: ; kill: killed $vgpr2918537; SI-NEXT: ; implicit-def: $vgpr2918538; SI-NEXT: ; kill: killed $vgpr2918539; SI-NEXT: ; implicit-def: $vgpr2918540; SI-NEXT: ; kill: killed $vgpr2918541; SI-NEXT: ; implicit-def: $vgpr2918542; SI-NEXT: ; kill: killed $vgpr2918543; SI-NEXT: ; implicit-def: $vgpr2918544; SI-NEXT: ; kill: killed $vgpr2918545; SI-NEXT: ; implicit-def: $vgpr2918546; SI-NEXT: ; kill: killed $vgpr2918547; SI-NEXT: ; implicit-def: $vgpr2918548; SI-NEXT: ; kill: killed $vgpr2918549; SI-NEXT: ; implicit-def: $vgpr2918550; SI-NEXT: ; kill: killed $vgpr2918551; SI-NEXT: ; implicit-def: $vgpr2918552; SI-NEXT: ; kill: killed $vgpr2918553; SI-NEXT: ; implicit-def: $vgpr2918554; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill18555; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill18556; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill18557; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill18558; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill18559; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill18560; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill18561; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill18562; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill18563; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill18564; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill18565; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill18566; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill18567; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill18568; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill18569; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill18570; SI-NEXT: ; implicit-def: $vgpr4018571; SI-NEXT: ; implicit-def: $vgpr4118572; SI-NEXT: ; implicit-def: $vgpr5418573; SI-NEXT: ; implicit-def: $vgpr5518574; SI-NEXT: ; implicit-def: $vgpr5218575; SI-NEXT: ; implicit-def: $vgpr5318576; SI-NEXT: ; implicit-def: $vgpr5018577; SI-NEXT: ; implicit-def: $vgpr5118578; SI-NEXT: ; implicit-def: $vgpr4918579; SI-NEXT: ; implicit-def: $vgpr4818580; SI-NEXT: ; implicit-def: $vgpr3918581; SI-NEXT: ; implicit-def: $vgpr3818582; SI-NEXT: ; implicit-def: $vgpr3718583; SI-NEXT: ; implicit-def: $vgpr3618584; SI-NEXT: ; implicit-def: $vgpr3418585; SI-NEXT: ; implicit-def: $vgpr3218586; SI-NEXT: ; implicit-def: $vgpr3018587; SI-NEXT: ; implicit-def: $vgpr6318588; SI-NEXT: ; implicit-def: $vgpr6018589; SI-NEXT: ; implicit-def: $vgpr5818590; SI-NEXT: ; implicit-def: $vgpr5618591; SI-NEXT: ; implicit-def: $vgpr4618592; SI-NEXT: ; implicit-def: $vgpr4418593; SI-NEXT: ; implicit-def: $vgpr4218594; SI-NEXT: ; implicit-def: $vgpr5918595; SI-NEXT: ; implicit-def: $vgpr6118596; SI-NEXT: ; kill: killed $vgpr2918597; SI-NEXT: ; implicit-def: $vgpr6218598; SI-NEXT: ; implicit-def: $vgpr5718599; SI-NEXT: ; implicit-def: $vgpr4318600; SI-NEXT: ; implicit-def: $vgpr4718601; SI-NEXT: ; implicit-def: $vgpr3118602; SI-NEXT: ; implicit-def: $vgpr4518603; SI-NEXT: ; implicit-def: $vgpr3318604; SI-NEXT: ; implicit-def: $vgpr2918605; SI-NEXT: ; implicit-def: $vgpr3518606; SI-NEXT: s_and_saveexec_b64 s[4:5], vcc18607; SI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]18608; SI-NEXT: s_cbranch_execz .LBB32_218609; SI-NEXT: ; %bb.1: ; %cmp.false18610; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2818611; SI-NEXT: v_cvt_f32_f16_e32 v35, v2918612; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2718613; SI-NEXT: v_cvt_f32_f16_e32 v33, v2918614; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2618615; SI-NEXT: v_cvt_f32_f16_e32 v31, v2918616; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2518617; SI-NEXT: v_cvt_f32_f16_e32 v43, v2918618; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2418619; SI-NEXT: s_waitcnt expcnt(1)18620; SI-NEXT: v_cvt_f32_f16_e32 v62, v2918621; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2318622; SI-NEXT: v_cvt_f32_f16_e32 v61, v2918623; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2218624; SI-NEXT: v_cvt_f32_f16_e32 v59, v2918625; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2118626; SI-NEXT: v_cvt_f32_f16_e32 v29, v2918627; SI-NEXT: v_cvt_f32_f16_e32 v24, v2418628; SI-NEXT: v_cvt_f32_f16_e32 v23, v2318629; SI-NEXT: v_cvt_f32_f16_e32 v22, v2218630; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill18631; SI-NEXT: s_waitcnt expcnt(0)18632; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2018633; SI-NEXT: v_cvt_f32_f16_e32 v29, v2918634; SI-NEXT: v_cvt_f32_f16_e32 v21, v2118635; SI-NEXT: v_cvt_f32_f16_e32 v20, v2018636; SI-NEXT: v_cvt_f32_f16_e32 v45, v2718637; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill18638; SI-NEXT: s_waitcnt expcnt(0)18639; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1918640; SI-NEXT: v_cvt_f32_f16_e32 v29, v2918641; SI-NEXT: v_cvt_f32_f16_e32 v19, v1918642; SI-NEXT: v_cvt_f32_f16_e32 v47, v2618643; SI-NEXT: v_cvt_f32_f16_e32 v57, v2518644; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill18645; SI-NEXT: s_waitcnt expcnt(0)18646; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1818647; SI-NEXT: v_cvt_f32_f16_e32 v29, v2918648; SI-NEXT: v_cvt_f32_f16_e32 v18, v1818649; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill18650; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill18651; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill18652; SI-NEXT: s_waitcnt expcnt(0)18653; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1718654; SI-NEXT: v_cvt_f32_f16_e32 v42, v2918655; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1618656; SI-NEXT: v_cvt_f32_f16_e32 v44, v2918657; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1518658; SI-NEXT: v_cvt_f32_f16_e32 v46, v2918659; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1418660; SI-NEXT: v_cvt_f32_f16_e32 v56, v2918661; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1318662; SI-NEXT: v_cvt_f32_f16_e32 v58, v2918663; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1218664; SI-NEXT: v_cvt_f32_f16_e32 v60, v2918665; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1118666; SI-NEXT: v_cvt_f32_f16_e32 v63, v2918667; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1018668; SI-NEXT: v_cvt_f32_f16_e32 v30, v2918669; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v918670; SI-NEXT: v_cvt_f32_f16_e32 v32, v2918671; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v818672; SI-NEXT: v_cvt_f32_f16_e32 v34, v2918673; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v718674; SI-NEXT: v_cvt_f32_f16_e32 v36, v2918675; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v618676; SI-NEXT: v_cvt_f32_f16_e32 v38, v2918677; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v518678; SI-NEXT: v_cvt_f32_f16_e32 v48, v2918679; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v418680; SI-NEXT: v_cvt_f32_f16_e32 v17, v1718681; SI-NEXT: v_cvt_f32_f16_e32 v16, v1618682; SI-NEXT: v_cvt_f32_f16_e32 v15, v1518683; SI-NEXT: v_cvt_f32_f16_e32 v14, v1418684; SI-NEXT: v_cvt_f32_f16_e32 v13, v1318685; SI-NEXT: v_cvt_f32_f16_e32 v12, v1218686; SI-NEXT: v_cvt_f32_f16_e32 v11, v1118687; SI-NEXT: v_cvt_f32_f16_e32 v10, v1018688; SI-NEXT: v_cvt_f32_f16_e32 v9, v918689; SI-NEXT: v_cvt_f32_f16_e32 v8, v818690; SI-NEXT: v_cvt_f32_f16_e32 v51, v2918691; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v318692; SI-NEXT: v_cvt_f32_f16_e32 v53, v2918693; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v218694; SI-NEXT: v_cvt_f32_f16_e32 v55, v2918695; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v118696; SI-NEXT: v_cvt_f32_f16_e32 v41, v2918697; SI-NEXT: v_cvt_f32_f16_e32 v29, v2818698; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill18699; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill18700; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill18701; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill18702; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill18703; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill18704; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill18705; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill18706; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill18707; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill18708; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill18709; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill18710; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill18711; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill18712; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill18713; SI-NEXT: v_cvt_f32_f16_e32 v37, v718714; SI-NEXT: v_cvt_f32_f16_e32 v39, v618715; SI-NEXT: v_cvt_f32_f16_e32 v49, v518716; SI-NEXT: v_cvt_f32_f16_e32 v50, v418717; SI-NEXT: v_cvt_f32_f16_e32 v52, v318718; SI-NEXT: v_cvt_f32_f16_e32 v54, v218719; SI-NEXT: v_cvt_f32_f16_e32 v40, v118720; SI-NEXT: ; implicit-def: $vgpr118721; SI-NEXT: ; implicit-def: $vgpr218722; SI-NEXT: ; implicit-def: $vgpr318723; SI-NEXT: ; implicit-def: $vgpr418724; SI-NEXT: ; implicit-def: $vgpr518725; SI-NEXT: ; implicit-def: $vgpr618726; SI-NEXT: ; implicit-def: $vgpr718727; SI-NEXT: ; implicit-def: $vgpr818728; SI-NEXT: ; implicit-def: $vgpr918729; SI-NEXT: ; implicit-def: $vgpr1018730; SI-NEXT: ; implicit-def: $vgpr1118731; SI-NEXT: ; implicit-def: $vgpr1218732; SI-NEXT: ; implicit-def: $vgpr1318733; SI-NEXT: ; implicit-def: $vgpr1418734; SI-NEXT: ; implicit-def: $vgpr1518735; SI-NEXT: ; implicit-def: $vgpr1618736; SI-NEXT: ; implicit-def: $vgpr1718737; SI-NEXT: ; implicit-def: $vgpr1818738; SI-NEXT: ; implicit-def: $vgpr1918739; SI-NEXT: ; implicit-def: $vgpr2018740; SI-NEXT: ; implicit-def: $vgpr2118741; SI-NEXT: ; implicit-def: $vgpr2218742; SI-NEXT: ; implicit-def: $vgpr2318743; SI-NEXT: ; implicit-def: $vgpr2418744; SI-NEXT: ; implicit-def: $vgpr2518745; SI-NEXT: ; implicit-def: $vgpr2618746; SI-NEXT: ; implicit-def: $vgpr2718747; SI-NEXT: ; implicit-def: $vgpr2818748; SI-NEXT: .LBB32_2: ; %Flow18749; SI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]18750; SI-NEXT: s_cbranch_execz .LBB32_418751; SI-NEXT: ; %bb.3: ; %cmp.true18752; SI-NEXT: v_add_f32_e32 v21, 1.0, v2118753; SI-NEXT: v_add_f32_e32 v2, 1.0, v218754; SI-NEXT: s_waitcnt expcnt(6)18755; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v2118756; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v218757; SI-NEXT: v_cvt_f32_f16_e32 v54, v218758; SI-NEXT: v_cvt_f32_f16_e32 v2, v5718759; SI-NEXT: v_add_f32_e32 v20, 1.0, v2018760; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v2018761; SI-NEXT: v_add_f32_e32 v19, 1.0, v1918762; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill18763; SI-NEXT: s_waitcnt expcnt(0)18764; SI-NEXT: v_cvt_f32_f16_e32 v2, v4718765; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v1918766; SI-NEXT: v_add_f32_e32 v25, 1.0, v2518767; SI-NEXT: v_add_f32_e32 v1, 1.0, v118768; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill18769; SI-NEXT: s_waitcnt expcnt(0)18770; SI-NEXT: v_cvt_f32_f16_e32 v2, v4518771; SI-NEXT: v_add_f32_e32 v3, 1.0, v318772; SI-NEXT: v_add_f32_e32 v4, 1.0, v418773; SI-NEXT: v_add_f32_e32 v5, 1.0, v518774; SI-NEXT: v_add_f32_e32 v6, 1.0, v618775; SI-NEXT: v_add_f32_e32 v7, 1.0, v718776; SI-NEXT: v_add_f32_e32 v8, 1.0, v818777; SI-NEXT: v_add_f32_e32 v9, 1.0, v918778; SI-NEXT: v_add_f32_e32 v10, 1.0, v1018779; SI-NEXT: v_add_f32_e32 v11, 1.0, v1118780; SI-NEXT: v_add_f32_e32 v12, 1.0, v1218781; SI-NEXT: v_add_f32_e32 v13, 1.0, v1318782; SI-NEXT: v_add_f32_e32 v14, 1.0, v1418783; SI-NEXT: v_add_f32_e32 v15, 1.0, v1518784; SI-NEXT: v_add_f32_e32 v16, 1.0, v1618785; SI-NEXT: v_add_f32_e32 v17, 1.0, v1718786; SI-NEXT: v_add_f32_e32 v18, 1.0, v1818787; SI-NEXT: v_add_f32_e32 v22, 1.0, v2218788; SI-NEXT: v_add_f32_e32 v23, 1.0, v2318789; SI-NEXT: v_add_f32_e32 v24, 1.0, v2418790; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v2518791; SI-NEXT: v_add_f32_e32 v26, 1.0, v2618792; SI-NEXT: v_add_f32_e32 v27, 1.0, v2718793; SI-NEXT: v_add_f32_e32 v28, 1.0, v2818794; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v118795; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v318796; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v418797; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v518798; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v618799; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v718800; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v818801; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v918802; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v1018803; SI-NEXT: v_lshrrev_b32_e32 v63, 16, v1118804; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v1218805; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v1318806; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v1418807; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v1518808; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v1618809; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v1718810; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1818811; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v2218812; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v2318813; SI-NEXT: v_lshrrev_b32_e32 v62, 16, v2418814; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v2618815; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v2718816; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v2818817; SI-NEXT: v_cvt_f32_f16_e32 v28, v2818818; SI-NEXT: v_cvt_f32_f16_e32 v27, v2718819; SI-NEXT: v_cvt_f32_f16_e32 v26, v2618820; SI-NEXT: v_cvt_f32_f16_e32 v25, v2518821; SI-NEXT: v_cvt_f32_f16_e32 v40, v118822; SI-NEXT: v_cvt_f32_f16_e32 v1, v2918823; SI-NEXT: v_cvt_f32_f16_e32 v24, v2418824; SI-NEXT: v_cvt_f32_f16_e32 v23, v2318825; SI-NEXT: v_cvt_f32_f16_e32 v22, v2218826; SI-NEXT: v_cvt_f32_f16_e32 v21, v2118827; SI-NEXT: v_cvt_f32_f16_e32 v20, v2018828; SI-NEXT: v_cvt_f32_f16_e32 v19, v1918829; SI-NEXT: v_cvt_f32_f16_e32 v18, v1818830; SI-NEXT: v_cvt_f32_f16_e32 v17, v1718831; SI-NEXT: v_cvt_f32_f16_e32 v16, v1618832; SI-NEXT: v_cvt_f32_f16_e32 v15, v1518833; SI-NEXT: v_cvt_f32_f16_e32 v14, v1418834; SI-NEXT: v_cvt_f32_f16_e32 v13, v1318835; SI-NEXT: v_cvt_f32_f16_e32 v12, v1218836; SI-NEXT: v_cvt_f32_f16_e32 v11, v1118837; SI-NEXT: v_cvt_f32_f16_e32 v10, v1018838; SI-NEXT: v_cvt_f32_f16_e32 v9, v918839; SI-NEXT: v_cvt_f32_f16_e32 v8, v818840; SI-NEXT: v_cvt_f32_f16_e32 v37, v718841; SI-NEXT: v_cvt_f32_f16_e32 v39, v618842; SI-NEXT: v_cvt_f32_f16_e32 v49, v518843; SI-NEXT: v_cvt_f32_f16_e32 v50, v418844; SI-NEXT: v_cvt_f32_f16_e32 v52, v318845; SI-NEXT: v_cvt_f32_f16_e32 v35, v3518846; SI-NEXT: v_cvt_f32_f16_e32 v33, v3318847; SI-NEXT: v_cvt_f32_f16_e32 v31, v3118848; SI-NEXT: v_cvt_f32_f16_e32 v62, v6218849; SI-NEXT: v_cvt_f32_f16_e32 v61, v6118850; SI-NEXT: v_cvt_f32_f16_e32 v59, v5918851; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill18852; SI-NEXT: s_waitcnt expcnt(0)18853; SI-NEXT: v_cvt_f32_f16_e32 v2, v4318854; SI-NEXT: v_cvt_f32_f16_e32 v42, v4218855; SI-NEXT: v_cvt_f32_f16_e32 v44, v4418856; SI-NEXT: v_cvt_f32_f16_e32 v46, v4618857; SI-NEXT: v_cvt_f32_f16_e32 v56, v5618858; SI-NEXT: v_cvt_f32_f16_e32 v58, v5818859; SI-NEXT: v_cvt_f32_f16_e32 v60, v6018860; SI-NEXT: v_cvt_f32_f16_e32 v63, v6318861; SI-NEXT: v_cvt_f32_f16_e32 v30, v3018862; SI-NEXT: v_cvt_f32_f16_e32 v32, v3218863; SI-NEXT: v_cvt_f32_f16_e32 v34, v3418864; SI-NEXT: v_cvt_f32_f16_e32 v36, v3618865; SI-NEXT: v_cvt_f32_f16_e32 v38, v3818866; SI-NEXT: v_cvt_f32_f16_e32 v48, v4818867; SI-NEXT: v_cvt_f32_f16_e32 v51, v5118868; SI-NEXT: v_cvt_f32_f16_e32 v53, v5318869; SI-NEXT: v_cvt_f32_f16_e32 v55, v5518870; SI-NEXT: v_cvt_f32_f16_e32 v41, v4118871; SI-NEXT: v_mov_b32_e32 v29, v2818872; SI-NEXT: v_mov_b32_e32 v57, v2518873; SI-NEXT: v_mov_b32_e32 v47, v2618874; SI-NEXT: v_mov_b32_e32 v45, v2718875; SI-NEXT: v_mov_b32_e32 v43, v118876; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill18877; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill18878; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill18879; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill18880; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill18881; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill18882; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill18883; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill18884; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill18885; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill18886; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill18887; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill18888; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill18889; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill18890; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill18891; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill18892; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill18893; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill18894; SI-NEXT: .LBB32_4: ; %end18895; SI-NEXT: s_or_b64 exec, exec, s[4:5]18896; SI-NEXT: v_cvt_f16_f32_e32 v1, v4118897; SI-NEXT: s_waitcnt expcnt(0)18898; SI-NEXT: v_cvt_f16_f32_e32 v2, v4018899; SI-NEXT: v_cvt_f16_f32_e32 v3, v5518900; SI-NEXT: v_cvt_f16_f32_e32 v4, v5418901; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118902; SI-NEXT: v_or_b32_e32 v1, v2, v118903; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v318904; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen18905; SI-NEXT: s_waitcnt expcnt(0)18906; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v018907; SI-NEXT: v_or_b32_e32 v2, v4, v218908; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen18909; SI-NEXT: v_cvt_f16_f32_e32 v1, v5318910; SI-NEXT: s_waitcnt expcnt(0)18911; SI-NEXT: v_cvt_f16_f32_e32 v2, v5218912; SI-NEXT: v_add_i32_e32 v3, vcc, 8, v018913; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118914; SI-NEXT: v_or_b32_e32 v1, v2, v118915; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18916; SI-NEXT: s_waitcnt expcnt(0)18917; SI-NEXT: v_cvt_f16_f32_e32 v1, v5118918; SI-NEXT: v_cvt_f16_f32_e32 v2, v5018919; SI-NEXT: v_add_i32_e32 v3, vcc, 12, v018920; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118921; SI-NEXT: v_or_b32_e32 v1, v2, v118922; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18923; SI-NEXT: s_waitcnt expcnt(0)18924; SI-NEXT: v_cvt_f16_f32_e32 v1, v4818925; SI-NEXT: v_cvt_f16_f32_e32 v2, v4918926; SI-NEXT: v_add_i32_e32 v3, vcc, 16, v018927; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118928; SI-NEXT: v_or_b32_e32 v1, v2, v118929; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18930; SI-NEXT: s_waitcnt expcnt(0)18931; SI-NEXT: v_cvt_f16_f32_e32 v1, v3818932; SI-NEXT: v_cvt_f16_f32_e32 v2, v3918933; SI-NEXT: v_add_i32_e32 v3, vcc, 20, v018934; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118935; SI-NEXT: v_or_b32_e32 v1, v2, v118936; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18937; SI-NEXT: s_waitcnt expcnt(0)18938; SI-NEXT: v_cvt_f16_f32_e32 v1, v3618939; SI-NEXT: v_cvt_f16_f32_e32 v2, v3718940; SI-NEXT: v_add_i32_e32 v3, vcc, 24, v018941; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118942; SI-NEXT: v_or_b32_e32 v1, v2, v118943; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18944; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload18945; SI-NEXT: s_waitcnt expcnt(0)18946; SI-NEXT: v_cvt_f16_f32_e32 v1, v3418947; SI-NEXT: v_add_i32_e32 v3, vcc, 28, v018948; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118949; SI-NEXT: s_waitcnt vmcnt(0)18950; SI-NEXT: v_cvt_f16_f32_e32 v2, v218951; SI-NEXT: v_or_b32_e32 v1, v2, v118952; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18953; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload18954; SI-NEXT: s_waitcnt expcnt(0)18955; SI-NEXT: v_cvt_f16_f32_e32 v1, v3218956; SI-NEXT: v_add_i32_e32 v3, vcc, 32, v018957; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118958; SI-NEXT: s_waitcnt vmcnt(0)18959; SI-NEXT: v_cvt_f16_f32_e32 v2, v218960; SI-NEXT: v_or_b32_e32 v1, v2, v118961; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18962; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload18963; SI-NEXT: s_waitcnt expcnt(0)18964; SI-NEXT: v_cvt_f16_f32_e32 v1, v3018965; SI-NEXT: v_add_i32_e32 v3, vcc, 36, v018966; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118967; SI-NEXT: s_waitcnt vmcnt(0)18968; SI-NEXT: v_cvt_f16_f32_e32 v2, v218969; SI-NEXT: v_or_b32_e32 v1, v2, v118970; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18971; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload18972; SI-NEXT: s_waitcnt expcnt(0)18973; SI-NEXT: v_cvt_f16_f32_e32 v1, v6318974; SI-NEXT: v_add_i32_e32 v3, vcc, 40, v018975; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118976; SI-NEXT: s_waitcnt vmcnt(0)18977; SI-NEXT: v_cvt_f16_f32_e32 v2, v218978; SI-NEXT: v_or_b32_e32 v1, v2, v118979; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18980; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload18981; SI-NEXT: s_waitcnt expcnt(0)18982; SI-NEXT: v_cvt_f16_f32_e32 v1, v6018983; SI-NEXT: v_add_i32_e32 v3, vcc, 44, v018984; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118985; SI-NEXT: s_waitcnt vmcnt(0)18986; SI-NEXT: v_cvt_f16_f32_e32 v2, v218987; SI-NEXT: v_or_b32_e32 v1, v2, v118988; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18989; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload18990; SI-NEXT: s_waitcnt expcnt(0)18991; SI-NEXT: v_cvt_f16_f32_e32 v1, v5818992; SI-NEXT: v_add_i32_e32 v3, vcc, 48, v018993; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v118994; SI-NEXT: s_waitcnt vmcnt(0)18995; SI-NEXT: v_cvt_f16_f32_e32 v2, v218996; SI-NEXT: v_or_b32_e32 v1, v2, v118997; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen18998; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload18999; SI-NEXT: s_waitcnt expcnt(0)19000; SI-NEXT: v_cvt_f16_f32_e32 v1, v5619001; SI-NEXT: v_add_i32_e32 v3, vcc, 52, v019002; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119003; SI-NEXT: s_waitcnt vmcnt(0)19004; SI-NEXT: v_cvt_f16_f32_e32 v2, v219005; SI-NEXT: v_or_b32_e32 v1, v2, v119006; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19007; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload19008; SI-NEXT: s_waitcnt expcnt(0)19009; SI-NEXT: v_cvt_f16_f32_e32 v1, v4619010; SI-NEXT: v_add_i32_e32 v3, vcc, 56, v019011; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119012; SI-NEXT: s_waitcnt vmcnt(0)19013; SI-NEXT: v_cvt_f16_f32_e32 v2, v219014; SI-NEXT: v_or_b32_e32 v1, v2, v119015; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19016; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload19017; SI-NEXT: s_waitcnt expcnt(0)19018; SI-NEXT: v_cvt_f16_f32_e32 v1, v4419019; SI-NEXT: v_add_i32_e32 v3, vcc, 60, v019020; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119021; SI-NEXT: s_waitcnt vmcnt(0)19022; SI-NEXT: v_cvt_f16_f32_e32 v2, v219023; SI-NEXT: v_or_b32_e32 v1, v2, v119024; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19025; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload19026; SI-NEXT: s_waitcnt expcnt(0)19027; SI-NEXT: v_cvt_f16_f32_e32 v1, v4219028; SI-NEXT: v_add_i32_e32 v3, vcc, 64, v019029; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119030; SI-NEXT: s_waitcnt vmcnt(0)19031; SI-NEXT: v_cvt_f16_f32_e32 v2, v219032; SI-NEXT: v_or_b32_e32 v1, v2, v119033; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19034; SI-NEXT: s_waitcnt expcnt(0)19035; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload19036; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload19037; SI-NEXT: v_add_i32_e32 v3, vcc, 0x44, v019038; SI-NEXT: s_waitcnt vmcnt(1)19039; SI-NEXT: v_cvt_f16_f32_e32 v1, v119040; SI-NEXT: s_waitcnt vmcnt(0)19041; SI-NEXT: v_cvt_f16_f32_e32 v2, v219042; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119043; SI-NEXT: v_or_b32_e32 v1, v2, v119044; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19045; SI-NEXT: s_waitcnt expcnt(0)19046; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload19047; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload19048; SI-NEXT: v_add_i32_e32 v3, vcc, 0x48, v019049; SI-NEXT: s_waitcnt vmcnt(1)19050; SI-NEXT: v_cvt_f16_f32_e32 v1, v119051; SI-NEXT: s_waitcnt vmcnt(0)19052; SI-NEXT: v_cvt_f16_f32_e32 v2, v219053; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119054; SI-NEXT: v_or_b32_e32 v1, v2, v119055; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19056; SI-NEXT: s_waitcnt expcnt(0)19057; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload19058; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload19059; SI-NEXT: v_add_i32_e32 v3, vcc, 0x4c, v019060; SI-NEXT: s_waitcnt vmcnt(1)19061; SI-NEXT: v_cvt_f16_f32_e32 v1, v119062; SI-NEXT: s_waitcnt vmcnt(0)19063; SI-NEXT: v_cvt_f16_f32_e32 v2, v219064; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119065; SI-NEXT: v_or_b32_e32 v1, v2, v119066; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19067; SI-NEXT: s_waitcnt expcnt(0)19068; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload19069; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload19070; SI-NEXT: v_add_i32_e32 v3, vcc, 0x50, v019071; SI-NEXT: s_waitcnt vmcnt(1)19072; SI-NEXT: v_cvt_f16_f32_e32 v1, v119073; SI-NEXT: s_waitcnt vmcnt(0)19074; SI-NEXT: v_cvt_f16_f32_e32 v2, v219075; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119076; SI-NEXT: v_or_b32_e32 v1, v2, v119077; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19078; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload19079; SI-NEXT: s_waitcnt expcnt(0)19080; SI-NEXT: v_cvt_f16_f32_e32 v1, v5919081; SI-NEXT: v_add_i32_e32 v3, vcc, 0x54, v019082; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119083; SI-NEXT: s_waitcnt vmcnt(0)19084; SI-NEXT: v_cvt_f16_f32_e32 v2, v219085; SI-NEXT: v_or_b32_e32 v1, v2, v119086; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19087; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload19088; SI-NEXT: s_waitcnt expcnt(0)19089; SI-NEXT: v_cvt_f16_f32_e32 v1, v6119090; SI-NEXT: v_add_i32_e32 v3, vcc, 0x58, v019091; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119092; SI-NEXT: s_waitcnt vmcnt(0)19093; SI-NEXT: v_cvt_f16_f32_e32 v2, v219094; SI-NEXT: v_or_b32_e32 v1, v2, v119095; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19096; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload19097; SI-NEXT: s_waitcnt expcnt(0)19098; SI-NEXT: v_cvt_f16_f32_e32 v1, v6219099; SI-NEXT: v_add_i32_e32 v3, vcc, 0x5c, v019100; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119101; SI-NEXT: s_waitcnt vmcnt(0)19102; SI-NEXT: v_cvt_f16_f32_e32 v2, v219103; SI-NEXT: v_or_b32_e32 v1, v2, v119104; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19105; SI-NEXT: s_waitcnt expcnt(0)19106; SI-NEXT: v_cvt_f16_f32_e32 v1, v4319107; SI-NEXT: v_cvt_f16_f32_e32 v2, v5719108; SI-NEXT: v_add_i32_e32 v3, vcc, 0x60, v019109; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119110; SI-NEXT: v_or_b32_e32 v1, v2, v119111; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19112; SI-NEXT: s_waitcnt expcnt(0)19113; SI-NEXT: v_cvt_f16_f32_e32 v1, v3119114; SI-NEXT: v_cvt_f16_f32_e32 v2, v4719115; SI-NEXT: v_add_i32_e32 v3, vcc, 0x64, v019116; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119117; SI-NEXT: v_or_b32_e32 v1, v2, v119118; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19119; SI-NEXT: s_waitcnt expcnt(0)19120; SI-NEXT: v_cvt_f16_f32_e32 v1, v3319121; SI-NEXT: v_cvt_f16_f32_e32 v2, v4519122; SI-NEXT: v_add_i32_e32 v3, vcc, 0x68, v019123; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119124; SI-NEXT: v_or_b32_e32 v1, v2, v119125; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen19126; SI-NEXT: s_waitcnt expcnt(0)19127; SI-NEXT: v_cvt_f16_f32_e32 v1, v3519128; SI-NEXT: v_cvt_f16_f32_e32 v2, v2919129; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v019130; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v119131; SI-NEXT: v_or_b32_e32 v1, v2, v119132; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen19133; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload19134; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload19135; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload19136; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload19137; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload19138; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload19139; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload19140; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload19141; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload19142; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload19143; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload19144; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload19145; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload19146; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload19147; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload19148; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload19149; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)19150; SI-NEXT: s_setpc_b64 s[30:31]19151;19152; VI-LABEL: bitcast_v28f32_to_v56f16:19153; VI: ; %bb.0:19154; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19155; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2819156; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill19157; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill19158; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill19159; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill19160; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill19161; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill19162; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill19163; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill19164; VI-NEXT: ; implicit-def: $vgpr4719165; VI-NEXT: ; implicit-def: $vgpr4619166; VI-NEXT: ; implicit-def: $vgpr4519167; VI-NEXT: ; implicit-def: $vgpr4419168; VI-NEXT: ; implicit-def: $vgpr4319169; VI-NEXT: ; implicit-def: $vgpr4219170; VI-NEXT: ; implicit-def: $vgpr4119171; VI-NEXT: ; implicit-def: $vgpr4019172; VI-NEXT: ; implicit-def: $vgpr5519173; VI-NEXT: ; implicit-def: $vgpr5419174; VI-NEXT: ; implicit-def: $vgpr5319175; VI-NEXT: ; implicit-def: $vgpr5219176; VI-NEXT: ; implicit-def: $vgpr5119177; VI-NEXT: ; implicit-def: $vgpr5019178; VI-NEXT: ; implicit-def: $vgpr4919179; VI-NEXT: ; implicit-def: $vgpr4819180; VI-NEXT: ; implicit-def: $vgpr3919181; VI-NEXT: ; implicit-def: $vgpr3819182; VI-NEXT: ; implicit-def: $vgpr3719183; VI-NEXT: ; implicit-def: $vgpr3619184; VI-NEXT: ; implicit-def: $vgpr3519185; VI-NEXT: ; implicit-def: $vgpr3419186; VI-NEXT: ; implicit-def: $vgpr3319187; VI-NEXT: ; implicit-def: $vgpr3219188; VI-NEXT: ; implicit-def: $vgpr3119189; VI-NEXT: ; implicit-def: $vgpr3019190; VI-NEXT: ; implicit-def: $vgpr2919191; VI-NEXT: ; implicit-def: $vgpr2819192; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc19193; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]19194; VI-NEXT: s_cbranch_execz .LBB32_219195; VI-NEXT: ; %bb.1: ; %cmp.false19196; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2719197; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2619198; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2519199; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2419200; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2319201; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2219202; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2119203; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2019204; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1919205; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1819206; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1719207; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1619208; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1519209; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1419210; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1319211; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1219212; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1119213; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1019214; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v919215; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v819216; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v719217; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v619218; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v519219; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v419220; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v319221; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v219222; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v119223; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v019224; VI-NEXT: .LBB32_2: ; %Flow19225; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]19226; VI-NEXT: s_cbranch_execz .LBB32_419227; VI-NEXT: ; %bb.3: ; %cmp.true19228; VI-NEXT: v_add_f32_e32 v27, 1.0, v2719229; VI-NEXT: v_add_f32_e32 v26, 1.0, v2619230; VI-NEXT: v_add_f32_e32 v25, 1.0, v2519231; VI-NEXT: v_add_f32_e32 v24, 1.0, v2419232; VI-NEXT: v_add_f32_e32 v23, 1.0, v2319233; VI-NEXT: v_add_f32_e32 v22, 1.0, v2219234; VI-NEXT: v_add_f32_e32 v21, 1.0, v2119235; VI-NEXT: v_add_f32_e32 v20, 1.0, v2019236; VI-NEXT: v_add_f32_e32 v19, 1.0, v1919237; VI-NEXT: v_add_f32_e32 v18, 1.0, v1819238; VI-NEXT: v_add_f32_e32 v17, 1.0, v1719239; VI-NEXT: v_add_f32_e32 v16, 1.0, v1619240; VI-NEXT: v_add_f32_e32 v15, 1.0, v1519241; VI-NEXT: v_add_f32_e32 v14, 1.0, v1419242; VI-NEXT: v_add_f32_e32 v13, 1.0, v1319243; VI-NEXT: v_add_f32_e32 v12, 1.0, v1219244; VI-NEXT: v_add_f32_e32 v11, 1.0, v1119245; VI-NEXT: v_add_f32_e32 v10, 1.0, v1019246; VI-NEXT: v_add_f32_e32 v9, 1.0, v919247; VI-NEXT: v_add_f32_e32 v8, 1.0, v819248; VI-NEXT: v_add_f32_e32 v7, 1.0, v719249; VI-NEXT: v_add_f32_e32 v6, 1.0, v619250; VI-NEXT: v_add_f32_e32 v5, 1.0, v519251; VI-NEXT: v_add_f32_e32 v4, 1.0, v419252; VI-NEXT: v_add_f32_e32 v3, 1.0, v319253; VI-NEXT: v_add_f32_e32 v2, 1.0, v219254; VI-NEXT: v_add_f32_e32 v1, 1.0, v119255; VI-NEXT: v_add_f32_e32 v0, 1.0, v019256; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2719257; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v2619258; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v2519259; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v2419260; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v2319261; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2219262; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2119263; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2019264; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v1919265; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v1819266; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v1719267; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v1619268; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1519269; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1419270; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1319271; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1219272; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1119273; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1019274; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v919275; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v819276; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v719277; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v619278; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v519279; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v419280; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v319281; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v219282; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v119283; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v019284; VI-NEXT: .LBB32_4: ; %end19285; VI-NEXT: s_or_b64 exec, exec, s[4:5]19286; VI-NEXT: v_lshlrev_b32_e32 v47, 16, v4719287; VI-NEXT: v_lshlrev_b32_e32 v46, 16, v4619288; VI-NEXT: v_lshlrev_b32_e32 v45, 16, v4519289; VI-NEXT: v_lshlrev_b32_e32 v44, 16, v4419290; VI-NEXT: v_lshlrev_b32_e32 v43, 16, v4319291; VI-NEXT: v_lshlrev_b32_e32 v42, 16, v4219292; VI-NEXT: v_lshlrev_b32_e32 v41, 16, v4119293; VI-NEXT: v_lshlrev_b32_e32 v40, 16, v4019294; VI-NEXT: v_or_b32_sdwa v0, v0, v47 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19295; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19296; VI-NEXT: v_or_b32_sdwa v2, v2, v45 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19297; VI-NEXT: v_or_b32_sdwa v3, v3, v44 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19298; VI-NEXT: v_or_b32_sdwa v4, v4, v43 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19299; VI-NEXT: v_or_b32_sdwa v5, v5, v42 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19300; VI-NEXT: v_or_b32_sdwa v6, v6, v41 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19301; VI-NEXT: v_or_b32_sdwa v7, v7, v40 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19302; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload19303; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload19304; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload19305; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload19306; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload19307; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload19308; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload19309; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload19310; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v5519311; VI-NEXT: v_lshlrev_b32_e32 v54, 16, v5419312; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v5319313; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v5219314; VI-NEXT: v_lshlrev_b32_e32 v51, 16, v5119315; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v5019316; VI-NEXT: v_lshlrev_b32_e32 v49, 16, v4919317; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v4819318; VI-NEXT: v_lshlrev_b32_e32 v39, 16, v3919319; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v3819320; VI-NEXT: v_lshlrev_b32_e32 v37, 16, v3719321; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v3619322; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v3519323; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v3419324; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v3319325; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v3219326; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v3119327; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v3019328; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v2919329; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v2819330; VI-NEXT: v_or_b32_sdwa v8, v8, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19331; VI-NEXT: v_or_b32_sdwa v9, v9, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19332; VI-NEXT: v_or_b32_sdwa v10, v10, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19333; VI-NEXT: v_or_b32_sdwa v11, v11, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19334; VI-NEXT: v_or_b32_sdwa v12, v12, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19335; VI-NEXT: v_or_b32_sdwa v13, v13, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19336; VI-NEXT: v_or_b32_sdwa v14, v14, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19337; VI-NEXT: v_or_b32_sdwa v15, v15, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19338; VI-NEXT: v_or_b32_sdwa v16, v16, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19339; VI-NEXT: v_or_b32_sdwa v17, v17, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19340; VI-NEXT: v_or_b32_sdwa v18, v18, v37 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19341; VI-NEXT: v_or_b32_sdwa v19, v19, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19342; VI-NEXT: v_or_b32_sdwa v20, v20, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19343; VI-NEXT: v_or_b32_sdwa v21, v21, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19344; VI-NEXT: v_or_b32_sdwa v22, v22, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19345; VI-NEXT: v_or_b32_sdwa v23, v23, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19346; VI-NEXT: v_or_b32_sdwa v24, v24, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19347; VI-NEXT: v_or_b32_sdwa v25, v25, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19348; VI-NEXT: v_or_b32_sdwa v26, v26, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19349; VI-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD19350; VI-NEXT: s_waitcnt vmcnt(0)19351; VI-NEXT: s_setpc_b64 s[30:31]19352;19353; GFX9-LABEL: bitcast_v28f32_to_v56f16:19354; GFX9: ; %bb.0:19355; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19356; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v2819357; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill19358; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill19359; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill19360; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill19361; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill19362; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill19363; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill19364; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill19365; GFX9-NEXT: ; implicit-def: $vgpr4719366; GFX9-NEXT: ; implicit-def: $vgpr4619367; GFX9-NEXT: ; implicit-def: $vgpr4519368; GFX9-NEXT: ; implicit-def: $vgpr4419369; GFX9-NEXT: ; implicit-def: $vgpr4319370; GFX9-NEXT: ; implicit-def: $vgpr4219371; GFX9-NEXT: ; implicit-def: $vgpr4119372; GFX9-NEXT: ; implicit-def: $vgpr4019373; GFX9-NEXT: ; implicit-def: $vgpr5519374; GFX9-NEXT: ; implicit-def: $vgpr5419375; GFX9-NEXT: ; implicit-def: $vgpr5319376; GFX9-NEXT: ; implicit-def: $vgpr5219377; GFX9-NEXT: ; implicit-def: $vgpr5119378; GFX9-NEXT: ; implicit-def: $vgpr5019379; GFX9-NEXT: ; implicit-def: $vgpr4919380; GFX9-NEXT: ; implicit-def: $vgpr4819381; GFX9-NEXT: ; implicit-def: $vgpr3919382; GFX9-NEXT: ; implicit-def: $vgpr3819383; GFX9-NEXT: ; implicit-def: $vgpr3719384; GFX9-NEXT: ; implicit-def: $vgpr3619385; GFX9-NEXT: ; implicit-def: $vgpr3519386; GFX9-NEXT: ; implicit-def: $vgpr3419387; GFX9-NEXT: ; implicit-def: $vgpr3319388; GFX9-NEXT: ; implicit-def: $vgpr3219389; GFX9-NEXT: ; implicit-def: $vgpr3119390; GFX9-NEXT: ; implicit-def: $vgpr3019391; GFX9-NEXT: ; implicit-def: $vgpr2919392; GFX9-NEXT: ; implicit-def: $vgpr2819393; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc19394; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]19395; GFX9-NEXT: s_cbranch_execz .LBB32_219396; GFX9-NEXT: ; %bb.1: ; %cmp.false19397; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2719398; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2619399; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2519400; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2419401; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2319402; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2219403; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2119404; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2019405; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1919406; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1819407; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1719408; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1619409; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1519410; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1419411; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1319412; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1219413; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1119414; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1019415; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v919416; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v819417; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v719418; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v619419; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v519420; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v419421; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v319422; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v219423; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v119424; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v019425; GFX9-NEXT: .LBB32_2: ; %Flow19426; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]19427; GFX9-NEXT: s_cbranch_execz .LBB32_419428; GFX9-NEXT: ; %bb.3: ; %cmp.true19429; GFX9-NEXT: v_add_f32_e32 v27, 1.0, v2719430; GFX9-NEXT: v_add_f32_e32 v26, 1.0, v2619431; GFX9-NEXT: v_add_f32_e32 v25, 1.0, v2519432; GFX9-NEXT: v_add_f32_e32 v24, 1.0, v2419433; GFX9-NEXT: v_add_f32_e32 v23, 1.0, v2319434; GFX9-NEXT: v_add_f32_e32 v22, 1.0, v2219435; GFX9-NEXT: v_add_f32_e32 v21, 1.0, v2119436; GFX9-NEXT: v_add_f32_e32 v20, 1.0, v2019437; GFX9-NEXT: v_add_f32_e32 v19, 1.0, v1919438; GFX9-NEXT: v_add_f32_e32 v18, 1.0, v1819439; GFX9-NEXT: v_add_f32_e32 v17, 1.0, v1719440; GFX9-NEXT: v_add_f32_e32 v16, 1.0, v1619441; GFX9-NEXT: v_add_f32_e32 v15, 1.0, v1519442; GFX9-NEXT: v_add_f32_e32 v14, 1.0, v1419443; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1319444; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1219445; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1119446; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1019447; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v919448; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v819449; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v719450; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v619451; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v519452; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v419453; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v319454; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v219455; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v119456; GFX9-NEXT: v_add_f32_e32 v0, 1.0, v019457; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2719458; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v2619459; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v2519460; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2419461; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v2319462; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2219463; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2119464; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2019465; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v1919466; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v1819467; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v1719468; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v1619469; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1519470; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1419471; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1319472; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1219473; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1119474; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1019475; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v919476; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v819477; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v719478; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v619479; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v519480; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v419481; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v319482; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v219483; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v119484; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v019485; GFX9-NEXT: .LBB32_4: ; %end19486; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]19487; GFX9-NEXT: s_mov_b32 s4, 0x504010019488; GFX9-NEXT: v_perm_b32 v0, v47, v0, s419489; GFX9-NEXT: v_perm_b32 v1, v46, v1, s419490; GFX9-NEXT: v_perm_b32 v2, v45, v2, s419491; GFX9-NEXT: v_perm_b32 v3, v44, v3, s419492; GFX9-NEXT: v_perm_b32 v4, v43, v4, s419493; GFX9-NEXT: v_perm_b32 v5, v42, v5, s419494; GFX9-NEXT: v_perm_b32 v6, v41, v6, s419495; GFX9-NEXT: v_perm_b32 v7, v40, v7, s419496; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload19497; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload19498; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload19499; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload19500; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload19501; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload19502; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload19503; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload19504; GFX9-NEXT: v_perm_b32 v8, v55, v8, s419505; GFX9-NEXT: v_perm_b32 v9, v54, v9, s419506; GFX9-NEXT: v_perm_b32 v10, v53, v10, s419507; GFX9-NEXT: v_perm_b32 v11, v52, v11, s419508; GFX9-NEXT: v_perm_b32 v12, v51, v12, s419509; GFX9-NEXT: v_perm_b32 v13, v50, v13, s419510; GFX9-NEXT: v_perm_b32 v14, v49, v14, s419511; GFX9-NEXT: v_perm_b32 v15, v48, v15, s419512; GFX9-NEXT: v_perm_b32 v16, v39, v16, s419513; GFX9-NEXT: v_perm_b32 v17, v38, v17, s419514; GFX9-NEXT: v_perm_b32 v18, v37, v18, s419515; GFX9-NEXT: v_perm_b32 v19, v36, v19, s419516; GFX9-NEXT: v_perm_b32 v20, v35, v20, s419517; GFX9-NEXT: v_perm_b32 v21, v34, v21, s419518; GFX9-NEXT: v_perm_b32 v22, v33, v22, s419519; GFX9-NEXT: v_perm_b32 v23, v32, v23, s419520; GFX9-NEXT: v_perm_b32 v24, v31, v24, s419521; GFX9-NEXT: v_perm_b32 v25, v30, v25, s419522; GFX9-NEXT: v_perm_b32 v26, v29, v26, s419523; GFX9-NEXT: v_perm_b32 v27, v28, v27, s419524; GFX9-NEXT: s_waitcnt vmcnt(0)19525; GFX9-NEXT: s_setpc_b64 s[30:31]19526;19527; GFX11-TRUE16-LABEL: bitcast_v28f32_to_v56f16:19528; GFX11-TRUE16: ; %bb.0:19529; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19530; GFX11-TRUE16-NEXT: s_mov_b32 s0, exec_lo19531; GFX11-TRUE16-NEXT: v_cmpx_ne_u32_e32 0, v2819532; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s019533; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)19534; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s019535; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB32_219536; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true19537; GFX11-TRUE16-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2619538; GFX11-TRUE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2419539; GFX11-TRUE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2219540; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2019541; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1819542; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1619543; GFX11-TRUE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1419544; GFX11-TRUE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1219545; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1019546; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v819547; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v619548; GFX11-TRUE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v419549; GFX11-TRUE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v219550; GFX11-TRUE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v019551; GFX11-TRUE16-NEXT: .LBB32_2: ; %end19552; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s019553; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]19554;19555; GFX11-FAKE16-LABEL: bitcast_v28f32_to_v56f16:19556; GFX11-FAKE16: ; %bb.0:19557; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19558; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v2819559; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr7119560; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr7019561; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6919562; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6819563; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6719564; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6619565; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6519566; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr6419567; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5519568; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5419569; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5319570; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5219571; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5119572; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr5019573; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4919574; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr4819575; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3919576; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3819577; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3719578; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3619579; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3519580; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3419581; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3319582; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3219583; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3119584; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr3019585; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2919586; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr2819587; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo19588; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)19589; GFX11-FAKE16-NEXT: s_xor_b32 s0, exec_lo, s019590; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB32_219591; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false19592; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2719593; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2619594; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2519595; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2419596; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2319597; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2219598; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2119599; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2019600; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1919601; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1819602; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1719603; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1619604; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1519605; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1419606; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1319607; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1219608; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1119609; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1019610; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v919611; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v819612; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v719613; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v619614; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v519615; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v419616; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v319617; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v219618; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v119619; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v019620; GFX11-FAKE16-NEXT: .LBB32_2: ; %Flow19621; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s019622; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB32_419623; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true19624; GFX11-FAKE16-NEXT: v_dual_add_f32 v27, 1.0, v27 :: v_dual_add_f32 v26, 1.0, v2619625; GFX11-FAKE16-NEXT: v_dual_add_f32 v25, 1.0, v25 :: v_dual_add_f32 v24, 1.0, v2419626; GFX11-FAKE16-NEXT: v_dual_add_f32 v23, 1.0, v23 :: v_dual_add_f32 v22, 1.0, v2219627; GFX11-FAKE16-NEXT: v_dual_add_f32 v21, 1.0, v21 :: v_dual_add_f32 v20, 1.0, v2019628; GFX11-FAKE16-NEXT: v_dual_add_f32 v19, 1.0, v19 :: v_dual_add_f32 v18, 1.0, v1819629; GFX11-FAKE16-NEXT: v_dual_add_f32 v17, 1.0, v17 :: v_dual_add_f32 v16, 1.0, v1619630; GFX11-FAKE16-NEXT: v_dual_add_f32 v15, 1.0, v15 :: v_dual_add_f32 v14, 1.0, v1419631; GFX11-FAKE16-NEXT: v_dual_add_f32 v13, 1.0, v13 :: v_dual_add_f32 v12, 1.0, v1219632; GFX11-FAKE16-NEXT: v_dual_add_f32 v11, 1.0, v11 :: v_dual_add_f32 v10, 1.0, v1019633; GFX11-FAKE16-NEXT: v_dual_add_f32 v9, 1.0, v9 :: v_dual_add_f32 v8, 1.0, v819634; GFX11-FAKE16-NEXT: v_dual_add_f32 v7, 1.0, v7 :: v_dual_add_f32 v6, 1.0, v619635; GFX11-FAKE16-NEXT: v_dual_add_f32 v5, 1.0, v5 :: v_dual_add_f32 v4, 1.0, v419636; GFX11-FAKE16-NEXT: v_dual_add_f32 v3, 1.0, v3 :: v_dual_add_f32 v2, 1.0, v219637; GFX11-FAKE16-NEXT: v_dual_add_f32 v1, 1.0, v1 :: v_dual_add_f32 v0, 1.0, v019638; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v2719639; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v2619640; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v2519641; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v2419642; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v2319643; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v33, 16, v2219644; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v34, 16, v2119645; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v35, 16, v2019646; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 16, v1919647; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 16, v1819648; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 16, v1719649; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1619650; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1519651; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v1419652; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1319653; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v1219654; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1119655; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1019656; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v919657; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v819658; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v719659; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v619660; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v519661; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v419662; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v319663; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v219664; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v119665; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v019666; GFX11-FAKE16-NEXT: .LBB32_4: ; %end19667; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s019668; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)19669; GFX11-FAKE16-NEXT: v_perm_b32 v0, v71, v0, 0x504010019670; GFX11-FAKE16-NEXT: v_perm_b32 v1, v70, v1, 0x504010019671; GFX11-FAKE16-NEXT: v_perm_b32 v2, v69, v2, 0x504010019672; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0x504010019673; GFX11-FAKE16-NEXT: v_perm_b32 v4, v67, v4, 0x504010019674; GFX11-FAKE16-NEXT: v_perm_b32 v5, v66, v5, 0x504010019675; GFX11-FAKE16-NEXT: v_perm_b32 v6, v65, v6, 0x504010019676; GFX11-FAKE16-NEXT: v_perm_b32 v7, v64, v7, 0x504010019677; GFX11-FAKE16-NEXT: v_perm_b32 v8, v55, v8, 0x504010019678; GFX11-FAKE16-NEXT: v_perm_b32 v9, v54, v9, 0x504010019679; GFX11-FAKE16-NEXT: v_perm_b32 v10, v53, v10, 0x504010019680; GFX11-FAKE16-NEXT: v_perm_b32 v11, v52, v11, 0x504010019681; GFX11-FAKE16-NEXT: v_perm_b32 v12, v51, v12, 0x504010019682; GFX11-FAKE16-NEXT: v_perm_b32 v13, v50, v13, 0x504010019683; GFX11-FAKE16-NEXT: v_perm_b32 v14, v49, v14, 0x504010019684; GFX11-FAKE16-NEXT: v_perm_b32 v15, v48, v15, 0x504010019685; GFX11-FAKE16-NEXT: v_perm_b32 v16, v39, v16, 0x504010019686; GFX11-FAKE16-NEXT: v_perm_b32 v17, v38, v17, 0x504010019687; GFX11-FAKE16-NEXT: v_perm_b32 v18, v37, v18, 0x504010019688; GFX11-FAKE16-NEXT: v_perm_b32 v19, v36, v19, 0x504010019689; GFX11-FAKE16-NEXT: v_perm_b32 v20, v35, v20, 0x504010019690; GFX11-FAKE16-NEXT: v_perm_b32 v21, v34, v21, 0x504010019691; GFX11-FAKE16-NEXT: v_perm_b32 v22, v33, v22, 0x504010019692; GFX11-FAKE16-NEXT: v_perm_b32 v23, v32, v23, 0x504010019693; GFX11-FAKE16-NEXT: v_perm_b32 v24, v31, v24, 0x504010019694; GFX11-FAKE16-NEXT: v_perm_b32 v25, v30, v25, 0x504010019695; GFX11-FAKE16-NEXT: v_perm_b32 v26, v29, v26, 0x504010019696; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v27, 0x504010019697; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]19698 %cmp = icmp eq i32 %b, 019699 br i1 %cmp, label %cmp.true, label %cmp.false19700 19701cmp.true:19702 %a1 = fadd <28 x float> %a, splat (float 1.000000e+00)19703 %a2 = bitcast <28 x float> %a1 to <56 x half>19704 br label %end19705 19706cmp.false:19707 %a3 = bitcast <28 x float> %a to <56 x half>19708 br label %end19709 19710end:19711 %phi = phi <56 x half> [ %a2, %cmp.true ], [ %a3, %cmp.false ]19712 ret <56 x half> %phi19713}19714 19715define inreg <56 x half> @bitcast_v28f32_to_v56f16_scalar(<28 x float> inreg %a, i32 inreg %b) {19716; SI-LABEL: bitcast_v28f32_to_v56f16_scalar:19717; SI: ; %bb.0:19718; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)19719; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1519720; SI-NEXT: v_mov_b32_e32 v25, s1619721; SI-NEXT: v_mov_b32_e32 v23, s1719722; SI-NEXT: v_mov_b32_e32 v22, s1819723; SI-NEXT: v_mov_b32_e32 v20, s1919724; SI-NEXT: v_mov_b32_e32 v34, s2019725; SI-NEXT: s_and_b64 s[4:5], vcc, exec19726; SI-NEXT: v_mov_b32_e32 v35, s2119727; SI-NEXT: v_mov_b32_e32 v33, s2219728; SI-NEXT: v_mov_b32_e32 v32, s2319729; SI-NEXT: v_mov_b32_e32 v31, s2419730; SI-NEXT: v_mov_b32_e32 v29, s2519731; SI-NEXT: v_mov_b32_e32 v28, s2619732; SI-NEXT: v_mov_b32_e32 v27, s2719733; SI-NEXT: v_mov_b32_e32 v26, s2819734; SI-NEXT: v_mov_b32_e32 v24, s2919735; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill19736; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill19737; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill19738; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill19739; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill19740; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill19741; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill19742; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill19743; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill19744; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill19745; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill19746; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill19747; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill19748; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill19749; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill19750; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 ; 4-byte Folded Spill19751; SI-NEXT: s_cbranch_scc0 .LBB33_419752; SI-NEXT: ; %bb.1: ; %cmp.false19753; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v1419754; SI-NEXT: v_cvt_f32_f16_e32 v42, v1519755; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v1319756; SI-NEXT: v_cvt_f32_f16_e32 v40, v1519757; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v1219758; SI-NEXT: v_cvt_f32_f16_e32 v54, v1519759; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v1119760; SI-NEXT: v_cvt_f32_f16_e32 v53, v1519761; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v1019762; SI-NEXT: v_cvt_f32_f16_e32 v51, v1519763; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v919764; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519765; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v2519766; SI-NEXT: v_cvt_f32_f16_e32 v17, v1619767; SI-NEXT: v_cvt_f32_f16_e32 v16, v1119768; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill19769; SI-NEXT: s_waitcnt expcnt(0)19770; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v819771; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519772; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill19773; SI-NEXT: s_waitcnt expcnt(0)19774; SI-NEXT: v_cvt_f32_f16_e32 v16, v1019775; SI-NEXT: v_cvt_f32_f16_e32 v37, v1419776; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill19777; SI-NEXT: s_waitcnt expcnt(0)19778; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v719779; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill19780; SI-NEXT: s_waitcnt expcnt(0)19781; SI-NEXT: v_cvt_f32_f16_e32 v16, v919782; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519783; SI-NEXT: v_cvt_f32_f16_e32 v39, v1319784; SI-NEXT: v_cvt_f32_f16_e32 v49, v1219785; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill19786; SI-NEXT: s_waitcnt expcnt(0)19787; SI-NEXT: v_cvt_f32_f16_e32 v16, v819788; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill19789; SI-NEXT: s_waitcnt expcnt(0)19790; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v619791; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519792; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill19793; SI-NEXT: s_waitcnt expcnt(0)19794; SI-NEXT: v_cvt_f32_f16_e32 v16, v719795; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill19796; SI-NEXT: s_waitcnt expcnt(0)19797; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v519798; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519799; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill19800; SI-NEXT: s_waitcnt expcnt(0)19801; SI-NEXT: v_cvt_f32_f16_e32 v16, v619802; SI-NEXT: v_cvt_f32_f16_e32 v44, v2719803; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill19804; SI-NEXT: s_waitcnt expcnt(0)19805; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v419806; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519807; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill19808; SI-NEXT: s_waitcnt expcnt(0)19809; SI-NEXT: v_cvt_f32_f16_e32 v16, v519810; SI-NEXT: v_cvt_f32_f16_e32 v46, v2819811; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill19812; SI-NEXT: s_waitcnt expcnt(0)19813; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v319814; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill19815; SI-NEXT: s_waitcnt expcnt(0)19816; SI-NEXT: v_cvt_f32_f16_e32 v16, v419817; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519818; SI-NEXT: v_cvt_f32_f16_e32 v56, v2919819; SI-NEXT: v_cvt_f32_f16_e32 v58, v3119820; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill19821; SI-NEXT: s_waitcnt expcnt(0)19822; SI-NEXT: v_cvt_f32_f16_e32 v16, v319823; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill19824; SI-NEXT: s_waitcnt expcnt(0)19825; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v219826; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519827; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill19828; SI-NEXT: s_waitcnt expcnt(0)19829; SI-NEXT: v_cvt_f32_f16_e32 v16, v219830; SI-NEXT: v_cvt_f32_f16_e32 v60, v3219831; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill19832; SI-NEXT: s_waitcnt expcnt(0)19833; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v119834; SI-NEXT: v_cvt_f32_f16_e32 v36, v1519835; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2419836; SI-NEXT: v_cvt_f32_f16_e32 v38, v1519837; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2619838; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill19839; SI-NEXT: s_waitcnt expcnt(0)19840; SI-NEXT: v_cvt_f32_f16_e32 v16, v119841; SI-NEXT: v_cvt_f32_f16_e32 v48, v1519842; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2719843; SI-NEXT: v_cvt_f32_f16_e32 v50, v1519844; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2819845; SI-NEXT: v_cvt_f32_f16_e32 v52, v1519846; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2919847; SI-NEXT: v_cvt_f32_f16_e32 v55, v1519848; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v3119849; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill19850; SI-NEXT: s_waitcnt expcnt(0)19851; SI-NEXT: v_cvt_f32_f16_e32 v16, v2419852; SI-NEXT: v_cvt_f32_f16_e32 v41, v1519853; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v3219854; SI-NEXT: v_cvt_f32_f16_e32 v43, v1519855; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v3319856; SI-NEXT: v_cvt_f32_f16_e32 v45, v1519857; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v3519858; SI-NEXT: v_cvt_f32_f16_e32 v47, v1519859; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v3419860; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill19861; SI-NEXT: s_waitcnt expcnt(0)19862; SI-NEXT: v_cvt_f32_f16_e32 v16, v2619863; SI-NEXT: v_cvt_f32_f16_e32 v57, v1519864; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2019865; SI-NEXT: v_cvt_f32_f16_e32 v59, v1519866; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2219867; SI-NEXT: v_cvt_f32_f16_e32 v61, v1519868; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v2319869; SI-NEXT: v_cvt_f32_f16_e32 v15, v1519870; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill19871; SI-NEXT: v_cvt_f32_f16_e32 v62, v3319872; SI-NEXT: v_cvt_f32_f16_e32 v63, v3519873; SI-NEXT: s_waitcnt expcnt(0)19874; SI-NEXT: v_cvt_f32_f16_e32 v16, v3419875; SI-NEXT: v_cvt_f32_f16_e32 v18, v2019876; SI-NEXT: v_cvt_f32_f16_e32 v19, v2219877; SI-NEXT: v_cvt_f32_f16_e32 v21, v2319878; SI-NEXT: v_cvt_f32_f16_e32 v30, v2519879; SI-NEXT: s_cbranch_execnz .LBB33_319880; SI-NEXT: .LBB33_2: ; %cmp.true19881; SI-NEXT: v_add_f32_e32 v1, 1.0, v119882; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v119883; SI-NEXT: v_cvt_f32_f16_e32 v1, v119884; SI-NEXT: v_add_f32_e32 v24, 1.0, v2419885; SI-NEXT: v_add_f32_e32 v26, 1.0, v2619886; SI-NEXT: v_add_f32_e32 v9, 1.0, v919887; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill19888; SI-NEXT: s_waitcnt expcnt(0)19889; SI-NEXT: v_cvt_f32_f16_e32 v1, v2419890; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v919891; SI-NEXT: v_add_f32_e32 v8, 1.0, v819892; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v819893; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill19894; SI-NEXT: s_waitcnt expcnt(0)19895; SI-NEXT: v_cvt_f32_f16_e32 v1, v2619896; SI-NEXT: v_add_f32_e32 v7, 1.0, v719897; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v719898; SI-NEXT: v_add_f32_e32 v6, 1.0, v619899; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill19900; SI-NEXT: s_waitcnt expcnt(0)19901; SI-NEXT: v_cvt_f32_f16_e32 v1, v4919902; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v619903; SI-NEXT: v_add_f32_e32 v5, 1.0, v519904; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v519905; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill19906; SI-NEXT: s_waitcnt expcnt(0)19907; SI-NEXT: v_cvt_f32_f16_e32 v1, v3919908; SI-NEXT: v_add_f32_e32 v4, 1.0, v419909; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v419910; SI-NEXT: v_add_f32_e32 v3, 1.0, v319911; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill19912; SI-NEXT: s_waitcnt expcnt(0)19913; SI-NEXT: v_cvt_f32_f16_e32 v1, v3719914; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v319915; SI-NEXT: v_add_f32_e32 v15, 1.0, v2519916; SI-NEXT: v_add_f32_e32 v21, 1.0, v2319917; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill19918; SI-NEXT: s_waitcnt expcnt(0)19919; SI-NEXT: v_cvt_f32_f16_e32 v1, v6119920; SI-NEXT: v_add_f32_e32 v19, 1.0, v2219921; SI-NEXT: v_add_f32_e32 v18, 1.0, v2019922; SI-NEXT: v_add_f32_e32 v16, 1.0, v3419923; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill19924; SI-NEXT: s_waitcnt expcnt(0)19925; SI-NEXT: v_cvt_f32_f16_e32 v1, v5919926; SI-NEXT: v_add_f32_e32 v30, 1.0, v3519927; SI-NEXT: v_add_f32_e32 v33, 1.0, v3319928; SI-NEXT: v_add_f32_e32 v32, 1.0, v3219929; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill19930; SI-NEXT: s_waitcnt expcnt(0)19931; SI-NEXT: v_cvt_f32_f16_e32 v1, v5719932; SI-NEXT: v_add_f32_e32 v31, 1.0, v3119933; SI-NEXT: v_add_f32_e32 v29, 1.0, v2919934; SI-NEXT: v_add_f32_e32 v28, 1.0, v2819935; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill19936; SI-NEXT: s_waitcnt expcnt(0)19937; SI-NEXT: v_cvt_f32_f16_e32 v1, v4719938; SI-NEXT: v_add_f32_e32 v27, 1.0, v2719939; SI-NEXT: v_add_f32_e32 v2, 1.0, v219940; SI-NEXT: v_add_f32_e32 v10, 1.0, v1019941; SI-NEXT: v_add_f32_e32 v11, 1.0, v1119942; SI-NEXT: v_add_f32_e32 v12, 1.0, v1219943; SI-NEXT: v_add_f32_e32 v13, 1.0, v1319944; SI-NEXT: v_add_f32_e32 v14, 1.0, v1419945; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v1519946; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v2119947; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v1919948; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v1819949; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v1619950; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v3019951; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v3319952; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v3219953; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v3119954; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v2919955; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v2819956; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v2719957; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v2619958; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v2419959; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v219960; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1019961; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v1119962; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v1219963; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v1319964; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v1419965; SI-NEXT: v_cvt_f32_f16_e32 v14, v1419966; SI-NEXT: v_cvt_f32_f16_e32 v13, v1319967; SI-NEXT: v_cvt_f32_f16_e32 v12, v1219968; SI-NEXT: v_cvt_f32_f16_e32 v11, v1119969; SI-NEXT: v_cvt_f32_f16_e32 v10, v1019970; SI-NEXT: v_cvt_f32_f16_e32 v9, v919971; SI-NEXT: v_cvt_f32_f16_e32 v8, v819972; SI-NEXT: v_cvt_f32_f16_e32 v7, v719973; SI-NEXT: v_cvt_f32_f16_e32 v6, v619974; SI-NEXT: v_cvt_f32_f16_e32 v5, v519975; SI-NEXT: v_cvt_f32_f16_e32 v4, v419976; SI-NEXT: v_cvt_f32_f16_e32 v3, v319977; SI-NEXT: v_cvt_f32_f16_e32 v2, v219978; SI-NEXT: v_cvt_f32_f16_e32 v44, v2719979; SI-NEXT: v_cvt_f32_f16_e32 v46, v2819980; SI-NEXT: v_cvt_f32_f16_e32 v56, v2919981; SI-NEXT: v_cvt_f32_f16_e32 v58, v3119982; SI-NEXT: v_cvt_f32_f16_e32 v60, v3219983; SI-NEXT: v_cvt_f32_f16_e32 v62, v3319984; SI-NEXT: v_cvt_f32_f16_e32 v63, v3019985; SI-NEXT: v_cvt_f32_f16_e32 v16, v1619986; SI-NEXT: v_cvt_f32_f16_e32 v18, v1819987; SI-NEXT: v_cvt_f32_f16_e32 v19, v1919988; SI-NEXT: v_cvt_f32_f16_e32 v21, v2119989; SI-NEXT: v_cvt_f32_f16_e32 v30, v1519990; SI-NEXT: v_cvt_f32_f16_e32 v42, v4219991; SI-NEXT: v_cvt_f32_f16_e32 v40, v4019992; SI-NEXT: v_cvt_f32_f16_e32 v54, v5419993; SI-NEXT: v_cvt_f32_f16_e32 v53, v5319994; SI-NEXT: v_cvt_f32_f16_e32 v51, v5119995; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill19996; SI-NEXT: s_waitcnt expcnt(0)19997; SI-NEXT: v_cvt_f32_f16_e32 v1, v4519998; SI-NEXT: v_cvt_f32_f16_e32 v36, v3619999; SI-NEXT: v_cvt_f32_f16_e32 v38, v3820000; SI-NEXT: v_cvt_f32_f16_e32 v48, v4820001; SI-NEXT: v_cvt_f32_f16_e32 v50, v5020002; SI-NEXT: v_cvt_f32_f16_e32 v52, v5220003; SI-NEXT: v_cvt_f32_f16_e32 v55, v5520004; SI-NEXT: v_cvt_f32_f16_e32 v41, v4120005; SI-NEXT: v_cvt_f32_f16_e32 v43, v4320006; SI-NEXT: v_cvt_f32_f16_e32 v45, v3520007; SI-NEXT: v_cvt_f32_f16_e32 v47, v3420008; SI-NEXT: v_cvt_f32_f16_e32 v57, v2520009; SI-NEXT: v_cvt_f32_f16_e32 v59, v2020010; SI-NEXT: v_cvt_f32_f16_e32 v61, v2220011; SI-NEXT: v_cvt_f32_f16_e32 v15, v2320012; SI-NEXT: v_cvt_f32_f16_e32 v17, v1720013; SI-NEXT: v_mov_b32_e32 v49, v1220014; SI-NEXT: v_mov_b32_e32 v39, v1320015; SI-NEXT: v_mov_b32_e32 v37, v1420016; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill20017; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill20018; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill20019; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill20020; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill20021; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill20022; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill20023; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill20024; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill20025; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill20026; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill20027; SI-NEXT: .LBB33_3: ; %end20028; SI-NEXT: s_waitcnt expcnt(0)20029; SI-NEXT: v_cvt_f16_f32_e32 v1, v1720030; SI-NEXT: v_cvt_f16_f32_e32 v2, v3020031; SI-NEXT: v_cvt_f16_f32_e32 v3, v1520032; SI-NEXT: v_cvt_f16_f32_e32 v4, v2120033; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120034; SI-NEXT: v_or_b32_e32 v1, v2, v120035; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v320036; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen20037; SI-NEXT: s_waitcnt expcnt(0)20038; SI-NEXT: v_add_i32_e32 v1, vcc, 4, v020039; SI-NEXT: v_or_b32_e32 v2, v4, v220040; SI-NEXT: buffer_store_dword v2, v1, s[0:3], 0 offen20041; SI-NEXT: v_cvt_f16_f32_e32 v1, v6120042; SI-NEXT: s_waitcnt expcnt(0)20043; SI-NEXT: v_cvt_f16_f32_e32 v2, v1920044; SI-NEXT: v_add_i32_e32 v3, vcc, 8, v020045; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120046; SI-NEXT: v_or_b32_e32 v1, v2, v120047; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20048; SI-NEXT: s_waitcnt expcnt(0)20049; SI-NEXT: v_cvt_f16_f32_e32 v1, v5920050; SI-NEXT: v_cvt_f16_f32_e32 v2, v1820051; SI-NEXT: v_add_i32_e32 v3, vcc, 12, v020052; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120053; SI-NEXT: v_or_b32_e32 v1, v2, v120054; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20055; SI-NEXT: s_waitcnt expcnt(0)20056; SI-NEXT: v_cvt_f16_f32_e32 v1, v5720057; SI-NEXT: v_cvt_f16_f32_e32 v2, v1620058; SI-NEXT: v_add_i32_e32 v3, vcc, 16, v020059; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120060; SI-NEXT: v_or_b32_e32 v1, v2, v120061; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20062; SI-NEXT: s_waitcnt expcnt(0)20063; SI-NEXT: v_cvt_f16_f32_e32 v1, v4720064; SI-NEXT: v_cvt_f16_f32_e32 v2, v6320065; SI-NEXT: v_add_i32_e32 v3, vcc, 20, v020066; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120067; SI-NEXT: v_or_b32_e32 v1, v2, v120068; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20069; SI-NEXT: s_waitcnt expcnt(0)20070; SI-NEXT: v_cvt_f16_f32_e32 v1, v4520071; SI-NEXT: v_cvt_f16_f32_e32 v2, v6220072; SI-NEXT: v_add_i32_e32 v3, vcc, 24, v020073; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120074; SI-NEXT: v_or_b32_e32 v1, v2, v120075; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20076; SI-NEXT: s_waitcnt expcnt(0)20077; SI-NEXT: v_cvt_f16_f32_e32 v1, v4320078; SI-NEXT: v_cvt_f16_f32_e32 v2, v6020079; SI-NEXT: v_add_i32_e32 v3, vcc, 28, v020080; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120081; SI-NEXT: v_or_b32_e32 v1, v2, v120082; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20083; SI-NEXT: s_waitcnt expcnt(0)20084; SI-NEXT: v_cvt_f16_f32_e32 v1, v4120085; SI-NEXT: v_cvt_f16_f32_e32 v2, v5820086; SI-NEXT: v_add_i32_e32 v3, vcc, 32, v020087; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120088; SI-NEXT: v_or_b32_e32 v1, v2, v120089; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20090; SI-NEXT: s_waitcnt expcnt(0)20091; SI-NEXT: v_cvt_f16_f32_e32 v1, v5520092; SI-NEXT: v_cvt_f16_f32_e32 v2, v5620093; SI-NEXT: v_add_i32_e32 v3, vcc, 36, v020094; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120095; SI-NEXT: v_or_b32_e32 v1, v2, v120096; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20097; SI-NEXT: s_waitcnt expcnt(0)20098; SI-NEXT: v_cvt_f16_f32_e32 v1, v5220099; SI-NEXT: v_cvt_f16_f32_e32 v2, v4620100; SI-NEXT: v_add_i32_e32 v3, vcc, 40, v020101; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120102; SI-NEXT: v_or_b32_e32 v1, v2, v120103; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20104; SI-NEXT: s_waitcnt expcnt(0)20105; SI-NEXT: v_cvt_f16_f32_e32 v1, v5020106; SI-NEXT: v_cvt_f16_f32_e32 v2, v4420107; SI-NEXT: v_add_i32_e32 v3, vcc, 44, v020108; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120109; SI-NEXT: v_or_b32_e32 v1, v2, v120110; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20111; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload20112; SI-NEXT: s_waitcnt expcnt(0)20113; SI-NEXT: v_cvt_f16_f32_e32 v1, v4820114; SI-NEXT: v_add_i32_e32 v3, vcc, 48, v020115; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120116; SI-NEXT: s_waitcnt vmcnt(0)20117; SI-NEXT: v_cvt_f16_f32_e32 v2, v220118; SI-NEXT: v_or_b32_e32 v1, v2, v120119; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20120; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload20121; SI-NEXT: s_waitcnt expcnt(0)20122; SI-NEXT: v_cvt_f16_f32_e32 v1, v3820123; SI-NEXT: v_add_i32_e32 v3, vcc, 52, v020124; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120125; SI-NEXT: s_waitcnt vmcnt(0)20126; SI-NEXT: v_cvt_f16_f32_e32 v2, v220127; SI-NEXT: v_or_b32_e32 v1, v2, v120128; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20129; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload20130; SI-NEXT: s_waitcnt expcnt(0)20131; SI-NEXT: v_cvt_f16_f32_e32 v1, v3620132; SI-NEXT: v_add_i32_e32 v3, vcc, 56, v020133; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120134; SI-NEXT: s_waitcnt vmcnt(0)20135; SI-NEXT: v_cvt_f16_f32_e32 v2, v220136; SI-NEXT: v_or_b32_e32 v1, v2, v120137; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20138; SI-NEXT: s_waitcnt expcnt(0)20139; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload20140; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload20141; SI-NEXT: v_add_i32_e32 v3, vcc, 60, v020142; SI-NEXT: s_waitcnt vmcnt(1)20143; SI-NEXT: v_cvt_f16_f32_e32 v1, v120144; SI-NEXT: s_waitcnt vmcnt(0)20145; SI-NEXT: v_cvt_f16_f32_e32 v2, v220146; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120147; SI-NEXT: v_or_b32_e32 v1, v2, v120148; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20149; SI-NEXT: s_waitcnt expcnt(0)20150; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload20151; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload20152; SI-NEXT: v_add_i32_e32 v3, vcc, 64, v020153; SI-NEXT: s_waitcnt vmcnt(1)20154; SI-NEXT: v_cvt_f16_f32_e32 v1, v120155; SI-NEXT: s_waitcnt vmcnt(0)20156; SI-NEXT: v_cvt_f16_f32_e32 v2, v220157; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120158; SI-NEXT: v_or_b32_e32 v1, v2, v120159; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20160; SI-NEXT: s_waitcnt expcnt(0)20161; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload20162; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload20163; SI-NEXT: v_add_i32_e32 v3, vcc, 0x44, v020164; SI-NEXT: s_waitcnt vmcnt(1)20165; SI-NEXT: v_cvt_f16_f32_e32 v1, v120166; SI-NEXT: s_waitcnt vmcnt(0)20167; SI-NEXT: v_cvt_f16_f32_e32 v2, v220168; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120169; SI-NEXT: v_or_b32_e32 v1, v2, v120170; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20171; SI-NEXT: s_waitcnt expcnt(0)20172; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload20173; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload20174; SI-NEXT: v_add_i32_e32 v3, vcc, 0x48, v020175; SI-NEXT: s_waitcnt vmcnt(1)20176; SI-NEXT: v_cvt_f16_f32_e32 v1, v120177; SI-NEXT: s_waitcnt vmcnt(0)20178; SI-NEXT: v_cvt_f16_f32_e32 v2, v220179; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120180; SI-NEXT: v_or_b32_e32 v1, v2, v120181; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20182; SI-NEXT: s_waitcnt expcnt(0)20183; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload20184; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload20185; SI-NEXT: v_add_i32_e32 v3, vcc, 0x4c, v020186; SI-NEXT: s_waitcnt vmcnt(1)20187; SI-NEXT: v_cvt_f16_f32_e32 v1, v120188; SI-NEXT: s_waitcnt vmcnt(0)20189; SI-NEXT: v_cvt_f16_f32_e32 v2, v220190; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120191; SI-NEXT: v_or_b32_e32 v1, v2, v120192; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20193; SI-NEXT: s_waitcnt expcnt(0)20194; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload20195; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload20196; SI-NEXT: v_add_i32_e32 v3, vcc, 0x50, v020197; SI-NEXT: s_waitcnt vmcnt(1)20198; SI-NEXT: v_cvt_f16_f32_e32 v1, v120199; SI-NEXT: s_waitcnt vmcnt(0)20200; SI-NEXT: v_cvt_f16_f32_e32 v2, v220201; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120202; SI-NEXT: v_or_b32_e32 v1, v2, v120203; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20204; SI-NEXT: s_waitcnt expcnt(0)20205; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload20206; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload20207; SI-NEXT: v_add_i32_e32 v3, vcc, 0x54, v020208; SI-NEXT: s_waitcnt vmcnt(1)20209; SI-NEXT: v_cvt_f16_f32_e32 v1, v120210; SI-NEXT: s_waitcnt vmcnt(0)20211; SI-NEXT: v_cvt_f16_f32_e32 v2, v220212; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120213; SI-NEXT: v_or_b32_e32 v1, v2, v120214; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20215; SI-NEXT: s_waitcnt expcnt(0)20216; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload20217; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload20218; SI-NEXT: v_add_i32_e32 v3, vcc, 0x58, v020219; SI-NEXT: s_waitcnt vmcnt(1)20220; SI-NEXT: v_cvt_f16_f32_e32 v1, v120221; SI-NEXT: s_waitcnt vmcnt(0)20222; SI-NEXT: v_cvt_f16_f32_e32 v2, v220223; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120224; SI-NEXT: v_or_b32_e32 v1, v2, v120225; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20226; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload20227; SI-NEXT: s_waitcnt expcnt(0)20228; SI-NEXT: v_cvt_f16_f32_e32 v1, v5120229; SI-NEXT: v_add_i32_e32 v3, vcc, 0x5c, v020230; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120231; SI-NEXT: s_waitcnt vmcnt(0)20232; SI-NEXT: v_cvt_f16_f32_e32 v2, v220233; SI-NEXT: v_or_b32_e32 v1, v2, v120234; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20235; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload20236; SI-NEXT: s_waitcnt expcnt(0)20237; SI-NEXT: v_cvt_f16_f32_e32 v1, v5320238; SI-NEXT: v_add_i32_e32 v3, vcc, 0x60, v020239; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120240; SI-NEXT: s_waitcnt vmcnt(0)20241; SI-NEXT: v_cvt_f16_f32_e32 v2, v220242; SI-NEXT: v_or_b32_e32 v1, v2, v120243; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20244; SI-NEXT: s_waitcnt expcnt(0)20245; SI-NEXT: v_cvt_f16_f32_e32 v1, v5420246; SI-NEXT: v_cvt_f16_f32_e32 v2, v4920247; SI-NEXT: v_add_i32_e32 v3, vcc, 0x64, v020248; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120249; SI-NEXT: v_or_b32_e32 v1, v2, v120250; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20251; SI-NEXT: s_waitcnt expcnt(0)20252; SI-NEXT: v_cvt_f16_f32_e32 v1, v4020253; SI-NEXT: v_cvt_f16_f32_e32 v2, v3920254; SI-NEXT: v_add_i32_e32 v3, vcc, 0x68, v020255; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120256; SI-NEXT: v_or_b32_e32 v1, v2, v120257; SI-NEXT: buffer_store_dword v1, v3, s[0:3], 0 offen20258; SI-NEXT: s_waitcnt expcnt(0)20259; SI-NEXT: v_cvt_f16_f32_e32 v1, v4220260; SI-NEXT: v_cvt_f16_f32_e32 v2, v3720261; SI-NEXT: v_add_i32_e32 v0, vcc, 0x6c, v020262; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v120263; SI-NEXT: v_or_b32_e32 v1, v2, v120264; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen20265; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 ; 4-byte Folded Reload20266; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload20267; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload20268; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload20269; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload20270; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload20271; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload20272; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload20273; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload20274; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload20275; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload20276; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload20277; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload20278; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload20279; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload20280; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload20281; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)20282; SI-NEXT: s_setpc_b64 s[30:31]20283; SI-NEXT: .LBB33_4:20284; SI-NEXT: ; implicit-def: $vgpr3720285; SI-NEXT: ; kill: killed $vgpr3720286; SI-NEXT: ; implicit-def: $vgpr3620287; SI-NEXT: ; kill: killed $vgpr3620288; SI-NEXT: ; implicit-def: $vgpr3720289; SI-NEXT: ; kill: killed $vgpr3720290; SI-NEXT: ; implicit-def: $vgpr3620291; SI-NEXT: ; kill: killed $vgpr3620292; SI-NEXT: ; implicit-def: $vgpr3020293; SI-NEXT: ; implicit-def: $vgpr1720294; SI-NEXT: ; implicit-def: $vgpr2120295; SI-NEXT: ; implicit-def: $vgpr1520296; SI-NEXT: ; implicit-def: $vgpr1920297; SI-NEXT: ; implicit-def: $vgpr6120298; SI-NEXT: ; implicit-def: $vgpr1820299; SI-NEXT: ; implicit-def: $vgpr5920300; SI-NEXT: ; implicit-def: $vgpr1620301; SI-NEXT: ; implicit-def: $vgpr5720302; SI-NEXT: ; implicit-def: $vgpr6320303; SI-NEXT: ; implicit-def: $vgpr4720304; SI-NEXT: ; implicit-def: $vgpr6220305; SI-NEXT: ; implicit-def: $vgpr4520306; SI-NEXT: ; implicit-def: $vgpr6020307; SI-NEXT: ; implicit-def: $vgpr4320308; SI-NEXT: ; implicit-def: $vgpr5820309; SI-NEXT: ; implicit-def: $vgpr4120310; SI-NEXT: ; implicit-def: $vgpr5620311; SI-NEXT: ; implicit-def: $vgpr5520312; SI-NEXT: ; implicit-def: $vgpr4620313; SI-NEXT: ; implicit-def: $vgpr5220314; SI-NEXT: ; implicit-def: $vgpr4420315; SI-NEXT: ; implicit-def: $vgpr5020316; SI-NEXT: ; implicit-def: $vgpr4820317; SI-NEXT: ; implicit-def: $vgpr3820318; SI-NEXT: ; implicit-def: $vgpr5120319; SI-NEXT: ; implicit-def: $vgpr5320320; SI-NEXT: ; implicit-def: $vgpr4920321; SI-NEXT: ; implicit-def: $vgpr5420322; SI-NEXT: ; implicit-def: $vgpr3920323; SI-NEXT: ; implicit-def: $vgpr4020324; SI-NEXT: ; implicit-def: $vgpr4220325; SI-NEXT: ; implicit-def: $vgpr3720326; SI-NEXT: ; kill: killed $vgpr3720327; SI-NEXT: ; implicit-def: $vgpr3620328; SI-NEXT: ; kill: killed $vgpr3620329; SI-NEXT: ; implicit-def: $vgpr3720330; SI-NEXT: ; kill: killed $vgpr3720331; SI-NEXT: ; implicit-def: $vgpr3620332; SI-NEXT: ; implicit-def: $vgpr3720333; SI-NEXT: ; kill: killed $vgpr3720334; SI-NEXT: ; implicit-def: $vgpr3720335; SI-NEXT: ; kill: killed $vgpr3720336; SI-NEXT: ; implicit-def: $vgpr3720337; SI-NEXT: ; kill: killed $vgpr3720338; SI-NEXT: ; implicit-def: $vgpr3720339; SI-NEXT: ; kill: killed $vgpr3720340; SI-NEXT: ; implicit-def: $vgpr3720341; SI-NEXT: ; kill: killed $vgpr3720342; SI-NEXT: ; implicit-def: $vgpr3720343; SI-NEXT: ; kill: killed $vgpr3720344; SI-NEXT: ; implicit-def: $vgpr3720345; SI-NEXT: ; kill: killed $vgpr3720346; SI-NEXT: ; implicit-def: $vgpr3720347; SI-NEXT: ; kill: killed $vgpr3720348; SI-NEXT: ; implicit-def: $vgpr3720349; SI-NEXT: ; kill: killed $vgpr3720350; SI-NEXT: ; implicit-def: $vgpr3720351; SI-NEXT: ; kill: killed $vgpr3720352; SI-NEXT: ; implicit-def: $vgpr3720353; SI-NEXT: ; kill: killed $vgpr3720354; SI-NEXT: ; implicit-def: $vgpr3720355; SI-NEXT: ; kill: killed $vgpr3720356; SI-NEXT: ; implicit-def: $vgpr3720357; SI-NEXT: ; kill: killed $vgpr3720358; SI-NEXT: ; implicit-def: $vgpr3720359; SI-NEXT: ; kill: killed $vgpr3720360; SI-NEXT: ; implicit-def: $vgpr3720361; SI-NEXT: s_branch .LBB33_220362;20363; VI-LABEL: bitcast_v28f32_to_v56f16_scalar:20364; VI: ; %bb.0:20365; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)20366; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1420367; VI-NEXT: v_mov_b32_e32 v20, s1620368; VI-NEXT: v_mov_b32_e32 v18, s1720369; VI-NEXT: v_mov_b32_e32 v17, s1820370; VI-NEXT: v_mov_b32_e32 v16, s1920371; VI-NEXT: v_mov_b32_e32 v15, s2020372; VI-NEXT: v_mov_b32_e32 v26, s2120373; VI-NEXT: s_and_b64 s[4:5], vcc, exec20374; VI-NEXT: v_mov_b32_e32 v27, s2220375; VI-NEXT: v_mov_b32_e32 v25, s2320376; VI-NEXT: v_mov_b32_e32 v24, s2420377; VI-NEXT: v_mov_b32_e32 v23, s2520378; VI-NEXT: v_mov_b32_e32 v22, s2620379; VI-NEXT: v_mov_b32_e32 v21, s2720380; VI-NEXT: v_mov_b32_e32 v19, s2820381; VI-NEXT: v_mov_b32_e32 v14, s2920382; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill20383; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill20384; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill20385; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill20386; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill20387; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill20388; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill20389; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill20390; VI-NEXT: s_cbranch_scc0 .LBB33_420391; VI-NEXT: ; %bb.1: ; %cmp.false20392; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1320393; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1220394; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1120395; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1020396; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v920397; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v820398; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v720399; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v620400; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v520401; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v420402; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v320403; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v220404; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v120405; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v020406; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1420407; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1920408; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v2120409; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v2220410; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2320411; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2420412; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2520413; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2720414; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2620415; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1520416; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v1620417; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1720418; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1820419; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2020420; VI-NEXT: s_cbranch_execnz .LBB33_320421; VI-NEXT: .LBB33_2: ; %cmp.true20422; VI-NEXT: v_add_f32_e32 v13, 1.0, v1320423; VI-NEXT: v_add_f32_e32 v12, 1.0, v1220424; VI-NEXT: v_add_f32_e32 v11, 1.0, v1120425; VI-NEXT: v_add_f32_e32 v10, 1.0, v1020426; VI-NEXT: v_add_f32_e32 v9, 1.0, v920427; VI-NEXT: v_add_f32_e32 v8, 1.0, v820428; VI-NEXT: v_add_f32_e32 v7, 1.0, v720429; VI-NEXT: v_add_f32_e32 v6, 1.0, v620430; VI-NEXT: v_add_f32_e32 v5, 1.0, v520431; VI-NEXT: v_add_f32_e32 v4, 1.0, v420432; VI-NEXT: v_add_f32_e32 v3, 1.0, v320433; VI-NEXT: v_add_f32_e32 v2, 1.0, v220434; VI-NEXT: v_add_f32_e32 v1, 1.0, v120435; VI-NEXT: v_add_f32_e32 v0, 1.0, v020436; VI-NEXT: v_add_f32_e32 v14, 1.0, v1420437; VI-NEXT: v_add_f32_e32 v19, 1.0, v1920438; VI-NEXT: v_add_f32_e32 v21, 1.0, v2120439; VI-NEXT: v_add_f32_e32 v22, 1.0, v2220440; VI-NEXT: v_add_f32_e32 v23, 1.0, v2320441; VI-NEXT: v_add_f32_e32 v24, 1.0, v2420442; VI-NEXT: v_add_f32_e32 v25, 1.0, v2520443; VI-NEXT: v_add_f32_e32 v27, 1.0, v2720444; VI-NEXT: v_add_f32_e32 v26, 1.0, v2620445; VI-NEXT: v_add_f32_e32 v15, 1.0, v1520446; VI-NEXT: v_add_f32_e32 v16, 1.0, v1620447; VI-NEXT: v_add_f32_e32 v17, 1.0, v1720448; VI-NEXT: v_add_f32_e32 v18, 1.0, v1820449; VI-NEXT: v_add_f32_e32 v20, 1.0, v2020450; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v1320451; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v1220452; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1120453; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v1020454; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v920455; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v820456; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v720457; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v620458; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v520459; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v420460; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v320461; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v220462; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v120463; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v020464; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v1420465; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v1920466; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v2120467; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v2220468; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v2320469; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2420470; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v2520471; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v2720472; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v2620473; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v1520474; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v1620475; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v1720476; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v1820477; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v2020478; VI-NEXT: .LBB33_3: ; %end20479; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v2820480; VI-NEXT: v_or_b32_sdwa v28, v20, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20481; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v2920482; VI-NEXT: v_or_b32_sdwa v29, v18, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20483; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v3020484; VI-NEXT: v_or_b32_sdwa v30, v17, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20485; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v3120486; VI-NEXT: v_or_b32_sdwa v31, v16, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20487; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v3220488; VI-NEXT: v_or_b32_sdwa v32, v15, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20489; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3320490; VI-NEXT: v_or_b32_sdwa v33, v26, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20491; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3420492; VI-NEXT: v_or_b32_sdwa v34, v27, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20493; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3520494; VI-NEXT: v_or_b32_sdwa v35, v25, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20495; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3620496; VI-NEXT: v_or_b32_sdwa v36, v24, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20497; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3720498; VI-NEXT: v_or_b32_sdwa v37, v23, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20499; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3820500; VI-NEXT: v_or_b32_sdwa v38, v22, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20501; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v3920502; VI-NEXT: v_or_b32_sdwa v39, v21, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20503; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v4820504; VI-NEXT: v_or_b32_sdwa v48, v19, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20505; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v4920506; VI-NEXT: v_or_b32_sdwa v49, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20507; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v4720508; VI-NEXT: v_or_b32_sdwa v14, v0, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20509; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4620510; VI-NEXT: v_or_b32_sdwa v15, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20511; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4520512; VI-NEXT: v_or_b32_sdwa v16, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20513; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4420514; VI-NEXT: v_or_b32_sdwa v17, v3, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20515; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4320516; VI-NEXT: v_or_b32_sdwa v18, v4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20517; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4220518; VI-NEXT: v_or_b32_sdwa v19, v5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20519; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4120520; VI-NEXT: v_or_b32_sdwa v20, v6, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20521; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v4020522; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 ; 4-byte Folded Reload20523; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload20524; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload20525; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload20526; VI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload20527; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload20528; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload20529; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload20530; VI-NEXT: v_or_b32_sdwa v21, v7, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20531; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5520532; VI-NEXT: v_or_b32_sdwa v22, v8, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20533; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5420534; VI-NEXT: v_or_b32_sdwa v23, v9, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20535; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5320536; VI-NEXT: v_or_b32_sdwa v24, v10, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20537; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5220538; VI-NEXT: v_or_b32_sdwa v25, v11, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20539; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5120540; VI-NEXT: v_or_b32_sdwa v26, v12, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20541; VI-NEXT: v_lshlrev_b32_e32 v0, 16, v5020542; VI-NEXT: v_or_b32_sdwa v27, v13, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD20543; VI-NEXT: v_mov_b32_e32 v0, v2820544; VI-NEXT: v_mov_b32_e32 v1, v2920545; VI-NEXT: v_mov_b32_e32 v2, v3020546; VI-NEXT: v_mov_b32_e32 v3, v3120547; VI-NEXT: v_mov_b32_e32 v4, v3220548; VI-NEXT: v_mov_b32_e32 v5, v3320549; VI-NEXT: v_mov_b32_e32 v6, v3420550; VI-NEXT: v_mov_b32_e32 v7, v3520551; VI-NEXT: v_mov_b32_e32 v8, v3620552; VI-NEXT: v_mov_b32_e32 v9, v3720553; VI-NEXT: v_mov_b32_e32 v10, v3820554; VI-NEXT: v_mov_b32_e32 v11, v3920555; VI-NEXT: v_mov_b32_e32 v12, v4820556; VI-NEXT: v_mov_b32_e32 v13, v4920557; VI-NEXT: s_waitcnt vmcnt(0)20558; VI-NEXT: s_setpc_b64 s[30:31]20559; VI-NEXT: .LBB33_4:20560; VI-NEXT: ; implicit-def: $vgpr2820561; VI-NEXT: ; implicit-def: $vgpr2920562; VI-NEXT: ; implicit-def: $vgpr3020563; VI-NEXT: ; implicit-def: $vgpr3120564; VI-NEXT: ; implicit-def: $vgpr3220565; VI-NEXT: ; implicit-def: $vgpr3320566; VI-NEXT: ; implicit-def: $vgpr3420567; VI-NEXT: ; implicit-def: $vgpr3520568; VI-NEXT: ; implicit-def: $vgpr3620569; VI-NEXT: ; implicit-def: $vgpr3720570; VI-NEXT: ; implicit-def: $vgpr3820571; VI-NEXT: ; implicit-def: $vgpr3920572; VI-NEXT: ; implicit-def: $vgpr4820573; VI-NEXT: ; implicit-def: $vgpr4920574; VI-NEXT: ; implicit-def: $vgpr4720575; VI-NEXT: ; implicit-def: $vgpr4620576; VI-NEXT: ; implicit-def: $vgpr4520577; VI-NEXT: ; implicit-def: $vgpr4420578; VI-NEXT: ; implicit-def: $vgpr4320579; VI-NEXT: ; implicit-def: $vgpr4220580; VI-NEXT: ; implicit-def: $vgpr4120581; VI-NEXT: ; implicit-def: $vgpr4020582; VI-NEXT: ; implicit-def: $vgpr5520583; VI-NEXT: ; implicit-def: $vgpr5420584; VI-NEXT: ; implicit-def: $vgpr5320585; VI-NEXT: ; implicit-def: $vgpr5220586; VI-NEXT: ; implicit-def: $vgpr5120587; VI-NEXT: ; implicit-def: $vgpr5020588; VI-NEXT: s_branch .LBB33_220589;20590; GFX9-LABEL: bitcast_v28f32_to_v56f16_scalar:20591; GFX9: ; %bb.0:20592; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)20593; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v1420594; GFX9-NEXT: v_mov_b32_e32 v20, s1620595; GFX9-NEXT: v_mov_b32_e32 v18, s1720596; GFX9-NEXT: v_mov_b32_e32 v17, s1820597; GFX9-NEXT: v_mov_b32_e32 v16, s1920598; GFX9-NEXT: v_mov_b32_e32 v15, s2020599; GFX9-NEXT: v_mov_b32_e32 v26, s2120600; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec20601; GFX9-NEXT: v_mov_b32_e32 v27, s2220602; GFX9-NEXT: v_mov_b32_e32 v25, s2320603; GFX9-NEXT: v_mov_b32_e32 v24, s2420604; GFX9-NEXT: v_mov_b32_e32 v23, s2520605; GFX9-NEXT: v_mov_b32_e32 v22, s2620606; GFX9-NEXT: v_mov_b32_e32 v21, s2720607; GFX9-NEXT: v_mov_b32_e32 v19, s2820608; GFX9-NEXT: v_mov_b32_e32 v14, s2920609; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill20610; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill20611; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill20612; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill20613; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill20614; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill20615; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill20616; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 ; 4-byte Folded Spill20617; GFX9-NEXT: s_cbranch_scc0 .LBB33_420618; GFX9-NEXT: ; %bb.1: ; %cmp.false20619; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v1320620; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v1220621; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v1120622; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v1020623; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v920624; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v820625; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v720626; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v620627; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v520628; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v420629; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v320630; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v220631; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v120632; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v020633; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1420634; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v1920635; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v2120636; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v2220637; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v2320638; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v2420639; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v2520640; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2720641; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2620642; GFX9-NEXT: v_lshrrev_b32_e32 v32, 16, v1520643; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v1620644; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v1720645; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v1820646; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v2020647; GFX9-NEXT: s_cbranch_execnz .LBB33_320648; GFX9-NEXT: .LBB33_2: ; %cmp.true20649; GFX9-NEXT: v_add_f32_e32 v13, 1.0, v1320650; GFX9-NEXT: v_add_f32_e32 v12, 1.0, v1220651; GFX9-NEXT: v_add_f32_e32 v11, 1.0, v1120652; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v1020653; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v920654; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v820655; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v720656; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v620657; GFFile truncated to the first 1 MiB.