brintos

brintos / llvm-project-archived public Read only

0
0
Text · 554.5 KiB · a71a5bb Raw
12761 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mtriple=amdgcn < %s | FileCheck -check-prefix=GFX6-NOHSA %s3; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri < %s | FileCheck -check-prefix=GFX7-HSA %s4; RUN: llc -mtriple=amdgcn -mcpu=tonga < %s | FileCheck -check-prefix=GFX8-NOHSA %s5; RUN: llc -mtriple=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG %s6; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX12,GFX12-TRUE16 %s7; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX12,GFX12-FAKE16 %s8 9; TODO: NOT AND10define amdgpu_kernel void @constant_load_i8(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {11; GFX6-NOHSA-LABEL: constant_load_i8:12; GFX6-NOHSA:       ; %bb.0: ; %entry13; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x914; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf00015; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -116; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s617; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s718; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)19; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s220; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s321; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 022; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s023; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s124; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)25; GFX6-NOHSA-NEXT:    buffer_store_byte v0, off, s[4:7], 026; GFX6-NOHSA-NEXT:    s_endpgm27;28; GFX7-HSA-LABEL: constant_load_i8:29; GFX7-HSA:       ; %bb.0: ; %entry30; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x031; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1732; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1333; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 834; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)35; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s236; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s337; GFX7-HSA-NEXT:    flat_load_ubyte v2, v[0:1]38; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s039; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s140; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)41; GFX7-HSA-NEXT:    flat_store_byte v[0:1], v242; GFX7-HSA-NEXT:    s_endpgm43;44; GFX8-NOHSA-LABEL: constant_load_i8:45; GFX8-NOHSA:       ; %bb.0: ; %entry46; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x2447; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)48; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s249; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s350; GFX8-NOHSA-NEXT:    flat_load_ubyte v2, v[0:1]51; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s052; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s153; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)54; GFX8-NOHSA-NEXT:    flat_store_byte v[0:1], v255; GFX8-NOHSA-NEXT:    s_endpgm56;57; EG-LABEL: constant_load_i8:58; EG:       ; %bb.0: ; %entry59; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]60; EG-NEXT:    TEX 0 @661; EG-NEXT:    ALU 11, @9, KC0[CB0:0-32], KC1[]62; EG-NEXT:    MEM_RAT MSKOR T0.XW, T1.X63; EG-NEXT:    CF_END64; EG-NEXT:    PAD65; EG-NEXT:    Fetch clause starting at 6:66; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #167; EG-NEXT:    ALU clause starting at 8:68; EG-NEXT:     MOV * T0.X, KC0[2].Z,69; EG-NEXT:    ALU clause starting at 9:70; EG-NEXT:     AND_INT T0.W, KC0[2].Y, literal.x,71; EG-NEXT:     AND_INT * T1.W, T0.X, literal.y,72; EG-NEXT:    3(4.203895e-45), 255(3.573311e-43)73; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,74; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)75; EG-NEXT:     LSHL T0.X, T1.W, PV.W,76; EG-NEXT:     LSHL * T0.W, literal.x, PV.W,77; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)78; EG-NEXT:     MOV T0.Y, 0.0,79; EG-NEXT:     MOV * T0.Z, 0.0,80; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,81; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)82;83; GFX12-TRUE16-LABEL: constant_load_i8:84; GFX12-TRUE16:       ; %bb.0: ; %entry85; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2486; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 087; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x088; GFX12-TRUE16-NEXT:    global_load_d16_u8 v0, v1, s[2:3]89; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x090; GFX12-TRUE16-NEXT:    global_store_b8 v1, v0, s[0:1]91; GFX12-TRUE16-NEXT:    s_endpgm92;93; GFX12-FAKE16-LABEL: constant_load_i8:94; GFX12-FAKE16:       ; %bb.0: ; %entry95; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2496; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 097; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x098; GFX12-FAKE16-NEXT:    global_load_u8 v1, v0, s[2:3]99; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x0100; GFX12-FAKE16-NEXT:    global_store_b8 v0, v1, s[0:1]101; GFX12-FAKE16-NEXT:    s_endpgm102entry:103  %ld = load i8, ptr addrspace(4) %in104  store i8 %ld, ptr addrspace(1) %out105  ret void106}107 108define amdgpu_kernel void @constant_load_v2i8(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {109; GFX6-NOHSA-LABEL: constant_load_v2i8:110; GFX6-NOHSA:       ; %bb.0: ; %entry111; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9112; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000113; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1114; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6115; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7116; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)117; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2118; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3119; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 0120; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0121; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1122; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)123; GFX6-NOHSA-NEXT:    buffer_store_short v0, off, s[4:7], 0124; GFX6-NOHSA-NEXT:    s_endpgm125;126; GFX7-HSA-LABEL: constant_load_v2i8:127; GFX7-HSA:       ; %bb.0: ; %entry128; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0129; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17130; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13131; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8132; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)133; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2134; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s3135; GFX7-HSA-NEXT:    flat_load_ushort v2, v[0:1]136; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0137; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1138; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)139; GFX7-HSA-NEXT:    flat_store_short v[0:1], v2140; GFX7-HSA-NEXT:    s_endpgm141;142; GFX8-NOHSA-LABEL: constant_load_v2i8:143; GFX8-NOHSA:       ; %bb.0: ; %entry144; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24145; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)146; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2147; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s3148; GFX8-NOHSA-NEXT:    flat_load_ushort v2, v[0:1]149; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0150; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1151; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)152; GFX8-NOHSA-NEXT:    flat_store_short v[0:1], v2153; GFX8-NOHSA-NEXT:    s_endpgm154;155; EG-LABEL: constant_load_v2i8:156; EG:       ; %bb.0: ; %entry157; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]158; EG-NEXT:    TEX 0 @6159; EG-NEXT:    ALU 11, @9, KC0[CB0:0-32], KC1[]160; EG-NEXT:    MEM_RAT MSKOR T0.XW, T1.X161; EG-NEXT:    CF_END162; EG-NEXT:    PAD163; EG-NEXT:    Fetch clause starting at 6:164; EG-NEXT:     VTX_READ_16 T0.X, T0.X, 0, #1165; EG-NEXT:    ALU clause starting at 8:166; EG-NEXT:     MOV * T0.X, KC0[2].Z,167; EG-NEXT:    ALU clause starting at 9:168; EG-NEXT:     AND_INT T0.W, KC0[2].Y, literal.x,169; EG-NEXT:     AND_INT * T1.W, T0.X, literal.y,170; EG-NEXT:    3(4.203895e-45), 65535(9.183409e-41)171; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,172; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)173; EG-NEXT:     LSHL T0.X, T1.W, PV.W,174; EG-NEXT:     LSHL * T0.W, literal.x, PV.W,175; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)176; EG-NEXT:     MOV T0.Y, 0.0,177; EG-NEXT:     MOV * T0.Z, 0.0,178; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,179; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)180;181; GFX12-TRUE16-LABEL: constant_load_v2i8:182; GFX12-TRUE16:       ; %bb.0: ; %entry183; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24184; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 0185; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x0186; GFX12-TRUE16-NEXT:    global_load_d16_b16 v0, v1, s[2:3]187; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x0188; GFX12-TRUE16-NEXT:    global_store_b16 v1, v0, s[0:1]189; GFX12-TRUE16-NEXT:    s_endpgm190;191; GFX12-FAKE16-LABEL: constant_load_v2i8:192; GFX12-FAKE16:       ; %bb.0: ; %entry193; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24194; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 0195; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x0196; GFX12-FAKE16-NEXT:    global_load_u16 v1, v0, s[2:3]197; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x0198; GFX12-FAKE16-NEXT:    global_store_b16 v0, v1, s[0:1]199; GFX12-FAKE16-NEXT:    s_endpgm200entry:201  %ld = load <2 x i8>, ptr addrspace(4) %in202  store <2 x i8> %ld, ptr addrspace(1) %out203  ret void204}205 206define amdgpu_kernel void @constant_load_v3i8(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {207; GFX6-NOHSA-LABEL: constant_load_v3i8:208; GFX6-NOHSA:       ; %bb.0: ; %entry209; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9210; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)211; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x0212; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000213; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)214; GFX6-NOHSA-NEXT:    s_lshr_b32 s5, s4, 16215; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1216; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4217; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5218; GFX6-NOHSA-NEXT:    buffer_store_byte v1, off, s[0:3], 0 offset:2219; GFX6-NOHSA-NEXT:    buffer_store_short v0, off, s[0:3], 0220; GFX6-NOHSA-NEXT:    s_endpgm221;222; GFX7-HSA-LABEL: constant_load_v3i8:223; GFX7-HSA:       ; %bb.0: ; %entry224; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0225; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17226; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8227; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13228; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)229; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x0230; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0231; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1232; GFX7-HSA-NEXT:    s_add_u32 s0, s0, 2233; GFX7-HSA-NEXT:    s_addc_u32 s1, s1, 0234; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1235; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s0236; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)237; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s2238; GFX7-HSA-NEXT:    s_lshr_b32 s0, s2, 16239; GFX7-HSA-NEXT:    flat_store_short v[0:1], v4240; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0241; GFX7-HSA-NEXT:    flat_store_byte v[2:3], v0242; GFX7-HSA-NEXT:    s_endpgm243;244; GFX8-NOHSA-LABEL: constant_load_v3i8:245; GFX8-NOHSA:       ; %bb.0: ; %entry246; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24247; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)248; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x0249; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0250; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1251; GFX8-NOHSA-NEXT:    s_add_u32 s0, s0, 2252; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s1, 0253; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s1254; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s0255; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)256; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s2257; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s2, 16258; GFX8-NOHSA-NEXT:    flat_store_short v[0:1], v4259; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0260; GFX8-NOHSA-NEXT:    flat_store_byte v[2:3], v0261; GFX8-NOHSA-NEXT:    s_endpgm262;263; EG-LABEL: constant_load_v3i8:264; EG:       ; %bb.0: ; %entry265; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]266; EG-NEXT:    TEX 0 @6267; EG-NEXT:    ALU 27, @9, KC0[CB0:0-32], KC1[]268; EG-NEXT:    MEM_RAT MSKOR T6.XW, T8.X269; EG-NEXT:    MEM_RAT MSKOR T5.XW, T7.X270; EG-NEXT:    CF_END271; EG-NEXT:    Fetch clause starting at 6:272; EG-NEXT:     VTX_READ_32 T5.X, T5.X, 0, #1273; EG-NEXT:    ALU clause starting at 8:274; EG-NEXT:     MOV * T5.X, KC0[2].Z,275; EG-NEXT:    ALU clause starting at 9:276; EG-NEXT:     MOV * T2.X, T5.X,277; EG-NEXT:     MOV T0.Y, PV.X,278; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,279; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)280; EG-NEXT:     AND_INT T1.W, PV.W, literal.x,281; EG-NEXT:     MOV * T2.W, literal.y,282; EG-NEXT:    3(4.203895e-45), 8(1.121039e-44)283; EG-NEXT:     BFE_UINT T2.W, T0.Y, literal.x, PS,284; EG-NEXT:     LSHL * T1.W, PV.W, literal.y,285; EG-NEXT:    16(2.242078e-44), 3(4.203895e-45)286; EG-NEXT:     LSHL T6.X, PV.W, PS,287; EG-NEXT:     LSHL * T6.W, literal.x, PS,288; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)289; EG-NEXT:     MOV T6.Y, 0.0,290; EG-NEXT:     AND_INT T1.W, KC0[2].Y, literal.x,291; EG-NEXT:     AND_INT * T2.W, T5.X, literal.y,292; EG-NEXT:    3(4.203895e-45), 65535(9.183409e-41)293; EG-NEXT:     LSHL * T1.W, PV.W, literal.x,294; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)295; EG-NEXT:     LSHL T5.X, T2.W, PV.W,296; EG-NEXT:     LSHL * T5.W, literal.x, PV.W,297; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)298; EG-NEXT:     MOV T5.Y, 0.0,299; EG-NEXT:     MOV T6.Z, 0.0,300; EG-NEXT:     MOV * T5.Z, 0.0,301; EG-NEXT:     LSHR T7.X, KC0[2].Y, literal.x,302; EG-NEXT:     LSHR * T8.X, T0.W, literal.x,303; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)304;305; GFX12-LABEL: constant_load_v3i8:306; GFX12:       ; %bb.0: ; %entry307; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24308; GFX12-NEXT:    s_wait_kmcnt 0x0309; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x0310; GFX12-NEXT:    s_wait_kmcnt 0x0311; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s2312; GFX12-NEXT:    s_clause 0x1313; GFX12-NEXT:    global_store_d16_hi_b8 v0, v1, s[0:1] offset:2314; GFX12-NEXT:    global_store_b16 v0, v1, s[0:1]315; GFX12-NEXT:    s_endpgm316entry:317  %ld = load <3 x i8>, ptr addrspace(4) %in318  store <3 x i8> %ld, ptr addrspace(1) %out319  ret void320}321 322define amdgpu_kernel void @constant_load_v4i8(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {323; GFX6-NOHSA-LABEL: constant_load_v4i8:324; GFX6-NOHSA:       ; %bb.0: ; %entry325; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9326; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)327; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x0328; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000329; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1330; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)331; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4332; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[0:3], 0333; GFX6-NOHSA-NEXT:    s_endpgm334;335; GFX7-HSA-LABEL: constant_load_v4i8:336; GFX7-HSA:       ; %bb.0: ; %entry337; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0338; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17339; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13340; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8341; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)342; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x0343; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0344; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1345; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)346; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2347; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v2348; GFX7-HSA-NEXT:    s_endpgm349;350; GFX8-NOHSA-LABEL: constant_load_v4i8:351; GFX8-NOHSA:       ; %bb.0: ; %entry352; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24353; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)354; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x0355; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0356; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1357; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)358; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s2359; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v2360; GFX8-NOHSA-NEXT:    s_endpgm361;362; EG-LABEL: constant_load_v4i8:363; EG:       ; %bb.0: ; %entry364; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]365; EG-NEXT:    TEX 0 @6366; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]367; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1368; EG-NEXT:    CF_END369; EG-NEXT:    PAD370; EG-NEXT:    Fetch clause starting at 6:371; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 0, #1372; EG-NEXT:    ALU clause starting at 8:373; EG-NEXT:     MOV * T0.X, KC0[2].Z,374; EG-NEXT:    ALU clause starting at 9:375; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,376; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)377;378; GFX12-LABEL: constant_load_v4i8:379; GFX12:       ; %bb.0: ; %entry380; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24381; GFX12-NEXT:    s_wait_kmcnt 0x0382; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x0383; GFX12-NEXT:    s_wait_kmcnt 0x0384; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s2385; GFX12-NEXT:    global_store_b32 v0, v1, s[0:1]386; GFX12-NEXT:    s_endpgm387entry:388  %ld = load <4 x i8>, ptr addrspace(4) %in389  store <4 x i8> %ld, ptr addrspace(1) %out390  ret void391}392 393define amdgpu_kernel void @constant_load_v8i8(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {394; GFX6-NOHSA-LABEL: constant_load_v8i8:395; GFX6-NOHSA:       ; %bb.0: ; %entry396; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9397; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)398; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x0399; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000400; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1401; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)402; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4403; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5404; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 0405; GFX6-NOHSA-NEXT:    s_endpgm406;407; GFX7-HSA-LABEL: constant_load_v8i8:408; GFX7-HSA:       ; %bb.0: ; %entry409; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0410; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17411; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13412; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8413; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)414; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x0415; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0416; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1417; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)418; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2419; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s3420; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]421; GFX7-HSA-NEXT:    s_endpgm422;423; GFX8-NOHSA-LABEL: constant_load_v8i8:424; GFX8-NOHSA:       ; %bb.0: ; %entry425; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24426; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)427; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x0428; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0429; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1430; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)431; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s2432; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s3433; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]434; GFX8-NOHSA-NEXT:    s_endpgm435;436; EG-LABEL: constant_load_v8i8:437; EG:       ; %bb.0: ; %entry438; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]439; EG-NEXT:    TEX 0 @6440; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]441; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 1442; EG-NEXT:    CF_END443; EG-NEXT:    PAD444; EG-NEXT:    Fetch clause starting at 6:445; EG-NEXT:     VTX_READ_64 T0.XY, T0.X, 0, #1446; EG-NEXT:    ALU clause starting at 8:447; EG-NEXT:     MOV * T0.X, KC0[2].Z,448; EG-NEXT:    ALU clause starting at 9:449; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,450; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)451;452; GFX12-LABEL: constant_load_v8i8:453; GFX12:       ; %bb.0: ; %entry454; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24455; GFX12-NEXT:    s_wait_kmcnt 0x0456; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x0457; GFX12-NEXT:    v_mov_b32_e32 v2, 0458; GFX12-NEXT:    s_wait_kmcnt 0x0459; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v1, s3460; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]461; GFX12-NEXT:    s_endpgm462entry:463  %ld = load <8 x i8>, ptr addrspace(4) %in464  store <8 x i8> %ld, ptr addrspace(1) %out465  ret void466}467 468define amdgpu_kernel void @constant_load_v16i8(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {469; GFX6-NOHSA-LABEL: constant_load_v16i8:470; GFX6-NOHSA:       ; %bb.0: ; %entry471; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9472; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)473; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0474; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000475; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1476; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)477; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4478; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5479; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s6480; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s7481; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0482; GFX6-NOHSA-NEXT:    s_endpgm483;484; GFX7-HSA-LABEL: constant_load_v16i8:485; GFX7-HSA:       ; %bb.0: ; %entry486; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0487; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17488; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13489; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8490; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)491; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0492; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s0493; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s1494; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)495; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4496; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5497; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6498; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s7499; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]500; GFX7-HSA-NEXT:    s_endpgm501;502; GFX8-NOHSA-LABEL: constant_load_v16i8:503; GFX8-NOHSA:       ; %bb.0: ; %entry504; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24505; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)506; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0507; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s0508; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s1509; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)510; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s4511; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s5512; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s6513; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s7514; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]515; GFX8-NOHSA-NEXT:    s_endpgm516;517; EG-LABEL: constant_load_v16i8:518; EG:       ; %bb.0: ; %entry519; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]520; EG-NEXT:    TEX 0 @6521; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]522; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XYZW, T1.X, 1523; EG-NEXT:    CF_END524; EG-NEXT:    PAD525; EG-NEXT:    Fetch clause starting at 6:526; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #1527; EG-NEXT:    ALU clause starting at 8:528; EG-NEXT:     MOV * T0.X, KC0[2].Z,529; EG-NEXT:    ALU clause starting at 9:530; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,531; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)532;533; GFX12-LABEL: constant_load_v16i8:534; GFX12:       ; %bb.0: ; %entry535; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24536; GFX12-NEXT:    s_wait_kmcnt 0x0537; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x0538; GFX12-NEXT:    v_mov_b32_e32 v4, 0539; GFX12-NEXT:    s_wait_kmcnt 0x0540; GFX12-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, s7541; GFX12-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s6542; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]543; GFX12-NEXT:    s_endpgm544entry:545  %ld = load <16 x i8>, ptr addrspace(4) %in546  store <16 x i8> %ld, ptr addrspace(1) %out547  ret void548}549 550define amdgpu_kernel void @constant_zextload_i8_to_i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {551; GFX6-NOHSA-LABEL: constant_zextload_i8_to_i32:552; GFX6-NOHSA:       ; %bb.0:553; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9554; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000555; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1556; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6557; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7558; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)559; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2560; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3561; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 0562; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0563; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1564; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)565; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[4:7], 0566; GFX6-NOHSA-NEXT:    s_endpgm567;568; GFX7-HSA-LABEL: constant_zextload_i8_to_i32:569; GFX7-HSA:       ; %bb.0:570; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0571; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17572; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13573; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8574; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)575; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2576; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s3577; GFX7-HSA-NEXT:    flat_load_ubyte v2, v[0:1]578; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0579; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1580; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)581; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v2582; GFX7-HSA-NEXT:    s_endpgm583;584; GFX8-NOHSA-LABEL: constant_zextload_i8_to_i32:585; GFX8-NOHSA:       ; %bb.0:586; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24587; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)588; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2589; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s3590; GFX8-NOHSA-NEXT:    flat_load_ubyte v2, v[0:1]591; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0592; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1593; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)594; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v2595; GFX8-NOHSA-NEXT:    s_endpgm596;597; EG-LABEL: constant_zextload_i8_to_i32:598; EG:       ; %bb.0:599; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]600; EG-NEXT:    TEX 0 @6601; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]602; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1603; EG-NEXT:    CF_END604; EG-NEXT:    PAD605; EG-NEXT:    Fetch clause starting at 6:606; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #1607; EG-NEXT:    ALU clause starting at 8:608; EG-NEXT:     MOV * T0.X, KC0[2].Z,609; EG-NEXT:    ALU clause starting at 9:610; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,611; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)612;613; GFX12-LABEL: constant_zextload_i8_to_i32:614; GFX12:       ; %bb.0:615; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24616; GFX12-NEXT:    s_wait_kmcnt 0x0617; GFX12-NEXT:    s_load_u8 s2, s[2:3], 0x0618; GFX12-NEXT:    s_wait_kmcnt 0x0619; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s2620; GFX12-NEXT:    global_store_b32 v0, v1, s[0:1]621; GFX12-NEXT:    s_endpgm622  %a = load i8, ptr addrspace(4) %in623  %ext = zext i8 %a to i32624  store i32 %ext, ptr addrspace(1) %out625  ret void626}627 628define amdgpu_kernel void @constant_sextload_i8_to_i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {629; GFX6-NOHSA-LABEL: constant_sextload_i8_to_i32:630; GFX6-NOHSA:       ; %bb.0:631; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9632; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000633; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1634; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6635; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7636; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)637; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2638; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3639; GFX6-NOHSA-NEXT:    buffer_load_sbyte v0, off, s[8:11], 0640; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0641; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1642; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)643; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[4:7], 0644; GFX6-NOHSA-NEXT:    s_endpgm645;646; GFX7-HSA-LABEL: constant_sextload_i8_to_i32:647; GFX7-HSA:       ; %bb.0:648; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0649; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17650; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13651; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8652; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)653; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2654; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s3655; GFX7-HSA-NEXT:    flat_load_sbyte v2, v[0:1]656; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0657; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1658; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)659; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v2660; GFX7-HSA-NEXT:    s_endpgm661;662; GFX8-NOHSA-LABEL: constant_sextload_i8_to_i32:663; GFX8-NOHSA:       ; %bb.0:664; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24665; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)666; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2667; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s3668; GFX8-NOHSA-NEXT:    flat_load_sbyte v2, v[0:1]669; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0670; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1671; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)672; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v2673; GFX8-NOHSA-NEXT:    s_endpgm674;675; EG-LABEL: constant_sextload_i8_to_i32:676; EG:       ; %bb.0:677; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]678; EG-NEXT:    TEX 0 @6679; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]680; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1681; EG-NEXT:    CF_END682; EG-NEXT:    PAD683; EG-NEXT:    Fetch clause starting at 6:684; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #1685; EG-NEXT:    ALU clause starting at 8:686; EG-NEXT:     MOV * T0.X, KC0[2].Z,687; EG-NEXT:    ALU clause starting at 9:688; EG-NEXT:     BFE_INT T0.X, T0.X, 0.0, literal.x,689; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.y,690; EG-NEXT:    8(1.121039e-44), 2(2.802597e-45)691;692; GFX12-LABEL: constant_sextload_i8_to_i32:693; GFX12:       ; %bb.0:694; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24695; GFX12-NEXT:    s_wait_kmcnt 0x0696; GFX12-NEXT:    s_load_i8 s2, s[2:3], 0x0697; GFX12-NEXT:    s_wait_kmcnt 0x0698; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s2699; GFX12-NEXT:    global_store_b32 v0, v1, s[0:1]700; GFX12-NEXT:    s_endpgm701  %ld = load i8, ptr addrspace(4) %in702  %ext = sext i8 %ld to i32703  store i32 %ext, ptr addrspace(1) %out704  ret void705}706 707define amdgpu_kernel void @constant_zextload_v1i8_to_v1i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {708; GFX6-NOHSA-LABEL: constant_zextload_v1i8_to_v1i32:709; GFX6-NOHSA:       ; %bb.0:710; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9711; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000712; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1713; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6714; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7715; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)716; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2717; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3718; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 0719; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0720; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1721; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)722; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[4:7], 0723; GFX6-NOHSA-NEXT:    s_endpgm724;725; GFX7-HSA-LABEL: constant_zextload_v1i8_to_v1i32:726; GFX7-HSA:       ; %bb.0:727; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0728; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17729; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13730; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8731; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)732; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2733; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s3734; GFX7-HSA-NEXT:    flat_load_ubyte v2, v[0:1]735; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0736; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1737; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)738; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v2739; GFX7-HSA-NEXT:    s_endpgm740;741; GFX8-NOHSA-LABEL: constant_zextload_v1i8_to_v1i32:742; GFX8-NOHSA:       ; %bb.0:743; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24744; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)745; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2746; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s3747; GFX8-NOHSA-NEXT:    flat_load_ubyte v2, v[0:1]748; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0749; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1750; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)751; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v2752; GFX8-NOHSA-NEXT:    s_endpgm753;754; EG-LABEL: constant_zextload_v1i8_to_v1i32:755; EG:       ; %bb.0:756; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]757; EG-NEXT:    TEX 0 @6758; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]759; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1760; EG-NEXT:    CF_END761; EG-NEXT:    PAD762; EG-NEXT:    Fetch clause starting at 6:763; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #1764; EG-NEXT:    ALU clause starting at 8:765; EG-NEXT:     MOV * T0.X, KC0[2].Z,766; EG-NEXT:    ALU clause starting at 9:767; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,768; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)769;770; GFX12-LABEL: constant_zextload_v1i8_to_v1i32:771; GFX12:       ; %bb.0:772; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24773; GFX12-NEXT:    s_wait_kmcnt 0x0774; GFX12-NEXT:    s_load_u8 s2, s[2:3], 0x0775; GFX12-NEXT:    s_wait_kmcnt 0x0776; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s2777; GFX12-NEXT:    global_store_b32 v0, v1, s[0:1]778; GFX12-NEXT:    s_endpgm779  %load = load <1 x i8>, ptr addrspace(4) %in780  %ext = zext <1 x i8> %load to <1 x i32>781  store <1 x i32> %ext, ptr addrspace(1) %out782  ret void783}784 785define amdgpu_kernel void @constant_sextload_v1i8_to_v1i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {786; GFX6-NOHSA-LABEL: constant_sextload_v1i8_to_v1i32:787; GFX6-NOHSA:       ; %bb.0:788; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9789; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000790; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1791; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6792; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7793; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)794; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2795; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3796; GFX6-NOHSA-NEXT:    buffer_load_sbyte v0, off, s[8:11], 0797; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0798; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1799; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)800; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[4:7], 0801; GFX6-NOHSA-NEXT:    s_endpgm802;803; GFX7-HSA-LABEL: constant_sextload_v1i8_to_v1i32:804; GFX7-HSA:       ; %bb.0:805; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0806; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17807; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13808; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8809; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)810; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2811; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s3812; GFX7-HSA-NEXT:    flat_load_sbyte v2, v[0:1]813; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0814; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1815; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)816; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v2817; GFX7-HSA-NEXT:    s_endpgm818;819; GFX8-NOHSA-LABEL: constant_sextload_v1i8_to_v1i32:820; GFX8-NOHSA:       ; %bb.0:821; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24822; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)823; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2824; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s3825; GFX8-NOHSA-NEXT:    flat_load_sbyte v2, v[0:1]826; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0827; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1828; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)829; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v2830; GFX8-NOHSA-NEXT:    s_endpgm831;832; EG-LABEL: constant_sextload_v1i8_to_v1i32:833; EG:       ; %bb.0:834; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]835; EG-NEXT:    TEX 0 @6836; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]837; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1838; EG-NEXT:    CF_END839; EG-NEXT:    PAD840; EG-NEXT:    Fetch clause starting at 6:841; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #1842; EG-NEXT:    ALU clause starting at 8:843; EG-NEXT:     MOV * T0.X, KC0[2].Z,844; EG-NEXT:    ALU clause starting at 9:845; EG-NEXT:     BFE_INT T0.X, T0.X, 0.0, literal.x,846; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.y,847; EG-NEXT:    8(1.121039e-44), 2(2.802597e-45)848;849; GFX12-LABEL: constant_sextload_v1i8_to_v1i32:850; GFX12:       ; %bb.0:851; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24852; GFX12-NEXT:    s_wait_kmcnt 0x0853; GFX12-NEXT:    s_load_i8 s2, s[2:3], 0x0854; GFX12-NEXT:    s_wait_kmcnt 0x0855; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s2856; GFX12-NEXT:    global_store_b32 v0, v1, s[0:1]857; GFX12-NEXT:    s_endpgm858  %load = load <1 x i8>, ptr addrspace(4) %in859  %ext = sext <1 x i8> %load to <1 x i32>860  store <1 x i32> %ext, ptr addrspace(1) %out861  ret void862}863 864; TODO: This should use DST, but for some there are redundant MOVs865define amdgpu_kernel void @constant_zextload_v2i8_to_v2i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {866; GFX6-NOHSA-LABEL: constant_zextload_v2i8_to_v2i32:867; GFX6-NOHSA:       ; %bb.0:868; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9869; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000870; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1871; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6872; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7873; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)874; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2875; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3876; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 0877; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0878; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1879; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)880; GFX6-NOHSA-NEXT:    v_lshrrev_b32_e32 v1, 8, v0881; GFX6-NOHSA-NEXT:    v_and_b32_e32 v0, 0xff, v0882; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 0883; GFX6-NOHSA-NEXT:    s_endpgm884;885; GFX7-HSA-LABEL: constant_zextload_v2i8_to_v2i32:886; GFX7-HSA:       ; %bb.0:887; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0888; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17889; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13890; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8891; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)892; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2893; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s3894; GFX7-HSA-NEXT:    flat_load_ushort v2, v[0:1]895; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0896; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1897; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)898; GFX7-HSA-NEXT:    v_lshrrev_b32_e32 v3, 8, v2899; GFX7-HSA-NEXT:    v_and_b32_e32 v2, 0xff, v2900; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]901; GFX7-HSA-NEXT:    s_endpgm902;903; GFX8-NOHSA-LABEL: constant_zextload_v2i8_to_v2i32:904; GFX8-NOHSA:       ; %bb.0:905; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24906; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, 8907; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)908; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2909; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s3910; GFX8-NOHSA-NEXT:    flat_load_ushort v2, v[0:1]911; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0912; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1913; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)914; GFX8-NOHSA-NEXT:    v_lshrrev_b32_sdwa v3, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0915; GFX8-NOHSA-NEXT:    v_and_b32_e32 v2, 0xff, v2916; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]917; GFX8-NOHSA-NEXT:    s_endpgm918;919; EG-LABEL: constant_zextload_v2i8_to_v2i32:920; EG:       ; %bb.0:921; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]922; EG-NEXT:    TEX 0 @6923; EG-NEXT:    ALU 12, @10, KC0[CB0:0-32], KC1[]924; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XY, T5.X, 1925; EG-NEXT:    CF_END926; EG-NEXT:    PAD927; EG-NEXT:    Fetch clause starting at 6:928; EG-NEXT:     VTX_READ_16 T4.X, T4.X, 0, #1929; EG-NEXT:    ALU clause starting at 8:930; EG-NEXT:     MOV * T0.Y, T2.X,931; EG-NEXT:     MOV * T4.X, KC0[2].Z,932; EG-NEXT:    ALU clause starting at 10:933; EG-NEXT:     AND_INT T0.W, T4.X, literal.x,934; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,935; EG-NEXT:    65535(9.183409e-41), -65536(nan)936; EG-NEXT:     OR_INT * T0.W, PS, PV.W,937; EG-NEXT:     MOV * T2.X, PV.W,938; EG-NEXT:     MOV T0.Y, PV.X,939; EG-NEXT:     MOV * T1.W, literal.x,940; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)941; EG-NEXT:     BFE_UINT * T4.Y, PV.Y, literal.x, PV.W,942; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)943; EG-NEXT:     AND_INT T4.X, T0.W, literal.x,944; EG-NEXT:     LSHR * T5.X, KC0[2].Y, literal.y,945; EG-NEXT:    255(3.573311e-43), 2(2.802597e-45)946;947; GFX12-TRUE16-LABEL: constant_zextload_v2i8_to_v2i32:948; GFX12-TRUE16:       ; %bb.0:949; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24950; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v2, 0951; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x0952; GFX12-TRUE16-NEXT:    global_load_d16_b16 v0, v2, s[2:3]953; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x0954; GFX12-TRUE16-NEXT:    v_and_b32_e32 v1, 0xffff, v0955; GFX12-TRUE16-NEXT:    v_and_b32_e32 v0, 0xff, v0956; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)957; GFX12-TRUE16-NEXT:    v_lshrrev_b32_e32 v1, 8, v1958; GFX12-TRUE16-NEXT:    global_store_b64 v2, v[0:1], s[0:1]959; GFX12-TRUE16-NEXT:    s_endpgm960;961; GFX12-FAKE16-LABEL: constant_zextload_v2i8_to_v2i32:962; GFX12-FAKE16:       ; %bb.0:963; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24964; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v2, 0965; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x0966; GFX12-FAKE16-NEXT:    global_load_u16 v0, v2, s[2:3]967; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x0968; GFX12-FAKE16-NEXT:    v_and_b32_e32 v1, 0xffff, v0969; GFX12-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v0970; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)971; GFX12-FAKE16-NEXT:    v_lshrrev_b32_e32 v1, 8, v1972; GFX12-FAKE16-NEXT:    global_store_b64 v2, v[0:1], s[0:1]973; GFX12-FAKE16-NEXT:    s_endpgm974  %load = load <2 x i8>, ptr addrspace(4) %in975  %ext = zext <2 x i8> %load to <2 x i32>976  store <2 x i32> %ext, ptr addrspace(1) %out977  ret void978}979 980; TODO: These should use DST, but for some there are redundant MOVs981define amdgpu_kernel void @constant_sextload_v2i8_to_v2i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {982; GFX6-NOHSA-LABEL: constant_sextload_v2i8_to_v2i32:983; GFX6-NOHSA:       ; %bb.0:984; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9985; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf000986; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -1987; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s6988; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s7989; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)990; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s2991; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s3992; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 0993; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s0994; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1995; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)996; GFX6-NOHSA-NEXT:    v_bfe_i32 v1, v0, 8, 8997; GFX6-NOHSA-NEXT:    v_bfe_i32 v0, v0, 0, 8998; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 0999; GFX6-NOHSA-NEXT:    s_endpgm1000;1001; GFX7-HSA-LABEL: constant_sextload_v2i8_to_v2i32:1002; GFX7-HSA:       ; %bb.0:1003; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01004; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171005; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131006; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81007; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1008; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s21009; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s31010; GFX7-HSA-NEXT:    flat_load_ushort v2, v[0:1]1011; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01012; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11013; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)1014; GFX7-HSA-NEXT:    v_bfe_i32 v3, v2, 8, 81015; GFX7-HSA-NEXT:    v_bfe_i32 v2, v2, 0, 81016; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1017; GFX7-HSA-NEXT:    s_endpgm1018;1019; GFX8-NOHSA-LABEL: constant_sextload_v2i8_to_v2i32:1020; GFX8-NOHSA:       ; %bb.0:1021; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241022; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1023; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s21024; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s31025; GFX8-NOHSA-NEXT:    flat_load_ushort v2, v[0:1]1026; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01027; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11028; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)1029; GFX8-NOHSA-NEXT:    v_bfe_i32 v3, v2, 8, 81030; GFX8-NOHSA-NEXT:    v_bfe_i32 v2, v2, 0, 81031; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1032; GFX8-NOHSA-NEXT:    s_endpgm1033;1034; EG-LABEL: constant_sextload_v2i8_to_v2i32:1035; EG:       ; %bb.0:1036; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]1037; EG-NEXT:    TEX 0 @61038; EG-NEXT:    ALU 11, @10, KC0[CB0:0-32], KC1[]1039; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XY, T5.X, 11040; EG-NEXT:    CF_END1041; EG-NEXT:    PAD1042; EG-NEXT:    Fetch clause starting at 6:1043; EG-NEXT:     VTX_READ_16 T4.X, T4.X, 0, #11044; EG-NEXT:    ALU clause starting at 8:1045; EG-NEXT:     MOV * T0.Y, T2.X,1046; EG-NEXT:     MOV * T4.X, KC0[2].Z,1047; EG-NEXT:    ALU clause starting at 10:1048; EG-NEXT:     AND_INT T0.W, T4.X, literal.x,1049; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,1050; EG-NEXT:    65535(9.183409e-41), -65536(nan)1051; EG-NEXT:     OR_INT * T0.W, PS, PV.W,1052; EG-NEXT:     MOV * T2.X, PV.W,1053; EG-NEXT:     MOV * T0.Y, PV.X,1054; EG-NEXT:     BFE_INT T4.X, T0.W, 0.0, literal.x,1055; EG-NEXT:     LSHR T0.W, PV.Y, literal.x,1056; EG-NEXT:     LSHR * T5.X, KC0[2].Y, literal.y,1057; EG-NEXT:    8(1.121039e-44), 2(2.802597e-45)1058; EG-NEXT:     BFE_INT * T4.Y, PV.W, 0.0, literal.x,1059; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1060;1061; GFX12-LABEL: constant_sextload_v2i8_to_v2i32:1062; GFX12:       ; %bb.0:1063; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241064; GFX12-NEXT:    s_wait_kmcnt 0x01065; GFX12-NEXT:    s_load_u16 s2, s[2:3], 0x01066; GFX12-NEXT:    s_wait_kmcnt 0x01067; GFX12-NEXT:    s_sext_i32_i8 s3, s21068; GFX12-NEXT:    s_bfe_i32 s2, s2, 0x800081069; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)1070; GFX12-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s21071; GFX12-NEXT:    v_mov_b32_e32 v0, s31072; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]1073; GFX12-NEXT:    s_endpgm1074  %load = load <2 x i8>, ptr addrspace(4) %in1075  %ext = sext <2 x i8> %load to <2 x i32>1076  store <2 x i32> %ext, ptr addrspace(1) %out1077  ret void1078}1079 1080; TODO: These should use DST, but for some there are redundant MOVs1081define amdgpu_kernel void @constant_zextload_v3i8_to_v3i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1082; GFX6-NOHSA-LABEL: constant_zextload_v3i8_to_v3i32:1083; GFX6-NOHSA:       ; %bb.0: ; %entry1084; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91085; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1086; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x01087; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001088; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11089; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1090; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s4, 0x800081091; GFX6-NOHSA-NEXT:    s_bfe_u32 s6, s4, 0x800101092; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xff1093; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s61094; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[0:3], 0 offset:81095; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1096; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41097; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51098; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 01099; GFX6-NOHSA-NEXT:    s_endpgm1100;1101; GFX7-HSA-LABEL: constant_zextload_v3i8_to_v3i32:1102; GFX7-HSA:       ; %bb.0: ; %entry1103; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01104; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171105; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131106; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81107; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1108; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01109; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01110; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s11111; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1112; GFX7-HSA-NEXT:    s_bfe_u32 s0, s2, 0x800081113; GFX7-HSA-NEXT:    s_and_b32 s1, s2, 0xff1114; GFX7-HSA-NEXT:    s_bfe_u32 s2, s2, 0x800101115; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s11116; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s01117; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21118; GFX7-HSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]1119; GFX7-HSA-NEXT:    s_endpgm1120;1121; GFX8-NOHSA-LABEL: constant_zextload_v3i8_to_v3i32:1122; GFX8-NOHSA:       ; %bb.0: ; %entry1123; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241124; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1125; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01126; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01127; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s11128; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1129; GFX8-NOHSA-NEXT:    s_bfe_u32 s0, s2, 0x800081130; GFX8-NOHSA-NEXT:    s_and_b32 s1, s2, 0xff1131; GFX8-NOHSA-NEXT:    s_bfe_u32 s2, s2, 0x800101132; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s11133; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s01134; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21135; GFX8-NOHSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]1136; GFX8-NOHSA-NEXT:    s_endpgm1137;1138; EG-LABEL: constant_zextload_v3i8_to_v3i32:1139; EG:       ; %bb.0: ; %entry1140; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1141; EG-NEXT:    TEX 0 @61142; EG-NEXT:    ALU 11, @9, KC0[CB0:0-32], KC1[]1143; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.X, T7.X, 01144; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XY, T6.X, 11145; EG-NEXT:    CF_END1146; EG-NEXT:    Fetch clause starting at 6:1147; EG-NEXT:     VTX_READ_32 T4.X, T4.X, 0, #11148; EG-NEXT:    ALU clause starting at 8:1149; EG-NEXT:     MOV * T4.X, KC0[2].Z,1150; EG-NEXT:    ALU clause starting at 9:1151; EG-NEXT:     MOV * T0.W, literal.x,1152; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1153; EG-NEXT:     BFE_UINT * T5.Y, T4.X, literal.x, PV.W,1154; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1155; EG-NEXT:     AND_INT T5.X, T4.X, literal.x,1156; EG-NEXT:     LSHR * T6.X, KC0[2].Y, literal.y,1157; EG-NEXT:    255(3.573311e-43), 2(2.802597e-45)1158; EG-NEXT:     BFE_UINT T4.X, T4.X, literal.x, T0.W,1159; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,1160; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)1161; EG-NEXT:     LSHR * T7.X, PV.W, literal.x,1162; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1163;1164; GFX12-LABEL: constant_zextload_v3i8_to_v3i32:1165; GFX12:       ; %bb.0: ; %entry1166; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241167; GFX12-NEXT:    s_wait_kmcnt 0x01168; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01169; GFX12-NEXT:    s_wait_kmcnt 0x01170; GFX12-NEXT:    s_bfe_u32 s3, s2, 0x800081171; GFX12-NEXT:    s_and_b32 s4, s2, 0xff1172; GFX12-NEXT:    s_bfe_u32 s2, s2, 0x800101173; GFX12-NEXT:    v_dual_mov_b32 v3, 0 :: v_dual_mov_b32 v0, s41174; GFX12-NEXT:    v_dual_mov_b32 v1, s3 :: v_dual_mov_b32 v2, s21175; GFX12-NEXT:    global_store_b96 v3, v[0:2], s[0:1]1176; GFX12-NEXT:    s_endpgm1177entry:1178  %ld = load <3 x i8>, ptr addrspace(4) %in1179  %ext = zext <3 x i8> %ld to <3 x i32>1180  store <3 x i32> %ext, ptr addrspace(1) %out1181  ret void1182}1183 1184; TODO: These should use DST, but for some there are redundant MOVs1185define amdgpu_kernel void @constant_sextload_v3i8_to_v3i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1186; GFX6-NOHSA-LABEL: constant_sextload_v3i8_to_v3i32:1187; GFX6-NOHSA:       ; %bb.0: ; %entry1188; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91189; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1190; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x01191; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001192; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11193; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1194; GFX6-NOHSA-NEXT:    s_bfe_i32 s5, s4, 0x800081195; GFX6-NOHSA-NEXT:    s_bfe_i32 s6, s4, 0x800101196; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s41197; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s61198; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[0:3], 0 offset:81199; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1200; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41201; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51202; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 01203; GFX6-NOHSA-NEXT:    s_endpgm1204;1205; GFX7-HSA-LABEL: constant_sextload_v3i8_to_v3i32:1206; GFX7-HSA:       ; %bb.0: ; %entry1207; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01208; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171209; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131210; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81211; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1212; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01213; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01214; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s11215; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1216; GFX7-HSA-NEXT:    s_bfe_i32 s0, s2, 0x800101217; GFX7-HSA-NEXT:    s_bfe_i32 s1, s2, 0x800081218; GFX7-HSA-NEXT:    s_sext_i32_i8 s2, s21219; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s21220; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11221; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s01222; GFX7-HSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]1223; GFX7-HSA-NEXT:    s_endpgm1224;1225; GFX8-NOHSA-LABEL: constant_sextload_v3i8_to_v3i32:1226; GFX8-NOHSA:       ; %bb.0: ; %entry1227; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241228; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1229; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01230; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01231; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s11232; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1233; GFX8-NOHSA-NEXT:    s_bfe_i32 s0, s2, 0x800101234; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s2, 0x800081235; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s2, s21236; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s21237; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11238; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s01239; GFX8-NOHSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]1240; GFX8-NOHSA-NEXT:    s_endpgm1241;1242; EG-LABEL: constant_sextload_v3i8_to_v3i32:1243; EG:       ; %bb.0: ; %entry1244; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1245; EG-NEXT:    TEX 0 @61246; EG-NEXT:    ALU 11, @9, KC0[CB0:0-32], KC1[]1247; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.X, T4.X, 01248; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XY, T5.X, 11249; EG-NEXT:    CF_END1250; EG-NEXT:    Fetch clause starting at 6:1251; EG-NEXT:     VTX_READ_32 T4.X, T4.X, 0, #11252; EG-NEXT:    ALU clause starting at 8:1253; EG-NEXT:     MOV * T4.X, KC0[2].Z,1254; EG-NEXT:    ALU clause starting at 9:1255; EG-NEXT:     LSHR T5.X, KC0[2].Y, literal.x,1256; EG-NEXT:     LSHR * T0.W, T4.X, literal.y,1257; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)1258; EG-NEXT:     BFE_INT * T6.X, PV.W, 0.0, literal.x,1259; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1260; EG-NEXT:     BFE_INT T7.X, T4.X, 0.0, literal.x,1261; EG-NEXT:     LSHR T0.W, T4.X, literal.x,1262; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,1263; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1264; EG-NEXT:     LSHR T4.X, PS, literal.x,1265; EG-NEXT:     BFE_INT * T7.Y, PV.W, 0.0, literal.y,1266; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)1267;1268; GFX12-LABEL: constant_sextload_v3i8_to_v3i32:1269; GFX12:       ; %bb.0: ; %entry1270; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241271; GFX12-NEXT:    s_wait_kmcnt 0x01272; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01273; GFX12-NEXT:    s_wait_kmcnt 0x01274; GFX12-NEXT:    s_bfe_i32 s3, s2, 0x800101275; GFX12-NEXT:    s_sext_i32_i8 s4, s21276; GFX12-NEXT:    s_bfe_i32 s2, s2, 0x800081277; GFX12-NEXT:    v_dual_mov_b32 v3, 0 :: v_dual_mov_b32 v0, s41278; GFX12-NEXT:    v_dual_mov_b32 v1, s2 :: v_dual_mov_b32 v2, s31279; GFX12-NEXT:    global_store_b96 v3, v[0:2], s[0:1]1280; GFX12-NEXT:    s_endpgm1281entry:1282  %ld = load <3 x i8>, ptr addrspace(4) %in1283  %ext = sext <3 x i8> %ld to <3 x i32>1284  store <3 x i32> %ext, ptr addrspace(1) %out1285  ret void1286}1287 1288; TODO: These should use DST, but for some there are redundant MOVs1289define amdgpu_kernel void @constant_zextload_v4i8_to_v4i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1290; GFX6-NOHSA-LABEL: constant_zextload_v4i8_to_v4i32:1291; GFX6-NOHSA:       ; %bb.0:1292; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91293; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1294; GFX6-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01295; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001296; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1297; GFX6-NOHSA-NEXT:    s_lshr_b32 s4, s2, 241298; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s2, 0x800081299; GFX6-NOHSA-NEXT:    s_and_b32 s6, s2, 0xff1300; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s2, 0x800101301; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11302; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s61303; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51304; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s71305; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s41306; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 01307; GFX6-NOHSA-NEXT:    s_endpgm1308;1309; GFX7-HSA-LABEL: constant_zextload_v4i8_to_v4i32:1310; GFX7-HSA:       ; %bb.0:1311; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01312; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171313; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131314; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81315; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1316; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01317; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s01318; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11319; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1320; GFX7-HSA-NEXT:    s_lshr_b32 s0, s2, 241321; GFX7-HSA-NEXT:    s_bfe_u32 s1, s2, 0x800081322; GFX7-HSA-NEXT:    s_and_b32 s3, s2, 0xff1323; GFX7-HSA-NEXT:    s_bfe_u32 s2, s2, 0x800101324; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s31325; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11326; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21327; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01328; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1329; GFX7-HSA-NEXT:    s_endpgm1330;1331; GFX8-NOHSA-LABEL: constant_zextload_v4i8_to_v4i32:1332; GFX8-NOHSA:       ; %bb.0:1333; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241334; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1335; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01336; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s01337; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11338; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1339; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s2, 241340; GFX8-NOHSA-NEXT:    s_bfe_u32 s1, s2, 0x800081341; GFX8-NOHSA-NEXT:    s_and_b32 s3, s2, 0xff1342; GFX8-NOHSA-NEXT:    s_bfe_u32 s2, s2, 0x800101343; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s31344; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11345; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21346; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01347; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1348; GFX8-NOHSA-NEXT:    s_endpgm1349;1350; EG-LABEL: constant_zextload_v4i8_to_v4i32:1351; EG:       ; %bb.0:1352; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1353; EG-NEXT:    TEX 0 @61354; EG-NEXT:    ALU 9, @9, KC0[CB0:0-32], KC1[]1355; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T5.X, 11356; EG-NEXT:    CF_END1357; EG-NEXT:    PAD1358; EG-NEXT:    Fetch clause starting at 6:1359; EG-NEXT:     VTX_READ_32 T4.X, T4.X, 0, #11360; EG-NEXT:    ALU clause starting at 8:1361; EG-NEXT:     MOV * T4.X, KC0[2].Z,1362; EG-NEXT:    ALU clause starting at 9:1363; EG-NEXT:     MOV * T0.W, literal.x,1364; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1365; EG-NEXT:     BFE_UINT * T4.Z, T4.X, literal.x, PV.W,1366; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1367; EG-NEXT:     BFE_UINT T4.Y, T4.X, literal.x, T0.W,1368; EG-NEXT:     LSHR * T4.W, T4.X, literal.y,1369; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)1370; EG-NEXT:     AND_INT T4.X, T4.X, literal.x,1371; EG-NEXT:     LSHR * T5.X, KC0[2].Y, literal.y,1372; EG-NEXT:    255(3.573311e-43), 2(2.802597e-45)1373;1374; GFX12-LABEL: constant_zextload_v4i8_to_v4i32:1375; GFX12:       ; %bb.0:1376; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241377; GFX12-NEXT:    s_wait_kmcnt 0x01378; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01379; GFX12-NEXT:    s_wait_kmcnt 0x01380; GFX12-NEXT:    s_lshr_b32 s3, s2, 241381; GFX12-NEXT:    s_bfe_u32 s4, s2, 0x800081382; GFX12-NEXT:    s_and_b32 s5, s2, 0xff1383; GFX12-NEXT:    s_bfe_u32 s2, s2, 0x800101384; GFX12-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s41385; GFX12-NEXT:    v_dual_mov_b32 v0, s5 :: v_dual_mov_b32 v3, s31386; GFX12-NEXT:    v_mov_b32_e32 v2, s21387; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]1388; GFX12-NEXT:    s_endpgm1389  %load = load <4 x i8>, ptr addrspace(4) %in1390  %ext = zext <4 x i8> %load to <4 x i32>1391  store <4 x i32> %ext, ptr addrspace(1) %out1392  ret void1393}1394 1395; TODO: These should use DST, but for some there are redundant MOVs1396define amdgpu_kernel void @constant_sextload_v4i8_to_v4i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1397; GFX6-NOHSA-LABEL: constant_sextload_v4i8_to_v4i32:1398; GFX6-NOHSA:       ; %bb.0:1399; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91400; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1401; GFX6-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01402; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001403; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1404; GFX6-NOHSA-NEXT:    s_ashr_i32 s4, s2, 241405; GFX6-NOHSA-NEXT:    s_bfe_i32 s5, s2, 0x800101406; GFX6-NOHSA-NEXT:    s_bfe_i32 s6, s2, 0x800081407; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s7, s21408; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11409; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s71410; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s61411; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s51412; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s41413; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 01414; GFX6-NOHSA-NEXT:    s_endpgm1415;1416; GFX7-HSA-LABEL: constant_sextload_v4i8_to_v4i32:1417; GFX7-HSA:       ; %bb.0:1418; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01419; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171420; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131421; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81422; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1423; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01424; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s01425; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11426; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1427; GFX7-HSA-NEXT:    s_ashr_i32 s0, s2, 241428; GFX7-HSA-NEXT:    s_bfe_i32 s1, s2, 0x800101429; GFX7-HSA-NEXT:    s_bfe_i32 s3, s2, 0x800081430; GFX7-HSA-NEXT:    s_sext_i32_i8 s2, s21431; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s21432; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s31433; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s11434; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01435; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1436; GFX7-HSA-NEXT:    s_endpgm1437;1438; GFX8-NOHSA-LABEL: constant_sextload_v4i8_to_v4i32:1439; GFX8-NOHSA:       ; %bb.0:1440; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241441; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1442; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01443; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s01444; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11445; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1446; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s2, 241447; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s2, 0x800101448; GFX8-NOHSA-NEXT:    s_bfe_i32 s3, s2, 0x800081449; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s2, s21450; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s21451; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s31452; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s11453; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01454; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1455; GFX8-NOHSA-NEXT:    s_endpgm1456;1457; EG-LABEL: constant_sextload_v4i8_to_v4i32:1458; EG:       ; %bb.0:1459; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1460; EG-NEXT:    TEX 0 @61461; EG-NEXT:    ALU 11, @9, KC0[CB0:0-32], KC1[]1462; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T4.X, 11463; EG-NEXT:    CF_END1464; EG-NEXT:    PAD1465; EG-NEXT:    Fetch clause starting at 6:1466; EG-NEXT:     VTX_READ_32 T4.X, T4.X, 0, #11467; EG-NEXT:    ALU clause starting at 8:1468; EG-NEXT:     MOV * T4.X, KC0[2].Z,1469; EG-NEXT:    ALU clause starting at 9:1470; EG-NEXT:     BFE_INT T5.X, T4.X, 0.0, literal.x,1471; EG-NEXT:     LSHR * T0.W, T4.X, literal.y,1472; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)1473; EG-NEXT:     BFE_INT T5.W, PV.W, 0.0, literal.x,1474; EG-NEXT:     LSHR * T0.W, T4.X, literal.y,1475; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)1476; EG-NEXT:     BFE_INT T5.Z, PS, 0.0, literal.x,1477; EG-NEXT:     LSHR * T0.W, T4.X, literal.x,1478; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1479; EG-NEXT:     LSHR T4.X, KC0[2].Y, literal.x,1480; EG-NEXT:     BFE_INT * T5.Y, PV.W, 0.0, literal.y,1481; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)1482;1483; GFX12-LABEL: constant_sextload_v4i8_to_v4i32:1484; GFX12:       ; %bb.0:1485; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241486; GFX12-NEXT:    s_wait_kmcnt 0x01487; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01488; GFX12-NEXT:    s_wait_kmcnt 0x01489; GFX12-NEXT:    s_ashr_i32 s3, s2, 241490; GFX12-NEXT:    s_bfe_i32 s4, s2, 0x800101491; GFX12-NEXT:    s_sext_i32_i8 s5, s21492; GFX12-NEXT:    s_bfe_i32 s2, s2, 0x800081493; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)1494; GFX12-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s21495; GFX12-NEXT:    v_dual_mov_b32 v0, s5 :: v_dual_mov_b32 v3, s31496; GFX12-NEXT:    v_mov_b32_e32 v2, s41497; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]1498; GFX12-NEXT:    s_endpgm1499  %load = load <4 x i8>, ptr addrspace(4) %in1500  %ext = sext <4 x i8> %load to <4 x i32>1501  store <4 x i32> %ext, ptr addrspace(1) %out1502  ret void1503}1504 1505; TODO: These should use DST, but for some there are redundant MOVs1506define amdgpu_kernel void @constant_zextload_v8i8_to_v8i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1507; GFX6-NOHSA-LABEL: constant_zextload_v8i8_to_v8i32:1508; GFX6-NOHSA:       ; %bb.0:1509; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91510; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1511; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x01512; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001513; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11514; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1515; GFX6-NOHSA-NEXT:    s_lshr_b32 s6, s4, 241516; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s4, 0x800081517; GFX6-NOHSA-NEXT:    s_lshr_b32 s8, s5, 241518; GFX6-NOHSA-NEXT:    s_bfe_u32 s9, s5, 0x800081519; GFX6-NOHSA-NEXT:    s_and_b32 s10, s4, 0xff1520; GFX6-NOHSA-NEXT:    s_and_b32 s11, s5, 0xff1521; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800101522; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800101523; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s111524; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s91525; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s51526; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s81527; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:161528; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1529; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s101530; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s71531; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s41532; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s61533; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 01534; GFX6-NOHSA-NEXT:    s_endpgm1535;1536; GFX7-HSA-LABEL: constant_zextload_v8i8_to_v8i32:1537; GFX7-HSA:       ; %bb.0:1538; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01539; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171540; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81541; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131542; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1543; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x01544; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1545; GFX7-HSA-NEXT:    s_lshr_b32 s4, s2, 241546; GFX7-HSA-NEXT:    s_bfe_u32 s5, s2, 0x800081547; GFX7-HSA-NEXT:    s_lshr_b32 s6, s3, 241548; GFX7-HSA-NEXT:    s_bfe_u32 s7, s3, 0x800081549; GFX7-HSA-NEXT:    s_and_b32 s8, s2, 0xff1550; GFX7-HSA-NEXT:    s_bfe_u32 s9, s2, 0x800101551; GFX7-HSA-NEXT:    s_and_b32 s2, s3, 0xff1552; GFX7-HSA-NEXT:    s_bfe_u32 s3, s3, 0x800101553; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s21554; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 161555; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s31556; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 01557; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s31558; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s71559; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s61560; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s21561; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1562; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11563; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s81564; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s51565; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s91566; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s41567; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s01568; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1569; GFX7-HSA-NEXT:    s_endpgm1570;1571; GFX8-NOHSA-LABEL: constant_zextload_v8i8_to_v8i32:1572; GFX8-NOHSA:       ; %bb.0:1573; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241574; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1575; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x01576; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1577; GFX8-NOHSA-NEXT:    s_lshr_b32 s4, s2, 241578; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s2, 0x800081579; GFX8-NOHSA-NEXT:    s_lshr_b32 s6, s3, 241580; GFX8-NOHSA-NEXT:    s_bfe_u32 s7, s3, 0x800081581; GFX8-NOHSA-NEXT:    s_and_b32 s8, s2, 0xff1582; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s2, 0x800101583; GFX8-NOHSA-NEXT:    s_and_b32 s2, s3, 0xff1584; GFX8-NOHSA-NEXT:    s_bfe_u32 s3, s3, 0x800101585; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s21586; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 161587; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s31588; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 01589; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s31590; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s71591; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s61592; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s21593; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1594; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11595; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s81596; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s51597; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s91598; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s41599; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s01600; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1601; GFX8-NOHSA-NEXT:    s_endpgm1602;1603; EG-LABEL: constant_zextload_v8i8_to_v8i32:1604; EG:       ; %bb.0:1605; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1606; EG-NEXT:    TEX 0 @61607; EG-NEXT:    ALU 20, @9, KC0[CB0:0-32], KC1[]1608; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T8.X, 01609; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T5.X, 11610; EG-NEXT:    CF_END1611; EG-NEXT:    Fetch clause starting at 6:1612; EG-NEXT:     VTX_READ_64 T5.XY, T5.X, 0, #11613; EG-NEXT:    ALU clause starting at 8:1614; EG-NEXT:     MOV * T5.X, KC0[2].Z,1615; EG-NEXT:    ALU clause starting at 9:1616; EG-NEXT:     MOV * T0.W, literal.x,1617; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1618; EG-NEXT:     BFE_UINT * T6.Z, T5.X, literal.x, PV.W,1619; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1620; EG-NEXT:     BFE_UINT T6.Y, T5.X, literal.x, T0.W,1621; EG-NEXT:     BFE_UINT T7.Z, T5.Y, literal.y, T0.W,1622; EG-NEXT:     LSHR * T6.W, T5.X, literal.z,1623; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)1624; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)1625; EG-NEXT:     AND_INT T6.X, T5.X, literal.x,1626; EG-NEXT:     BFE_UINT T7.Y, T5.Y, literal.y, T0.W,1627; EG-NEXT:     LSHR * T5.X, KC0[2].Y, literal.z,1628; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)1629; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1630; EG-NEXT:     LSHR * T7.W, T5.Y, literal.x,1631; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)1632; EG-NEXT:     AND_INT T7.X, T5.Y, literal.x,1633; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,1634; EG-NEXT:    255(3.573311e-43), 16(2.242078e-44)1635; EG-NEXT:     LSHR * T8.X, PV.W, literal.x,1636; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1637;1638; GFX12-LABEL: constant_zextload_v8i8_to_v8i32:1639; GFX12:       ; %bb.0:1640; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241641; GFX12-NEXT:    s_wait_kmcnt 0x01642; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x01643; GFX12-NEXT:    s_wait_kmcnt 0x01644; GFX12-NEXT:    s_lshr_b32 s6, s3, 241645; GFX12-NEXT:    s_bfe_u32 s7, s3, 0x800081646; GFX12-NEXT:    s_and_b32 s9, s3, 0xff1647; GFX12-NEXT:    s_bfe_u32 s3, s3, 0x800101648; GFX12-NEXT:    s_lshr_b32 s4, s2, 241649; GFX12-NEXT:    s_bfe_u32 s5, s2, 0x800081650; GFX12-NEXT:    s_and_b32 s8, s2, 0xff1651; GFX12-NEXT:    s_bfe_u32 s2, s2, 0x800101652; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s71653; GFX12-NEXT:    v_dual_mov_b32 v0, s9 :: v_dual_mov_b32 v3, s61654; GFX12-NEXT:    v_dual_mov_b32 v2, s3 :: v_dual_mov_b32 v5, s51655; GFX12-NEXT:    v_dual_mov_b32 v4, s8 :: v_dual_mov_b32 v7, s41656; GFX12-NEXT:    v_mov_b32_e32 v6, s21657; GFX12-NEXT:    s_clause 0x11658; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[0:1] offset:161659; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[0:1]1660; GFX12-NEXT:    s_endpgm1661  %load = load <8 x i8>, ptr addrspace(4) %in1662  %ext = zext <8 x i8> %load to <8 x i32>1663  store <8 x i32> %ext, ptr addrspace(1) %out1664  ret void1665}1666 1667; TODO: These should use DST, but for some there are redundant MOVs1668define amdgpu_kernel void @constant_sextload_v8i8_to_v8i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1669; GFX6-NOHSA-LABEL: constant_sextload_v8i8_to_v8i32:1670; GFX6-NOHSA:       ; %bb.0:1671; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91672; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1673; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x01674; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001675; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11676; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1677; GFX6-NOHSA-NEXT:    s_ashr_i32 s6, s4, 241678; GFX6-NOHSA-NEXT:    s_bfe_i32 s7, s4, 0x800101679; GFX6-NOHSA-NEXT:    s_bfe_i32 s8, s4, 0x800081680; GFX6-NOHSA-NEXT:    s_ashr_i32 s9, s5, 241681; GFX6-NOHSA-NEXT:    s_bfe_i32 s10, s5, 0x800101682; GFX6-NOHSA-NEXT:    s_bfe_i32 s11, s5, 0x800081683; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s51684; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s41685; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s51686; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s111687; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s101688; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s91689; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:161690; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1691; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41692; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s81693; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s71694; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s61695; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 01696; GFX6-NOHSA-NEXT:    s_endpgm1697;1698; GFX7-HSA-LABEL: constant_sextload_v8i8_to_v8i32:1699; GFX7-HSA:       ; %bb.0:1700; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01701; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171702; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81703; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131704; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1705; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x01706; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1707; GFX7-HSA-NEXT:    s_ashr_i32 s4, s2, 241708; GFX7-HSA-NEXT:    s_bfe_i32 s5, s2, 0x800101709; GFX7-HSA-NEXT:    s_bfe_i32 s6, s2, 0x800081710; GFX7-HSA-NEXT:    s_sext_i32_i8 s7, s21711; GFX7-HSA-NEXT:    s_ashr_i32 s2, s3, 241712; GFX7-HSA-NEXT:    s_bfe_i32 s8, s3, 0x800101713; GFX7-HSA-NEXT:    s_bfe_i32 s9, s3, 0x800081714; GFX7-HSA-NEXT:    s_sext_i32_i8 s3, s31715; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s21716; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 161717; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s31718; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 01719; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s31720; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s91721; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s81722; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s21723; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1724; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11725; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s71726; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s61727; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s51728; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s41729; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s01730; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1731; GFX7-HSA-NEXT:    s_endpgm1732;1733; GFX8-NOHSA-LABEL: constant_sextload_v8i8_to_v8i32:1734; GFX8-NOHSA:       ; %bb.0:1735; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241736; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1737; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x01738; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1739; GFX8-NOHSA-NEXT:    s_ashr_i32 s4, s2, 241740; GFX8-NOHSA-NEXT:    s_bfe_i32 s5, s2, 0x800101741; GFX8-NOHSA-NEXT:    s_bfe_i32 s6, s2, 0x800081742; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s7, s21743; GFX8-NOHSA-NEXT:    s_ashr_i32 s2, s3, 241744; GFX8-NOHSA-NEXT:    s_bfe_i32 s8, s3, 0x800101745; GFX8-NOHSA-NEXT:    s_bfe_i32 s9, s3, 0x800081746; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s3, s31747; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s21748; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 161749; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s31750; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 01751; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s31752; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s91753; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s81754; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s21755; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1756; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11757; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s71758; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s61759; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s51760; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s41761; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s01762; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1763; GFX8-NOHSA-NEXT:    s_endpgm1764;1765; EG-LABEL: constant_sextload_v8i8_to_v8i32:1766; EG:       ; %bb.0:1767; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1768; EG-NEXT:    TEX 0 @61769; EG-NEXT:    ALU 23, @9, KC0[CB0:0-32], KC1[]1770; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T8.X, 01771; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T5.X, 11772; EG-NEXT:    CF_END1773; EG-NEXT:    Fetch clause starting at 6:1774; EG-NEXT:     VTX_READ_64 T5.XY, T5.X, 0, #11775; EG-NEXT:    ALU clause starting at 8:1776; EG-NEXT:     MOV * T5.X, KC0[2].Z,1777; EG-NEXT:    ALU clause starting at 9:1778; EG-NEXT:     BFE_INT T6.X, T5.X, 0.0, literal.x,1779; EG-NEXT:     LSHR * T0.W, T5.X, literal.y,1780; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)1781; EG-NEXT:     BFE_INT T7.X, T5.Y, 0.0, literal.x,1782; EG-NEXT:     LSHR T0.Z, T5.Y, literal.y,1783; EG-NEXT:     BFE_INT T6.W, PV.W, 0.0, literal.x,1784; EG-NEXT:     LSHR * T0.W, T5.X, literal.z,1785; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)1786; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1787; EG-NEXT:     LSHR T0.Y, T5.Y, literal.x,1788; EG-NEXT:     BFE_INT T6.Z, PS, 0.0, literal.y,1789; EG-NEXT:     BFE_INT T7.W, PV.Z, 0.0, literal.y,1790; EG-NEXT:     LSHR * T0.W, T5.X, literal.y,1791; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)1792; EG-NEXT:     LSHR T5.X, KC0[2].Y, literal.x,1793; EG-NEXT:     BFE_INT T6.Y, PS, 0.0, literal.y,1794; EG-NEXT:     BFE_INT T7.Z, PV.Y, 0.0, literal.y,1795; EG-NEXT:     LSHR T0.W, T5.Y, literal.y,1796; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,1797; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)1798; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1799; EG-NEXT:     LSHR T8.X, PS, literal.x,1800; EG-NEXT:     BFE_INT * T7.Y, PV.W, 0.0, literal.y,1801; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)1802;1803; GFX12-LABEL: constant_sextload_v8i8_to_v8i32:1804; GFX12:       ; %bb.0:1805; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241806; GFX12-NEXT:    s_wait_kmcnt 0x01807; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x01808; GFX12-NEXT:    s_wait_kmcnt 0x01809; GFX12-NEXT:    s_ashr_i32 s7, s3, 241810; GFX12-NEXT:    s_bfe_i32 s8, s3, 0x800101811; GFX12-NEXT:    s_sext_i32_i8 s9, s31812; GFX12-NEXT:    s_bfe_i32 s3, s3, 0x800081813; GFX12-NEXT:    s_ashr_i32 s4, s2, 241814; GFX12-NEXT:    s_bfe_i32 s5, s2, 0x800101815; GFX12-NEXT:    s_bfe_i32 s6, s2, 0x800081816; GFX12-NEXT:    s_sext_i32_i8 s2, s21817; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s31818; GFX12-NEXT:    v_dual_mov_b32 v0, s9 :: v_dual_mov_b32 v3, s71819; GFX12-NEXT:    v_dual_mov_b32 v2, s8 :: v_dual_mov_b32 v5, s61820; GFX12-NEXT:    v_dual_mov_b32 v4, s2 :: v_dual_mov_b32 v7, s41821; GFX12-NEXT:    v_mov_b32_e32 v6, s51822; GFX12-NEXT:    s_clause 0x11823; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[0:1] offset:161824; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[0:1]1825; GFX12-NEXT:    s_endpgm1826  %load = load <8 x i8>, ptr addrspace(4) %in1827  %ext = sext <8 x i8> %load to <8 x i32>1828  store <8 x i32> %ext, ptr addrspace(1) %out1829  ret void1830}1831 1832; TODO: These should use DST, but for some there are redundant MOVs1833define amdgpu_kernel void @constant_zextload_v16i8_to_v16i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1834; GFX6-NOHSA-LABEL: constant_zextload_v16i8_to_v16i32:1835; GFX6-NOHSA:       ; %bb.0:1836; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91837; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1838; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x01839; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001840; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11841; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1842; GFX6-NOHSA-NEXT:    s_lshr_b32 s8, s4, 241843; GFX6-NOHSA-NEXT:    s_bfe_u32 s9, s4, 0x800081844; GFX6-NOHSA-NEXT:    s_lshr_b32 s10, s5, 241845; GFX6-NOHSA-NEXT:    s_bfe_u32 s11, s5, 0x800081846; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s6, 241847; GFX6-NOHSA-NEXT:    s_bfe_u32 s13, s6, 0x800081848; GFX6-NOHSA-NEXT:    s_lshr_b32 s14, s7, 241849; GFX6-NOHSA-NEXT:    s_bfe_u32 s15, s7, 0x800081850; GFX6-NOHSA-NEXT:    s_and_b32 s16, s4, 0xff1851; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800101852; GFX6-NOHSA-NEXT:    s_and_b32 s17, s5, 0xff1853; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800101854; GFX6-NOHSA-NEXT:    s_and_b32 s18, s6, 0xff1855; GFX6-NOHSA-NEXT:    s_and_b32 s19, s7, 0xff1856; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800101857; GFX6-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800101858; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s191859; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s151860; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s71861; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s141862; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:481863; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1864; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s181865; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s131866; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s61867; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s121868; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:321869; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1870; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s171871; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s111872; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s51873; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s101874; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:161875; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1876; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s161877; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s91878; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s41879; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s81880; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 01881; GFX6-NOHSA-NEXT:    s_endpgm1882;1883; GFX7-HSA-LABEL: constant_zextload_v16i8_to_v16i32:1884; GFX7-HSA:       ; %bb.0:1885; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01886; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171887; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131888; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81889; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1890; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x01891; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1892; GFX7-HSA-NEXT:    s_lshr_b32 s8, s4, 241893; GFX7-HSA-NEXT:    s_bfe_u32 s9, s4, 0x800081894; GFX7-HSA-NEXT:    s_lshr_b32 s10, s5, 241895; GFX7-HSA-NEXT:    s_bfe_u32 s11, s5, 0x800081896; GFX7-HSA-NEXT:    s_lshr_b32 s12, s6, 241897; GFX7-HSA-NEXT:    s_bfe_u32 s13, s6, 0x800081898; GFX7-HSA-NEXT:    s_lshr_b32 s2, s7, 241899; GFX7-HSA-NEXT:    s_bfe_u32 s3, s7, 0x800081900; GFX7-HSA-NEXT:    s_and_b32 s14, s4, 0xff1901; GFX7-HSA-NEXT:    s_bfe_u32 s4, s4, 0x800101902; GFX7-HSA-NEXT:    s_and_b32 s15, s5, 0xff1903; GFX7-HSA-NEXT:    s_bfe_u32 s5, s5, 0x800101904; GFX7-HSA-NEXT:    s_and_b32 s16, s6, 0xff1905; GFX7-HSA-NEXT:    s_bfe_u32 s6, s6, 0x800101906; GFX7-HSA-NEXT:    s_and_b32 s17, s7, 0xff1907; GFX7-HSA-NEXT:    s_bfe_u32 s7, s7, 0x800101908; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s21909; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 481910; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s31911; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 01912; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s31913; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s21914; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 321915; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s171916; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s71917; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 01918; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1919; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s31920; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s21921; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 161922; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s161923; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s131924; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s61925; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s121926; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 01927; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1928; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s31929; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s151930; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s111931; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s51932; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s101933; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s21934; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1935; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11936; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s141937; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s91938; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s41939; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s81940; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s01941; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1942; GFX7-HSA-NEXT:    s_endpgm1943;1944; GFX8-NOHSA-LABEL: constant_zextload_v16i8_to_v16i32:1945; GFX8-NOHSA:       ; %bb.0:1946; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241947; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1948; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x01949; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1950; GFX8-NOHSA-NEXT:    s_lshr_b32 s8, s4, 241951; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s4, 0x800081952; GFX8-NOHSA-NEXT:    s_lshr_b32 s10, s5, 241953; GFX8-NOHSA-NEXT:    s_bfe_u32 s11, s5, 0x800081954; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s6, 241955; GFX8-NOHSA-NEXT:    s_bfe_u32 s13, s6, 0x800081956; GFX8-NOHSA-NEXT:    s_lshr_b32 s2, s7, 241957; GFX8-NOHSA-NEXT:    s_bfe_u32 s3, s7, 0x800081958; GFX8-NOHSA-NEXT:    s_and_b32 s14, s4, 0xff1959; GFX8-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800101960; GFX8-NOHSA-NEXT:    s_and_b32 s15, s5, 0xff1961; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800101962; GFX8-NOHSA-NEXT:    s_and_b32 s16, s6, 0xff1963; GFX8-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800101964; GFX8-NOHSA-NEXT:    s_and_b32 s17, s7, 0xff1965; GFX8-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800101966; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s21967; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 481968; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s31969; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 01970; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s31971; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s21972; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 321973; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s171974; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s71975; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 01976; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1977; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s31978; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s21979; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 161980; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s161981; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s131982; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s61983; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s121984; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 01985; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1986; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s31987; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s151988; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s111989; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s51990; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s101991; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s21992; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1993; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11994; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s141995; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s91996; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s41997; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s81998; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s01999; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2000; GFX8-NOHSA-NEXT:    s_endpgm2001;2002; EG-LABEL: constant_zextload_v16i8_to_v16i32:2003; EG:       ; %bb.0:2004; EG-NEXT:    ALU 0, @10, KC0[CB0:0-32], KC1[]2005; EG-NEXT:    TEX 0 @82006; EG-NEXT:    ALU 39, @11, KC0[CB0:0-32], KC1[]2007; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T14.X, 02008; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T13.X, 02009; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T9.XYZW, T11.X, 02010; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T7.X, 12011; EG-NEXT:    CF_END2012; EG-NEXT:    Fetch clause starting at 8:2013; EG-NEXT:     VTX_READ_128 T7.XYZW, T7.X, 0, #12014; EG-NEXT:    ALU clause starting at 10:2015; EG-NEXT:     MOV * T7.X, KC0[2].Z,2016; EG-NEXT:    ALU clause starting at 11:2017; EG-NEXT:     MOV * T0.W, literal.x,2018; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)2019; EG-NEXT:     BFE_UINT * T8.Z, T7.X, literal.x, PV.W,2020; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2021; EG-NEXT:     BFE_UINT T8.Y, T7.X, literal.x, T0.W,2022; EG-NEXT:     BFE_UINT T9.Z, T7.Y, literal.y, T0.W,2023; EG-NEXT:     LSHR * T8.W, T7.X, literal.z,2024; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)2025; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)2026; EG-NEXT:     AND_INT T8.X, T7.X, literal.x,2027; EG-NEXT:     BFE_UINT T9.Y, T7.Y, literal.y, T0.W,2028; EG-NEXT:     LSHR * T7.X, KC0[2].Y, literal.z,2029; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)2030; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2031; EG-NEXT:     BFE_UINT T10.Z, T7.Z, literal.x, T0.W,2032; EG-NEXT:     LSHR * T9.W, T7.Y, literal.y,2033; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)2034; EG-NEXT:     AND_INT T9.X, T7.Y, literal.x,2035; EG-NEXT:     BFE_UINT T10.Y, T7.Z, literal.y, T0.W,2036; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,2037; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)2038; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2039; EG-NEXT:     LSHR T11.X, PV.W, literal.x,2040; EG-NEXT:     BFE_UINT T12.Z, T7.W, literal.y, T0.W,2041; EG-NEXT:     LSHR T10.W, T7.Z, literal.z,2042; EG-NEXT:     AND_INT * T10.X, T7.Z, literal.w,2043; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2044; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)2045; EG-NEXT:     BFE_UINT T12.Y, T7.W, literal.x, T0.W,2046; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,2047; EG-NEXT:    8(1.121039e-44), 32(4.484155e-44)2048; EG-NEXT:     LSHR T13.X, PV.W, literal.x,2049; EG-NEXT:     LSHR T12.W, T7.W, literal.y,2050; EG-NEXT:     AND_INT * T12.X, T7.W, literal.z,2051; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)2052; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)2053; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,2054; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)2055; EG-NEXT:     LSHR * T14.X, PV.W, literal.x,2056; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2057;2058; GFX12-LABEL: constant_zextload_v16i8_to_v16i32:2059; GFX12:       ; %bb.0:2060; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242061; GFX12-NEXT:    s_wait_kmcnt 0x02062; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x02063; GFX12-NEXT:    s_wait_kmcnt 0x02064; GFX12-NEXT:    s_lshr_b32 s12, s7, 242065; GFX12-NEXT:    s_bfe_u32 s13, s7, 0x800082066; GFX12-NEXT:    s_and_b32 s17, s7, 0xff2067; GFX12-NEXT:    s_bfe_u32 s7, s7, 0x800102068; GFX12-NEXT:    s_lshr_b32 s10, s6, 242069; GFX12-NEXT:    s_bfe_u32 s11, s6, 0x800082070; GFX12-NEXT:    s_and_b32 s16, s6, 0xff2071; GFX12-NEXT:    s_bfe_u32 s6, s6, 0x800102072; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v1, s132073; GFX12-NEXT:    s_lshr_b32 s8, s5, 242074; GFX12-NEXT:    s_bfe_u32 s9, s5, 0x800082075; GFX12-NEXT:    s_and_b32 s15, s5, 0xff2076; GFX12-NEXT:    s_bfe_u32 s5, s5, 0x800102077; GFX12-NEXT:    v_dual_mov_b32 v0, s17 :: v_dual_mov_b32 v3, s122078; GFX12-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v5, s112079; GFX12-NEXT:    s_lshr_b32 s2, s4, 242080; GFX12-NEXT:    s_bfe_u32 s3, s4, 0x800082081; GFX12-NEXT:    s_and_b32 s14, s4, 0xff2082; GFX12-NEXT:    s_bfe_u32 s4, s4, 0x800102083; GFX12-NEXT:    v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v7, s102084; GFX12-NEXT:    v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v9, s92085; GFX12-NEXT:    v_dual_mov_b32 v8, s15 :: v_dual_mov_b32 v11, s82086; GFX12-NEXT:    v_dual_mov_b32 v10, s5 :: v_dual_mov_b32 v13, s32087; GFX12-NEXT:    v_dual_mov_b32 v12, s14 :: v_dual_mov_b32 v15, s22088; GFX12-NEXT:    v_mov_b32_e32 v14, s42089; GFX12-NEXT:    s_clause 0x32090; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[0:1] offset:482091; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[0:1] offset:322092; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[0:1] offset:162093; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[0:1]2094; GFX12-NEXT:    s_endpgm2095  %load = load <16 x i8>, ptr addrspace(4) %in2096  %ext = zext <16 x i8> %load to <16 x i32>2097  store <16 x i32> %ext, ptr addrspace(1) %out2098  ret void2099}2100 2101; TODO: These should use DST, but for some there are redundant MOVs2102define amdgpu_kernel void @constant_sextload_v16i8_to_v16i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2103; GFX6-NOHSA-LABEL: constant_sextload_v16i8_to_v16i32:2104; GFX6-NOHSA:       ; %bb.0:2105; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x92106; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2107; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02108; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0002109; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -12110; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2111; GFX6-NOHSA-NEXT:    s_ashr_i32 s8, s4, 242112; GFX6-NOHSA-NEXT:    s_bfe_i32 s9, s4, 0x800102113; GFX6-NOHSA-NEXT:    s_bfe_i32 s10, s4, 0x800082114; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s42115; GFX6-NOHSA-NEXT:    s_ashr_i32 s11, s5, 242116; GFX6-NOHSA-NEXT:    s_bfe_i32 s12, s5, 0x800102117; GFX6-NOHSA-NEXT:    s_bfe_i32 s13, s5, 0x800082118; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s52119; GFX6-NOHSA-NEXT:    s_ashr_i32 s14, s6, 242120; GFX6-NOHSA-NEXT:    s_bfe_i32 s15, s6, 0x800102121; GFX6-NOHSA-NEXT:    s_bfe_i32 s16, s6, 0x800082122; GFX6-NOHSA-NEXT:    s_ashr_i32 s17, s7, 242123; GFX6-NOHSA-NEXT:    s_bfe_i32 s18, s7, 0x800102124; GFX6-NOHSA-NEXT:    s_bfe_i32 s19, s7, 0x800082125; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s7, s72126; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s6, s62127; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s72128; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s192129; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s182130; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s172131; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:482132; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2133; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s62134; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s162135; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s152136; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s142137; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:322138; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2139; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s52140; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s132141; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s122142; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s112143; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:162144; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2145; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s42146; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s102147; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s92148; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s82149; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 02150; GFX6-NOHSA-NEXT:    s_endpgm2151;2152; GFX7-HSA-LABEL: constant_sextload_v16i8_to_v16i32:2153; GFX7-HSA:       ; %bb.0:2154; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02155; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172156; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132157; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82158; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2159; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02160; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2161; GFX7-HSA-NEXT:    s_ashr_i32 s8, s4, 242162; GFX7-HSA-NEXT:    s_bfe_i32 s9, s4, 0x800102163; GFX7-HSA-NEXT:    s_bfe_i32 s10, s4, 0x800082164; GFX7-HSA-NEXT:    s_ashr_i32 s11, s5, 242165; GFX7-HSA-NEXT:    s_bfe_i32 s12, s5, 0x800102166; GFX7-HSA-NEXT:    s_bfe_i32 s13, s5, 0x800082167; GFX7-HSA-NEXT:    s_ashr_i32 s14, s6, 242168; GFX7-HSA-NEXT:    s_bfe_i32 s15, s6, 0x800102169; GFX7-HSA-NEXT:    s_bfe_i32 s16, s6, 0x800082170; GFX7-HSA-NEXT:    s_ashr_i32 s2, s7, 242171; GFX7-HSA-NEXT:    s_bfe_i32 s3, s7, 0x800102172; GFX7-HSA-NEXT:    s_bfe_i32 s17, s7, 0x800082173; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s22174; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 482175; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s32176; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02177; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32178; GFX7-HSA-NEXT:    s_sext_i32_i8 s7, s72179; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22180; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 322181; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s72182; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s172183; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02184; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2185; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32186; GFX7-HSA-NEXT:    s_sext_i32_i8 s6, s62187; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22188; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 162189; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s62190; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s162191; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s152192; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s142193; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02194; GFX7-HSA-NEXT:    s_sext_i32_i8 s5, s52195; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2196; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32197; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s52198; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s132199; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s122200; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s112201; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22202; GFX7-HSA-NEXT:    s_sext_i32_i8 s4, s42203; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2204; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s12205; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s42206; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s102207; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s92208; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s82209; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s02210; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2211; GFX7-HSA-NEXT:    s_endpgm2212;2213; GFX8-NOHSA-LABEL: constant_sextload_v16i8_to_v16i32:2214; GFX8-NOHSA:       ; %bb.0:2215; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x242216; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2217; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02218; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2219; GFX8-NOHSA-NEXT:    s_ashr_i32 s8, s4, 242220; GFX8-NOHSA-NEXT:    s_bfe_i32 s9, s4, 0x800102221; GFX8-NOHSA-NEXT:    s_bfe_i32 s10, s4, 0x800082222; GFX8-NOHSA-NEXT:    s_ashr_i32 s11, s5, 242223; GFX8-NOHSA-NEXT:    s_bfe_i32 s12, s5, 0x800102224; GFX8-NOHSA-NEXT:    s_bfe_i32 s13, s5, 0x800082225; GFX8-NOHSA-NEXT:    s_ashr_i32 s14, s6, 242226; GFX8-NOHSA-NEXT:    s_bfe_i32 s15, s6, 0x800102227; GFX8-NOHSA-NEXT:    s_bfe_i32 s16, s6, 0x800082228; GFX8-NOHSA-NEXT:    s_ashr_i32 s2, s7, 242229; GFX8-NOHSA-NEXT:    s_bfe_i32 s3, s7, 0x800102230; GFX8-NOHSA-NEXT:    s_bfe_i32 s17, s7, 0x800082231; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s22232; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 482233; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s32234; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02235; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32236; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s7, s72237; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22238; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 322239; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s72240; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s172241; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02242; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2243; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32244; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s6, s62245; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22246; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 162247; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s62248; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s162249; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s152250; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s142251; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02252; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s5, s52253; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2254; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32255; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s52256; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s132257; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s122258; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s112259; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22260; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s4, s42261; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2262; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s12263; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s42264; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s102265; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s92266; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s82267; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s02268; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2269; GFX8-NOHSA-NEXT:    s_endpgm2270;2271; EG-LABEL: constant_sextload_v16i8_to_v16i32:2272; EG:       ; %bb.0:2273; EG-NEXT:    ALU 0, @10, KC0[CB0:0-32], KC1[]2274; EG-NEXT:    TEX 0 @82275; EG-NEXT:    ALU 47, @11, KC0[CB0:0-32], KC1[]2276; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T14.X, 02277; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T13.X, 02278; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T7.X, 02279; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T9.XYZW, T8.X, 12280; EG-NEXT:    CF_END2281; EG-NEXT:    Fetch clause starting at 8:2282; EG-NEXT:     VTX_READ_128 T7.XYZW, T7.X, 0, #12283; EG-NEXT:    ALU clause starting at 10:2284; EG-NEXT:     MOV * T7.X, KC0[2].Z,2285; EG-NEXT:    ALU clause starting at 11:2286; EG-NEXT:     LSHR T8.X, KC0[2].Y, literal.x,2287; EG-NEXT:     LSHR T0.W, T7.W, literal.y,2288; EG-NEXT:     LSHR * T1.W, T7.Z, literal.z,2289; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2290; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)2291; EG-NEXT:     BFE_INT T9.X, T7.X, 0.0, literal.x,2292; EG-NEXT:     LSHR T0.Y, T7.W, literal.y,2293; EG-NEXT:     LSHR T0.Z, T7.Z, literal.z,2294; EG-NEXT:     LSHR T2.W, T7.Y, literal.x,2295; EG-NEXT:     LSHR * T3.W, T7.X, literal.y,2296; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)2297; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2298; EG-NEXT:     BFE_INT T10.X, T7.Y, 0.0, literal.x,2299; EG-NEXT:     LSHR T1.Y, T7.Z, literal.y,2300; EG-NEXT:     LSHR T1.Z, T7.Y, literal.y,2301; EG-NEXT:     BFE_INT T9.W, PS, 0.0, literal.x,2302; EG-NEXT:     LSHR * T3.W, T7.X, literal.z,2303; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)2304; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2305; EG-NEXT:     BFE_INT T11.X, T7.Z, 0.0, literal.x,2306; EG-NEXT:     LSHR T2.Y, T7.Y, literal.y,2307; EG-NEXT:     BFE_INT T9.Z, PS, 0.0, literal.x,2308; EG-NEXT:     BFE_INT T10.W, PV.Z, 0.0, literal.x,2309; EG-NEXT:     LSHR * T3.W, T7.X, literal.x,2310; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)2311; EG-NEXT:     BFE_INT T12.X, T7.W, 0.0, literal.x,2312; EG-NEXT:     BFE_INT T9.Y, PS, 0.0, literal.x,2313; EG-NEXT:     BFE_INT T10.Z, PV.Y, 0.0, literal.x,2314; EG-NEXT:     BFE_INT T11.W, T1.Y, 0.0, literal.x,2315; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2316; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)2317; EG-NEXT:     LSHR T7.X, PS, literal.x,2318; EG-NEXT:     BFE_INT T10.Y, T2.W, 0.0, literal.y,2319; EG-NEXT:     BFE_INT T11.Z, T0.Z, 0.0, literal.y,2320; EG-NEXT:     BFE_INT T12.W, T0.Y, 0.0, literal.y,2321; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.z,2322; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)2323; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)2324; EG-NEXT:     LSHR T13.X, PS, literal.x,2325; EG-NEXT:     BFE_INT T11.Y, T1.W, 0.0, literal.y,2326; EG-NEXT:     BFE_INT T12.Z, T0.W, 0.0, literal.y, BS:VEC_120/SCL_2122327; EG-NEXT:     LSHR T0.W, T7.W, literal.y, BS:VEC_2012328; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,2329; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)2330; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)2331; EG-NEXT:     LSHR T14.X, PS, literal.x,2332; EG-NEXT:     BFE_INT * T12.Y, PV.W, 0.0, literal.y,2333; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)2334;2335; GFX12-LABEL: constant_sextload_v16i8_to_v16i32:2336; GFX12:       ; %bb.0:2337; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242338; GFX12-NEXT:    s_wait_kmcnt 0x02339; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x02340; GFX12-NEXT:    s_wait_kmcnt 0x02341; GFX12-NEXT:    s_ashr_i32 s15, s7, 242342; GFX12-NEXT:    s_bfe_i32 s16, s7, 0x800102343; GFX12-NEXT:    s_sext_i32_i8 s17, s72344; GFX12-NEXT:    s_bfe_i32 s7, s7, 0x800082345; GFX12-NEXT:    s_ashr_i32 s12, s6, 242346; GFX12-NEXT:    s_bfe_i32 s13, s6, 0x800102347; GFX12-NEXT:    s_bfe_i32 s14, s6, 0x800082348; GFX12-NEXT:    s_sext_i32_i8 s6, s62349; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v1, s72350; GFX12-NEXT:    s_ashr_i32 s9, s5, 242351; GFX12-NEXT:    s_bfe_i32 s10, s5, 0x800102352; GFX12-NEXT:    s_bfe_i32 s11, s5, 0x800082353; GFX12-NEXT:    s_sext_i32_i8 s5, s52354; GFX12-NEXT:    v_dual_mov_b32 v0, s17 :: v_dual_mov_b32 v3, s152355; GFX12-NEXT:    v_dual_mov_b32 v2, s16 :: v_dual_mov_b32 v5, s142356; GFX12-NEXT:    s_ashr_i32 s2, s4, 242357; GFX12-NEXT:    s_bfe_i32 s3, s4, 0x800102358; GFX12-NEXT:    s_bfe_i32 s8, s4, 0x800082359; GFX12-NEXT:    s_sext_i32_i8 s4, s42360; GFX12-NEXT:    v_dual_mov_b32 v4, s6 :: v_dual_mov_b32 v7, s122361; GFX12-NEXT:    v_dual_mov_b32 v6, s13 :: v_dual_mov_b32 v9, s112362; GFX12-NEXT:    v_dual_mov_b32 v8, s5 :: v_dual_mov_b32 v11, s92363; GFX12-NEXT:    v_dual_mov_b32 v10, s10 :: v_dual_mov_b32 v13, s82364; GFX12-NEXT:    v_dual_mov_b32 v12, s4 :: v_dual_mov_b32 v15, s22365; GFX12-NEXT:    v_mov_b32_e32 v14, s32366; GFX12-NEXT:    s_clause 0x32367; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[0:1] offset:482368; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[0:1] offset:322369; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[0:1] offset:162370; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[0:1]2371; GFX12-NEXT:    s_endpgm2372  %load = load <16 x i8>, ptr addrspace(4) %in2373  %ext = sext <16 x i8> %load to <16 x i32>2374  store <16 x i32> %ext, ptr addrspace(1) %out2375  ret void2376}2377 2378; TODO: These should use DST, but for some there are redundant MOVs2379define amdgpu_kernel void @constant_zextload_v32i8_to_v32i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2380; GFX6-NOHSA-LABEL: constant_zextload_v32i8_to_v32i32:2381; GFX6-NOHSA:       ; %bb.0:2382; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x92383; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2384; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02385; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0002386; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -12387; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2388; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s4, 242389; GFX6-NOHSA-NEXT:    s_bfe_u32 s13, s4, 0x800082390; GFX6-NOHSA-NEXT:    s_lshr_b32 s14, s5, 242391; GFX6-NOHSA-NEXT:    s_bfe_u32 s15, s5, 0x800082392; GFX6-NOHSA-NEXT:    s_lshr_b32 s16, s6, 242393; GFX6-NOHSA-NEXT:    s_bfe_u32 s17, s6, 0x800082394; GFX6-NOHSA-NEXT:    s_lshr_b32 s18, s7, 242395; GFX6-NOHSA-NEXT:    s_bfe_u32 s19, s7, 0x800082396; GFX6-NOHSA-NEXT:    s_lshr_b32 s20, s8, 242397; GFX6-NOHSA-NEXT:    s_bfe_u32 s21, s8, 0x800082398; GFX6-NOHSA-NEXT:    s_lshr_b32 s22, s9, 242399; GFX6-NOHSA-NEXT:    s_bfe_u32 s23, s9, 0x800082400; GFX6-NOHSA-NEXT:    s_lshr_b32 s24, s10, 242401; GFX6-NOHSA-NEXT:    s_bfe_u32 s25, s10, 0x800082402; GFX6-NOHSA-NEXT:    s_lshr_b32 s26, s11, 242403; GFX6-NOHSA-NEXT:    s_bfe_u32 s27, s11, 0x800082404; GFX6-NOHSA-NEXT:    s_and_b32 s28, s4, 0xff2405; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800102406; GFX6-NOHSA-NEXT:    s_and_b32 s29, s5, 0xff2407; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800102408; GFX6-NOHSA-NEXT:    s_and_b32 s30, s6, 0xff2409; GFX6-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800102410; GFX6-NOHSA-NEXT:    s_and_b32 s31, s7, 0xff2411; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800102412; GFX6-NOHSA-NEXT:    s_and_b32 s33, s8, 0xff2413; GFX6-NOHSA-NEXT:    s_bfe_u32 s8, s8, 0x800102414; GFX6-NOHSA-NEXT:    s_and_b32 s34, s9, 0xff2415; GFX6-NOHSA-NEXT:    s_bfe_u32 s9, s9, 0x800102416; GFX6-NOHSA-NEXT:    s_and_b32 s35, s10, 0xff2417; GFX6-NOHSA-NEXT:    s_and_b32 s36, s11, 0xff2418; GFX6-NOHSA-NEXT:    s_bfe_u32 s11, s11, 0x800102419; GFX6-NOHSA-NEXT:    s_bfe_u32 s10, s10, 0x800102420; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s362421; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s272422; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s112423; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s262424; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1122425; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2426; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s352427; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s252428; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s102429; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s242430; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:962431; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2432; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s342433; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s232434; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s92435; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s222436; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:802437; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2438; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s332439; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s212440; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s82441; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s202442; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:642443; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2444; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s312445; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s192446; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s72447; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s182448; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:482449; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2450; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s302451; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s172452; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s62453; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s162454; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:322455; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2456; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s292457; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s152458; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s52459; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s142460; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:162461; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2462; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s282463; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s132464; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s42465; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s122466; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 02467; GFX6-NOHSA-NEXT:    s_endpgm2468;2469; GFX7-HSA-LABEL: constant_zextload_v32i8_to_v32i32:2470; GFX7-HSA:       ; %bb.0:2471; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02472; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172473; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132474; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82475; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2476; GFX7-HSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02477; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2478; GFX7-HSA-NEXT:    s_lshr_b32 s12, s4, 242479; GFX7-HSA-NEXT:    s_bfe_u32 s13, s4, 0x800082480; GFX7-HSA-NEXT:    s_lshr_b32 s14, s5, 242481; GFX7-HSA-NEXT:    s_bfe_u32 s15, s5, 0x800082482; GFX7-HSA-NEXT:    s_lshr_b32 s16, s6, 242483; GFX7-HSA-NEXT:    s_bfe_u32 s17, s6, 0x800082484; GFX7-HSA-NEXT:    s_lshr_b32 s18, s7, 242485; GFX7-HSA-NEXT:    s_bfe_u32 s19, s7, 0x800082486; GFX7-HSA-NEXT:    s_lshr_b32 s20, s8, 242487; GFX7-HSA-NEXT:    s_bfe_u32 s21, s8, 0x800082488; GFX7-HSA-NEXT:    s_lshr_b32 s22, s9, 242489; GFX7-HSA-NEXT:    s_bfe_u32 s23, s9, 0x800082490; GFX7-HSA-NEXT:    s_lshr_b32 s24, s10, 242491; GFX7-HSA-NEXT:    s_bfe_u32 s25, s10, 0x800082492; GFX7-HSA-NEXT:    s_lshr_b32 s26, s11, 242493; GFX7-HSA-NEXT:    s_bfe_u32 s27, s11, 0x800082494; GFX7-HSA-NEXT:    s_and_b32 s28, s4, 0xff2495; GFX7-HSA-NEXT:    s_bfe_u32 s4, s4, 0x800102496; GFX7-HSA-NEXT:    s_and_b32 s29, s5, 0xff2497; GFX7-HSA-NEXT:    s_bfe_u32 s5, s5, 0x800102498; GFX7-HSA-NEXT:    s_and_b32 s30, s6, 0xff2499; GFX7-HSA-NEXT:    s_bfe_u32 s6, s6, 0x800102500; GFX7-HSA-NEXT:    s_and_b32 s31, s7, 0xff2501; GFX7-HSA-NEXT:    s_bfe_u32 s7, s7, 0x800102502; GFX7-HSA-NEXT:    s_and_b32 s33, s8, 0xff2503; GFX7-HSA-NEXT:    s_bfe_u32 s8, s8, 0x800102504; GFX7-HSA-NEXT:    s_and_b32 s34, s9, 0xff2505; GFX7-HSA-NEXT:    s_bfe_u32 s9, s9, 0x800102506; GFX7-HSA-NEXT:    s_and_b32 s35, s10, 0xff2507; GFX7-HSA-NEXT:    s_bfe_u32 s10, s10, 0x800102508; GFX7-HSA-NEXT:    s_and_b32 s36, s11, 0xff2509; GFX7-HSA-NEXT:    s_bfe_u32 s11, s11, 0x800102510; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x702511; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02512; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s32513; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s22514; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x602515; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02516; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s32517; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s22518; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x502519; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s362520; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s272521; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s112522; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s262523; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s352524; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s252525; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02526; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s102527; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s242528; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]2529; GFX7-HSA-NEXT:    flat_store_dwordx4 v[10:11], v[4:7]2530; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s342531; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32532; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22533; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 642534; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s232535; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s92536; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s222537; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02538; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2539; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32540; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22541; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 482542; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s332543; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s212544; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s82545; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s202546; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02547; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2548; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32549; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22550; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 322551; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s312552; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s192553; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s72554; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s182555; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02556; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2557; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32558; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22559; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 162560; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s302561; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s172562; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s62563; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s162564; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02565; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2566; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32567; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s292568; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s152569; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s52570; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s142571; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22572; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2573; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s12574; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s282575; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s132576; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s42577; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s122578; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s02579; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2580; GFX7-HSA-NEXT:    s_endpgm2581;2582; GFX8-NOHSA-LABEL: constant_zextload_v32i8_to_v32i32:2583; GFX8-NOHSA:       ; %bb.0:2584; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x242585; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2586; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02587; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2588; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s4, 242589; GFX8-NOHSA-NEXT:    s_bfe_u32 s13, s4, 0x800082590; GFX8-NOHSA-NEXT:    s_lshr_b32 s14, s5, 242591; GFX8-NOHSA-NEXT:    s_bfe_u32 s15, s5, 0x800082592; GFX8-NOHSA-NEXT:    s_lshr_b32 s16, s6, 242593; GFX8-NOHSA-NEXT:    s_bfe_u32 s17, s6, 0x800082594; GFX8-NOHSA-NEXT:    s_lshr_b32 s18, s7, 242595; GFX8-NOHSA-NEXT:    s_bfe_u32 s19, s7, 0x800082596; GFX8-NOHSA-NEXT:    s_lshr_b32 s20, s8, 242597; GFX8-NOHSA-NEXT:    s_bfe_u32 s21, s8, 0x800082598; GFX8-NOHSA-NEXT:    s_lshr_b32 s22, s9, 242599; GFX8-NOHSA-NEXT:    s_bfe_u32 s23, s9, 0x800082600; GFX8-NOHSA-NEXT:    s_lshr_b32 s24, s10, 242601; GFX8-NOHSA-NEXT:    s_bfe_u32 s25, s10, 0x800082602; GFX8-NOHSA-NEXT:    s_lshr_b32 s2, s11, 242603; GFX8-NOHSA-NEXT:    s_bfe_u32 s3, s11, 0x800082604; GFX8-NOHSA-NEXT:    s_and_b32 s26, s4, 0xff2605; GFX8-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800102606; GFX8-NOHSA-NEXT:    s_and_b32 s27, s5, 0xff2607; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800102608; GFX8-NOHSA-NEXT:    s_and_b32 s28, s6, 0xff2609; GFX8-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800102610; GFX8-NOHSA-NEXT:    s_and_b32 s29, s7, 0xff2611; GFX8-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800102612; GFX8-NOHSA-NEXT:    s_and_b32 s30, s8, 0xff2613; GFX8-NOHSA-NEXT:    s_bfe_u32 s8, s8, 0x800102614; GFX8-NOHSA-NEXT:    s_and_b32 s31, s9, 0xff2615; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s9, 0x800102616; GFX8-NOHSA-NEXT:    s_and_b32 s33, s10, 0xff2617; GFX8-NOHSA-NEXT:    s_bfe_u32 s10, s10, 0x800102618; GFX8-NOHSA-NEXT:    s_and_b32 s34, s11, 0xff2619; GFX8-NOHSA-NEXT:    s_bfe_u32 s11, s11, 0x800102620; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s22621; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x702622; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s32623; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02624; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32625; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22626; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x602627; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s342628; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s112629; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02630; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2631; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32632; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22633; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x502634; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s332635; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s252636; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s102637; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s242638; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02639; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2640; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32641; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22642; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 642643; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s312644; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s232645; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s92646; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s222647; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02648; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2649; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32650; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22651; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 482652; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s302653; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s212654; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s82655; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s202656; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02657; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2658; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32659; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22660; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 322661; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s292662; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s192663; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s72664; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s182665; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02666; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2667; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32668; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22669; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 162670; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s282671; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s172672; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s62673; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s162674; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02675; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2676; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32677; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s272678; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s152679; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s52680; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s142681; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22682; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2683; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s12684; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s262685; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s132686; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s42687; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s122688; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s02689; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2690; GFX8-NOHSA-NEXT:    s_endpgm2691;2692; EG-LABEL: constant_zextload_v32i8_to_v32i32:2693; EG:       ; %bb.0:2694; EG-NEXT:    ALU 0, @16, KC0[CB0:0-32], KC1[]2695; EG-NEXT:    TEX 1 @122696; EG-NEXT:    ALU 75, @17, KC0[CB0:0-32], KC1[]2697; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T24.XYZW, T26.X, 02698; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T22.XYZW, T25.X, 02699; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T23.X, 02700; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T12.X, 02701; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T17.XYZW, T20.X, 02702; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T15.XYZW, T18.X, 02703; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T16.X, 02704; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T13.XYZW, T11.X, 12705; EG-NEXT:    CF_END2706; EG-NEXT:    Fetch clause starting at 12:2707; EG-NEXT:     VTX_READ_128 T12.XYZW, T11.X, 16, #12708; EG-NEXT:     VTX_READ_128 T11.XYZW, T11.X, 0, #12709; EG-NEXT:    ALU clause starting at 16:2710; EG-NEXT:     MOV * T11.X, KC0[2].Z,2711; EG-NEXT:    ALU clause starting at 17:2712; EG-NEXT:     MOV * T0.W, literal.x,2713; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)2714; EG-NEXT:     BFE_UINT * T13.Z, T11.X, literal.x, PV.W,2715; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2716; EG-NEXT:     BFE_UINT T13.Y, T11.X, literal.x, T0.W,2717; EG-NEXT:     BFE_UINT T14.Z, T11.Y, literal.y, T0.W,2718; EG-NEXT:     LSHR * T13.W, T11.X, literal.z,2719; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)2720; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)2721; EG-NEXT:     AND_INT T13.X, T11.X, literal.x,2722; EG-NEXT:     BFE_UINT T14.Y, T11.Y, literal.y, T0.W,2723; EG-NEXT:     LSHR * T11.X, KC0[2].Y, literal.z,2724; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)2725; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2726; EG-NEXT:     BFE_UINT T15.Z, T11.Z, literal.x, T0.W,2727; EG-NEXT:     LSHR * T14.W, T11.Y, literal.y,2728; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)2729; EG-NEXT:     AND_INT T14.X, T11.Y, literal.x,2730; EG-NEXT:     BFE_UINT T15.Y, T11.Z, literal.y, T0.W,2731; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,2732; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)2733; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2734; EG-NEXT:     LSHR T16.X, PV.W, literal.x,2735; EG-NEXT:     BFE_UINT T17.Z, T11.W, literal.y, T0.W,2736; EG-NEXT:     LSHR T15.W, T11.Z, literal.z,2737; EG-NEXT:     AND_INT * T15.X, T11.Z, literal.w,2738; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2739; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)2740; EG-NEXT:     BFE_UINT T17.Y, T11.W, literal.x, T0.W,2741; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2742; EG-NEXT:    8(1.121039e-44), 32(4.484155e-44)2743; EG-NEXT:     LSHR T18.X, PV.W, literal.x,2744; EG-NEXT:     BFE_UINT T19.Z, T12.X, literal.y, T0.W, BS:VEC_021/SCL_1222745; EG-NEXT:     LSHR T17.W, T11.W, literal.z,2746; EG-NEXT:     AND_INT * T17.X, T11.W, literal.w,2747; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2748; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)2749; EG-NEXT:     BFE_UINT T19.Y, T12.X, literal.x, T0.W,2750; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2751; EG-NEXT:    8(1.121039e-44), 48(6.726233e-44)2752; EG-NEXT:     LSHR T20.X, PV.W, literal.x,2753; EG-NEXT:     BFE_UINT T21.Z, T12.Y, literal.y, T0.W,2754; EG-NEXT:     LSHR T19.W, T12.X, literal.z,2755; EG-NEXT:     AND_INT * T19.X, T12.X, literal.w,2756; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2757; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)2758; EG-NEXT:     BFE_UINT T21.Y, T12.Y, literal.x, T0.W,2759; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2760; EG-NEXT:    8(1.121039e-44), 64(8.968310e-44)2761; EG-NEXT:     LSHR T12.X, PV.W, literal.x,2762; EG-NEXT:     BFE_UINT T22.Z, T12.Z, literal.y, T0.W,2763; EG-NEXT:     LSHR T21.W, T12.Y, literal.z,2764; EG-NEXT:     AND_INT * T21.X, T12.Y, literal.w,2765; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2766; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)2767; EG-NEXT:     BFE_UINT T22.Y, T12.Z, literal.x, T0.W,2768; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2769; EG-NEXT:    8(1.121039e-44), 80(1.121039e-43)2770; EG-NEXT:     LSHR T23.X, PV.W, literal.x,2771; EG-NEXT:     BFE_UINT T24.Z, T12.W, literal.y, T0.W,2772; EG-NEXT:     LSHR T22.W, T12.Z, literal.z,2773; EG-NEXT:     AND_INT * T22.X, T12.Z, literal.w,2774; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2775; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)2776; EG-NEXT:     BFE_UINT T24.Y, T12.W, literal.x, T0.W,2777; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,2778; EG-NEXT:    8(1.121039e-44), 96(1.345247e-43)2779; EG-NEXT:     LSHR T25.X, PV.W, literal.x,2780; EG-NEXT:     LSHR T24.W, T12.W, literal.y,2781; EG-NEXT:     AND_INT * T24.X, T12.W, literal.z,2782; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)2783; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)2784; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,2785; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)2786; EG-NEXT:     LSHR * T26.X, PV.W, literal.x,2787; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2788;2789; GFX12-LABEL: constant_zextload_v32i8_to_v32i32:2790; GFX12:       ; %bb.0:2791; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242792; GFX12-NEXT:    s_wait_kmcnt 0x02793; GFX12-NEXT:    s_load_b256 s[4:11], s[2:3], 0x02794; GFX12-NEXT:    s_wait_kmcnt 0x02795; GFX12-NEXT:    s_lshr_b32 s24, s11, 242796; GFX12-NEXT:    s_bfe_u32 s25, s11, 0x800082797; GFX12-NEXT:    s_and_b32 s34, s11, 0xff2798; GFX12-NEXT:    s_bfe_u32 s11, s11, 0x800102799; GFX12-NEXT:    s_lshr_b32 s22, s10, 242800; GFX12-NEXT:    s_bfe_u32 s23, s10, 0x800082801; GFX12-NEXT:    s_and_b32 s33, s10, 0xff2802; GFX12-NEXT:    s_bfe_u32 s10, s10, 0x800102803; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s252804; GFX12-NEXT:    v_dual_mov_b32 v0, s34 :: v_dual_mov_b32 v3, s242805; GFX12-NEXT:    v_dual_mov_b32 v2, s11 :: v_dual_mov_b32 v5, s232806; GFX12-NEXT:    s_bfe_u32 s21, s9, 0x800082807; GFX12-NEXT:    v_dual_mov_b32 v4, s33 :: v_dual_mov_b32 v7, s222808; GFX12-NEXT:    v_dual_mov_b32 v6, s10 :: v_dual_mov_b32 v9, s212809; GFX12-NEXT:    s_lshr_b32 s20, s9, 242810; GFX12-NEXT:    s_and_b32 s31, s9, 0xff2811; GFX12-NEXT:    s_bfe_u32 s9, s9, 0x800102812; GFX12-NEXT:    s_lshr_b32 s18, s8, 242813; GFX12-NEXT:    s_bfe_u32 s19, s8, 0x800082814; GFX12-NEXT:    s_and_b32 s30, s8, 0xff2815; GFX12-NEXT:    s_bfe_u32 s8, s8, 0x800102816; GFX12-NEXT:    s_lshr_b32 s16, s7, 242817; GFX12-NEXT:    s_bfe_u32 s17, s7, 0x800082818; GFX12-NEXT:    s_and_b32 s29, s7, 0xff2819; GFX12-NEXT:    s_bfe_u32 s7, s7, 0x800102820; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)2821; GFX12-NEXT:    v_dual_mov_b32 v8, s31 :: v_dual_mov_b32 v11, s202822; GFX12-NEXT:    v_mov_b32_e32 v10, s92823; GFX12-NEXT:    s_lshr_b32 s14, s6, 242824; GFX12-NEXT:    s_bfe_u32 s15, s6, 0x800082825; GFX12-NEXT:    s_and_b32 s28, s6, 0xff2826; GFX12-NEXT:    s_bfe_u32 s6, s6, 0x800102827; GFX12-NEXT:    s_clause 0x12828; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[0:1] offset:1122829; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[0:1] offset:962830; GFX12-NEXT:    v_dual_mov_b32 v0, s30 :: v_dual_mov_b32 v3, s182831; GFX12-NEXT:    v_dual_mov_b32 v1, s19 :: v_dual_mov_b32 v2, s82832; GFX12-NEXT:    v_mov_b32_e32 v5, s172833; GFX12-NEXT:    s_lshr_b32 s12, s5, 242834; GFX12-NEXT:    s_bfe_u32 s13, s5, 0x800082835; GFX12-NEXT:    s_and_b32 s27, s5, 0xff2836; GFX12-NEXT:    s_bfe_u32 s5, s5, 0x800102837; GFX12-NEXT:    v_dual_mov_b32 v4, s29 :: v_dual_mov_b32 v7, s162838; GFX12-NEXT:    v_dual_mov_b32 v6, s7 :: v_dual_mov_b32 v13, s152839; GFX12-NEXT:    s_lshr_b32 s2, s4, 242840; GFX12-NEXT:    s_bfe_u32 s3, s4, 0x800082841; GFX12-NEXT:    s_and_b32 s26, s4, 0xff2842; GFX12-NEXT:    s_bfe_u32 s4, s4, 0x800102843; GFX12-NEXT:    v_dual_mov_b32 v12, s28 :: v_dual_mov_b32 v15, s142844; GFX12-NEXT:    v_dual_mov_b32 v14, s6 :: v_dual_mov_b32 v17, s132845; GFX12-NEXT:    v_dual_mov_b32 v16, s27 :: v_dual_mov_b32 v19, s122846; GFX12-NEXT:    v_dual_mov_b32 v18, s5 :: v_dual_mov_b32 v21, s32847; GFX12-NEXT:    v_dual_mov_b32 v20, s26 :: v_dual_mov_b32 v23, s22848; GFX12-NEXT:    v_mov_b32_e32 v22, s42849; GFX12-NEXT:    s_clause 0x52850; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[0:1] offset:802851; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[0:1] offset:642852; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[0:1] offset:482853; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[0:1] offset:322854; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[0:1] offset:162855; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[0:1]2856; GFX12-NEXT:    s_endpgm2857  %load = load <32 x i8>, ptr addrspace(4) %in2858  %ext = zext <32 x i8> %load to <32 x i32>2859  store <32 x i32> %ext, ptr addrspace(1) %out2860  ret void2861}2862 2863; TODO: These should use DST, but for some there are redundant MOVs2864define amdgpu_kernel void @constant_sextload_v32i8_to_v32i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2865; GFX6-NOHSA-LABEL: constant_sextload_v32i8_to_v32i32:2866; GFX6-NOHSA:       ; %bb.0:2867; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x92868; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2869; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02870; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0002871; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -12872; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2873; GFX6-NOHSA-NEXT:    s_ashr_i32 s12, s4, 242874; GFX6-NOHSA-NEXT:    s_bfe_i32 s13, s4, 0x800102875; GFX6-NOHSA-NEXT:    s_bfe_i32 s14, s4, 0x800082876; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s42877; GFX6-NOHSA-NEXT:    s_ashr_i32 s15, s5, 242878; GFX6-NOHSA-NEXT:    s_bfe_i32 s16, s5, 0x800102879; GFX6-NOHSA-NEXT:    s_bfe_i32 s17, s5, 0x800082880; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s52881; GFX6-NOHSA-NEXT:    s_ashr_i32 s18, s6, 242882; GFX6-NOHSA-NEXT:    s_bfe_i32 s19, s6, 0x800102883; GFX6-NOHSA-NEXT:    s_bfe_i32 s20, s6, 0x800082884; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s6, s62885; GFX6-NOHSA-NEXT:    s_ashr_i32 s21, s7, 242886; GFX6-NOHSA-NEXT:    s_bfe_i32 s22, s7, 0x800102887; GFX6-NOHSA-NEXT:    s_bfe_i32 s23, s7, 0x800082888; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s7, s72889; GFX6-NOHSA-NEXT:    s_ashr_i32 s24, s8, 242890; GFX6-NOHSA-NEXT:    s_bfe_i32 s25, s8, 0x800102891; GFX6-NOHSA-NEXT:    s_bfe_i32 s26, s8, 0x800082892; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s8, s82893; GFX6-NOHSA-NEXT:    s_ashr_i32 s27, s9, 242894; GFX6-NOHSA-NEXT:    s_bfe_i32 s28, s9, 0x800102895; GFX6-NOHSA-NEXT:    s_bfe_i32 s29, s9, 0x800082896; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s9, s92897; GFX6-NOHSA-NEXT:    s_ashr_i32 s30, s10, 242898; GFX6-NOHSA-NEXT:    s_bfe_i32 s31, s10, 0x800102899; GFX6-NOHSA-NEXT:    s_bfe_i32 s33, s10, 0x800082900; GFX6-NOHSA-NEXT:    s_ashr_i32 s34, s11, 242901; GFX6-NOHSA-NEXT:    s_bfe_i32 s35, s11, 0x800102902; GFX6-NOHSA-NEXT:    s_bfe_i32 s36, s11, 0x800082903; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s11, s112904; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s10, s102905; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s112906; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s362907; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s352908; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s342909; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1122910; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2911; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s102912; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s332913; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s312914; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s302915; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:962916; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2917; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s92918; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s292919; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s282920; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s272921; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:802922; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2923; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s82924; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s262925; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s252926; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s242927; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:642928; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2929; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s72930; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s232931; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s222932; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s212933; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:482934; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2935; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s62936; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s202937; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s192938; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s182939; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:322940; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2941; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s52942; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s172943; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s162944; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s152945; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:162946; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2947; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s42948; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s142949; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s132950; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s122951; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 02952; GFX6-NOHSA-NEXT:    s_endpgm2953;2954; GFX7-HSA-LABEL: constant_sextload_v32i8_to_v32i32:2955; GFX7-HSA:       ; %bb.0:2956; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02957; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172958; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132959; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82960; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2961; GFX7-HSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02962; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2963; GFX7-HSA-NEXT:    s_ashr_i32 s12, s4, 242964; GFX7-HSA-NEXT:    s_bfe_i32 s13, s4, 0x800102965; GFX7-HSA-NEXT:    s_bfe_i32 s14, s4, 0x800082966; GFX7-HSA-NEXT:    s_ashr_i32 s15, s5, 242967; GFX7-HSA-NEXT:    s_bfe_i32 s16, s5, 0x800102968; GFX7-HSA-NEXT:    s_bfe_i32 s17, s5, 0x800082969; GFX7-HSA-NEXT:    s_ashr_i32 s18, s6, 242970; GFX7-HSA-NEXT:    s_bfe_i32 s19, s6, 0x800102971; GFX7-HSA-NEXT:    s_bfe_i32 s20, s6, 0x800082972; GFX7-HSA-NEXT:    s_ashr_i32 s21, s7, 242973; GFX7-HSA-NEXT:    s_bfe_i32 s22, s7, 0x800102974; GFX7-HSA-NEXT:    s_bfe_i32 s23, s7, 0x800082975; GFX7-HSA-NEXT:    s_ashr_i32 s24, s8, 242976; GFX7-HSA-NEXT:    s_bfe_i32 s25, s8, 0x800102977; GFX7-HSA-NEXT:    s_bfe_i32 s26, s8, 0x800082978; GFX7-HSA-NEXT:    s_ashr_i32 s27, s9, 242979; GFX7-HSA-NEXT:    s_bfe_i32 s28, s9, 0x800102980; GFX7-HSA-NEXT:    s_bfe_i32 s29, s9, 0x800082981; GFX7-HSA-NEXT:    s_ashr_i32 s30, s10, 242982; GFX7-HSA-NEXT:    s_bfe_i32 s31, s10, 0x800102983; GFX7-HSA-NEXT:    s_bfe_i32 s33, s10, 0x800082984; GFX7-HSA-NEXT:    s_ashr_i32 s34, s11, 242985; GFX7-HSA-NEXT:    s_bfe_i32 s35, s11, 0x800102986; GFX7-HSA-NEXT:    s_bfe_i32 s36, s11, 0x800082987; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x702988; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02989; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s32990; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s22991; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x602992; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02993; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s32994; GFX7-HSA-NEXT:    s_sext_i32_i8 s10, s102995; GFX7-HSA-NEXT:    s_sext_i32_i8 s11, s112996; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s22997; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x502998; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s112999; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s363000; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s353001; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s343002; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s103003; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s333004; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 03005; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s313006; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s303007; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]3008; GFX7-HSA-NEXT:    flat_store_dwordx4 v[10:11], v[4:7]3009; GFX7-HSA-NEXT:    s_sext_i32_i8 s9, s93010; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33011; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23012; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 643013; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s93014; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s293015; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s283016; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s273017; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 03018; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3019; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33020; GFX7-HSA-NEXT:    s_sext_i32_i8 s8, s83021; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23022; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 483023; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s83024; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s263025; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s253026; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s243027; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 03028; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3029; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33030; GFX7-HSA-NEXT:    s_sext_i32_i8 s7, s73031; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23032; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 323033; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s73034; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s233035; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s223036; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s213037; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 03038; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3039; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33040; GFX7-HSA-NEXT:    s_sext_i32_i8 s6, s63041; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23042; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 163043; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s63044; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s203045; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s193046; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s183047; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 03048; GFX7-HSA-NEXT:    s_sext_i32_i8 s5, s53049; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3050; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33051; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s53052; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s173053; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s163054; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s153055; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23056; GFX7-HSA-NEXT:    s_sext_i32_i8 s4, s43057; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3058; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s13059; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s43060; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s143061; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s133062; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s123063; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s03064; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3065; GFX7-HSA-NEXT:    s_endpgm3066;3067; GFX8-NOHSA-LABEL: constant_sextload_v32i8_to_v32i32:3068; GFX8-NOHSA:       ; %bb.0:3069; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x243070; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3071; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x03072; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3073; GFX8-NOHSA-NEXT:    s_ashr_i32 s12, s4, 243074; GFX8-NOHSA-NEXT:    s_bfe_i32 s13, s4, 0x800103075; GFX8-NOHSA-NEXT:    s_bfe_i32 s14, s4, 0x800083076; GFX8-NOHSA-NEXT:    s_ashr_i32 s15, s5, 243077; GFX8-NOHSA-NEXT:    s_bfe_i32 s16, s5, 0x800103078; GFX8-NOHSA-NEXT:    s_bfe_i32 s17, s5, 0x800083079; GFX8-NOHSA-NEXT:    s_ashr_i32 s18, s6, 243080; GFX8-NOHSA-NEXT:    s_bfe_i32 s19, s6, 0x800103081; GFX8-NOHSA-NEXT:    s_bfe_i32 s20, s6, 0x800083082; GFX8-NOHSA-NEXT:    s_ashr_i32 s21, s7, 243083; GFX8-NOHSA-NEXT:    s_bfe_i32 s22, s7, 0x800103084; GFX8-NOHSA-NEXT:    s_bfe_i32 s23, s7, 0x800083085; GFX8-NOHSA-NEXT:    s_ashr_i32 s24, s8, 243086; GFX8-NOHSA-NEXT:    s_bfe_i32 s25, s8, 0x800103087; GFX8-NOHSA-NEXT:    s_bfe_i32 s26, s8, 0x800083088; GFX8-NOHSA-NEXT:    s_ashr_i32 s27, s9, 243089; GFX8-NOHSA-NEXT:    s_bfe_i32 s28, s9, 0x800103090; GFX8-NOHSA-NEXT:    s_bfe_i32 s29, s9, 0x800083091; GFX8-NOHSA-NEXT:    s_ashr_i32 s30, s10, 243092; GFX8-NOHSA-NEXT:    s_bfe_i32 s31, s10, 0x800103093; GFX8-NOHSA-NEXT:    s_bfe_i32 s33, s10, 0x800083094; GFX8-NOHSA-NEXT:    s_ashr_i32 s2, s11, 243095; GFX8-NOHSA-NEXT:    s_bfe_i32 s3, s11, 0x800103096; GFX8-NOHSA-NEXT:    s_bfe_i32 s34, s11, 0x800083097; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s23098; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x703099; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s33100; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03101; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33102; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s11, s113103; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23104; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x603105; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s113106; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s343107; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03108; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3109; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33110; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s10, s103111; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23112; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x503113; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s103114; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s333115; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s313116; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s303117; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03118; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3119; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33120; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s9, s93121; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23122; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 643123; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s93124; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s293125; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s283126; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s273127; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03128; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3129; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33130; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s8, s83131; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23132; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 483133; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s83134; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s263135; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s253136; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s243137; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03138; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3139; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33140; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s7, s73141; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23142; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 323143; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s73144; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s233145; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s223146; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s213147; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03148; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3149; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33150; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s6, s63151; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23152; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 163153; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s63154; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s203155; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s193156; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s183157; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 03158; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s5, s53159; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3160; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33161; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s53162; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s173163; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s163164; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s153165; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23166; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s4, s43167; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3168; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s13169; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s43170; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s143171; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s133172; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s123173; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s03174; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3175; GFX8-NOHSA-NEXT:    s_endpgm3176;3177; EG-LABEL: constant_sextload_v32i8_to_v32i32:3178; EG:       ; %bb.0:3179; EG-NEXT:    ALU 0, @18, KC0[CB0:0-32], KC1[]3180; EG-NEXT:    TEX 0 @143181; EG-NEXT:    ALU 18, @19, KC0[CB0:0-32], KC1[]3182; EG-NEXT:    TEX 0 @163183; EG-NEXT:    ALU 75, @38, KC0[CB0:0-32], KC1[]3184; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T24.XYZW, T26.X, 03185; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T23.XYZW, T25.X, 03186; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T12.X, 03187; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T22.XYZW, T17.X, 03188; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T16.X, 03189; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T15.X, 03190; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T14.X, 03191; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T18.XYZW, T13.X, 13192; EG-NEXT:    CF_END3193; EG-NEXT:    Fetch clause starting at 14:3194; EG-NEXT:     VTX_READ_128 T12.XYZW, T11.X, 16, #13195; EG-NEXT:    Fetch clause starting at 16:3196; EG-NEXT:     VTX_READ_128 T11.XYZW, T11.X, 0, #13197; EG-NEXT:    ALU clause starting at 18:3198; EG-NEXT:     MOV * T11.X, KC0[2].Z,3199; EG-NEXT:    ALU clause starting at 19:3200; EG-NEXT:     LSHR T13.X, KC0[2].Y, literal.x,3201; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3202; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)3203; EG-NEXT:     LSHR T14.X, PV.W, literal.x,3204; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3205; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)3206; EG-NEXT:     LSHR T15.X, PV.W, literal.x,3207; EG-NEXT:     LSHR T0.Z, T12.W, literal.y,3208; EG-NEXT:     LSHR T0.W, T12.Z, literal.z,3209; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.w,3210; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)3211; EG-NEXT:    8(1.121039e-44), 48(6.726233e-44)3212; EG-NEXT:     LSHR T16.X, PS, literal.x,3213; EG-NEXT:     LSHR T0.Y, T12.W, literal.y,3214; EG-NEXT:     LSHR T1.Z, T12.Z, literal.z,3215; EG-NEXT:     LSHR T1.W, T12.Y, literal.w,3216; EG-NEXT:     LSHR * T2.W, T12.Z, literal.y,3217; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)3218; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)3219; EG-NEXT:    ALU clause starting at 38:3220; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.x,3221; EG-NEXT:    64(8.968310e-44), 0(0.000000e+00)3222; EG-NEXT:     LSHR T17.X, PV.W, literal.x,3223; EG-NEXT:     LSHR T1.Y, T12.Y, literal.y,3224; EG-NEXT:     LSHR T2.Z, T12.Y, literal.z,3225; EG-NEXT:     LSHR T3.W, T12.X, literal.y,3226; EG-NEXT:     LSHR * T4.W, T12.X, literal.z,3227; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)3228; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)3229; EG-NEXT:     BFE_INT T18.X, T11.X, 0.0, literal.x,3230; EG-NEXT:     LSHR T2.Y, T11.W, literal.y,3231; EG-NEXT:     LSHR T3.Z, T11.W, literal.z,3232; EG-NEXT:     LSHR T5.W, T11.Z, literal.y,3233; EG-NEXT:     LSHR * T6.W, T11.X, literal.z,3234; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)3235; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)3236; EG-NEXT:     BFE_INT T19.X, T11.Y, 0.0, literal.x,3237; EG-NEXT:     LSHR T3.Y, T11.Z, literal.y,3238; EG-NEXT:     LSHR T4.Z, T11.Y, literal.y,3239; EG-NEXT:     BFE_INT T18.W, PS, 0.0, literal.x,3240; EG-NEXT:     LSHR * T6.W, T11.X, literal.z,3241; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)3242; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)3243; EG-NEXT:     BFE_INT T20.X, T11.Z, 0.0, literal.x,3244; EG-NEXT:     LSHR T4.Y, T11.Y, literal.y,3245; EG-NEXT:     BFE_INT T18.Z, PS, 0.0, literal.x,3246; EG-NEXT:     BFE_INT T19.W, PV.Z, 0.0, literal.x,3247; EG-NEXT:     LSHR * T6.W, T11.X, literal.x,3248; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)3249; EG-NEXT:     BFE_INT T21.X, T11.W, 0.0, literal.x,3250; EG-NEXT:     BFE_INT T18.Y, PS, 0.0, literal.x,3251; EG-NEXT:     BFE_INT T19.Z, PV.Y, 0.0, literal.x,3252; EG-NEXT:     BFE_INT T20.W, T3.Y, 0.0, literal.x,3253; EG-NEXT:     LSHR * T6.W, T11.Y, literal.x,3254; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)3255; EG-NEXT:     BFE_INT T22.X, T12.X, 0.0, literal.x,3256; EG-NEXT:     BFE_INT T19.Y, PS, 0.0, literal.x,3257; EG-NEXT:     BFE_INT T20.Z, T5.W, 0.0, literal.x,3258; EG-NEXT:     BFE_INT T21.W, T3.Z, 0.0, literal.x,3259; EG-NEXT:     LSHR * T5.W, T11.Z, literal.x,3260; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)3261; EG-NEXT:     BFE_INT T11.X, T12.Y, 0.0, literal.x,3262; EG-NEXT:     BFE_INT T20.Y, PS, 0.0, literal.x,3263; EG-NEXT:     BFE_INT T21.Z, T2.Y, 0.0, literal.x, BS:VEC_120/SCL_2123264; EG-NEXT:     BFE_INT T22.W, T4.W, 0.0, literal.x,3265; EG-NEXT:     LSHR * T4.W, T11.W, literal.x,3266; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)3267; EG-NEXT:     BFE_INT T23.X, T12.Z, 0.0, literal.x,3268; EG-NEXT:     BFE_INT T21.Y, PS, 0.0, literal.x,3269; EG-NEXT:     BFE_INT T22.Z, T3.W, 0.0, literal.x,3270; EG-NEXT:     BFE_INT T11.W, T2.Z, 0.0, literal.x, BS:VEC_120/SCL_2123271; EG-NEXT:     LSHR * T3.W, T12.X, literal.x,3272; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)3273; EG-NEXT:     BFE_INT T24.X, T12.W, 0.0, literal.x,3274; EG-NEXT:     BFE_INT T22.Y, PS, 0.0, literal.x,3275; EG-NEXT:     BFE_INT T11.Z, T1.Y, 0.0, literal.x,3276; EG-NEXT:     BFE_INT T23.W, T2.W, 0.0, literal.x, BS:VEC_120/SCL_2123277; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3278; EG-NEXT:    8(1.121039e-44), 80(1.121039e-43)3279; EG-NEXT:     LSHR T12.X, PS, literal.x,3280; EG-NEXT:     BFE_INT T11.Y, T1.W, 0.0, literal.y,3281; EG-NEXT:     BFE_INT T23.Z, T1.Z, 0.0, literal.y,3282; EG-NEXT:     BFE_INT T24.W, T0.Y, 0.0, literal.y,3283; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,3284; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)3285; EG-NEXT:    96(1.345247e-43), 0(0.000000e+00)3286; EG-NEXT:     LSHR T25.X, PS, literal.x,3287; EG-NEXT:     BFE_INT T23.Y, T0.W, 0.0, literal.y,3288; EG-NEXT:     BFE_INT T24.Z, T0.Z, 0.0, literal.y,3289; EG-NEXT:     LSHR T0.W, T12.W, literal.y, BS:VEC_120/SCL_2123290; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,3291; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)3292; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)3293; EG-NEXT:     LSHR T26.X, PS, literal.x,3294; EG-NEXT:     BFE_INT * T24.Y, PV.W, 0.0, literal.y,3295; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)3296;3297; GFX12-LABEL: constant_sextload_v32i8_to_v32i32:3298; GFX12:       ; %bb.0:3299; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x243300; GFX12-NEXT:    s_wait_kmcnt 0x03301; GFX12-NEXT:    s_load_b256 s[4:11], s[2:3], 0x03302; GFX12-NEXT:    s_wait_kmcnt 0x03303; GFX12-NEXT:    s_ashr_i32 s31, s11, 243304; GFX12-NEXT:    s_bfe_i32 s33, s11, 0x800103305; GFX12-NEXT:    s_sext_i32_i8 s34, s113306; GFX12-NEXT:    s_bfe_i32 s11, s11, 0x800083307; GFX12-NEXT:    s_ashr_i32 s28, s10, 243308; GFX12-NEXT:    s_bfe_i32 s29, s10, 0x800103309; GFX12-NEXT:    s_bfe_i32 s30, s10, 0x800083310; GFX12-NEXT:    s_sext_i32_i8 s10, s103311; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s113312; GFX12-NEXT:    v_dual_mov_b32 v0, s34 :: v_dual_mov_b32 v3, s313313; GFX12-NEXT:    v_dual_mov_b32 v2, s33 :: v_dual_mov_b32 v5, s303314; GFX12-NEXT:    s_bfe_i32 s27, s9, 0x800083315; GFX12-NEXT:    v_dual_mov_b32 v4, s10 :: v_dual_mov_b32 v7, s283316; GFX12-NEXT:    v_dual_mov_b32 v6, s29 :: v_dual_mov_b32 v9, s273317; GFX12-NEXT:    s_ashr_i32 s25, s9, 243318; GFX12-NEXT:    s_bfe_i32 s26, s9, 0x800103319; GFX12-NEXT:    s_sext_i32_i8 s9, s93320; GFX12-NEXT:    s_ashr_i32 s22, s8, 243321; GFX12-NEXT:    s_bfe_i32 s23, s8, 0x800103322; GFX12-NEXT:    s_bfe_i32 s24, s8, 0x800083323; GFX12-NEXT:    s_sext_i32_i8 s8, s83324; GFX12-NEXT:    s_ashr_i32 s19, s7, 243325; GFX12-NEXT:    s_bfe_i32 s20, s7, 0x800103326; GFX12-NEXT:    s_bfe_i32 s21, s7, 0x800083327; GFX12-NEXT:    s_sext_i32_i8 s7, s73328; GFX12-NEXT:    v_dual_mov_b32 v8, s9 :: v_dual_mov_b32 v11, s253329; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)3330; GFX12-NEXT:    v_mov_b32_e32 v10, s263331; GFX12-NEXT:    s_ashr_i32 s16, s6, 243332; GFX12-NEXT:    s_bfe_i32 s17, s6, 0x800103333; GFX12-NEXT:    s_bfe_i32 s18, s6, 0x800083334; GFX12-NEXT:    s_sext_i32_i8 s6, s63335; GFX12-NEXT:    s_clause 0x13336; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[0:1] offset:1123337; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[0:1] offset:963338; GFX12-NEXT:    v_dual_mov_b32 v0, s8 :: v_dual_mov_b32 v3, s223339; GFX12-NEXT:    v_dual_mov_b32 v1, s24 :: v_dual_mov_b32 v2, s233340; GFX12-NEXT:    v_mov_b32_e32 v5, s213341; GFX12-NEXT:    s_ashr_i32 s13, s5, 243342; GFX12-NEXT:    s_bfe_i32 s14, s5, 0x800103343; GFX12-NEXT:    s_bfe_i32 s15, s5, 0x800083344; GFX12-NEXT:    s_sext_i32_i8 s5, s53345; GFX12-NEXT:    v_dual_mov_b32 v4, s7 :: v_dual_mov_b32 v7, s193346; GFX12-NEXT:    v_dual_mov_b32 v6, s20 :: v_dual_mov_b32 v13, s183347; GFX12-NEXT:    s_ashr_i32 s2, s4, 243348; GFX12-NEXT:    s_bfe_i32 s3, s4, 0x800103349; GFX12-NEXT:    s_bfe_i32 s12, s4, 0x800083350; GFX12-NEXT:    s_sext_i32_i8 s4, s43351; GFX12-NEXT:    v_dual_mov_b32 v12, s6 :: v_dual_mov_b32 v15, s163352; GFX12-NEXT:    v_dual_mov_b32 v14, s17 :: v_dual_mov_b32 v17, s153353; GFX12-NEXT:    v_dual_mov_b32 v16, s5 :: v_dual_mov_b32 v19, s133354; GFX12-NEXT:    v_dual_mov_b32 v18, s14 :: v_dual_mov_b32 v21, s123355; GFX12-NEXT:    v_dual_mov_b32 v20, s4 :: v_dual_mov_b32 v23, s23356; GFX12-NEXT:    v_mov_b32_e32 v22, s33357; GFX12-NEXT:    s_clause 0x53358; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[0:1] offset:803359; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[0:1] offset:643360; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[0:1] offset:483361; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[0:1] offset:323362; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[0:1] offset:163363; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[0:1]3364; GFX12-NEXT:    s_endpgm3365  %load = load <32 x i8>, ptr addrspace(4) %in3366  %ext = sext <32 x i8> %load to <32 x i32>3367  store <32 x i32> %ext, ptr addrspace(1) %out3368  ret void3369}3370 3371define amdgpu_kernel void @constant_zextload_v64i8_to_v64i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {3372; GFX6-NOHSA-LABEL: constant_zextload_v64i8_to_v64i32:3373; GFX6-NOHSA:       ; %bb.0:3374; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x93375; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3376; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03377; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3378; GFX6-NOHSA-NEXT:    s_lshr_b32 s18, s0, 243379; GFX6-NOHSA-NEXT:    s_bfe_u32 s19, s0, 0x800083380; GFX6-NOHSA-NEXT:    s_lshr_b32 s20, s1, 243381; GFX6-NOHSA-NEXT:    s_bfe_u32 s21, s1, 0x800083382; GFX6-NOHSA-NEXT:    s_lshr_b32 s22, s2, 243383; GFX6-NOHSA-NEXT:    s_bfe_u32 s23, s2, 0x800083384; GFX6-NOHSA-NEXT:    s_lshr_b32 s24, s3, 243385; GFX6-NOHSA-NEXT:    s_bfe_u32 s27, s3, 0x800083386; GFX6-NOHSA-NEXT:    s_lshr_b32 s28, s4, 243387; GFX6-NOHSA-NEXT:    s_bfe_u32 s29, s4, 0x800083388; GFX6-NOHSA-NEXT:    s_lshr_b32 s30, s5, 243389; GFX6-NOHSA-NEXT:    s_bfe_u32 s31, s5, 0x800083390; GFX6-NOHSA-NEXT:    s_lshr_b32 s33, s6, 243391; GFX6-NOHSA-NEXT:    s_bfe_u32 s34, s6, 0x800083392; GFX6-NOHSA-NEXT:    s_lshr_b32 s35, s7, 243393; GFX6-NOHSA-NEXT:    s_bfe_u32 s36, s7, 0x800083394; GFX6-NOHSA-NEXT:    s_lshr_b32 s37, s8, 243395; GFX6-NOHSA-NEXT:    s_bfe_u32 s38, s8, 0x800083396; GFX6-NOHSA-NEXT:    s_lshr_b32 s39, s9, 243397; GFX6-NOHSA-NEXT:    s_bfe_u32 s40, s9, 0x800083398; GFX6-NOHSA-NEXT:    s_lshr_b32 s41, s10, 243399; GFX6-NOHSA-NEXT:    s_bfe_u32 s42, s10, 0x800083400; GFX6-NOHSA-NEXT:    s_lshr_b32 s43, s11, 243401; GFX6-NOHSA-NEXT:    s_bfe_u32 s44, s11, 0x800083402; GFX6-NOHSA-NEXT:    s_lshr_b32 s45, s12, 243403; GFX6-NOHSA-NEXT:    s_bfe_u32 s46, s12, 0x800083404; GFX6-NOHSA-NEXT:    s_lshr_b32 s47, s13, 243405; GFX6-NOHSA-NEXT:    s_bfe_u32 s48, s13, 0x800083406; GFX6-NOHSA-NEXT:    s_lshr_b32 s49, s14, 243407; GFX6-NOHSA-NEXT:    s_bfe_u32 s50, s14, 0x800083408; GFX6-NOHSA-NEXT:    s_lshr_b32 s51, s15, 243409; GFX6-NOHSA-NEXT:    s_bfe_u32 s52, s15, 0x800083410; GFX6-NOHSA-NEXT:    s_and_b32 s26, s0, 0xff3411; GFX6-NOHSA-NEXT:    s_bfe_u32 s25, s0, 0x800103412; GFX6-NOHSA-NEXT:    s_and_b32 s53, s1, 0xff3413; GFX6-NOHSA-NEXT:    s_bfe_u32 s54, s1, 0x800103414; GFX6-NOHSA-NEXT:    s_and_b32 s55, s2, 0xff3415; GFX6-NOHSA-NEXT:    s_bfe_u32 s56, s2, 0x800103416; GFX6-NOHSA-NEXT:    s_and_b32 s57, s3, 0xff3417; GFX6-NOHSA-NEXT:    s_bfe_u32 s58, s3, 0x800103418; GFX6-NOHSA-NEXT:    s_and_b32 s59, s4, 0xff3419; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800103420; GFX6-NOHSA-NEXT:    s_and_b32 s60, s5, 0xff3421; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800103422; GFX6-NOHSA-NEXT:    s_and_b32 s61, s6, 0xff3423; GFX6-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800103424; GFX6-NOHSA-NEXT:    s_and_b32 s62, s7, 0xff3425; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800103426; GFX6-NOHSA-NEXT:    s_and_b32 s63, s8, 0xff3427; GFX6-NOHSA-NEXT:    s_bfe_u32 s8, s8, 0x800103428; GFX6-NOHSA-NEXT:    s_and_b32 s64, s9, 0xff3429; GFX6-NOHSA-NEXT:    s_bfe_u32 s9, s9, 0x800103430; GFX6-NOHSA-NEXT:    s_and_b32 s65, s10, 0xff3431; GFX6-NOHSA-NEXT:    s_and_b32 s66, s11, 0xff3432; GFX6-NOHSA-NEXT:    s_bfe_u32 s11, s11, 0x800103433; GFX6-NOHSA-NEXT:    s_and_b32 s67, s12, 0xff3434; GFX6-NOHSA-NEXT:    s_bfe_u32 s12, s12, 0x800103435; GFX6-NOHSA-NEXT:    s_and_b32 s68, s13, 0xff3436; GFX6-NOHSA-NEXT:    s_bfe_u32 s13, s13, 0x800103437; GFX6-NOHSA-NEXT:    s_and_b32 s69, s14, 0xff3438; GFX6-NOHSA-NEXT:    s_bfe_u32 s14, s14, 0x800103439; GFX6-NOHSA-NEXT:    s_and_b32 s70, s15, 0xff3440; GFX6-NOHSA-NEXT:    s_bfe_u32 s15, s15, 0x800103441; GFX6-NOHSA-NEXT:    s_bfe_u32 s10, s10, 0x800103442; GFX6-NOHSA-NEXT:    s_mov_b32 s0, s163443; GFX6-NOHSA-NEXT:    s_mov_b32 s1, s173444; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0003445; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -13446; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s703447; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s523448; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s153449; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s513450; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s693451; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s503452; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s143453; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s493454; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s683455; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s483456; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s133457; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s473458; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s673459; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s463460; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s123461; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s453462; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v16, s663463; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v17, s443464; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s113465; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:2403466; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3467; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s653468; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s433469; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s423470; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s103471; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s413472; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 0 offset:2243473; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[0:3], 0 offset:2083474; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[0:3], 0 offset:1923475; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[16:19], off, s[0:3], 0 offset:1763476; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1603477; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3478; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s643479; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s403480; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s93481; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s393482; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1443483; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3484; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s633485; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s383486; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s83487; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s373488; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1283489; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3490; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s623491; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s363492; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s73493; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s353494; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1123495; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3496; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s613497; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s343498; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s63499; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s333500; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:963501; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3502; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s603503; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s313504; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s53505; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s303506; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:803507; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3508; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s593509; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s293510; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s43511; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s283512; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:643513; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3514; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s573515; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s273516; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s583517; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s243518; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:483519; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3520; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s553521; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s233522; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s563523; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s223524; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:323525; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3526; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s533527; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s213528; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s543529; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s203530; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:163531; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3532; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s263533; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s193534; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s253535; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s183536; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 03537; GFX6-NOHSA-NEXT:    s_endpgm3538;3539; GFX7-HSA-LABEL: constant_zextload_v64i8_to_v64i32:3540; GFX7-HSA:       ; %bb.0:3541; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s173542; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x03543; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s133544; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 83545; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)3546; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03547; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)3548; GFX7-HSA-NEXT:    s_lshr_b32 s18, s0, 243549; GFX7-HSA-NEXT:    s_bfe_u32 s19, s0, 0x800083550; GFX7-HSA-NEXT:    s_lshr_b32 s20, s1, 243551; GFX7-HSA-NEXT:    s_bfe_u32 s21, s1, 0x800083552; GFX7-HSA-NEXT:    s_lshr_b32 s22, s2, 243553; GFX7-HSA-NEXT:    s_bfe_u32 s23, s2, 0x800083554; GFX7-HSA-NEXT:    s_lshr_b32 s25, s3, 243555; GFX7-HSA-NEXT:    s_bfe_u32 s26, s3, 0x800083556; GFX7-HSA-NEXT:    s_lshr_b32 s28, s4, 243557; GFX7-HSA-NEXT:    s_bfe_u32 s29, s4, 0x800083558; GFX7-HSA-NEXT:    s_lshr_b32 s31, s5, 243559; GFX7-HSA-NEXT:    s_bfe_u32 s33, s5, 0x800083560; GFX7-HSA-NEXT:    s_lshr_b32 s35, s6, 243561; GFX7-HSA-NEXT:    s_bfe_u32 s37, s6, 0x800083562; GFX7-HSA-NEXT:    s_lshr_b32 s38, s7, 243563; GFX7-HSA-NEXT:    s_bfe_u32 s39, s7, 0x800083564; GFX7-HSA-NEXT:    s_lshr_b32 s41, s8, 243565; GFX7-HSA-NEXT:    s_bfe_u32 s43, s8, 0x800083566; GFX7-HSA-NEXT:    s_lshr_b32 s44, s9, 243567; GFX7-HSA-NEXT:    s_bfe_u32 s46, s9, 0x800083568; GFX7-HSA-NEXT:    s_lshr_b32 s47, s10, 243569; GFX7-HSA-NEXT:    s_bfe_u32 s48, s10, 0x800083570; GFX7-HSA-NEXT:    s_lshr_b32 s49, s11, 243571; GFX7-HSA-NEXT:    s_bfe_u32 s50, s11, 0x800083572; GFX7-HSA-NEXT:    s_lshr_b32 s51, s12, 243573; GFX7-HSA-NEXT:    s_bfe_u32 s52, s12, 0x800083574; GFX7-HSA-NEXT:    s_lshr_b32 s53, s13, 243575; GFX7-HSA-NEXT:    s_bfe_u32 s54, s13, 0x800083576; GFX7-HSA-NEXT:    s_lshr_b32 s55, s14, 243577; GFX7-HSA-NEXT:    s_bfe_u32 s56, s14, 0x800083578; GFX7-HSA-NEXT:    s_lshr_b32 s57, s15, 243579; GFX7-HSA-NEXT:    s_bfe_u32 s58, s15, 0x800083580; GFX7-HSA-NEXT:    s_and_b32 s24, s0, 0xff3581; GFX7-HSA-NEXT:    s_bfe_u32 s0, s0, 0x800103582; GFX7-HSA-NEXT:    s_and_b32 s27, s1, 0xff3583; GFX7-HSA-NEXT:    s_bfe_u32 s1, s1, 0x800103584; GFX7-HSA-NEXT:    s_and_b32 s30, s2, 0xff3585; GFX7-HSA-NEXT:    s_bfe_u32 s2, s2, 0x800103586; GFX7-HSA-NEXT:    s_and_b32 s34, s3, 0xff3587; GFX7-HSA-NEXT:    s_bfe_u32 s3, s3, 0x800103588; GFX7-HSA-NEXT:    s_and_b32 s36, s4, 0xff3589; GFX7-HSA-NEXT:    s_bfe_u32 s4, s4, 0x800103590; GFX7-HSA-NEXT:    s_and_b32 s40, s5, 0xff3591; GFX7-HSA-NEXT:    s_bfe_u32 s5, s5, 0x800103592; GFX7-HSA-NEXT:    s_and_b32 s42, s6, 0xff3593; GFX7-HSA-NEXT:    s_bfe_u32 s6, s6, 0x800103594; GFX7-HSA-NEXT:    s_and_b32 s45, s7, 0xff3595; GFX7-HSA-NEXT:    s_bfe_u32 s7, s7, 0x800103596; GFX7-HSA-NEXT:    s_and_b32 s59, s8, 0xff3597; GFX7-HSA-NEXT:    s_bfe_u32 s60, s8, 0x800103598; GFX7-HSA-NEXT:    s_and_b32 s61, s9, 0xff3599; GFX7-HSA-NEXT:    s_bfe_u32 s62, s9, 0x800103600; GFX7-HSA-NEXT:    s_and_b32 s63, s10, 0xff3601; GFX7-HSA-NEXT:    s_bfe_u32 s10, s10, 0x800103602; GFX7-HSA-NEXT:    s_and_b32 s64, s11, 0xff3603; GFX7-HSA-NEXT:    s_bfe_u32 s11, s11, 0x800103604; GFX7-HSA-NEXT:    s_and_b32 s65, s12, 0xff3605; GFX7-HSA-NEXT:    s_bfe_u32 s12, s12, 0x800103606; GFX7-HSA-NEXT:    s_and_b32 s66, s13, 0xff3607; GFX7-HSA-NEXT:    s_bfe_u32 s13, s13, 0x800103608; GFX7-HSA-NEXT:    s_and_b32 s67, s14, 0xff3609; GFX7-HSA-NEXT:    s_bfe_u32 s14, s14, 0x800103610; GFX7-HSA-NEXT:    s_and_b32 s68, s15, 0xff3611; GFX7-HSA-NEXT:    s_bfe_u32 s15, s15, 0x800103612; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xf03613; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03614; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s93615; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s83616; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xe03617; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03618; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s93619; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s83620; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xd03621; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03622; GFX7-HSA-NEXT:    v_mov_b32_e32 v24, s93623; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s83624; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xc03625; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03626; GFX7-HSA-NEXT:    v_mov_b32_e32 v26, s93627; GFX7-HSA-NEXT:    v_mov_b32_e32 v25, s83628; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xb03629; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03630; GFX7-HSA-NEXT:    v_mov_b32_e32 v28, s93631; GFX7-HSA-NEXT:    v_mov_b32_e32 v27, s83632; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xa03633; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s663634; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s543635; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s133636; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s533637; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03638; GFX7-HSA-NEXT:    flat_store_dwordx4 v[23:24], v[8:11]3639; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s653640; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s93641; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s83642; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0x903643; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s523644; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s123645; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s513646; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03647; GFX7-HSA-NEXT:    flat_store_dwordx4 v[25:26], v[12:15]3648; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s683649; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s93650; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s83651; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0x803652; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03653; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s93654; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s583655; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s153656; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s573657; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s83658; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0x703659; GFX7-HSA-NEXT:    flat_store_dwordx4 v[19:20], v[0:3]3660; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03661; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s633662; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s483663; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s103664; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s473665; GFX7-HSA-NEXT:    flat_store_dwordx4 v[9:10], v[0:3]3666; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s643667; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s63668; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 0x603669; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s503670; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s113671; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s493672; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s73673; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 03674; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s673675; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s563676; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s143677; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s553678; GFX7-HSA-NEXT:    flat_store_dwordx4 v[27:28], v[16:19]3679; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s613680; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s73681; GFX7-HSA-NEXT:    flat_store_dwordx4 v[21:22], v[4:7]3682; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s463683; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s623684; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s593685; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s443686; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s433687; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s93688; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s63689; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 0x503690; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s603691; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s453692; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s413693; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s423694; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s393695; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s383696; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s373697; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s83698; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s353699; GFX7-HSA-NEXT:    flat_store_dwordx4 v[12:13], v[20:23]3700; GFX7-HSA-NEXT:    flat_store_dwordx4 v[14:15], v[4:7]3701; GFX7-HSA-NEXT:    flat_store_dwordx4 v[16:17], v[8:11]3702; GFX7-HSA-NEXT:    flat_store_dwordx4 v[18:19], v[0:3]3703; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 03704; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s63705; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s403706; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s333707; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s53708; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s313709; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s73710; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3711; GFX7-HSA-NEXT:    s_nop 03712; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s43713; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 643714; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 03715; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s43716; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s363717; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s293718; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s283719; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s53720; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 483721; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3722; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 03723; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s43724; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s343725; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s263726; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s33727; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s253728; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s53729; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3730; GFX7-HSA-NEXT:    s_nop 03731; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s23732; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 323733; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 03734; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33735; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23736; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 163737; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s303738; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s233739; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s223740; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 03741; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3742; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33743; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s273744; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s213745; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s13746; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s203747; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23748; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3749; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s163750; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s243751; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s193752; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s03753; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s183754; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s173755; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3756; GFX7-HSA-NEXT:    s_endpgm3757;3758; GFX8-NOHSA-LABEL: constant_zextload_v64i8_to_v64i32:3759; GFX8-NOHSA:       ; %bb.0:3760; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x243761; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3762; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03763; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3764; GFX8-NOHSA-NEXT:    s_lshr_b32 s18, s0, 243765; GFX8-NOHSA-NEXT:    s_bfe_u32 s19, s0, 0x800083766; GFX8-NOHSA-NEXT:    s_lshr_b32 s20, s1, 243767; GFX8-NOHSA-NEXT:    s_bfe_u32 s21, s1, 0x800083768; GFX8-NOHSA-NEXT:    s_lshr_b32 s22, s2, 243769; GFX8-NOHSA-NEXT:    s_bfe_u32 s23, s2, 0x800083770; GFX8-NOHSA-NEXT:    s_lshr_b32 s25, s3, 243771; GFX8-NOHSA-NEXT:    s_bfe_u32 s26, s3, 0x800083772; GFX8-NOHSA-NEXT:    s_lshr_b32 s28, s4, 243773; GFX8-NOHSA-NEXT:    s_bfe_u32 s29, s4, 0x800083774; GFX8-NOHSA-NEXT:    s_lshr_b32 s31, s5, 243775; GFX8-NOHSA-NEXT:    s_bfe_u32 s33, s5, 0x800083776; GFX8-NOHSA-NEXT:    s_lshr_b32 s35, s6, 243777; GFX8-NOHSA-NEXT:    s_bfe_u32 s36, s6, 0x800083778; GFX8-NOHSA-NEXT:    s_lshr_b32 s37, s7, 243779; GFX8-NOHSA-NEXT:    s_bfe_u32 s38, s7, 0x800083780; GFX8-NOHSA-NEXT:    s_lshr_b32 s39, s8, 243781; GFX8-NOHSA-NEXT:    s_bfe_u32 s40, s8, 0x800083782; GFX8-NOHSA-NEXT:    s_lshr_b32 s41, s9, 243783; GFX8-NOHSA-NEXT:    s_bfe_u32 s42, s9, 0x800083784; GFX8-NOHSA-NEXT:    s_lshr_b32 s43, s10, 243785; GFX8-NOHSA-NEXT:    s_bfe_u32 s44, s10, 0x800083786; GFX8-NOHSA-NEXT:    s_lshr_b32 s45, s11, 243787; GFX8-NOHSA-NEXT:    s_bfe_u32 s46, s11, 0x800083788; GFX8-NOHSA-NEXT:    s_lshr_b32 s47, s12, 243789; GFX8-NOHSA-NEXT:    s_bfe_u32 s48, s12, 0x800083790; GFX8-NOHSA-NEXT:    s_lshr_b32 s49, s13, 243791; GFX8-NOHSA-NEXT:    s_bfe_u32 s50, s13, 0x800083792; GFX8-NOHSA-NEXT:    s_lshr_b32 s51, s14, 243793; GFX8-NOHSA-NEXT:    s_bfe_u32 s52, s14, 0x800083794; GFX8-NOHSA-NEXT:    s_lshr_b32 s53, s15, 243795; GFX8-NOHSA-NEXT:    s_bfe_u32 s54, s15, 0x800083796; GFX8-NOHSA-NEXT:    s_and_b32 s24, s0, 0xff3797; GFX8-NOHSA-NEXT:    s_bfe_u32 s0, s0, 0x800103798; GFX8-NOHSA-NEXT:    s_and_b32 s27, s1, 0xff3799; GFX8-NOHSA-NEXT:    s_bfe_u32 s1, s1, 0x800103800; GFX8-NOHSA-NEXT:    s_and_b32 s30, s2, 0xff3801; GFX8-NOHSA-NEXT:    s_bfe_u32 s2, s2, 0x800103802; GFX8-NOHSA-NEXT:    s_and_b32 s34, s3, 0xff3803; GFX8-NOHSA-NEXT:    s_bfe_u32 s3, s3, 0x800103804; GFX8-NOHSA-NEXT:    s_and_b32 s55, s4, 0xff3805; GFX8-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800103806; GFX8-NOHSA-NEXT:    s_and_b32 s56, s5, 0xff3807; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800103808; GFX8-NOHSA-NEXT:    s_and_b32 s57, s6, 0xff3809; GFX8-NOHSA-NEXT:    s_bfe_u32 s58, s6, 0x800103810; GFX8-NOHSA-NEXT:    s_and_b32 s59, s7, 0xff3811; GFX8-NOHSA-NEXT:    s_bfe_u32 s60, s7, 0x800103812; GFX8-NOHSA-NEXT:    s_and_b32 s61, s8, 0xff3813; GFX8-NOHSA-NEXT:    s_bfe_u32 s8, s8, 0x800103814; GFX8-NOHSA-NEXT:    s_and_b32 s62, s9, 0xff3815; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s9, 0x800103816; GFX8-NOHSA-NEXT:    s_and_b32 s63, s10, 0xff3817; GFX8-NOHSA-NEXT:    s_bfe_u32 s10, s10, 0x800103818; GFX8-NOHSA-NEXT:    s_and_b32 s64, s11, 0xff3819; GFX8-NOHSA-NEXT:    s_bfe_u32 s11, s11, 0x800103820; GFX8-NOHSA-NEXT:    s_and_b32 s65, s12, 0xff3821; GFX8-NOHSA-NEXT:    s_bfe_u32 s12, s12, 0x800103822; GFX8-NOHSA-NEXT:    s_and_b32 s66, s13, 0xff3823; GFX8-NOHSA-NEXT:    s_bfe_u32 s13, s13, 0x800103824; GFX8-NOHSA-NEXT:    s_and_b32 s67, s14, 0xff3825; GFX8-NOHSA-NEXT:    s_bfe_u32 s14, s14, 0x800103826; GFX8-NOHSA-NEXT:    s_and_b32 s6, s15, 0xff3827; GFX8-NOHSA-NEXT:    s_bfe_u32 s7, s15, 0x800103828; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s63829; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xf03830; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s73831; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03832; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63833; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s543834; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s533835; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73836; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xe03837; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3838; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03839; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63840; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s673841; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s523842; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s143843; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s513844; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73845; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xd03846; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3847; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03848; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63849; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s663850; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s503851; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s133852; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s493853; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73854; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xc03855; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3856; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03857; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63858; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s653859; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s483860; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s123861; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s473862; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73863; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xb03864; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3865; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03866; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63867; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s643868; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s463869; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s113870; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s453871; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73872; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xa03873; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3874; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03875; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63876; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s633877; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s443878; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s103879; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s433880; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73881; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x903882; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3883; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03884; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63885; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s623886; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s423887; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s93888; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s413889; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73890; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x803891; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3892; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03893; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63894; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s613895; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s403896; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s83897; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s393898; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73899; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x703900; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3901; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03902; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63903; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s593904; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s383905; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s603906; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s373907; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73908; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x603909; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3910; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03911; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63912; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s573913; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s363914; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s583915; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s353916; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73917; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x503918; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3919; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03920; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63921; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s563922; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s333923; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s53924; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s313925; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73926; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3927; GFX8-NOHSA-NEXT:    s_nop 03928; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s43929; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 643930; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 03931; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s43932; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s553933; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s293934; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s283935; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s53936; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 483937; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3938; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 03939; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s43940; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s343941; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s263942; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s33943; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s253944; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s53945; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3946; GFX8-NOHSA-NEXT:    s_nop 03947; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s23948; GFX8-NOHSA-NEXT:    s_add_u32 s2, s16, 323949; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s17, 03950; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33951; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23952; GFX8-NOHSA-NEXT:    s_add_u32 s2, s16, 163953; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s303954; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s233955; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s223956; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s17, 03957; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3958; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33959; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s273960; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s213961; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s13962; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s203963; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23964; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3965; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s163966; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s243967; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s193968; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s03969; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s183970; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s173971; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3972; GFX8-NOHSA-NEXT:    s_endpgm3973;3974; EG-LABEL: constant_zextload_v64i8_to_v64i32:3975; EG:       ; %bb.0:3976; EG-NEXT:    ALU 0, @30, KC0[CB0:0-32], KC1[]3977; EG-NEXT:    TEX 1 @223978; EG-NEXT:    ALU 59, @31, KC0[CB0:0-32], KC1[]3979; EG-NEXT:    TEX 1 @263980; EG-NEXT:    ALU 88, @91, KC0[CB0:0-32], KC1[]3981; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T48.XYZW, T50.X, 03982; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T46.XYZW, T49.X, 03983; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T45.XYZW, T47.X, 03984; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T43.XYZW, T32.X, 03985; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T41.XYZW, T44.X, 03986; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T39.XYZW, T42.X, 03987; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T38.XYZW, T40.X, 03988; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T36.XYZW, T33.X, 03989; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T34.XYZW, T37.X, 03990; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T35.X, 03991; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T30.XYZW, T31.X, 03992; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T28.XYZW, T22.X, 03993; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T26.XYZW, T29.X, 03994; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T24.XYZW, T27.X, 03995; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T25.X, 03996; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T23.X, 13997; EG-NEXT:    CF_END3998; EG-NEXT:    Fetch clause starting at 22:3999; EG-NEXT:     VTX_READ_128 T22.XYZW, T21.X, 16, #14000; EG-NEXT:     VTX_READ_128 T23.XYZW, T21.X, 0, #14001; EG-NEXT:    Fetch clause starting at 26:4002; EG-NEXT:     VTX_READ_128 T32.XYZW, T21.X, 48, #14003; EG-NEXT:     VTX_READ_128 T33.XYZW, T21.X, 32, #14004; EG-NEXT:    ALU clause starting at 30:4005; EG-NEXT:     MOV * T21.X, KC0[2].Z,4006; EG-NEXT:    ALU clause starting at 31:4007; EG-NEXT:     MOV * T0.W, literal.x,4008; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)4009; EG-NEXT:     BFE_UINT * T19.Z, T23.X, literal.x, PV.W,4010; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4011; EG-NEXT:     BFE_UINT T19.Y, T23.X, literal.x, T0.W,4012; EG-NEXT:     BFE_UINT T20.Z, T23.Y, literal.y, T0.W,4013; EG-NEXT:     LSHR * T19.W, T23.X, literal.z,4014; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)4015; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)4016; EG-NEXT:     AND_INT T19.X, T23.X, literal.x,4017; EG-NEXT:     BFE_UINT T20.Y, T23.Y, literal.y, T0.W,4018; EG-NEXT:     LSHR * T23.X, KC0[2].Y, literal.z,4019; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)4020; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)4021; EG-NEXT:     BFE_UINT T24.Z, T23.Z, literal.x, T0.W,4022; EG-NEXT:     LSHR * T20.W, T23.Y, literal.y,4023; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)4024; EG-NEXT:     AND_INT T20.X, T23.Y, literal.x,4025; EG-NEXT:     BFE_UINT T24.Y, T23.Z, literal.y, T0.W,4026; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,4027; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)4028; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4029; EG-NEXT:     LSHR T25.X, PV.W, literal.x,4030; EG-NEXT:     BFE_UINT T26.Z, T23.W, literal.y, T0.W,4031; EG-NEXT:     LSHR T24.W, T23.Z, literal.z,4032; EG-NEXT:     AND_INT * T24.X, T23.Z, literal.w,4033; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4034; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4035; EG-NEXT:     BFE_UINT T26.Y, T23.W, literal.x, T0.W,4036; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4037; EG-NEXT:    8(1.121039e-44), 32(4.484155e-44)4038; EG-NEXT:     LSHR T27.X, PV.W, literal.x,4039; EG-NEXT:     BFE_UINT T28.Z, T22.X, literal.y, T0.W, BS:VEC_021/SCL_1224040; EG-NEXT:     LSHR T26.W, T23.W, literal.z,4041; EG-NEXT:     AND_INT * T26.X, T23.W, literal.w,4042; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4043; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4044; EG-NEXT:     BFE_UINT T28.Y, T22.X, literal.x, T0.W,4045; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4046; EG-NEXT:    8(1.121039e-44), 48(6.726233e-44)4047; EG-NEXT:     LSHR T29.X, PV.W, literal.x,4048; EG-NEXT:     BFE_UINT T30.Z, T22.Y, literal.y, T0.W,4049; EG-NEXT:     LSHR T28.W, T22.X, literal.z,4050; EG-NEXT:     AND_INT * T28.X, T22.X, literal.w,4051; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4052; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4053; EG-NEXT:     BFE_UINT T30.Y, T22.Y, literal.x, T0.W,4054; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4055; EG-NEXT:    8(1.121039e-44), 64(8.968310e-44)4056; EG-NEXT:     LSHR T22.X, PV.W, literal.x,4057; EG-NEXT:     LSHR T30.W, T22.Y, literal.y,4058; EG-NEXT:     AND_INT * T30.X, T22.Y, literal.z,4059; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)4060; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)4061; EG-NEXT:     BFE_UINT T21.Z, T22.Z, literal.x, T0.W,4062; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4063; EG-NEXT:    16(2.242078e-44), 80(1.121039e-43)4064; EG-NEXT:     LSHR T31.X, PV.W, literal.x,4065; EG-NEXT:     BFE_UINT * T21.Y, T22.Z, literal.y, T0.W,4066; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)4067; EG-NEXT:    ALU clause starting at 91:4068; EG-NEXT:     BFE_UINT T34.Z, T22.W, literal.x, T0.W,4069; EG-NEXT:     LSHR * T21.W, T22.Z, literal.y,4070; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)4071; EG-NEXT:     AND_INT T21.X, T22.Z, literal.x,4072; EG-NEXT:     BFE_UINT T34.Y, T22.W, literal.y, T0.W,4073; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,4074; EG-NEXT:    255(3.573311e-43), 8(1.121039e-44)4075; EG-NEXT:    96(1.345247e-43), 0(0.000000e+00)4076; EG-NEXT:     LSHR T35.X, PV.W, literal.x,4077; EG-NEXT:     BFE_UINT T36.Z, T33.X, literal.y, T0.W, BS:VEC_021/SCL_1224078; EG-NEXT:     LSHR T34.W, T22.W, literal.z,4079; EG-NEXT:     AND_INT * T34.X, T22.W, literal.w,4080; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4081; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4082; EG-NEXT:     BFE_UINT T36.Y, T33.X, literal.x, T0.W,4083; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4084; EG-NEXT:    8(1.121039e-44), 112(1.569454e-43)4085; EG-NEXT:     LSHR T37.X, PV.W, literal.x,4086; EG-NEXT:     BFE_UINT T38.Z, T33.Y, literal.y, T0.W,4087; EG-NEXT:     LSHR T36.W, T33.X, literal.z,4088; EG-NEXT:     AND_INT * T36.X, T33.X, literal.w,4089; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4090; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4091; EG-NEXT:     BFE_UINT T38.Y, T33.Y, literal.x, T0.W,4092; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4093; EG-NEXT:    8(1.121039e-44), 128(1.793662e-43)4094; EG-NEXT:     LSHR T33.X, PV.W, literal.x,4095; EG-NEXT:     BFE_UINT T39.Z, T33.Z, literal.y, T0.W,4096; EG-NEXT:     LSHR T38.W, T33.Y, literal.z,4097; EG-NEXT:     AND_INT * T38.X, T33.Y, literal.w,4098; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4099; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4100; EG-NEXT:     BFE_UINT T39.Y, T33.Z, literal.x, T0.W,4101; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4102; EG-NEXT:    8(1.121039e-44), 144(2.017870e-43)4103; EG-NEXT:     LSHR T40.X, PV.W, literal.x,4104; EG-NEXT:     BFE_UINT T41.Z, T33.W, literal.y, T0.W,4105; EG-NEXT:     LSHR T39.W, T33.Z, literal.z,4106; EG-NEXT:     AND_INT * T39.X, T33.Z, literal.w,4107; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4108; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4109; EG-NEXT:     BFE_UINT T41.Y, T33.W, literal.x, T0.W,4110; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4111; EG-NEXT:    8(1.121039e-44), 160(2.242078e-43)4112; EG-NEXT:     LSHR T42.X, PV.W, literal.x,4113; EG-NEXT:     BFE_UINT T43.Z, T32.X, literal.y, T0.W, BS:VEC_021/SCL_1224114; EG-NEXT:     LSHR T41.W, T33.W, literal.z,4115; EG-NEXT:     AND_INT * T41.X, T33.W, literal.w,4116; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4117; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4118; EG-NEXT:     BFE_UINT T43.Y, T32.X, literal.x, T0.W,4119; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4120; EG-NEXT:    8(1.121039e-44), 176(2.466285e-43)4121; EG-NEXT:     LSHR T44.X, PV.W, literal.x,4122; EG-NEXT:     BFE_UINT T45.Z, T32.Y, literal.y, T0.W,4123; EG-NEXT:     LSHR T43.W, T32.X, literal.z,4124; EG-NEXT:     AND_INT * T43.X, T32.X, literal.w,4125; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4126; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4127; EG-NEXT:     BFE_UINT T45.Y, T32.Y, literal.x, T0.W,4128; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4129; EG-NEXT:    8(1.121039e-44), 192(2.690493e-43)4130; EG-NEXT:     LSHR T32.X, PV.W, literal.x,4131; EG-NEXT:     BFE_UINT T46.Z, T32.Z, literal.y, T0.W,4132; EG-NEXT:     LSHR T45.W, T32.Y, literal.z,4133; EG-NEXT:     AND_INT * T45.X, T32.Y, literal.w,4134; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4135; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4136; EG-NEXT:     BFE_UINT T46.Y, T32.Z, literal.x, T0.W,4137; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4138; EG-NEXT:    8(1.121039e-44), 208(2.914701e-43)4139; EG-NEXT:     LSHR T47.X, PV.W, literal.x,4140; EG-NEXT:     BFE_UINT T48.Z, T32.W, literal.y, T0.W,4141; EG-NEXT:     LSHR T46.W, T32.Z, literal.z,4142; EG-NEXT:     AND_INT * T46.X, T32.Z, literal.w,4143; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4144; EG-NEXT:    24(3.363116e-44), 255(3.573311e-43)4145; EG-NEXT:     BFE_UINT T48.Y, T32.W, literal.x, T0.W,4146; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4147; EG-NEXT:    8(1.121039e-44), 224(3.138909e-43)4148; EG-NEXT:     LSHR T49.X, PV.W, literal.x,4149; EG-NEXT:     LSHR T48.W, T32.W, literal.y,4150; EG-NEXT:     AND_INT * T48.X, T32.W, literal.z,4151; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)4152; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)4153; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,4154; EG-NEXT:    240(3.363116e-43), 0(0.000000e+00)4155; EG-NEXT:     LSHR * T50.X, PV.W, literal.x,4156; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)4157;4158; GFX12-LABEL: constant_zextload_v64i8_to_v64i32:4159; GFX12:       ; %bb.0:4160; GFX12-NEXT:    s_load_b128 s[16:19], s[4:5], 0x244161; GFX12-NEXT:    s_wait_kmcnt 0x04162; GFX12-NEXT:    s_load_b512 s[0:15], s[18:19], 0x04163; GFX12-NEXT:    s_wait_kmcnt 0x04164; GFX12-NEXT:    s_lshr_b32 s49, s15, 244165; GFX12-NEXT:    s_bfe_u32 s50, s15, 0x800084166; GFX12-NEXT:    s_and_b32 s66, s15, 0xff4167; GFX12-NEXT:    s_bfe_u32 s15, s15, 0x800104168; GFX12-NEXT:    s_lshr_b32 s47, s14, 244169; GFX12-NEXT:    s_bfe_u32 s48, s14, 0x800084170; GFX12-NEXT:    s_and_b32 s65, s14, 0xff4171; GFX12-NEXT:    s_bfe_u32 s14, s14, 0x800104172; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s504173; GFX12-NEXT:    s_lshr_b32 s45, s13, 244174; GFX12-NEXT:    s_bfe_u32 s46, s13, 0x800084175; GFX12-NEXT:    s_and_b32 s64, s13, 0xff4176; GFX12-NEXT:    s_bfe_u32 s13, s13, 0x800104177; GFX12-NEXT:    v_dual_mov_b32 v0, s66 :: v_dual_mov_b32 v3, s494178; GFX12-NEXT:    v_dual_mov_b32 v2, s15 :: v_dual_mov_b32 v5, s484179; GFX12-NEXT:    s_lshr_b32 s43, s12, 244180; GFX12-NEXT:    s_bfe_u32 s44, s12, 0x800084181; GFX12-NEXT:    s_and_b32 s63, s12, 0xff4182; GFX12-NEXT:    s_bfe_u32 s12, s12, 0x800104183; GFX12-NEXT:    v_dual_mov_b32 v4, s65 :: v_dual_mov_b32 v7, s474184; GFX12-NEXT:    v_dual_mov_b32 v6, s14 :: v_dual_mov_b32 v9, s464185; GFX12-NEXT:    v_dual_mov_b32 v8, s64 :: v_dual_mov_b32 v11, s454186; GFX12-NEXT:    v_dual_mov_b32 v10, s13 :: v_dual_mov_b32 v13, s444187; GFX12-NEXT:    s_lshr_b32 s41, s11, 244188; GFX12-NEXT:    s_bfe_u32 s42, s11, 0x800084189; GFX12-NEXT:    s_and_b32 s62, s11, 0xff4190; GFX12-NEXT:    v_dual_mov_b32 v12, s63 :: v_dual_mov_b32 v15, s434191; GFX12-NEXT:    v_mov_b32_e32 v14, s124192; GFX12-NEXT:    s_bfe_u32 s11, s11, 0x800104193; GFX12-NEXT:    s_lshr_b32 s39, s10, 244194; GFX12-NEXT:    s_bfe_u32 s40, s10, 0x800084195; GFX12-NEXT:    s_and_b32 s61, s10, 0xff4196; GFX12-NEXT:    s_bfe_u32 s10, s10, 0x800104197; GFX12-NEXT:    s_lshr_b32 s37, s9, 244198; GFX12-NEXT:    s_bfe_u32 s38, s9, 0x800084199; GFX12-NEXT:    s_and_b32 s60, s9, 0xff4200; GFX12-NEXT:    s_bfe_u32 s9, s9, 0x800104201; GFX12-NEXT:    s_clause 0x34202; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[16:17] offset:2404203; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[16:17] offset:2244204; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[16:17] offset:2084205; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[16:17] offset:1924206; GFX12-NEXT:    v_dual_mov_b32 v0, s62 :: v_dual_mov_b32 v3, s414207; GFX12-NEXT:    v_dual_mov_b32 v1, s42 :: v_dual_mov_b32 v2, s114208; GFX12-NEXT:    v_mov_b32_e32 v5, s404209; GFX12-NEXT:    s_lshr_b32 s35, s8, 244210; GFX12-NEXT:    s_bfe_u32 s36, s8, 0x800084211; GFX12-NEXT:    s_and_b32 s59, s8, 0xff4212; GFX12-NEXT:    s_bfe_u32 s8, s8, 0x800104213; GFX12-NEXT:    v_dual_mov_b32 v4, s61 :: v_dual_mov_b32 v7, s394214; GFX12-NEXT:    v_dual_mov_b32 v6, s10 :: v_dual_mov_b32 v9, s384215; GFX12-NEXT:    s_lshr_b32 s33, s7, 244216; GFX12-NEXT:    s_bfe_u32 s34, s7, 0x800084217; GFX12-NEXT:    s_and_b32 s58, s7, 0xff4218; GFX12-NEXT:    s_bfe_u32 s7, s7, 0x800104219; GFX12-NEXT:    v_dual_mov_b32 v8, s60 :: v_dual_mov_b32 v11, s374220; GFX12-NEXT:    v_dual_mov_b32 v10, s9 :: v_dual_mov_b32 v13, s364221; GFX12-NEXT:    s_lshr_b32 s28, s5, 244222; GFX12-NEXT:    s_bfe_u32 s29, s5, 0x800084223; GFX12-NEXT:    s_lshr_b32 s30, s6, 244224; GFX12-NEXT:    s_bfe_u32 s31, s6, 0x800084225; GFX12-NEXT:    s_and_b32 s56, s5, 0xff4226; GFX12-NEXT:    s_bfe_u32 s5, s5, 0x800104227; GFX12-NEXT:    s_and_b32 s57, s6, 0xff4228; GFX12-NEXT:    s_bfe_u32 s6, s6, 0x800104229; GFX12-NEXT:    v_dual_mov_b32 v12, s59 :: v_dual_mov_b32 v15, s354230; GFX12-NEXT:    v_dual_mov_b32 v14, s8 :: v_dual_mov_b32 v17, s344231; GFX12-NEXT:    s_lshr_b32 s26, s4, 244232; GFX12-NEXT:    s_bfe_u32 s27, s4, 0x800084233; GFX12-NEXT:    s_and_b32 s55, s4, 0xff4234; GFX12-NEXT:    s_bfe_u32 s4, s4, 0x800104235; GFX12-NEXT:    v_dual_mov_b32 v16, s58 :: v_dual_mov_b32 v19, s334236; GFX12-NEXT:    v_dual_mov_b32 v18, s7 :: v_dual_mov_b32 v21, s314237; GFX12-NEXT:    s_lshr_b32 s24, s3, 244238; GFX12-NEXT:    s_bfe_u32 s25, s3, 0x800084239; GFX12-NEXT:    s_and_b32 s54, s3, 0xff4240; GFX12-NEXT:    s_bfe_u32 s3, s3, 0x800104241; GFX12-NEXT:    v_dual_mov_b32 v20, s57 :: v_dual_mov_b32 v23, s304242; GFX12-NEXT:    v_mov_b32_e32 v22, s64243; GFX12-NEXT:    s_clause 0x54244; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[16:17] offset:1764245; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[16:17] offset:1604246; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[16:17] offset:1444247; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[16:17] offset:1284248; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[16:17] offset:1124249; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[16:17] offset:964250; GFX12-NEXT:    v_dual_mov_b32 v0, s56 :: v_dual_mov_b32 v3, s284251; GFX12-NEXT:    v_dual_mov_b32 v1, s29 :: v_dual_mov_b32 v2, s54252; GFX12-NEXT:    v_mov_b32_e32 v5, s274253; GFX12-NEXT:    s_lshr_b32 s22, s2, 244254; GFX12-NEXT:    s_bfe_u32 s23, s2, 0x800084255; GFX12-NEXT:    s_and_b32 s53, s2, 0xff4256; GFX12-NEXT:    s_bfe_u32 s2, s2, 0x800104257; GFX12-NEXT:    v_dual_mov_b32 v4, s55 :: v_dual_mov_b32 v7, s264258; GFX12-NEXT:    v_dual_mov_b32 v6, s4 :: v_dual_mov_b32 v9, s254259; GFX12-NEXT:    s_lshr_b32 s20, s1, 244260; GFX12-NEXT:    s_bfe_u32 s21, s1, 0x800084261; GFX12-NEXT:    s_and_b32 s52, s1, 0xff4262; GFX12-NEXT:    s_bfe_u32 s1, s1, 0x800104263; GFX12-NEXT:    v_dual_mov_b32 v8, s54 :: v_dual_mov_b32 v11, s244264; GFX12-NEXT:    v_dual_mov_b32 v10, s3 :: v_dual_mov_b32 v13, s234265; GFX12-NEXT:    s_lshr_b32 s18, s0, 244266; GFX12-NEXT:    s_bfe_u32 s19, s0, 0x800084267; GFX12-NEXT:    s_and_b32 s51, s0, 0xff4268; GFX12-NEXT:    s_bfe_u32 s0, s0, 0x800104269; GFX12-NEXT:    v_dual_mov_b32 v12, s53 :: v_dual_mov_b32 v15, s224270; GFX12-NEXT:    v_dual_mov_b32 v14, s2 :: v_dual_mov_b32 v17, s214271; GFX12-NEXT:    v_dual_mov_b32 v16, s52 :: v_dual_mov_b32 v19, s204272; GFX12-NEXT:    v_dual_mov_b32 v18, s1 :: v_dual_mov_b32 v21, s194273; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)4274; GFX12-NEXT:    v_dual_mov_b32 v20, s51 :: v_dual_mov_b32 v23, s184275; GFX12-NEXT:    v_mov_b32_e32 v22, s04276; GFX12-NEXT:    s_clause 0x54277; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[16:17] offset:804278; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[16:17] offset:644279; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[16:17] offset:484280; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[16:17] offset:324281; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[16:17] offset:164282; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[16:17]4283; GFX12-NEXT:    s_endpgm4284  %load = load <64 x i8>, ptr addrspace(4) %in4285  %ext = zext <64 x i8> %load to <64 x i32>4286  store <64 x i32> %ext, ptr addrspace(1) %out4287  ret void4288}4289 4290define amdgpu_kernel void @constant_sextload_v64i8_to_v64i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {4291; GFX6-NOHSA-LABEL: constant_sextload_v64i8_to_v64i32:4292; GFX6-NOHSA:       ; %bb.0:4293; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x94294; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4295; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x04296; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4297; GFX6-NOHSA-NEXT:    s_ashr_i32 s18, s0, 244298; GFX6-NOHSA-NEXT:    s_bfe_i32 s19, s0, 0x800104299; GFX6-NOHSA-NEXT:    s_bfe_i32 s20, s0, 0x800084300; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s21, s04301; GFX6-NOHSA-NEXT:    s_ashr_i32 s22, s1, 244302; GFX6-NOHSA-NEXT:    s_bfe_i32 s23, s1, 0x800104303; GFX6-NOHSA-NEXT:    s_bfe_i32 s24, s1, 0x800084304; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s25, s14305; GFX6-NOHSA-NEXT:    s_ashr_i32 s26, s2, 244306; GFX6-NOHSA-NEXT:    s_bfe_i32 s27, s2, 0x800104307; GFX6-NOHSA-NEXT:    s_bfe_i32 s28, s2, 0x800084308; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s29, s24309; GFX6-NOHSA-NEXT:    s_ashr_i32 s30, s3, 244310; GFX6-NOHSA-NEXT:    s_bfe_i32 s31, s3, 0x800104311; GFX6-NOHSA-NEXT:    s_bfe_i32 s33, s3, 0x800084312; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s34, s34313; GFX6-NOHSA-NEXT:    s_ashr_i32 s35, s4, 244314; GFX6-NOHSA-NEXT:    s_bfe_i32 s36, s4, 0x800104315; GFX6-NOHSA-NEXT:    s_bfe_i32 s37, s4, 0x800084316; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s44317; GFX6-NOHSA-NEXT:    s_ashr_i32 s38, s5, 244318; GFX6-NOHSA-NEXT:    s_bfe_i32 s39, s5, 0x800104319; GFX6-NOHSA-NEXT:    s_bfe_i32 s40, s5, 0x800084320; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s54321; GFX6-NOHSA-NEXT:    s_ashr_i32 s41, s6, 244322; GFX6-NOHSA-NEXT:    s_bfe_i32 s42, s6, 0x800104323; GFX6-NOHSA-NEXT:    s_bfe_i32 s43, s6, 0x800084324; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s6, s64325; GFX6-NOHSA-NEXT:    s_ashr_i32 s44, s7, 244326; GFX6-NOHSA-NEXT:    s_bfe_i32 s45, s7, 0x800104327; GFX6-NOHSA-NEXT:    s_bfe_i32 s46, s7, 0x800084328; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s7, s74329; GFX6-NOHSA-NEXT:    s_ashr_i32 s47, s8, 244330; GFX6-NOHSA-NEXT:    s_bfe_i32 s48, s8, 0x800104331; GFX6-NOHSA-NEXT:    s_bfe_i32 s49, s8, 0x800084332; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s8, s84333; GFX6-NOHSA-NEXT:    s_ashr_i32 s50, s9, 244334; GFX6-NOHSA-NEXT:    s_bfe_i32 s51, s9, 0x800104335; GFX6-NOHSA-NEXT:    s_bfe_i32 s52, s9, 0x800084336; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s9, s94337; GFX6-NOHSA-NEXT:    s_ashr_i32 s53, s10, 244338; GFX6-NOHSA-NEXT:    s_bfe_i32 s54, s10, 0x800104339; GFX6-NOHSA-NEXT:    s_bfe_i32 s55, s10, 0x800084340; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s10, s104341; GFX6-NOHSA-NEXT:    s_bfe_i32 s56, s11, 0x800104342; GFX6-NOHSA-NEXT:    s_bfe_i32 s57, s11, 0x800084343; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s58, s114344; GFX6-NOHSA-NEXT:    s_ashr_i32 s59, s12, 244345; GFX6-NOHSA-NEXT:    s_bfe_i32 s60, s12, 0x800104346; GFX6-NOHSA-NEXT:    s_bfe_i32 s61, s12, 0x800084347; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s12, s124348; GFX6-NOHSA-NEXT:    s_ashr_i32 s62, s13, 244349; GFX6-NOHSA-NEXT:    s_bfe_i32 s63, s13, 0x800104350; GFX6-NOHSA-NEXT:    s_bfe_i32 s64, s13, 0x800084351; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s13, s134352; GFX6-NOHSA-NEXT:    s_ashr_i32 s65, s14, 244353; GFX6-NOHSA-NEXT:    s_bfe_i32 s66, s14, 0x800104354; GFX6-NOHSA-NEXT:    s_bfe_i32 s67, s14, 0x800084355; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s14, s144356; GFX6-NOHSA-NEXT:    s_ashr_i32 s68, s15, 244357; GFX6-NOHSA-NEXT:    s_bfe_i32 s69, s15, 0x800104358; GFX6-NOHSA-NEXT:    s_bfe_i32 s70, s15, 0x800084359; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s15, s154360; GFX6-NOHSA-NEXT:    s_ashr_i32 s11, s11, 244361; GFX6-NOHSA-NEXT:    s_mov_b32 s0, s164362; GFX6-NOHSA-NEXT:    s_mov_b32 s1, s174363; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0004364; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -14365; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s154366; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s704367; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s694368; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s684369; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s144370; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s674371; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s664372; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s654373; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s134374; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s644375; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s634376; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s624377; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s124378; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s614379; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s604380; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s594381; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v16, s584382; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v17, s574383; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s564384; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:2404385; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4386; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s104387; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s114388; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s554389; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s544390; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s534391; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 0 offset:2244392; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[0:3], 0 offset:2084393; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[0:3], 0 offset:1924394; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[16:19], off, s[0:3], 0 offset:1764395; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1604396; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4397; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s94398; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s524399; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s514400; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s504401; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1444402; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4403; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s84404; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s494405; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s484406; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s474407; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1284408; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4409; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s74410; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s464411; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s454412; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s444413; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1124414; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4415; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s64416; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s434417; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s424418; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s414419; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:964420; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4421; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s54422; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s404423; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s394424; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s384425; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:804426; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4427; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s44428; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s374429; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s364430; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s354431; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:644432; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4433; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s344434; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s334435; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s314436; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s304437; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:484438; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4439; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s294440; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s284441; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s274442; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s264443; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:324444; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4445; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s254446; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s244447; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s234448; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s224449; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:164450; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4451; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s214452; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s204453; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s194454; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s184455; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 04456; GFX6-NOHSA-NEXT:    s_endpgm4457;4458; GFX7-HSA-LABEL: constant_sextload_v64i8_to_v64i32:4459; GFX7-HSA:       ; %bb.0:4460; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s174461; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x04462; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s134463; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 84464; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)4465; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x04466; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)4467; GFX7-HSA-NEXT:    s_ashr_i32 s18, s0, 244468; GFX7-HSA-NEXT:    s_bfe_i32 s19, s0, 0x800104469; GFX7-HSA-NEXT:    s_bfe_i32 s20, s0, 0x800084470; GFX7-HSA-NEXT:    s_ashr_i32 s21, s1, 244471; GFX7-HSA-NEXT:    s_bfe_i32 s22, s1, 0x800104472; GFX7-HSA-NEXT:    s_bfe_i32 s23, s1, 0x800084473; GFX7-HSA-NEXT:    s_ashr_i32 s24, s2, 244474; GFX7-HSA-NEXT:    s_bfe_i32 s25, s2, 0x800104475; GFX7-HSA-NEXT:    s_bfe_i32 s26, s2, 0x800084476; GFX7-HSA-NEXT:    s_ashr_i32 s27, s3, 244477; GFX7-HSA-NEXT:    s_bfe_i32 s28, s3, 0x800104478; GFX7-HSA-NEXT:    s_bfe_i32 s29, s3, 0x800084479; GFX7-HSA-NEXT:    s_ashr_i32 s30, s4, 244480; GFX7-HSA-NEXT:    s_bfe_i32 s31, s4, 0x800104481; GFX7-HSA-NEXT:    s_bfe_i32 s33, s4, 0x800084482; GFX7-HSA-NEXT:    s_ashr_i32 s34, s5, 244483; GFX7-HSA-NEXT:    s_bfe_i32 s35, s5, 0x800104484; GFX7-HSA-NEXT:    s_bfe_i32 s36, s5, 0x800084485; GFX7-HSA-NEXT:    s_ashr_i32 s37, s6, 244486; GFX7-HSA-NEXT:    s_bfe_i32 s38, s6, 0x800104487; GFX7-HSA-NEXT:    s_bfe_i32 s39, s6, 0x800084488; GFX7-HSA-NEXT:    s_sext_i32_i8 s40, s64489; GFX7-HSA-NEXT:    s_ashr_i32 s6, s7, 244490; GFX7-HSA-NEXT:    s_bfe_i32 s41, s7, 0x800104491; GFX7-HSA-NEXT:    s_bfe_i32 s42, s7, 0x800084492; GFX7-HSA-NEXT:    s_ashr_i32 s43, s8, 244493; GFX7-HSA-NEXT:    s_bfe_i32 s44, s8, 0x800104494; GFX7-HSA-NEXT:    s_bfe_i32 s45, s8, 0x800084495; GFX7-HSA-NEXT:    s_ashr_i32 s47, s9, 244496; GFX7-HSA-NEXT:    s_bfe_i32 s48, s9, 0x800104497; GFX7-HSA-NEXT:    s_bfe_i32 s49, s9, 0x800084498; GFX7-HSA-NEXT:    s_ashr_i32 s51, s10, 244499; GFX7-HSA-NEXT:    s_bfe_i32 s52, s10, 0x800104500; GFX7-HSA-NEXT:    s_bfe_i32 s53, s10, 0x800084501; GFX7-HSA-NEXT:    s_ashr_i32 s54, s11, 244502; GFX7-HSA-NEXT:    s_bfe_i32 s55, s11, 0x800104503; GFX7-HSA-NEXT:    s_bfe_i32 s56, s11, 0x800084504; GFX7-HSA-NEXT:    s_ashr_i32 s57, s12, 244505; GFX7-HSA-NEXT:    s_bfe_i32 s58, s12, 0x800104506; GFX7-HSA-NEXT:    s_bfe_i32 s59, s12, 0x800084507; GFX7-HSA-NEXT:    s_ashr_i32 s60, s13, 244508; GFX7-HSA-NEXT:    s_bfe_i32 s61, s13, 0x800104509; GFX7-HSA-NEXT:    s_bfe_i32 s62, s13, 0x800084510; GFX7-HSA-NEXT:    s_ashr_i32 s63, s14, 244511; GFX7-HSA-NEXT:    s_bfe_i32 s64, s14, 0x800104512; GFX7-HSA-NEXT:    s_bfe_i32 s65, s14, 0x800084513; GFX7-HSA-NEXT:    s_ashr_i32 s66, s15, 244514; GFX7-HSA-NEXT:    s_bfe_i32 s67, s15, 0x800104515; GFX7-HSA-NEXT:    s_bfe_i32 s68, s15, 0x800084516; GFX7-HSA-NEXT:    s_sext_i32_i8 s46, s84517; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xf04518; GFX7-HSA-NEXT:    s_sext_i32_i8 s50, s94519; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04520; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s94521; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s84522; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xe04523; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04524; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s94525; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s84526; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xd04527; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04528; GFX7-HSA-NEXT:    v_mov_b32_e32 v24, s94529; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s84530; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xc04531; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04532; GFX7-HSA-NEXT:    v_mov_b32_e32 v26, s94533; GFX7-HSA-NEXT:    v_mov_b32_e32 v25, s84534; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xb04535; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04536; GFX7-HSA-NEXT:    v_mov_b32_e32 v28, s94537; GFX7-HSA-NEXT:    s_sext_i32_i8 s13, s134538; GFX7-HSA-NEXT:    v_mov_b32_e32 v27, s84539; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0xa04540; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s134541; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s624542; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s614543; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s604544; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04545; GFX7-HSA-NEXT:    flat_store_dwordx4 v[23:24], v[8:11]4546; GFX7-HSA-NEXT:    s_sext_i32_i8 s12, s124547; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s94548; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s84549; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0x904550; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s124551; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s594552; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s584553; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s574554; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04555; GFX7-HSA-NEXT:    flat_store_dwordx4 v[25:26], v[12:15]4556; GFX7-HSA-NEXT:    s_sext_i32_i8 s15, s154557; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s94558; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s84559; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 0x804560; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 04561; GFX7-HSA-NEXT:    s_sext_i32_i8 s7, s74562; GFX7-HSA-NEXT:    s_sext_i32_i8 s11, s114563; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s154564; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s684565; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s674566; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s664567; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s64568; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 0x704569; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s114570; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s564571; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s554572; GFX7-HSA-NEXT:    flat_store_dwordx4 v[19:20], v[0:3]4573; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s544574; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s74575; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 04576; GFX7-HSA-NEXT:    flat_store_dwordx4 v[27:28], v[16:19]4577; GFX7-HSA-NEXT:    s_sext_i32_i8 s14, s144578; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s74579; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s64580; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 0x604581; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 04582; GFX7-HSA-NEXT:    s_sext_i32_i8 s10, s104583; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s144584; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s654585; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s644586; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s634587; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s74588; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s104589; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s504590; GFX7-HSA-NEXT:    flat_store_dwordx4 v[21:22], v[4:7]4591; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s534592; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s524593; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s514594; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s494595; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s484596; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s464597; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s474598; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s454599; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s94600; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s64601; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 0x504602; GFX7-HSA-NEXT:    s_sext_i32_i8 s5, s54603; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s84604; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s444605; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s434606; GFX7-HSA-NEXT:    flat_store_dwordx4 v[9:10], v[0:3]4607; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s424608; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s404609; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s414610; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s394611; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s384612; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s374613; GFX7-HSA-NEXT:    flat_store_dwordx4 v[12:13], v[20:23]4614; GFX7-HSA-NEXT:    flat_store_dwordx4 v[14:15], v[4:7]4615; GFX7-HSA-NEXT:    flat_store_dwordx4 v[16:17], v[8:11]4616; GFX7-HSA-NEXT:    flat_store_dwordx4 v[18:19], v[0:3]4617; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 04618; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s64619; GFX7-HSA-NEXT:    s_sext_i32_i8 s4, s44620; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s54621; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s364622; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s354623; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s344624; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s74625; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4626; GFX7-HSA-NEXT:    s_sext_i32_i8 s3, s34627; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s44628; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 644629; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 04630; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s44631; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s334632; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s314633; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s304634; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s54635; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 484636; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4637; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 04638; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s44639; GFX7-HSA-NEXT:    s_sext_i32_i8 s2, s24640; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s34641; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s294642; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s284643; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s274644; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s54645; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4646; GFX7-HSA-NEXT:    s_sext_i32_i8 s1, s14647; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s24648; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 324649; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 04650; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s34651; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s24652; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 164653; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s264654; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s254655; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s244656; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 04657; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4658; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s34659; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s14660; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s234661; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s224662; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s214663; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s24664; GFX7-HSA-NEXT:    s_sext_i32_i8 s0, s04665; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4666; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s164667; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s04668; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s204669; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s194670; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s184671; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s174672; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4673; GFX7-HSA-NEXT:    s_endpgm4674;4675; GFX8-NOHSA-LABEL: constant_sextload_v64i8_to_v64i32:4676; GFX8-NOHSA:       ; %bb.0:4677; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x244678; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4679; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x04680; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4681; GFX8-NOHSA-NEXT:    s_ashr_i32 s18, s0, 244682; GFX8-NOHSA-NEXT:    s_bfe_i32 s19, s0, 0x800104683; GFX8-NOHSA-NEXT:    s_bfe_i32 s20, s0, 0x800084684; GFX8-NOHSA-NEXT:    s_ashr_i32 s21, s1, 244685; GFX8-NOHSA-NEXT:    s_bfe_i32 s22, s1, 0x800104686; GFX8-NOHSA-NEXT:    s_bfe_i32 s23, s1, 0x800084687; GFX8-NOHSA-NEXT:    s_ashr_i32 s24, s2, 244688; GFX8-NOHSA-NEXT:    s_bfe_i32 s25, s2, 0x800104689; GFX8-NOHSA-NEXT:    s_bfe_i32 s26, s2, 0x800084690; GFX8-NOHSA-NEXT:    s_ashr_i32 s27, s3, 244691; GFX8-NOHSA-NEXT:    s_bfe_i32 s28, s3, 0x800104692; GFX8-NOHSA-NEXT:    s_bfe_i32 s29, s3, 0x800084693; GFX8-NOHSA-NEXT:    s_ashr_i32 s30, s4, 244694; GFX8-NOHSA-NEXT:    s_bfe_i32 s31, s4, 0x800104695; GFX8-NOHSA-NEXT:    s_bfe_i32 s33, s4, 0x800084696; GFX8-NOHSA-NEXT:    s_ashr_i32 s34, s5, 244697; GFX8-NOHSA-NEXT:    s_bfe_i32 s35, s5, 0x800104698; GFX8-NOHSA-NEXT:    s_bfe_i32 s36, s5, 0x800084699; GFX8-NOHSA-NEXT:    s_ashr_i32 s37, s6, 244700; GFX8-NOHSA-NEXT:    s_bfe_i32 s38, s6, 0x800104701; GFX8-NOHSA-NEXT:    s_bfe_i32 s39, s6, 0x800084702; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s40, s64703; GFX8-NOHSA-NEXT:    s_ashr_i32 s41, s7, 244704; GFX8-NOHSA-NEXT:    s_bfe_i32 s42, s7, 0x800104705; GFX8-NOHSA-NEXT:    s_bfe_i32 s43, s7, 0x800084706; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s44, s74707; GFX8-NOHSA-NEXT:    s_ashr_i32 s45, s8, 244708; GFX8-NOHSA-NEXT:    s_bfe_i32 s46, s8, 0x800104709; GFX8-NOHSA-NEXT:    s_bfe_i32 s47, s8, 0x800084710; GFX8-NOHSA-NEXT:    s_ashr_i32 s48, s9, 244711; GFX8-NOHSA-NEXT:    s_bfe_i32 s49, s9, 0x800104712; GFX8-NOHSA-NEXT:    s_bfe_i32 s50, s9, 0x800084713; GFX8-NOHSA-NEXT:    s_ashr_i32 s51, s10, 244714; GFX8-NOHSA-NEXT:    s_bfe_i32 s52, s10, 0x800104715; GFX8-NOHSA-NEXT:    s_bfe_i32 s53, s10, 0x800084716; GFX8-NOHSA-NEXT:    s_ashr_i32 s54, s11, 244717; GFX8-NOHSA-NEXT:    s_bfe_i32 s55, s11, 0x800104718; GFX8-NOHSA-NEXT:    s_bfe_i32 s56, s11, 0x800084719; GFX8-NOHSA-NEXT:    s_ashr_i32 s57, s12, 244720; GFX8-NOHSA-NEXT:    s_bfe_i32 s58, s12, 0x800104721; GFX8-NOHSA-NEXT:    s_bfe_i32 s59, s12, 0x800084722; GFX8-NOHSA-NEXT:    s_ashr_i32 s60, s13, 244723; GFX8-NOHSA-NEXT:    s_bfe_i32 s61, s13, 0x800104724; GFX8-NOHSA-NEXT:    s_bfe_i32 s62, s13, 0x800084725; GFX8-NOHSA-NEXT:    s_ashr_i32 s63, s14, 244726; GFX8-NOHSA-NEXT:    s_bfe_i32 s64, s14, 0x800104727; GFX8-NOHSA-NEXT:    s_bfe_i32 s65, s14, 0x800084728; GFX8-NOHSA-NEXT:    s_ashr_i32 s6, s15, 244729; GFX8-NOHSA-NEXT:    s_bfe_i32 s7, s15, 0x800104730; GFX8-NOHSA-NEXT:    s_bfe_i32 s66, s15, 0x800084731; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s64732; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xf04733; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s15, s154734; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s74735; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04736; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64737; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s154738; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s664739; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74740; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xe04741; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s14, s144742; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4743; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04744; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64745; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s144746; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s654747; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s644748; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s634749; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74750; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xd04751; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s13, s134752; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4753; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04754; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64755; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s134756; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s624757; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s614758; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s604759; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74760; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xc04761; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s12, s124762; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4763; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04764; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64765; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s124766; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s594767; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s584768; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s574769; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74770; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xb04771; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s11, s114772; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4773; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04774; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64775; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s114776; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s564777; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s554778; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s544779; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74780; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0xa04781; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s10, s104782; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4783; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04784; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64785; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s104786; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s534787; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s524788; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s514789; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74790; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x904791; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s9, s94792; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4793; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04794; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64795; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s94796; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s504797; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s494798; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s484799; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74800; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x804801; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s8, s84802; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4803; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04804; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64805; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s84806; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s474807; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s464808; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s454809; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74810; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x704811; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4812; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04813; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64814; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s444815; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s434816; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s424817; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s414818; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74819; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x604820; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4821; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04822; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64823; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s404824; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s394825; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s384826; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s374827; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74828; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 0x504829; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s5, s54830; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4831; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 04832; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64833; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s4, s44834; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s54835; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s364836; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s354837; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s344838; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74839; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4840; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s3, s34841; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s44842; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 644843; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 04844; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s44845; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s334846; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s314847; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s304848; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s54849; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 484850; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4851; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 04852; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s44853; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s2, s24854; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s34855; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s294856; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s284857; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s274858; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s54859; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4860; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s1, s14861; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s24862; GFX8-NOHSA-NEXT:    s_add_u32 s2, s16, 324863; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s17, 04864; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s34865; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s24866; GFX8-NOHSA-NEXT:    s_add_u32 s2, s16, 164867; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s264868; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s254869; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s244870; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s17, 04871; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4872; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s34873; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s14874; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s234875; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s224876; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s214877; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s24878; GFX8-NOHSA-NEXT:    s_sext_i32_i8 s0, s04879; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4880; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s164881; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s04882; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s204883; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s194884; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s184885; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s174886; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4887; GFX8-NOHSA-NEXT:    s_endpgm4888;4889; EG-LABEL: constant_sextload_v64i8_to_v64i32:4890; EG:       ; %bb.0:4891; EG-NEXT:    ALU 0, @32, KC0[CB0:0-32], KC1[]4892; EG-NEXT:    TEX 1 @244893; EG-NEXT:    ALU 40, @33, KC0[CB0:0-32], KC1[]4894; EG-NEXT:    TEX 1 @284895; EG-NEXT:    ALU 76, @74, KC0[CB0:0-32], KC1[]4896; EG-NEXT:    ALU 72, @151, KC0[CB0:0-32], KC1[]4897; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T48.XYZW, T50.X, 04898; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T47.XYZW, T49.X, 04899; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T19.X, 04900; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T46.XYZW, T35.X, 04901; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T45.XYZW, T34.X, 04902; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T44.XYZW, T33.X, 04903; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T32.X, 04904; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T43.XYZW, T30.X, 04905; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T42.XYZW, T29.X, 04906; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T41.XYZW, T28.X, 04907; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T31.XYZW, T27.X, 04908; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T40.XYZW, T26.X, 04909; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T39.XYZW, T25.X, 04910; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T38.XYZW, T24.X, 04911; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T37.XYZW, T23.X, 04912; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T36.XYZW, T22.X, 14913; EG-NEXT:    CF_END4914; EG-NEXT:    PAD4915; EG-NEXT:    Fetch clause starting at 24:4916; EG-NEXT:     VTX_READ_128 T20.XYZW, T21.X, 32, #14917; EG-NEXT:     VTX_READ_128 T19.XYZW, T21.X, 48, #14918; EG-NEXT:    Fetch clause starting at 28:4919; EG-NEXT:     VTX_READ_128 T31.XYZW, T21.X, 0, #14920; EG-NEXT:     VTX_READ_128 T21.XYZW, T21.X, 16, #14921; EG-NEXT:    ALU clause starting at 32:4922; EG-NEXT:     MOV * T21.X, KC0[2].Z,4923; EG-NEXT:    ALU clause starting at 33:4924; EG-NEXT:     LSHR T22.X, KC0[2].Y, literal.x,4925; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4926; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4927; EG-NEXT:     LSHR T23.X, PV.W, literal.x,4928; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4929; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)4930; EG-NEXT:     LSHR T24.X, PV.W, literal.x,4931; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4932; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)4933; EG-NEXT:     LSHR T25.X, PV.W, literal.x,4934; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4935; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)4936; EG-NEXT:     LSHR T26.X, PV.W, literal.x,4937; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4938; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)4939; EG-NEXT:     LSHR T27.X, PV.W, literal.x,4940; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4941; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)4942; EG-NEXT:     LSHR T28.X, PV.W, literal.x,4943; EG-NEXT:     LSHR T0.Y, T19.W, literal.y,4944; EG-NEXT:     LSHR T0.Z, T19.Z, literal.z,4945; EG-NEXT:     LSHR * T0.W, T19.W, literal.w,4946; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4947; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)4948; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,4949; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)4950; EG-NEXT:     LSHR T29.X, PV.W, literal.x,4951; EG-NEXT:     LSHR T1.Y, T19.Z, literal.y,4952; EG-NEXT:     LSHR T1.Z, T19.Y, literal.z,4953; EG-NEXT:     LSHR * T1.W, T19.Z, literal.w,4954; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4955; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)4956; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.x,4957; EG-NEXT:    128(1.793662e-43), 0(0.000000e+00)4958; EG-NEXT:     LSHR T30.X, PV.W, literal.x,4959; EG-NEXT:     LSHR T2.Y, T19.Y, literal.y,4960; EG-NEXT:     LSHR T2.Z, T19.Y, literal.z,4961; EG-NEXT:     LSHR T2.W, T19.X, literal.y,4962; EG-NEXT:     LSHR * T3.W, T19.X, literal.z,4963; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4964; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)4965; EG-NEXT:    ALU clause starting at 74:4966; EG-NEXT:     LSHR T3.Y, T20.W, literal.x,4967; EG-NEXT:     LSHR T3.Z, T20.W, literal.y,4968; EG-NEXT:     LSHR T4.W, T20.Z, literal.x,4969; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.z,4970; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)4971; EG-NEXT:    144(2.017870e-43), 0(0.000000e+00)4972; EG-NEXT:     LSHR T32.X, PS, literal.x,4973; EG-NEXT:     LSHR T4.Y, T20.Z, literal.y,4974; EG-NEXT:     LSHR T4.Z, T20.Y, literal.z,4975; EG-NEXT:     LSHR T5.W, T20.Y, literal.y,4976; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.w,4977; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)4978; EG-NEXT:    16(2.242078e-44), 160(2.242078e-43)4979; EG-NEXT:     LSHR T33.X, PS, literal.x,4980; EG-NEXT:     LSHR T5.Y, T20.X, literal.y,4981; EG-NEXT:     LSHR T5.Z, T20.X, literal.z,4982; EG-NEXT:     LSHR T6.W, T21.W, literal.y,4983; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.w,4984; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4985; EG-NEXT:    24(3.363116e-44), 176(2.466285e-43)4986; EG-NEXT:     LSHR T34.X, PS, literal.x,4987; EG-NEXT:     LSHR T6.Y, T21.W, literal.y,4988; EG-NEXT:     LSHR T6.Z, T21.Z, literal.z,4989; EG-NEXT:     LSHR T7.W, T21.Z, literal.y,4990; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.w,4991; EG-NEXT:    2(2.802597e-45), 24(3.363116e-44)4992; EG-NEXT:    16(2.242078e-44), 192(2.690493e-43)4993; EG-NEXT:     LSHR T35.X, PS, literal.x,4994; EG-NEXT:     LSHR T7.Y, T21.Y, literal.y,4995; EG-NEXT:     LSHR T7.Z, T21.Y, literal.z,4996; EG-NEXT:     LSHR T8.W, T21.X, literal.y,4997; EG-NEXT:     LSHR * T9.W, T21.X, literal.z,4998; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4999; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)5000; EG-NEXT:     BFE_INT T36.X, T31.X, 0.0, literal.x,5001; EG-NEXT:     LSHR T8.Y, T31.W, literal.y,5002; EG-NEXT:     LSHR T8.Z, T31.W, literal.z,5003; EG-NEXT:     LSHR T10.W, T31.Z, literal.y,5004; EG-NEXT:     LSHR * T11.W, T31.X, literal.z,5005; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)5006; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)5007; EG-NEXT:     BFE_INT T37.X, T31.Y, 0.0, literal.x,5008; EG-NEXT:     LSHR T9.Y, T31.Z, literal.y,5009; EG-NEXT:     LSHR T9.Z, T31.Y, literal.y,5010; EG-NEXT:     BFE_INT T36.W, PS, 0.0, literal.x,5011; EG-NEXT:     LSHR * T11.W, T31.X, literal.z,5012; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)5013; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)5014; EG-NEXT:     BFE_INT T38.X, T31.Z, 0.0, literal.x,5015; EG-NEXT:     LSHR T10.Y, T31.Y, literal.y,5016; EG-NEXT:     BFE_INT T36.Z, PS, 0.0, literal.x,5017; EG-NEXT:     BFE_INT T37.W, PV.Z, 0.0, literal.x,5018; EG-NEXT:     LSHR * T11.W, T31.X, literal.x,5019; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)5020; EG-NEXT:     BFE_INT T39.X, T31.W, 0.0, literal.x,5021; EG-NEXT:     BFE_INT T36.Y, PS, 0.0, literal.x,5022; EG-NEXT:     BFE_INT T37.Z, PV.Y, 0.0, literal.x,5023; EG-NEXT:     BFE_INT T38.W, T9.Y, 0.0, literal.x,5024; EG-NEXT:     LSHR * T11.W, T31.Y, literal.x,5025; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5026; EG-NEXT:     BFE_INT T40.X, T21.X, 0.0, literal.x,5027; EG-NEXT:     BFE_INT T37.Y, PS, 0.0, literal.x,5028; EG-NEXT:     BFE_INT T38.Z, T10.W, 0.0, literal.x,5029; EG-NEXT:     BFE_INT T39.W, T8.Z, 0.0, literal.x,5030; EG-NEXT:     LSHR * T10.W, T31.Z, literal.x,5031; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5032; EG-NEXT:     BFE_INT T31.X, T21.Y, 0.0, literal.x,5033; EG-NEXT:     BFE_INT T38.Y, PS, 0.0, literal.x,5034; EG-NEXT:     BFE_INT T39.Z, T8.Y, 0.0, literal.x, BS:VEC_120/SCL_2125035; EG-NEXT:     BFE_INT T40.W, T9.W, 0.0, literal.x,5036; EG-NEXT:     LSHR * T9.W, T31.W, literal.x,5037; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5038; EG-NEXT:     BFE_INT T41.X, T21.Z, 0.0, literal.x,5039; EG-NEXT:     BFE_INT T39.Y, PS, 0.0, literal.x,5040; EG-NEXT:     BFE_INT T40.Z, T8.W, 0.0, literal.x,5041; EG-NEXT:     BFE_INT * T31.W, T7.Z, 0.0, literal.x, BS:VEC_120/SCL_2125042; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5043; EG-NEXT:    ALU clause starting at 151:5044; EG-NEXT:     LSHR * T8.W, T21.X, literal.x,5045; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5046; EG-NEXT:     BFE_INT T42.X, T21.W, 0.0, literal.x,5047; EG-NEXT:     BFE_INT T40.Y, PV.W, 0.0, literal.x,5048; EG-NEXT:     BFE_INT T31.Z, T7.Y, 0.0, literal.x,5049; EG-NEXT:     BFE_INT T41.W, T7.W, 0.0, literal.x, BS:VEC_120/SCL_2125050; EG-NEXT:     LSHR * T7.W, T21.Y, literal.x,5051; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5052; EG-NEXT:     BFE_INT T43.X, T20.X, 0.0, literal.x,5053; EG-NEXT:     BFE_INT T31.Y, PS, 0.0, literal.x,5054; EG-NEXT:     BFE_INT T41.Z, T6.Z, 0.0, literal.x,5055; EG-NEXT:     BFE_INT T42.W, T6.Y, 0.0, literal.x,5056; EG-NEXT:     LSHR * T7.W, T21.Z, literal.x,5057; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5058; EG-NEXT:     BFE_INT T21.X, T20.Y, 0.0, literal.x,5059; EG-NEXT:     BFE_INT T41.Y, PS, 0.0, literal.x,5060; EG-NEXT:     BFE_INT T42.Z, T6.W, 0.0, literal.x,5061; EG-NEXT:     BFE_INT T43.W, T5.Z, 0.0, literal.x,5062; EG-NEXT:     LSHR * T6.W, T21.W, literal.x,5063; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5064; EG-NEXT:     BFE_INT T44.X, T20.Z, 0.0, literal.x,5065; EG-NEXT:     BFE_INT T42.Y, PS, 0.0, literal.x,5066; EG-NEXT:     BFE_INT T43.Z, T5.Y, 0.0, literal.x,5067; EG-NEXT:     BFE_INT T21.W, T5.W, 0.0, literal.x,5068; EG-NEXT:     LSHR * T5.W, T20.X, literal.x,5069; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5070; EG-NEXT:     BFE_INT T45.X, T20.W, 0.0, literal.x,5071; EG-NEXT:     BFE_INT T43.Y, PS, 0.0, literal.x,5072; EG-NEXT:     BFE_INT T21.Z, T4.Z, 0.0, literal.x,5073; EG-NEXT:     BFE_INT T44.W, T4.Y, 0.0, literal.x,5074; EG-NEXT:     LSHR * T5.W, T20.Y, literal.x,5075; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5076; EG-NEXT:     BFE_INT T46.X, T19.X, 0.0, literal.x,5077; EG-NEXT:     BFE_INT T21.Y, PS, 0.0, literal.x,5078; EG-NEXT:     BFE_INT T44.Z, T4.W, 0.0, literal.x,5079; EG-NEXT:     BFE_INT T45.W, T3.Z, 0.0, literal.x,5080; EG-NEXT:     LSHR * T4.W, T20.Z, literal.x,5081; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5082; EG-NEXT:     BFE_INT T20.X, T19.Y, 0.0, literal.x,5083; EG-NEXT:     BFE_INT T44.Y, PS, 0.0, literal.x,5084; EG-NEXT:     BFE_INT T45.Z, T3.Y, 0.0, literal.x, BS:VEC_120/SCL_2125085; EG-NEXT:     BFE_INT T46.W, T3.W, 0.0, literal.x,5086; EG-NEXT:     LSHR * T3.W, T20.W, literal.x,5087; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5088; EG-NEXT:     BFE_INT T47.X, T19.Z, 0.0, literal.x,5089; EG-NEXT:     BFE_INT T45.Y, PS, 0.0, literal.x,5090; EG-NEXT:     BFE_INT T46.Z, T2.W, 0.0, literal.x,5091; EG-NEXT:     BFE_INT T20.W, T2.Z, 0.0, literal.x, BS:VEC_120/SCL_2125092; EG-NEXT:     LSHR * T2.W, T19.X, literal.x,5093; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5094; EG-NEXT:     BFE_INT T48.X, T19.W, 0.0, literal.x,5095; EG-NEXT:     BFE_INT T46.Y, PS, 0.0, literal.x,5096; EG-NEXT:     BFE_INT T20.Z, T2.Y, 0.0, literal.x,5097; EG-NEXT:     BFE_INT T47.W, T1.W, 0.0, literal.x, BS:VEC_120/SCL_2125098; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5099; EG-NEXT:    8(1.121039e-44), 208(2.914701e-43)5100; EG-NEXT:     LSHR T19.X, PS, literal.x,5101; EG-NEXT:     BFE_INT T20.Y, T1.Z, 0.0, literal.y,5102; EG-NEXT:     BFE_INT T47.Z, T1.Y, 0.0, literal.y,5103; EG-NEXT:     BFE_INT T48.W, T0.W, 0.0, literal.y,5104; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.z,5105; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)5106; EG-NEXT:    224(3.138909e-43), 0(0.000000e+00)5107; EG-NEXT:     LSHR T49.X, PS, literal.x,5108; EG-NEXT:     BFE_INT T47.Y, T0.Z, 0.0, literal.y,5109; EG-NEXT:     BFE_INT T48.Z, T0.Y, 0.0, literal.y,5110; EG-NEXT:     LSHR T0.W, T19.W, literal.y,5111; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,5112; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)5113; EG-NEXT:    240(3.363116e-43), 0(0.000000e+00)5114; EG-NEXT:     LSHR T50.X, PS, literal.x,5115; EG-NEXT:     BFE_INT * T48.Y, PV.W, 0.0, literal.y,5116; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)5117;5118; GFX12-LABEL: constant_sextload_v64i8_to_v64i32:5119; GFX12:       ; %bb.0:5120; GFX12-NEXT:    s_load_b128 s[16:19], s[4:5], 0x245121; GFX12-NEXT:    s_wait_kmcnt 0x05122; GFX12-NEXT:    s_load_b512 s[0:15], s[18:19], 0x05123; GFX12-NEXT:    s_wait_kmcnt 0x05124; GFX12-NEXT:    s_ashr_i32 s64, s15, 245125; GFX12-NEXT:    s_bfe_i32 s65, s15, 0x800105126; GFX12-NEXT:    s_sext_i32_i8 s66, s155127; GFX12-NEXT:    s_bfe_i32 s15, s15, 0x800085128; GFX12-NEXT:    s_ashr_i32 s61, s14, 245129; GFX12-NEXT:    s_bfe_i32 s62, s14, 0x800105130; GFX12-NEXT:    s_bfe_i32 s63, s14, 0x800085131; GFX12-NEXT:    s_sext_i32_i8 s14, s145132; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s155133; GFX12-NEXT:    s_ashr_i32 s58, s13, 245134; GFX12-NEXT:    s_bfe_i32 s59, s13, 0x800105135; GFX12-NEXT:    s_bfe_i32 s60, s13, 0x800085136; GFX12-NEXT:    s_sext_i32_i8 s13, s135137; GFX12-NEXT:    v_dual_mov_b32 v0, s66 :: v_dual_mov_b32 v3, s645138; GFX12-NEXT:    v_dual_mov_b32 v2, s65 :: v_dual_mov_b32 v5, s635139; GFX12-NEXT:    s_ashr_i32 s55, s12, 245140; GFX12-NEXT:    s_bfe_i32 s56, s12, 0x800105141; GFX12-NEXT:    s_bfe_i32 s57, s12, 0x800085142; GFX12-NEXT:    s_sext_i32_i8 s12, s125143; GFX12-NEXT:    v_dual_mov_b32 v4, s14 :: v_dual_mov_b32 v7, s615144; GFX12-NEXT:    v_dual_mov_b32 v6, s62 :: v_dual_mov_b32 v9, s605145; GFX12-NEXT:    v_dual_mov_b32 v8, s13 :: v_dual_mov_b32 v11, s585146; GFX12-NEXT:    v_dual_mov_b32 v10, s59 :: v_dual_mov_b32 v13, s575147; GFX12-NEXT:    s_ashr_i32 s52, s11, 245148; GFX12-NEXT:    s_bfe_i32 s53, s11, 0x800105149; GFX12-NEXT:    s_bfe_i32 s54, s11, 0x800085150; GFX12-NEXT:    v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v15, s555151; GFX12-NEXT:    v_mov_b32_e32 v14, s565152; GFX12-NEXT:    s_sext_i32_i8 s11, s115153; GFX12-NEXT:    s_ashr_i32 s49, s10, 245154; GFX12-NEXT:    s_bfe_i32 s50, s10, 0x800105155; GFX12-NEXT:    s_bfe_i32 s51, s10, 0x800085156; GFX12-NEXT:    s_sext_i32_i8 s10, s105157; GFX12-NEXT:    s_ashr_i32 s46, s9, 245158; GFX12-NEXT:    s_bfe_i32 s47, s9, 0x800105159; GFX12-NEXT:    s_bfe_i32 s48, s9, 0x800085160; GFX12-NEXT:    s_sext_i32_i8 s9, s95161; GFX12-NEXT:    s_clause 0x35162; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[16:17] offset:2405163; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[16:17] offset:2245164; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[16:17] offset:2085165; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[16:17] offset:1925166; GFX12-NEXT:    v_dual_mov_b32 v0, s11 :: v_dual_mov_b32 v3, s525167; GFX12-NEXT:    v_dual_mov_b32 v1, s54 :: v_dual_mov_b32 v2, s535168; GFX12-NEXT:    v_mov_b32_e32 v5, s515169; GFX12-NEXT:    s_ashr_i32 s43, s8, 245170; GFX12-NEXT:    s_bfe_i32 s44, s8, 0x800105171; GFX12-NEXT:    s_bfe_i32 s45, s8, 0x800085172; GFX12-NEXT:    s_sext_i32_i8 s8, s85173; GFX12-NEXT:    v_dual_mov_b32 v4, s10 :: v_dual_mov_b32 v7, s495174; GFX12-NEXT:    v_dual_mov_b32 v6, s50 :: v_dual_mov_b32 v9, s485175; GFX12-NEXT:    s_ashr_i32 s40, s7, 245176; GFX12-NEXT:    s_bfe_i32 s41, s7, 0x800105177; GFX12-NEXT:    s_bfe_i32 s42, s7, 0x800085178; GFX12-NEXT:    s_sext_i32_i8 s7, s75179; GFX12-NEXT:    v_dual_mov_b32 v8, s9 :: v_dual_mov_b32 v11, s465180; GFX12-NEXT:    v_dual_mov_b32 v10, s47 :: v_dual_mov_b32 v13, s455181; GFX12-NEXT:    s_ashr_i32 s34, s5, 245182; GFX12-NEXT:    s_bfe_i32 s35, s5, 0x800105183; GFX12-NEXT:    s_bfe_i32 s36, s5, 0x800085184; GFX12-NEXT:    s_sext_i32_i8 s5, s55185; GFX12-NEXT:    s_ashr_i32 s37, s6, 245186; GFX12-NEXT:    s_bfe_i32 s38, s6, 0x800105187; GFX12-NEXT:    s_bfe_i32 s39, s6, 0x800085188; GFX12-NEXT:    s_sext_i32_i8 s6, s65189; GFX12-NEXT:    v_dual_mov_b32 v12, s8 :: v_dual_mov_b32 v15, s435190; GFX12-NEXT:    v_dual_mov_b32 v14, s44 :: v_dual_mov_b32 v17, s425191; GFX12-NEXT:    s_ashr_i32 s30, s4, 245192; GFX12-NEXT:    s_bfe_i32 s31, s4, 0x800105193; GFX12-NEXT:    s_bfe_i32 s33, s4, 0x800085194; GFX12-NEXT:    s_sext_i32_i8 s4, s45195; GFX12-NEXT:    v_dual_mov_b32 v16, s7 :: v_dual_mov_b32 v19, s405196; GFX12-NEXT:    v_dual_mov_b32 v18, s41 :: v_dual_mov_b32 v21, s395197; GFX12-NEXT:    s_ashr_i32 s27, s3, 245198; GFX12-NEXT:    s_bfe_i32 s28, s3, 0x800105199; GFX12-NEXT:    s_bfe_i32 s29, s3, 0x800085200; GFX12-NEXT:    s_sext_i32_i8 s3, s35201; GFX12-NEXT:    v_dual_mov_b32 v20, s6 :: v_dual_mov_b32 v23, s375202; GFX12-NEXT:    v_mov_b32_e32 v22, s385203; GFX12-NEXT:    s_clause 0x55204; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[16:17] offset:1765205; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[16:17] offset:1605206; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[16:17] offset:1445207; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[16:17] offset:1285208; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[16:17] offset:1125209; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[16:17] offset:965210; GFX12-NEXT:    v_dual_mov_b32 v0, s5 :: v_dual_mov_b32 v3, s345211; GFX12-NEXT:    v_dual_mov_b32 v1, s36 :: v_dual_mov_b32 v2, s355212; GFX12-NEXT:    v_mov_b32_e32 v5, s335213; GFX12-NEXT:    s_ashr_i32 s24, s2, 245214; GFX12-NEXT:    s_bfe_i32 s25, s2, 0x800105215; GFX12-NEXT:    s_bfe_i32 s26, s2, 0x800085216; GFX12-NEXT:    s_sext_i32_i8 s2, s25217; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s305218; GFX12-NEXT:    v_dual_mov_b32 v6, s31 :: v_dual_mov_b32 v9, s295219; GFX12-NEXT:    s_ashr_i32 s21, s1, 245220; GFX12-NEXT:    s_bfe_i32 s22, s1, 0x800105221; GFX12-NEXT:    s_bfe_i32 s23, s1, 0x800085222; GFX12-NEXT:    s_sext_i32_i8 s1, s15223; GFX12-NEXT:    v_dual_mov_b32 v8, s3 :: v_dual_mov_b32 v11, s275224; GFX12-NEXT:    v_dual_mov_b32 v10, s28 :: v_dual_mov_b32 v13, s265225; GFX12-NEXT:    s_ashr_i32 s18, s0, 245226; GFX12-NEXT:    s_bfe_i32 s19, s0, 0x800105227; GFX12-NEXT:    s_bfe_i32 s20, s0, 0x800085228; GFX12-NEXT:    s_sext_i32_i8 s0, s05229; GFX12-NEXT:    v_dual_mov_b32 v12, s2 :: v_dual_mov_b32 v15, s245230; GFX12-NEXT:    v_dual_mov_b32 v14, s25 :: v_dual_mov_b32 v17, s235231; GFX12-NEXT:    v_dual_mov_b32 v16, s1 :: v_dual_mov_b32 v19, s215232; GFX12-NEXT:    v_dual_mov_b32 v18, s22 :: v_dual_mov_b32 v21, s205233; GFX12-NEXT:    v_dual_mov_b32 v20, s0 :: v_dual_mov_b32 v23, s185234; GFX12-NEXT:    v_mov_b32_e32 v22, s195235; GFX12-NEXT:    s_clause 0x55236; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[16:17] offset:805237; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[16:17] offset:645238; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[16:17] offset:485239; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[16:17] offset:325240; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[16:17] offset:165241; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[16:17]5242; GFX12-NEXT:    s_endpgm5243  %load = load <64 x i8>, ptr addrspace(4) %in5244  %ext = sext <64 x i8> %load to <64 x i32>5245  store <64 x i32> %ext, ptr addrspace(1) %out5246  ret void5247}5248 5249define amdgpu_kernel void @constant_zextload_i8_to_i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5250; GFX6-NOHSA-LABEL: constant_zextload_i8_to_i64:5251; GFX6-NOHSA:       ; %bb.0:5252; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95253; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0005254; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -15255; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s65256; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s75257; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5258; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s25259; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s35260; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 05261; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s05262; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s15263; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 05264; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)5265; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 05266; GFX6-NOHSA-NEXT:    s_endpgm5267;5268; GFX7-HSA-LABEL: constant_zextload_i8_to_i64:5269; GFX7-HSA:       ; %bb.0:5270; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05271; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175272; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135273; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85274; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5275; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25276; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s35277; GFX7-HSA-NEXT:    flat_load_ubyte v0, v[0:1]5278; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s05279; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s15280; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 05281; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)5282; GFX7-HSA-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]5283; GFX7-HSA-NEXT:    s_endpgm5284;5285; GFX8-NOHSA-LABEL: constant_zextload_i8_to_i64:5286; GFX8-NOHSA:       ; %bb.0:5287; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245288; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, 05289; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5290; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25291; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s35292; GFX8-NOHSA-NEXT:    flat_load_ubyte v2, v[0:1]5293; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s05294; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s15295; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)5296; GFX8-NOHSA-NEXT:    v_and_b32_e32 v2, 0xffff, v25297; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]5298; GFX8-NOHSA-NEXT:    s_endpgm5299;5300; EG-LABEL: constant_zextload_i8_to_i64:5301; EG:       ; %bb.0:5302; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]5303; EG-NEXT:    TEX 0 @65304; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]5305; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 15306; EG-NEXT:    CF_END5307; EG-NEXT:    PAD5308; EG-NEXT:    Fetch clause starting at 6:5309; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #15310; EG-NEXT:    ALU clause starting at 8:5311; EG-NEXT:     MOV * T0.X, KC0[2].Z,5312; EG-NEXT:    ALU clause starting at 9:5313; EG-NEXT:     MOV * T0.Y, 0.0,5314; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,5315; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)5316;5317; GFX12-TRUE16-LABEL: constant_zextload_i8_to_i64:5318; GFX12-TRUE16:       ; %bb.0:5319; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245320; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 05321; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x05322; GFX12-TRUE16-NEXT:    global_load_d16_u8 v0, v1, s[2:3]5323; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x05324; GFX12-TRUE16-NEXT:    v_and_b32_e32 v0, 0xffff, v05325; GFX12-TRUE16-NEXT:    global_store_b64 v1, v[0:1], s[0:1]5326; GFX12-TRUE16-NEXT:    s_endpgm5327;5328; GFX12-FAKE16-LABEL: constant_zextload_i8_to_i64:5329; GFX12-FAKE16:       ; %bb.0:5330; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245331; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v1, 05332; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x05333; GFX12-FAKE16-NEXT:    global_load_u8 v0, v1, s[2:3]5334; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x05335; GFX12-FAKE16-NEXT:    v_and_b32_e32 v0, 0xffff, v05336; GFX12-FAKE16-NEXT:    global_store_b64 v1, v[0:1], s[0:1]5337; GFX12-FAKE16-NEXT:    s_endpgm5338  %a = load i8, ptr addrspace(4) %in5339  %ext = zext i8 %a to i645340  store i64 %ext, ptr addrspace(1) %out5341  ret void5342}5343 5344; TODO: Why not 7 ?5345define amdgpu_kernel void @constant_sextload_i8_to_i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5346; GFX6-NOHSA-LABEL: constant_sextload_i8_to_i64:5347; GFX6-NOHSA:       ; %bb.0:5348; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95349; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0005350; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -15351; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s65352; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s75353; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5354; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s25355; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s35356; GFX6-NOHSA-NEXT:    buffer_load_sbyte v0, off, s[8:11], 05357; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s05358; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s15359; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)5360; GFX6-NOHSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05361; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 05362; GFX6-NOHSA-NEXT:    s_endpgm5363;5364; GFX7-HSA-LABEL: constant_sextload_i8_to_i64:5365; GFX7-HSA:       ; %bb.0:5366; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05367; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175368; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135369; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85370; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5371; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25372; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s35373; GFX7-HSA-NEXT:    flat_load_sbyte v0, v[0:1]5374; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s05375; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s15376; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)5377; GFX7-HSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05378; GFX7-HSA-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]5379; GFX7-HSA-NEXT:    s_endpgm5380;5381; GFX8-NOHSA-LABEL: constant_sextload_i8_to_i64:5382; GFX8-NOHSA:       ; %bb.0:5383; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245384; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5385; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25386; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s35387; GFX8-NOHSA-NEXT:    flat_load_sbyte v2, v[0:1]5388; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s05389; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s15390; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)5391; GFX8-NOHSA-NEXT:    v_bfe_i32 v2, v2, 0, 165392; GFX8-NOHSA-NEXT:    v_ashrrev_i32_e32 v3, 31, v25393; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]5394; GFX8-NOHSA-NEXT:    s_endpgm5395;5396; EG-LABEL: constant_sextload_i8_to_i64:5397; EG:       ; %bb.0:5398; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]5399; EG-NEXT:    TEX 0 @65400; EG-NEXT:    ALU 4, @9, KC0[CB0:0-32], KC1[]5401; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 15402; EG-NEXT:    CF_END5403; EG-NEXT:    PAD5404; EG-NEXT:    Fetch clause starting at 6:5405; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #15406; EG-NEXT:    ALU clause starting at 8:5407; EG-NEXT:     MOV * T0.X, KC0[2].Z,5408; EG-NEXT:    ALU clause starting at 9:5409; EG-NEXT:     BFE_INT T0.X, T0.X, 0.0, literal.x,5410; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.y,5411; EG-NEXT:    8(1.121039e-44), 2(2.802597e-45)5412; EG-NEXT:     ASHR * T0.Y, PV.X, literal.x,5413; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)5414;5415; GFX12-TRUE16-LABEL: constant_sextload_i8_to_i64:5416; GFX12-TRUE16:       ; %bb.0:5417; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245418; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v2, 05419; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x05420; GFX12-TRUE16-NEXT:    global_load_d16_i8 v0, v2, s[2:3]5421; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x05422; GFX12-TRUE16-NEXT:    v_bfe_i32 v0, v0, 0, 165423; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)5424; GFX12-TRUE16-NEXT:    v_ashrrev_i32_e32 v1, 31, v05425; GFX12-TRUE16-NEXT:    global_store_b64 v2, v[0:1], s[0:1]5426; GFX12-TRUE16-NEXT:    s_endpgm5427;5428; GFX12-FAKE16-LABEL: constant_sextload_i8_to_i64:5429; GFX12-FAKE16:       ; %bb.0:5430; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245431; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v2, 05432; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x05433; GFX12-FAKE16-NEXT:    global_load_i8 v0, v2, s[2:3]5434; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x05435; GFX12-FAKE16-NEXT:    v_bfe_i32 v0, v0, 0, 165436; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)5437; GFX12-FAKE16-NEXT:    v_ashrrev_i32_e32 v1, 31, v05438; GFX12-FAKE16-NEXT:    global_store_b64 v2, v[0:1], s[0:1]5439; GFX12-FAKE16-NEXT:    s_endpgm5440  %a = load i8, ptr addrspace(4) %in5441  %ext = sext i8 %a to i645442  store i64 %ext, ptr addrspace(1) %out5443  ret void5444}5445 5446define amdgpu_kernel void @constant_zextload_v1i8_to_v1i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5447; GFX6-NOHSA-LABEL: constant_zextload_v1i8_to_v1i64:5448; GFX6-NOHSA:       ; %bb.0:5449; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95450; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0005451; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -15452; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s65453; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s75454; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5455; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s25456; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s35457; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 05458; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s05459; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s15460; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 05461; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)5462; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 05463; GFX6-NOHSA-NEXT:    s_endpgm5464;5465; GFX7-HSA-LABEL: constant_zextload_v1i8_to_v1i64:5466; GFX7-HSA:       ; %bb.0:5467; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05468; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175469; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135470; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85471; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5472; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25473; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s35474; GFX7-HSA-NEXT:    flat_load_ubyte v0, v[0:1]5475; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s05476; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s15477; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 05478; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)5479; GFX7-HSA-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]5480; GFX7-HSA-NEXT:    s_endpgm5481;5482; GFX8-NOHSA-LABEL: constant_zextload_v1i8_to_v1i64:5483; GFX8-NOHSA:       ; %bb.0:5484; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245485; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5486; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25487; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s35488; GFX8-NOHSA-NEXT:    flat_load_ubyte v0, v[0:1]5489; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s05490; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s15491; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 05492; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)5493; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]5494; GFX8-NOHSA-NEXT:    s_endpgm5495;5496; EG-LABEL: constant_zextload_v1i8_to_v1i64:5497; EG:       ; %bb.0:5498; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]5499; EG-NEXT:    TEX 0 @65500; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]5501; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 15502; EG-NEXT:    CF_END5503; EG-NEXT:    PAD5504; EG-NEXT:    Fetch clause starting at 6:5505; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #15506; EG-NEXT:    ALU clause starting at 8:5507; EG-NEXT:     MOV * T0.X, KC0[2].Z,5508; EG-NEXT:    ALU clause starting at 9:5509; EG-NEXT:     MOV * T0.Y, 0.0,5510; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,5511; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)5512;5513; GFX12-LABEL: constant_zextload_v1i8_to_v1i64:5514; GFX12:       ; %bb.0:5515; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245516; GFX12-NEXT:    s_wait_kmcnt 0x05517; GFX12-NEXT:    s_load_u8 s2, s[2:3], 0x05518; GFX12-NEXT:    s_wait_kmcnt 0x05519; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s25520; GFX12-NEXT:    global_store_b64 v1, v[0:1], s[0:1]5521; GFX12-NEXT:    s_endpgm5522  %load = load <1 x i8>, ptr addrspace(4) %in5523  %ext = zext <1 x i8> %load to <1 x i64>5524  store <1 x i64> %ext, ptr addrspace(1) %out5525  ret void5526}5527 5528; TODO: Why not 7 ?5529define amdgpu_kernel void @constant_sextload_v1i8_to_v1i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5530; GFX6-NOHSA-LABEL: constant_sextload_v1i8_to_v1i64:5531; GFX6-NOHSA:       ; %bb.0:5532; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95533; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0005534; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -15535; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s65536; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s75537; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5538; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s25539; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s35540; GFX6-NOHSA-NEXT:    buffer_load_sbyte v0, off, s[8:11], 05541; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s05542; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s15543; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)5544; GFX6-NOHSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05545; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 05546; GFX6-NOHSA-NEXT:    s_endpgm5547;5548; GFX7-HSA-LABEL: constant_sextload_v1i8_to_v1i64:5549; GFX7-HSA:       ; %bb.0:5550; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05551; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175552; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135553; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85554; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5555; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25556; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s35557; GFX7-HSA-NEXT:    flat_load_sbyte v0, v[0:1]5558; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s05559; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s15560; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)5561; GFX7-HSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05562; GFX7-HSA-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]5563; GFX7-HSA-NEXT:    s_endpgm5564;5565; GFX8-NOHSA-LABEL: constant_sextload_v1i8_to_v1i64:5566; GFX8-NOHSA:       ; %bb.0:5567; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245568; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5569; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25570; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s35571; GFX8-NOHSA-NEXT:    flat_load_sbyte v2, v[0:1]5572; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s05573; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s15574; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)5575; GFX8-NOHSA-NEXT:    v_bfe_i32 v2, v2, 0, 165576; GFX8-NOHSA-NEXT:    v_ashrrev_i32_e32 v3, 31, v25577; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]5578; GFX8-NOHSA-NEXT:    s_endpgm5579;5580; EG-LABEL: constant_sextload_v1i8_to_v1i64:5581; EG:       ; %bb.0:5582; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]5583; EG-NEXT:    TEX 0 @65584; EG-NEXT:    ALU 4, @9, KC0[CB0:0-32], KC1[]5585; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 15586; EG-NEXT:    CF_END5587; EG-NEXT:    PAD5588; EG-NEXT:    Fetch clause starting at 6:5589; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #15590; EG-NEXT:    ALU clause starting at 8:5591; EG-NEXT:     MOV * T0.X, KC0[2].Z,5592; EG-NEXT:    ALU clause starting at 9:5593; EG-NEXT:     BFE_INT T0.X, T0.X, 0.0, literal.x,5594; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.y,5595; EG-NEXT:    8(1.121039e-44), 2(2.802597e-45)5596; EG-NEXT:     ASHR * T0.Y, PV.X, literal.x,5597; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)5598;5599; GFX12-TRUE16-LABEL: constant_sextload_v1i8_to_v1i64:5600; GFX12-TRUE16:       ; %bb.0:5601; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245602; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v2, 05603; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x05604; GFX12-TRUE16-NEXT:    global_load_d16_i8 v0, v2, s[2:3]5605; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x05606; GFX12-TRUE16-NEXT:    v_bfe_i32 v0, v0, 0, 165607; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)5608; GFX12-TRUE16-NEXT:    v_ashrrev_i32_e32 v1, 31, v05609; GFX12-TRUE16-NEXT:    global_store_b64 v2, v[0:1], s[0:1]5610; GFX12-TRUE16-NEXT:    s_endpgm5611;5612; GFX12-FAKE16-LABEL: constant_sextload_v1i8_to_v1i64:5613; GFX12-FAKE16:       ; %bb.0:5614; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245615; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v2, 05616; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x05617; GFX12-FAKE16-NEXT:    global_load_i8 v0, v2, s[2:3]5618; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x05619; GFX12-FAKE16-NEXT:    v_bfe_i32 v0, v0, 0, 165620; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)5621; GFX12-FAKE16-NEXT:    v_ashrrev_i32_e32 v1, 31, v05622; GFX12-FAKE16-NEXT:    global_store_b64 v2, v[0:1], s[0:1]5623; GFX12-FAKE16-NEXT:    s_endpgm5624  %load = load <1 x i8>, ptr addrspace(4) %in5625  %ext = sext <1 x i8> %load to <1 x i64>5626  store <1 x i64> %ext, ptr addrspace(1) %out5627  ret void5628}5629 5630define amdgpu_kernel void @constant_zextload_v2i8_to_v2i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5631; GFX6-NOHSA-LABEL: constant_zextload_v2i8_to_v2i64:5632; GFX6-NOHSA:       ; %bb.0:5633; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95634; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0005635; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -15636; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s65637; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s75638; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5639; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s25640; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s35641; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 05642; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 05643; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s05644; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s15645; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)5646; GFX6-NOHSA-NEXT:    v_lshrrev_b32_e32 v2, 8, v05647; GFX6-NOHSA-NEXT:    v_and_b32_e32 v0, 0xff, v05648; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v15649; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 05650; GFX6-NOHSA-NEXT:    s_endpgm5651;5652; GFX7-HSA-LABEL: constant_zextload_v2i8_to_v2i64:5653; GFX7-HSA:       ; %bb.0:5654; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05655; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175656; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135657; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85658; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5659; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25660; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s35661; GFX7-HSA-NEXT:    flat_load_ushort v0, v[0:1]5662; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 05663; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s05664; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s15665; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v15666; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)5667; GFX7-HSA-NEXT:    v_lshrrev_b32_e32 v2, 8, v05668; GFX7-HSA-NEXT:    v_and_b32_e32 v0, 0xff, v05669; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5670; GFX7-HSA-NEXT:    s_endpgm5671;5672; GFX8-NOHSA-LABEL: constant_zextload_v2i8_to_v2i64:5673; GFX8-NOHSA:       ; %bb.0:5674; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245675; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, 85676; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5677; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25678; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s35679; GFX8-NOHSA-NEXT:    flat_load_ushort v0, v[0:1]5680; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 05681; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s05682; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s15683; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v15684; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)5685; GFX8-NOHSA-NEXT:    v_lshrrev_b32_sdwa v2, v2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_05686; GFX8-NOHSA-NEXT:    v_and_b32_e32 v0, 0xff, v05687; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5688; GFX8-NOHSA-NEXT:    s_endpgm5689;5690; EG-LABEL: constant_zextload_v2i8_to_v2i64:5691; EG:       ; %bb.0:5692; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]5693; EG-NEXT:    TEX 0 @65694; EG-NEXT:    ALU 14, @10, KC0[CB0:0-32], KC1[]5695; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T5.X, 15696; EG-NEXT:    CF_END5697; EG-NEXT:    PAD5698; EG-NEXT:    Fetch clause starting at 6:5699; EG-NEXT:     VTX_READ_16 T4.X, T4.X, 0, #15700; EG-NEXT:    ALU clause starting at 8:5701; EG-NEXT:     MOV * T0.Y, T2.X,5702; EG-NEXT:     MOV * T4.X, KC0[2].Z,5703; EG-NEXT:    ALU clause starting at 10:5704; EG-NEXT:     AND_INT T0.W, T4.X, literal.x,5705; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,5706; EG-NEXT:    65535(9.183409e-41), -65536(nan)5707; EG-NEXT:     OR_INT * T0.W, PS, PV.W,5708; EG-NEXT:     MOV * T2.X, PV.W,5709; EG-NEXT:     MOV T0.Y, PV.X,5710; EG-NEXT:     MOV * T1.W, literal.x,5711; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5712; EG-NEXT:     BFE_UINT * T4.Z, PV.Y, literal.x, PV.W,5713; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5714; EG-NEXT:     AND_INT T4.X, T0.W, literal.x,5715; EG-NEXT:     MOV T4.Y, 0.0,5716; EG-NEXT:     MOV T4.W, 0.0,5717; EG-NEXT:     LSHR * T5.X, KC0[2].Y, literal.y,5718; EG-NEXT:    255(3.573311e-43), 2(2.802597e-45)5719;5720; GFX12-TRUE16-LABEL: constant_zextload_v2i8_to_v2i64:5721; GFX12-TRUE16:       ; %bb.0:5722; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245723; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 05724; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x05725; GFX12-TRUE16-NEXT:    global_load_d16_b16 v0, v1, s[2:3]5726; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x05727; GFX12-TRUE16-NEXT:    v_and_b32_e32 v2, 0xffff, v05728; GFX12-TRUE16-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_and_b32 v0, 0xff, v05729; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)5730; GFX12-TRUE16-NEXT:    v_lshrrev_b32_e32 v2, 8, v25731; GFX12-TRUE16-NEXT:    global_store_b128 v1, v[0:3], s[0:1]5732; GFX12-TRUE16-NEXT:    s_endpgm5733;5734; GFX12-FAKE16-LABEL: constant_zextload_v2i8_to_v2i64:5735; GFX12-FAKE16:       ; %bb.0:5736; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245737; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v1, 05738; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x05739; GFX12-FAKE16-NEXT:    global_load_u16 v0, v1, s[2:3]5740; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x05741; GFX12-FAKE16-NEXT:    v_and_b32_e32 v2, 0xffff, v05742; GFX12-FAKE16-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_and_b32 v0, 0xff, v05743; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)5744; GFX12-FAKE16-NEXT:    v_lshrrev_b32_e32 v2, 8, v25745; GFX12-FAKE16-NEXT:    global_store_b128 v1, v[0:3], s[0:1]5746; GFX12-FAKE16-NEXT:    s_endpgm5747  %load = load <2 x i8>, ptr addrspace(4) %in5748  %ext = zext <2 x i8> %load to <2 x i64>5749  store <2 x i64> %ext, ptr addrspace(1) %out5750  ret void5751}5752 5753define amdgpu_kernel void @constant_sextload_v2i8_to_v2i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5754; GFX6-NOHSA-LABEL: constant_sextload_v2i8_to_v2i64:5755; GFX6-NOHSA:       ; %bb.0:5756; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95757; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0005758; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -15759; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s65760; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s75761; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5762; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s25763; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s35764; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 05765; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s05766; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s15767; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)5768; GFX6-NOHSA-NEXT:    v_lshrrev_b32_e32 v2, 8, v05769; GFX6-NOHSA-NEXT:    v_bfe_i32 v0, v0, 0, 85770; GFX6-NOHSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05771; GFX6-NOHSA-NEXT:    v_bfe_i32 v2, v2, 0, 85772; GFX6-NOHSA-NEXT:    v_ashrrev_i32_e32 v3, 31, v25773; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 05774; GFX6-NOHSA-NEXT:    s_endpgm5775;5776; GFX7-HSA-LABEL: constant_sextload_v2i8_to_v2i64:5777; GFX7-HSA:       ; %bb.0:5778; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05779; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175780; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135781; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85782; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5783; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25784; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s35785; GFX7-HSA-NEXT:    flat_load_ushort v0, v[0:1]5786; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s05787; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s15788; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)5789; GFX7-HSA-NEXT:    v_lshrrev_b32_e32 v2, 8, v05790; GFX7-HSA-NEXT:    v_bfe_i32 v0, v0, 0, 85791; GFX7-HSA-NEXT:    v_bfe_i32 v2, v2, 0, 85792; GFX7-HSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05793; GFX7-HSA-NEXT:    v_ashrrev_i32_e32 v3, 31, v25794; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5795; GFX7-HSA-NEXT:    s_endpgm5796;5797; GFX8-NOHSA-LABEL: constant_sextload_v2i8_to_v2i64:5798; GFX8-NOHSA:       ; %bb.0:5799; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245800; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5801; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25802; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s35803; GFX8-NOHSA-NEXT:    flat_load_ushort v0, v[0:1]5804; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s05805; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s15806; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)5807; GFX8-NOHSA-NEXT:    v_lshrrev_b32_e32 v2, 8, v05808; GFX8-NOHSA-NEXT:    v_bfe_i32 v0, v0, 0, 85809; GFX8-NOHSA-NEXT:    v_bfe_i32 v2, v2, 0, 85810; GFX8-NOHSA-NEXT:    v_ashrrev_i32_e32 v1, 31, v05811; GFX8-NOHSA-NEXT:    v_ashrrev_i32_e32 v3, 31, v25812; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5813; GFX8-NOHSA-NEXT:    s_endpgm5814;5815; EG-LABEL: constant_sextload_v2i8_to_v2i64:5816; EG:       ; %bb.0:5817; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]5818; EG-NEXT:    TEX 0 @65819; EG-NEXT:    ALU 15, @10, KC0[CB0:0-32], KC1[]5820; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T5.X, 15821; EG-NEXT:    CF_END5822; EG-NEXT:    PAD5823; EG-NEXT:    Fetch clause starting at 6:5824; EG-NEXT:     VTX_READ_16 T4.X, T4.X, 0, #15825; EG-NEXT:    ALU clause starting at 8:5826; EG-NEXT:     MOV * T0.Y, T2.X,5827; EG-NEXT:     MOV * T4.X, KC0[2].Z,5828; EG-NEXT:    ALU clause starting at 10:5829; EG-NEXT:     AND_INT T0.W, T4.X, literal.x,5830; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,5831; EG-NEXT:    65535(9.183409e-41), -65536(nan)5832; EG-NEXT:     OR_INT * T0.W, PS, PV.W,5833; EG-NEXT:     MOV * T2.X, PV.W,5834; EG-NEXT:     MOV * T0.Y, PV.X,5835; EG-NEXT:     BFE_INT * T4.X, T0.W, 0.0, literal.x,5836; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5837; EG-NEXT:     ASHR T4.Y, PV.X, literal.x,5838; EG-NEXT:     LSHR * T0.W, T0.Y, literal.y,5839; EG-NEXT:    31(4.344025e-44), 8(1.121039e-44)5840; EG-NEXT:     BFE_INT * T4.Z, PV.W, 0.0, literal.x,5841; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5842; EG-NEXT:     LSHR T5.X, KC0[2].Y, literal.x,5843; EG-NEXT:     ASHR * T4.W, PV.Z, literal.y,5844; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)5845;5846; GFX12-TRUE16-LABEL: constant_sextload_v2i8_to_v2i64:5847; GFX12-TRUE16:       ; %bb.0:5848; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245849; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v4, 05850; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x05851; GFX12-TRUE16-NEXT:    global_load_d16_b16 v0, v4, s[2:3]5852; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x05853; GFX12-TRUE16-NEXT:    v_lshrrev_b32_e32 v1, 8, v05854; GFX12-TRUE16-NEXT:    v_bfe_i32 v0, v0, 0, 85855; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)5856; GFX12-TRUE16-NEXT:    v_bfe_i32 v2, v1, 0, 85857; GFX12-TRUE16-NEXT:    v_ashrrev_i32_e32 v1, 31, v05858; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)5859; GFX12-TRUE16-NEXT:    v_ashrrev_i32_e32 v3, 31, v25860; GFX12-TRUE16-NEXT:    global_store_b128 v4, v[0:3], s[0:1]5861; GFX12-TRUE16-NEXT:    s_endpgm5862;5863; GFX12-FAKE16-LABEL: constant_sextload_v2i8_to_v2i64:5864; GFX12-FAKE16:       ; %bb.0:5865; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245866; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v4, 05867; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x05868; GFX12-FAKE16-NEXT:    global_load_u16 v0, v4, s[2:3]5869; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x05870; GFX12-FAKE16-NEXT:    v_lshrrev_b32_e32 v1, 8, v05871; GFX12-FAKE16-NEXT:    v_bfe_i32 v0, v0, 0, 85872; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)5873; GFX12-FAKE16-NEXT:    v_bfe_i32 v2, v1, 0, 85874; GFX12-FAKE16-NEXT:    v_ashrrev_i32_e32 v1, 31, v05875; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)5876; GFX12-FAKE16-NEXT:    v_ashrrev_i32_e32 v3, 31, v25877; GFX12-FAKE16-NEXT:    global_store_b128 v4, v[0:3], s[0:1]5878; GFX12-FAKE16-NEXT:    s_endpgm5879  %load = load <2 x i8>, ptr addrspace(4) %in5880  %ext = sext <2 x i8> %load to <2 x i64>5881  store <2 x i64> %ext, ptr addrspace(1) %out5882  ret void5883}5884 5885define amdgpu_kernel void @constant_zextload_v4i8_to_v4i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5886; GFX6-NOHSA-LABEL: constant_zextload_v4i8_to_v4i64:5887; GFX6-NOHSA:       ; %bb.0:5888; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95889; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5890; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x05891; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0005892; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 05893; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -15894; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v15895; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5896; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s4, 0x800085897; GFX6-NOHSA-NEXT:    s_lshr_b32 s6, s4, 245898; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s4, 0x800105899; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xff5900; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s75901; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s65902; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:165903; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5904; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s45905; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s55906; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 05907; GFX6-NOHSA-NEXT:    s_endpgm5908;5909; GFX7-HSA-LABEL: constant_zextload_v4i8_to_v4i64:5910; GFX7-HSA:       ; %bb.0:5911; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x05912; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175913; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85914; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 05915; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135916; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5917; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x05918; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v15919; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5920; GFX7-HSA-NEXT:    s_bfe_u32 s4, s2, 0x800085921; GFX7-HSA-NEXT:    s_lshr_b32 s3, s2, 245922; GFX7-HSA-NEXT:    s_and_b32 s5, s2, 0xff5923; GFX7-HSA-NEXT:    s_bfe_u32 s2, s2, 0x800105924; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25925; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 165926; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s35927; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 05928; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s35929; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s25930; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5931; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s15932; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s55933; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s45934; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s05935; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5936; GFX7-HSA-NEXT:    s_endpgm5937;5938; GFX8-NOHSA-LABEL: constant_zextload_v4i8_to_v4i64:5939; GFX8-NOHSA:       ; %bb.0:5940; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x245941; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 05942; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v15943; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5944; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x05945; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5946; GFX8-NOHSA-NEXT:    s_lshr_b32 s3, s2, 245947; GFX8-NOHSA-NEXT:    s_bfe_u32 s4, s2, 0x800085948; GFX8-NOHSA-NEXT:    s_and_b32 s5, s2, 0xff5949; GFX8-NOHSA-NEXT:    s_bfe_u32 s2, s2, 0x800105950; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25951; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 165952; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s35953; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 05954; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s35955; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s25956; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5957; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s15958; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s55959; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s45960; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s05961; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5962; GFX8-NOHSA-NEXT:    s_endpgm5963;5964; EG-LABEL: constant_zextload_v4i8_to_v4i64:5965; EG:       ; %bb.0:5966; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]5967; EG-NEXT:    TEX 0 @65968; EG-NEXT:    ALU 17, @9, KC0[CB0:0-32], KC1[]5969; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T7.X, 05970; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T6.X, 15971; EG-NEXT:    CF_END5972; EG-NEXT:    Fetch clause starting at 6:5973; EG-NEXT:     VTX_READ_32 T4.X, T4.X, 0, #15974; EG-NEXT:    ALU clause starting at 8:5975; EG-NEXT:     MOV * T4.X, KC0[2].Z,5976; EG-NEXT:    ALU clause starting at 9:5977; EG-NEXT:     MOV * T0.W, literal.x,5978; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5979; EG-NEXT:     BFE_UINT T5.X, T4.X, literal.x, PV.W,5980; EG-NEXT:     LSHR * T5.Z, T4.X, literal.y,5981; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)5982; EG-NEXT:     MOV T5.Y, 0.0,5983; EG-NEXT:     BFE_UINT * T4.Z, T4.X, literal.x, T0.W,5984; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5985; EG-NEXT:     AND_INT T4.X, T4.X, literal.x,5986; EG-NEXT:     MOV T4.Y, 0.0,5987; EG-NEXT:     MOV T5.W, 0.0,5988; EG-NEXT:     MOV * T4.W, 0.0,5989; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)5990; EG-NEXT:     LSHR T6.X, KC0[2].Y, literal.x,5991; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5992; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)5993; EG-NEXT:     LSHR * T7.X, PV.W, literal.x,5994; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)5995;5996; GFX12-LABEL: constant_zextload_v4i8_to_v4i64:5997; GFX12:       ; %bb.0:5998; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x245999; GFX12-NEXT:    s_wait_kmcnt 0x06000; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x06001; GFX12-NEXT:    s_wait_kmcnt 0x06002; GFX12-NEXT:    s_bfe_u32 s3, s2, 0x800106003; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)6004; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s36005; GFX12-NEXT:    s_lshr_b32 s4, s2, 246006; GFX12-NEXT:    s_bfe_u32 s3, s2, 0x800086007; GFX12-NEXT:    v_dual_mov_b32 v2, s4 :: v_dual_mov_b32 v3, v16008; GFX12-NEXT:    s_and_b32 s2, s2, 0xff6009; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:166010; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6011; GFX12-NEXT:    v_mov_b32_e32 v0, s26012; GFX12-NEXT:    v_mov_b32_e32 v2, s36013; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1]6014; GFX12-NEXT:    s_endpgm6015  %load = load <4 x i8>, ptr addrspace(4) %in6016  %ext = zext <4 x i8> %load to <4 x i64>6017  store <4 x i64> %ext, ptr addrspace(1) %out6018  ret void6019}6020 6021define amdgpu_kernel void @constant_sextload_v4i8_to_v4i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {6022; GFX6-NOHSA-LABEL: constant_sextload_v4i8_to_v4i64:6023; GFX6-NOHSA:       ; %bb.0:6024; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x96025; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6026; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x06027; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0006028; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -16029; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6030; GFX6-NOHSA-NEXT:    s_lshr_b32 s6, s4, 166031; GFX6-NOHSA-NEXT:    s_lshr_b32 s8, s4, 246032; GFX6-NOHSA-NEXT:    s_lshr_b32 s10, s4, 86033; GFX6-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800006034; GFX6-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006035; GFX6-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006036; GFX6-NOHSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800006037; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s46038; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s56039; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s66040; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s76041; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s86042; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s96043; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[2:5], off, s[0:3], 0 offset:166044; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6045; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s106046; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s116047; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 06048; GFX6-NOHSA-NEXT:    s_endpgm6049;6050; GFX7-HSA-LABEL: constant_sextload_v4i8_to_v4i64:6051; GFX7-HSA:       ; %bb.0:6052; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x06053; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s176054; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 86055; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s136056; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6057; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x06058; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6059; GFX7-HSA-NEXT:    s_lshr_b32 s4, s2, 166060; GFX7-HSA-NEXT:    s_lshr_b32 s6, s2, 246061; GFX7-HSA-NEXT:    s_lshr_b32 s8, s2, 86062; GFX7-HSA-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800006063; GFX7-HSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006064; GFX7-HSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006065; GFX7-HSA-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800006066; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s46067; GFX7-HSA-NEXT:    s_add_u32 s4, s0, 166068; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s56069; GFX7-HSA-NEXT:    s_addc_u32 s5, s1, 06070; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s46071; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s66072; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s76073; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s56074; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6075; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s16076; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s26077; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s36078; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s86079; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s96080; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s06081; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6082; GFX7-HSA-NEXT:    s_endpgm6083;6084; GFX8-NOHSA-LABEL: constant_sextload_v4i8_to_v4i64:6085; GFX8-NOHSA:       ; %bb.0:6086; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x246087; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6088; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x06089; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6090; GFX8-NOHSA-NEXT:    s_lshr_b32 s4, s2, 166091; GFX8-NOHSA-NEXT:    s_lshr_b32 s6, s2, 246092; GFX8-NOHSA-NEXT:    s_lshr_b32 s8, s2, 86093; GFX8-NOHSA-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800006094; GFX8-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006095; GFX8-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006096; GFX8-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800006097; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s46098; GFX8-NOHSA-NEXT:    s_add_u32 s4, s0, 166099; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s56100; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s1, 06101; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s46102; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s66103; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s76104; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s56105; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6106; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s16107; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s26108; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s36109; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s86110; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s96111; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s06112; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6113; GFX8-NOHSA-NEXT:    s_endpgm6114;6115; EG-LABEL: constant_sextload_v4i8_to_v4i64:6116; EG:       ; %bb.0:6117; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]6118; EG-NEXT:    TEX 0 @66119; EG-NEXT:    ALU 18, @9, KC0[CB0:0-32], KC1[]6120; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T7.X, 06121; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T6.X, 16122; EG-NEXT:    CF_END6123; EG-NEXT:    Fetch clause starting at 6:6124; EG-NEXT:     VTX_READ_32 T4.X, T4.X, 0, #16125; EG-NEXT:    ALU clause starting at 8:6126; EG-NEXT:     MOV * T4.X, KC0[2].Z,6127; EG-NEXT:    ALU clause starting at 9:6128; EG-NEXT:     BFE_INT T5.X, T4.X, 0.0, literal.x,6129; EG-NEXT:     ASHR T4.W, T4.X, literal.y,6130; EG-NEXT:     LSHR * T6.X, KC0[2].Y, literal.z,6131; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)6132; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)6133; EG-NEXT:     ASHR T5.Y, PV.X, literal.x,6134; EG-NEXT:     ASHR T4.Z, T4.X, literal.y,6135; EG-NEXT:     LSHR T0.W, T4.X, literal.z,6136; EG-NEXT:     LSHR * T1.W, T4.X, literal.w,6137; EG-NEXT:    31(4.344025e-44), 24(3.363116e-44)6138; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)6139; EG-NEXT:     BFE_INT T4.X, PS, 0.0, literal.x,6140; EG-NEXT:     BFE_INT T5.Z, PV.W, 0.0, literal.x,6141; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6142; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)6143; EG-NEXT:     LSHR T7.X, PV.W, literal.x,6144; EG-NEXT:     ASHR T4.Y, PV.X, literal.y,6145; EG-NEXT:     ASHR * T5.W, PV.Z, literal.y,6146; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)6147;6148; GFX12-LABEL: constant_sextload_v4i8_to_v4i64:6149; GFX12:       ; %bb.0:6150; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x246151; GFX12-NEXT:    s_wait_kmcnt 0x06152; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x06153; GFX12-NEXT:    s_wait_kmcnt 0x06154; GFX12-NEXT:    s_lshr_b32 s4, s2, 166155; GFX12-NEXT:    s_lshr_b32 s6, s2, 246156; GFX12-NEXT:    s_lshr_b32 s8, s2, 86157; GFX12-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800006158; GFX12-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006159; GFX12-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800006160; GFX12-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006161; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s36162; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v5, s56163; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s76164; GFX12-NEXT:    v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v3, s96165; GFX12-NEXT:    v_mov_b32_e32 v2, s86166; GFX12-NEXT:    s_clause 0x16167; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[0:1] offset:166168; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[0:1]6169; GFX12-NEXT:    s_endpgm6170  %load = load <4 x i8>, ptr addrspace(4) %in6171  %ext = sext <4 x i8> %load to <4 x i64>6172  store <4 x i64> %ext, ptr addrspace(1) %out6173  ret void6174}6175 6176define amdgpu_kernel void @constant_zextload_v8i8_to_v8i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {6177; GFX6-NOHSA-LABEL: constant_zextload_v8i8_to_v8i64:6178; GFX6-NOHSA:       ; %bb.0:6179; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x96180; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6181; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x06182; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0006183; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 06184; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -16185; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v16186; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6187; GFX6-NOHSA-NEXT:    s_lshr_b32 s6, s4, 246188; GFX6-NOHSA-NEXT:    s_lshr_b32 s7, s5, 246189; GFX6-NOHSA-NEXT:    s_bfe_u32 s8, s5, 0x800086190; GFX6-NOHSA-NEXT:    s_bfe_u32 s9, s4, 0x800086191; GFX6-NOHSA-NEXT:    s_and_b32 s10, s4, 0xff6192; GFX6-NOHSA-NEXT:    s_and_b32 s11, s5, 0xff6193; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800106194; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800106195; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s56196; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s76197; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:486198; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6199; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s46200; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s66201; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:166202; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6203; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s116204; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s86205; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:326206; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6207; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s106208; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s96209; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 06210; GFX6-NOHSA-NEXT:    s_endpgm6211;6212; GFX7-HSA-LABEL: constant_zextload_v8i8_to_v8i64:6213; GFX7-HSA:       ; %bb.0:6214; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x06215; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s176216; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 86217; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 06218; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s136219; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6220; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x06221; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v16222; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6223; GFX7-HSA-NEXT:    s_lshr_b32 s4, s2, 246224; GFX7-HSA-NEXT:    s_lshr_b32 s5, s3, 246225; GFX7-HSA-NEXT:    s_bfe_u32 s6, s3, 0x800086226; GFX7-HSA-NEXT:    s_bfe_u32 s7, s2, 0x800086227; GFX7-HSA-NEXT:    s_and_b32 s8, s2, 0xff6228; GFX7-HSA-NEXT:    s_and_b32 s9, s3, 0xff6229; GFX7-HSA-NEXT:    s_bfe_u32 s10, s2, 0x800106230; GFX7-HSA-NEXT:    s_bfe_u32 s2, s3, 0x800106231; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s26232; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 486233; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06234; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36235; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26236; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 166237; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s56238; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06239; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6240; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36241; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26242; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 326243; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s106244; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s46245; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06246; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6247; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36248; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s96249; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s66250; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26251; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6252; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s16253; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s86254; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s76255; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s06256; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6257; GFX7-HSA-NEXT:    s_endpgm6258;6259; GFX8-NOHSA-LABEL: constant_zextload_v8i8_to_v8i64:6260; GFX8-NOHSA:       ; %bb.0:6261; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x246262; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 06263; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v16264; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6265; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x06266; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6267; GFX8-NOHSA-NEXT:    s_lshr_b32 s4, s3, 246268; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s3, 0x800086269; GFX8-NOHSA-NEXT:    s_lshr_b32 s6, s2, 246270; GFX8-NOHSA-NEXT:    s_bfe_u32 s7, s2, 0x800086271; GFX8-NOHSA-NEXT:    s_and_b32 s8, s2, 0xff6272; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s2, 0x800106273; GFX8-NOHSA-NEXT:    s_and_b32 s10, s3, 0xff6274; GFX8-NOHSA-NEXT:    s_bfe_u32 s2, s3, 0x800106275; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s26276; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 486277; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06278; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36279; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26280; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 326281; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s46282; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06283; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6284; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36285; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26286; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 166287; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s106288; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s56289; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06290; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6291; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36292; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s96293; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s66294; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26295; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6296; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s16297; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s86298; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s76299; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s06300; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6301; GFX8-NOHSA-NEXT:    s_endpgm6302;6303; EG-LABEL: constant_zextload_v8i8_to_v8i64:6304; EG:       ; %bb.0:6305; EG-NEXT:    ALU 0, @10, KC0[CB0:0-32], KC1[]6306; EG-NEXT:    TEX 0 @86307; EG-NEXT:    ALU 34, @11, KC0[CB0:0-32], KC1[]6308; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T12.X, 06309; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T11.X, 06310; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T10.X, 06311; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T9.X, 16312; EG-NEXT:    CF_END6313; EG-NEXT:    Fetch clause starting at 8:6314; EG-NEXT:     VTX_READ_64 T5.XY, T5.X, 0, #16315; EG-NEXT:    ALU clause starting at 10:6316; EG-NEXT:     MOV * T5.X, KC0[2].Z,6317; EG-NEXT:    ALU clause starting at 11:6318; EG-NEXT:     MOV * T0.W, literal.x,6319; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6320; EG-NEXT:     BFE_UINT T6.X, T5.Y, literal.x, PV.W,6321; EG-NEXT:     LSHR * T6.Z, T5.Y, literal.y,6322; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6323; EG-NEXT:     MOV T6.Y, 0.0,6324; EG-NEXT:     BFE_UINT * T7.Z, T5.Y, literal.x, T0.W,6325; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6326; EG-NEXT:     AND_INT T7.X, T5.Y, literal.x,6327; EG-NEXT:     MOV * T7.Y, 0.0,6328; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)6329; EG-NEXT:     BFE_UINT T8.X, T5.X, literal.x, T0.W,6330; EG-NEXT:     LSHR * T8.Z, T5.X, literal.y,6331; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6332; EG-NEXT:     MOV T8.Y, 0.0,6333; EG-NEXT:     BFE_UINT * T5.Z, T5.X, literal.x, T0.W,6334; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6335; EG-NEXT:     AND_INT T5.X, T5.X, literal.x,6336; EG-NEXT:     MOV T5.Y, 0.0,6337; EG-NEXT:     MOV T6.W, 0.0,6338; EG-NEXT:     MOV * T7.W, 0.0,6339; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)6340; EG-NEXT:     MOV T8.W, 0.0,6341; EG-NEXT:     MOV * T5.W, 0.0,6342; EG-NEXT:     LSHR T9.X, KC0[2].Y, literal.x,6343; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6344; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)6345; EG-NEXT:     LSHR T10.X, PV.W, literal.x,6346; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6347; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)6348; EG-NEXT:     LSHR T11.X, PV.W, literal.x,6349; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6350; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)6351; EG-NEXT:     LSHR * T12.X, PV.W, literal.x,6352; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)6353;6354; GFX12-LABEL: constant_zextload_v8i8_to_v8i64:6355; GFX12:       ; %bb.0:6356; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x246357; GFX12-NEXT:    s_wait_kmcnt 0x06358; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x06359; GFX12-NEXT:    s_wait_kmcnt 0x06360; GFX12-NEXT:    s_bfe_u32 s4, s3, 0x800106361; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_3) | instid1(VALU_DEP_1)6362; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s46363; GFX12-NEXT:    s_lshr_b32 s5, s3, 246364; GFX12-NEXT:    s_bfe_u32 s4, s3, 0x800086365; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6366; GFX12-NEXT:    v_dual_mov_b32 v2, s5 :: v_dual_mov_b32 v3, v16367; GFX12-NEXT:    s_and_b32 s3, s3, 0xff6368; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:486369; GFX12-NEXT:    v_mov_b32_e32 v0, s36370; GFX12-NEXT:    v_mov_b32_e32 v2, s46371; GFX12-NEXT:    s_lshr_b32 s3, s2, 246372; GFX12-NEXT:    s_bfe_u32 s4, s2, 0x800106373; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:326374; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6375; GFX12-NEXT:    v_mov_b32_e32 v0, s46376; GFX12-NEXT:    v_mov_b32_e32 v2, s36377; GFX12-NEXT:    s_bfe_u32 s3, s2, 0x800086378; GFX12-NEXT:    s_and_b32 s2, s2, 0xff6379; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:166380; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6381; GFX12-NEXT:    v_mov_b32_e32 v0, s26382; GFX12-NEXT:    v_mov_b32_e32 v2, s36383; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1]6384; GFX12-NEXT:    s_endpgm6385  %load = load <8 x i8>, ptr addrspace(4) %in6386  %ext = zext <8 x i8> %load to <8 x i64>6387  store <8 x i64> %ext, ptr addrspace(1) %out6388  ret void6389}6390 6391define amdgpu_kernel void @constant_sextload_v8i8_to_v8i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {6392; GFX6-NOHSA-LABEL: constant_sextload_v8i8_to_v8i64:6393; GFX6-NOHSA:       ; %bb.0:6394; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x96395; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6396; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x06397; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0006398; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -16399; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6400; GFX6-NOHSA-NEXT:    s_lshr_b32 s6, s5, 166401; GFX6-NOHSA-NEXT:    s_lshr_b32 s8, s4, 166402; GFX6-NOHSA-NEXT:    s_lshr_b32 s10, s4, 246403; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s4, 86404; GFX6-NOHSA-NEXT:    s_lshr_b32 s14, s5, 86405; GFX6-NOHSA-NEXT:    s_mov_b32 s16, s56406; GFX6-NOHSA-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800006407; GFX6-NOHSA-NEXT:    s_bfe_i64 s[18:19], s[4:5], 0x800006408; GFX6-NOHSA-NEXT:    s_ashr_i32 s15, s5, 316409; GFX6-NOHSA-NEXT:    s_ashr_i32 s20, s5, 246410; GFX6-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[14:15], 0x800006411; GFX6-NOHSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800006412; GFX6-NOHSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800006413; GFX6-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006414; GFX6-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006415; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s206416; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s156417; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s186418; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s196419; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s166420; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s176421; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s66422; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s76423; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:486424; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6425; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s86426; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s96427; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s106428; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s116429; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:166430; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s126431; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s136432; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 06433; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s46434; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s56435; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[0:3], 0 offset:326436; GFX6-NOHSA-NEXT:    s_endpgm6437;6438; GFX7-HSA-LABEL: constant_sextload_v8i8_to_v8i64:6439; GFX7-HSA:       ; %bb.0:6440; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x06441; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s176442; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 86443; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s136444; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6445; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x06446; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6447; GFX7-HSA-NEXT:    s_lshr_b32 s4, s3, 166448; GFX7-HSA-NEXT:    s_lshr_b32 s6, s2, 166449; GFX7-HSA-NEXT:    s_lshr_b32 s8, s2, 246450; GFX7-HSA-NEXT:    s_lshr_b32 s10, s2, 86451; GFX7-HSA-NEXT:    s_lshr_b32 s12, s3, 86452; GFX7-HSA-NEXT:    s_mov_b32 s14, s36453; GFX7-HSA-NEXT:    s_ashr_i32 s5, s3, 316454; GFX7-HSA-NEXT:    s_bfe_i64 s[16:17], s[2:3], 0x800006455; GFX7-HSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800006456; GFX7-HSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800006457; GFX7-HSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800006458; GFX7-HSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006459; GFX7-HSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006460; GFX7-HSA-NEXT:    s_ashr_i32 s18, s3, 246461; GFX7-HSA-NEXT:    s_bfe_i64 s[2:3], s[4:5], 0x800006462; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s26463; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 486464; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s36465; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06466; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36467; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26468; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 166469; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s186470; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s56471; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06472; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6473; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36474; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s66475; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s76476; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s86477; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s96478; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26479; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6480; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s16481; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s06482; GFX7-HSA-NEXT:    s_add_u32 s0, s0, 326483; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s166484; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s176485; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s106486; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s116487; GFX7-HSA-NEXT:    s_addc_u32 s1, s1, 06488; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6489; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s16490; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s146491; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s156492; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s126493; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s136494; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s06495; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6496; GFX7-HSA-NEXT:    s_endpgm6497;6498; GFX8-NOHSA-LABEL: constant_sextload_v8i8_to_v8i64:6499; GFX8-NOHSA:       ; %bb.0:6500; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x246501; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6502; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x06503; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6504; GFX8-NOHSA-NEXT:    s_lshr_b32 s4, s3, 166505; GFX8-NOHSA-NEXT:    s_lshr_b32 s6, s2, 166506; GFX8-NOHSA-NEXT:    s_lshr_b32 s8, s2, 246507; GFX8-NOHSA-NEXT:    s_lshr_b32 s10, s2, 86508; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s3, 86509; GFX8-NOHSA-NEXT:    s_mov_b32 s14, s36510; GFX8-NOHSA-NEXT:    s_ashr_i32 s5, s3, 316511; GFX8-NOHSA-NEXT:    s_bfe_i64 s[16:17], s[2:3], 0x800006512; GFX8-NOHSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800006513; GFX8-NOHSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800006514; GFX8-NOHSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800006515; GFX8-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006516; GFX8-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006517; GFX8-NOHSA-NEXT:    s_ashr_i32 s18, s3, 246518; GFX8-NOHSA-NEXT:    s_bfe_i64 s[2:3], s[4:5], 0x800006519; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s26520; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 486521; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s36522; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06523; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36524; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26525; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 166526; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s186527; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s56528; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06529; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6530; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36531; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s66532; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s76533; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s86534; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s96535; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26536; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6537; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s16538; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s06539; GFX8-NOHSA-NEXT:    s_add_u32 s0, s0, 326540; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s166541; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s176542; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s106543; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s116544; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s1, 06545; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6546; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s16547; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s146548; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s156549; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s126550; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s136551; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s06552; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6553; GFX8-NOHSA-NEXT:    s_endpgm6554;6555; EG-LABEL: constant_sextload_v8i8_to_v8i64:6556; EG:       ; %bb.0:6557; EG-NEXT:    ALU 0, @10, KC0[CB0:0-32], KC1[]6558; EG-NEXT:    TEX 0 @86559; EG-NEXT:    ALU 39, @11, KC0[CB0:0-32], KC1[]6560; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T12.X, 06561; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T9.X, 06562; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T8.X, 06563; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T6.X, 16564; EG-NEXT:    CF_END6565; EG-NEXT:    Fetch clause starting at 8:6566; EG-NEXT:     VTX_READ_64 T5.XY, T5.X, 0, #16567; EG-NEXT:    ALU clause starting at 10:6568; EG-NEXT:     MOV * T5.X, KC0[2].Z,6569; EG-NEXT:    ALU clause starting at 11:6570; EG-NEXT:     LSHR * T6.X, KC0[2].Y, literal.x,6571; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)6572; EG-NEXT:     BFE_INT T7.X, T5.Y, 0.0, literal.x,6573; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6574; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)6575; EG-NEXT:     LSHR T8.X, PV.W, literal.x,6576; EG-NEXT:     ASHR T7.Y, PV.X, literal.y,6577; EG-NEXT:     LSHR T0.W, T5.Y, literal.z,6578; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.w,6579; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)6580; EG-NEXT:    8(1.121039e-44), 32(4.484155e-44)6581; EG-NEXT:     LSHR T9.X, PS, literal.x,6582; EG-NEXT:     BFE_INT T7.Z, PV.W, 0.0, literal.y,6583; EG-NEXT:     ASHR * T10.W, T5.X, literal.z,6584; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)6585; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)6586; EG-NEXT:     BFE_INT T11.X, T5.X, 0.0, literal.x,6587; EG-NEXT:     ASHR T10.Z, T5.X, literal.y,6588; EG-NEXT:     LSHR T0.W, T5.X, literal.z,6589; EG-NEXT:     ASHR * T5.W, T5.Y, literal.w,6590; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)6591; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)6592; EG-NEXT:     BFE_INT T10.X, PV.W, 0.0, literal.x,6593; EG-NEXT:     ASHR T11.Y, PV.X, literal.y,6594; EG-NEXT:     ASHR T5.Z, T5.Y, literal.z,6595; EG-NEXT:     LSHR T0.W, T5.X, literal.x,6596; EG-NEXT:     LSHR * T1.W, T5.Y, literal.w,6597; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)6598; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)6599; EG-NEXT:     BFE_INT T5.X, PS, 0.0, literal.x,6600; EG-NEXT:     ASHR T10.Y, PV.X, literal.y,6601; EG-NEXT:     BFE_INT T11.Z, PV.W, 0.0, literal.x,6602; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.z,6603; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)6604; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)6605; EG-NEXT:     LSHR T12.X, PV.W, literal.x,6606; EG-NEXT:     ASHR T5.Y, PV.X, literal.y,6607; EG-NEXT:     ASHR T11.W, PV.Z, literal.y,6608; EG-NEXT:     ASHR * T7.W, T7.Z, literal.y,6609; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)6610;6611; GFX12-LABEL: constant_sextload_v8i8_to_v8i64:6612; GFX12:       ; %bb.0:6613; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x246614; GFX12-NEXT:    s_wait_kmcnt 0x06615; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x06616; GFX12-NEXT:    s_wait_kmcnt 0x06617; GFX12-NEXT:    s_lshr_b32 s4, s3, 166618; GFX12-NEXT:    s_lshr_b32 s6, s2, 166619; GFX12-NEXT:    s_lshr_b32 s8, s2, 246620; GFX12-NEXT:    s_lshr_b32 s10, s2, 86621; GFX12-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800006622; GFX12-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800006623; GFX12-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800006624; GFX12-NEXT:    s_lshr_b32 s12, s3, 86625; GFX12-NEXT:    s_mov_b32 s14, s36626; GFX12-NEXT:    s_bfe_i64 s[16:17], s[2:3], 0x800006627; GFX12-NEXT:    s_ashr_i32 s15, s3, 316628; GFX12-NEXT:    s_ashr_i32 s18, s3, 246629; GFX12-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800006630; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v3, s156631; GFX12-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v9, s76632; GFX12-NEXT:    v_dual_mov_b32 v8, s6 :: v_dual_mov_b32 v11, s96633; GFX12-NEXT:    v_dual_mov_b32 v10, s8 :: v_dual_mov_b32 v7, s116634; GFX12-NEXT:    s_bfe_i64 s[2:3], s[14:15], 0x800006635; GFX12-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800006636; GFX12-NEXT:    v_dual_mov_b32 v2, s18 :: v_dual_mov_b32 v5, s176637; GFX12-NEXT:    v_dual_mov_b32 v4, s16 :: v_dual_mov_b32 v1, s56638; GFX12-NEXT:    v_dual_mov_b32 v6, s10 :: v_dual_mov_b32 v13, s36639; GFX12-NEXT:    v_dual_mov_b32 v12, s2 :: v_dual_mov_b32 v15, s136640; GFX12-NEXT:    v_mov_b32_e32 v14, s126641; GFX12-NEXT:    s_clause 0x36642; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[0:1] offset:166643; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[0:1]6644; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[0:1] offset:486645; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[0:1] offset:326646; GFX12-NEXT:    s_endpgm6647  %load = load <8 x i8>, ptr addrspace(4) %in6648  %ext = sext <8 x i8> %load to <8 x i64>6649  store <8 x i64> %ext, ptr addrspace(1) %out6650  ret void6651}6652 6653define amdgpu_kernel void @constant_zextload_v16i8_to_v16i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {6654; GFX6-NOHSA-LABEL: constant_zextload_v16i8_to_v16i64:6655; GFX6-NOHSA:       ; %bb.0:6656; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x96657; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6658; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x06659; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0006660; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 06661; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -16662; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v16663; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6664; GFX6-NOHSA-NEXT:    s_lshr_b32 s8, s5, 246665; GFX6-NOHSA-NEXT:    s_lshr_b32 s9, s4, 246666; GFX6-NOHSA-NEXT:    s_lshr_b32 s10, s7, 246667; GFX6-NOHSA-NEXT:    s_lshr_b32 s11, s6, 246668; GFX6-NOHSA-NEXT:    s_bfe_u32 s12, s6, 0x800086669; GFX6-NOHSA-NEXT:    s_bfe_u32 s13, s7, 0x800086670; GFX6-NOHSA-NEXT:    s_bfe_u32 s14, s4, 0x800086671; GFX6-NOHSA-NEXT:    s_bfe_u32 s15, s5, 0x800086672; GFX6-NOHSA-NEXT:    s_and_b32 s16, s5, 0xff6673; GFX6-NOHSA-NEXT:    s_and_b32 s17, s4, 0xff6674; GFX6-NOHSA-NEXT:    s_and_b32 s18, s7, 0xff6675; GFX6-NOHSA-NEXT:    s_and_b32 s19, s6, 0xff6676; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800106677; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800106678; GFX6-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800106679; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800106680; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s66681; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s116682; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:806683; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6684; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s76685; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s106686; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1126687; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6688; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s46689; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s96690; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:166691; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6692; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s56693; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s86694; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:486695; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6696; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s196697; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s126698; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:646699; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6700; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s186701; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s136702; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:966703; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6704; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s176705; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s146706; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 06707; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)6708; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s166709; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s156710; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:326711; GFX6-NOHSA-NEXT:    s_endpgm6712;6713; GFX7-HSA-LABEL: constant_zextload_v16i8_to_v16i64:6714; GFX7-HSA:       ; %bb.0:6715; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x06716; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s176717; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s136718; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 86719; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 06720; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6721; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x06722; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v16723; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)6724; GFX7-HSA-NEXT:    s_lshr_b32 s8, s5, 246725; GFX7-HSA-NEXT:    s_lshr_b32 s9, s4, 246726; GFX7-HSA-NEXT:    s_lshr_b32 s10, s7, 246727; GFX7-HSA-NEXT:    s_lshr_b32 s2, s6, 246728; GFX7-HSA-NEXT:    s_bfe_u32 s11, s6, 0x800086729; GFX7-HSA-NEXT:    s_bfe_u32 s12, s7, 0x800086730; GFX7-HSA-NEXT:    s_bfe_u32 s13, s4, 0x800086731; GFX7-HSA-NEXT:    s_bfe_u32 s14, s5, 0x800086732; GFX7-HSA-NEXT:    s_and_b32 s15, s5, 0xff6733; GFX7-HSA-NEXT:    s_and_b32 s16, s4, 0xff6734; GFX7-HSA-NEXT:    s_and_b32 s17, s7, 0xff6735; GFX7-HSA-NEXT:    s_and_b32 s18, s6, 0xff6736; GFX7-HSA-NEXT:    s_bfe_u32 s5, s5, 0x800106737; GFX7-HSA-NEXT:    s_bfe_u32 s4, s4, 0x800106738; GFX7-HSA-NEXT:    s_bfe_u32 s7, s7, 0x800106739; GFX7-HSA-NEXT:    s_bfe_u32 s3, s6, 0x800106740; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s26741; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x506742; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s36743; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06744; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36745; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26746; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x706747; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06748; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6749; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36750; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26751; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 166752; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s76753; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s106754; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06755; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6756; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36757; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26758; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 486759; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s46760; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s96761; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06762; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6763; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36764; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26765; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 646766; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s56767; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s86768; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06769; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6770; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36771; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26772; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 0x606773; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s186774; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s116775; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 06776; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6777; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s36778; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s176779; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s126780; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s26781; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6782; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s16783; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s06784; GFX7-HSA-NEXT:    s_add_u32 s0, s0, 326785; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s166786; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s136787; GFX7-HSA-NEXT:    s_addc_u32 s1, s1, 06788; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6789; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s16790; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s156791; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s146792; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s06793; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6794; GFX7-HSA-NEXT:    s_endpgm6795;6796; GFX8-NOHSA-LABEL: constant_zextload_v16i8_to_v16i64:6797; GFX8-NOHSA:       ; %bb.0:6798; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x246799; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 06800; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v16801; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6802; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x06803; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)6804; GFX8-NOHSA-NEXT:    s_lshr_b32 s8, s5, 246805; GFX8-NOHSA-NEXT:    s_lshr_b32 s2, s7, 246806; GFX8-NOHSA-NEXT:    s_lshr_b32 s9, s6, 246807; GFX8-NOHSA-NEXT:    s_bfe_u32 s10, s6, 0x800086808; GFX8-NOHSA-NEXT:    s_bfe_u32 s11, s7, 0x800086809; GFX8-NOHSA-NEXT:    s_bfe_u32 s12, s5, 0x800086810; GFX8-NOHSA-NEXT:    s_lshr_b32 s13, s4, 246811; GFX8-NOHSA-NEXT:    s_bfe_u32 s14, s4, 0x800086812; GFX8-NOHSA-NEXT:    s_and_b32 s15, s4, 0xff6813; GFX8-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800106814; GFX8-NOHSA-NEXT:    s_and_b32 s16, s5, 0xff6815; GFX8-NOHSA-NEXT:    s_and_b32 s17, s7, 0xff6816; GFX8-NOHSA-NEXT:    s_and_b32 s18, s6, 0xff6817; GFX8-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800106818; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800106819; GFX8-NOHSA-NEXT:    s_bfe_u32 s3, s7, 0x800106820; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s26821; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x706822; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s36823; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06824; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36825; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26826; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 486827; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06828; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6829; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36830; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26831; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x506832; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s56833; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s86834; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06835; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6836; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36837; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26838; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 646839; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s66840; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s96841; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06842; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6843; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36844; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26845; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 0x606846; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s186847; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s106848; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06849; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6850; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36851; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26852; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 326853; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s176854; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s116855; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06856; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6857; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36858; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26859; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 166860; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s166861; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s126862; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 06863; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6864; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s36865; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s46866; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s136867; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s26868; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6869; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s16870; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s156871; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s146872; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s06873; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]6874; GFX8-NOHSA-NEXT:    s_endpgm6875;6876; EG-LABEL: constant_zextload_v16i8_to_v16i64:6877; EG:       ; %bb.0:6878; EG-NEXT:    ALU 0, @14, KC0[CB0:0-32], KC1[]6879; EG-NEXT:    TEX 0 @126880; EG-NEXT:    ALU 68, @15, KC0[CB0:0-32], KC1[]6881; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T22.X, 06882; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T9.XYZW, T21.X, 06883; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T20.X, 06884; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T19.X, 06885; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T18.X, 06886; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T13.XYZW, T17.X, 06887; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T16.X, 06888; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T15.X, 16889; EG-NEXT:    CF_END6890; EG-NEXT:    Fetch clause starting at 12:6891; EG-NEXT:     VTX_READ_128 T7.XYZW, T7.X, 0, #16892; EG-NEXT:    ALU clause starting at 14:6893; EG-NEXT:     MOV * T7.X, KC0[2].Z,6894; EG-NEXT:    ALU clause starting at 15:6895; EG-NEXT:     MOV * T0.W, literal.x,6896; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6897; EG-NEXT:     BFE_UINT T8.X, T7.W, literal.x, PV.W,6898; EG-NEXT:     LSHR * T8.Z, T7.W, literal.y,6899; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6900; EG-NEXT:     MOV T8.Y, 0.0,6901; EG-NEXT:     BFE_UINT * T9.Z, T7.W, literal.x, T0.W,6902; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6903; EG-NEXT:     AND_INT T9.X, T7.W, literal.x,6904; EG-NEXT:     MOV * T9.Y, 0.0,6905; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)6906; EG-NEXT:     BFE_UINT T10.X, T7.Z, literal.x, T0.W,6907; EG-NEXT:     LSHR * T10.Z, T7.Z, literal.y,6908; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6909; EG-NEXT:     MOV T10.Y, 0.0,6910; EG-NEXT:     BFE_UINT * T11.Z, T7.Z, literal.x, T0.W,6911; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6912; EG-NEXT:     AND_INT T11.X, T7.Z, literal.x,6913; EG-NEXT:     MOV * T11.Y, 0.0,6914; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)6915; EG-NEXT:     BFE_UINT T12.X, T7.Y, literal.x, T0.W,6916; EG-NEXT:     LSHR * T12.Z, T7.Y, literal.y,6917; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6918; EG-NEXT:     MOV T12.Y, 0.0,6919; EG-NEXT:     BFE_UINT * T13.Z, T7.Y, literal.x, T0.W,6920; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6921; EG-NEXT:     AND_INT T13.X, T7.Y, literal.x,6922; EG-NEXT:     MOV * T13.Y, 0.0,6923; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)6924; EG-NEXT:     BFE_UINT T14.X, T7.X, literal.x, T0.W,6925; EG-NEXT:     LSHR * T14.Z, T7.X, literal.y,6926; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6927; EG-NEXT:     MOV T14.Y, 0.0,6928; EG-NEXT:     BFE_UINT * T7.Z, T7.X, literal.x, T0.W,6929; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6930; EG-NEXT:     AND_INT T7.X, T7.X, literal.x,6931; EG-NEXT:     MOV T7.Y, 0.0,6932; EG-NEXT:     MOV T8.W, 0.0,6933; EG-NEXT:     MOV * T9.W, 0.0,6934; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)6935; EG-NEXT:     MOV T10.W, 0.0,6936; EG-NEXT:     MOV * T11.W, 0.0,6937; EG-NEXT:     MOV T12.W, 0.0,6938; EG-NEXT:     MOV * T13.W, 0.0,6939; EG-NEXT:     MOV T14.W, 0.0,6940; EG-NEXT:     MOV * T7.W, 0.0,6941; EG-NEXT:     LSHR T15.X, KC0[2].Y, literal.x,6942; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6943; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)6944; EG-NEXT:     LSHR T16.X, PV.W, literal.x,6945; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6946; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)6947; EG-NEXT:     LSHR T17.X, PV.W, literal.x,6948; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6949; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)6950; EG-NEXT:     LSHR T18.X, PV.W, literal.x,6951; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6952; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)6953; EG-NEXT:     LSHR T19.X, PV.W, literal.x,6954; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6955; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)6956; EG-NEXT:     LSHR T20.X, PV.W, literal.x,6957; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6958; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)6959; EG-NEXT:     LSHR T21.X, PV.W, literal.x,6960; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,6961; EG-NEXT:    2(2.802597e-45), 112(1.569454e-43)6962; EG-NEXT:     LSHR * T22.X, PV.W, literal.x,6963; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)6964;6965; GFX12-LABEL: constant_zextload_v16i8_to_v16i64:6966; GFX12:       ; %bb.0:6967; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x246968; GFX12-NEXT:    s_wait_kmcnt 0x06969; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x06970; GFX12-NEXT:    s_wait_kmcnt 0x06971; GFX12-NEXT:    s_bfe_u32 s2, s7, 0x800106972; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_3) | instid1(VALU_DEP_1)6973; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s26974; GFX12-NEXT:    s_lshr_b32 s3, s7, 246975; GFX12-NEXT:    s_lshr_b32 s2, s5, 246976; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6977; GFX12-NEXT:    v_dual_mov_b32 v2, s3 :: v_dual_mov_b32 v3, v16978; GFX12-NEXT:    s_bfe_u32 s3, s5, 0x800106979; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:1126980; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6981; GFX12-NEXT:    v_mov_b32_e32 v0, s36982; GFX12-NEXT:    v_mov_b32_e32 v2, s26983; GFX12-NEXT:    s_lshr_b32 s2, s6, 246984; GFX12-NEXT:    s_bfe_u32 s3, s6, 0x800106985; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:486986; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6987; GFX12-NEXT:    v_mov_b32_e32 v0, s36988; GFX12-NEXT:    v_mov_b32_e32 v2, s26989; GFX12-NEXT:    s_bfe_u32 s2, s6, 0x800086990; GFX12-NEXT:    s_and_b32 s3, s6, 0xff6991; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:806992; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6993; GFX12-NEXT:    v_mov_b32_e32 v0, s36994; GFX12-NEXT:    v_mov_b32_e32 v2, s26995; GFX12-NEXT:    s_bfe_u32 s2, s7, 0x800086996; GFX12-NEXT:    s_and_b32 s3, s7, 0xff6997; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:646998; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)6999; GFX12-NEXT:    v_mov_b32_e32 v0, s37000; GFX12-NEXT:    v_mov_b32_e32 v2, s27001; GFX12-NEXT:    s_bfe_u32 s2, s5, 0x800087002; GFX12-NEXT:    s_and_b32 s3, s5, 0xff7003; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:967004; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)7005; GFX12-NEXT:    v_mov_b32_e32 v0, s37006; GFX12-NEXT:    v_mov_b32_e32 v2, s27007; GFX12-NEXT:    s_lshr_b32 s2, s4, 247008; GFX12-NEXT:    s_bfe_u32 s3, s4, 0x800107009; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:327010; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)7011; GFX12-NEXT:    v_mov_b32_e32 v0, s37012; GFX12-NEXT:    v_mov_b32_e32 v2, s27013; GFX12-NEXT:    s_bfe_u32 s2, s4, 0x800087014; GFX12-NEXT:    s_and_b32 s3, s4, 0xff7015; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:167016; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)7017; GFX12-NEXT:    v_mov_b32_e32 v0, s37018; GFX12-NEXT:    v_mov_b32_e32 v2, s27019; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1]7020; GFX12-NEXT:    s_endpgm7021  %load = load <16 x i8>, ptr addrspace(4) %in7022  %ext = zext <16 x i8> %load to <16 x i64>7023  store <16 x i64> %ext, ptr addrspace(1) %out7024  ret void7025}7026 7027define amdgpu_kernel void @constant_sextload_v16i8_to_v16i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {7028; GFX6-NOHSA-LABEL: constant_sextload_v16i8_to_v16i64:7029; GFX6-NOHSA:       ; %bb.0:7030; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x97031; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7032; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x07033; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0007034; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -17035; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7036; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s6, 167037; GFX6-NOHSA-NEXT:    s_lshr_b32 s14, s6, 247038; GFX6-NOHSA-NEXT:    s_lshr_b32 s16, s6, 87039; GFX6-NOHSA-NEXT:    s_lshr_b32 s18, s4, 167040; GFX6-NOHSA-NEXT:    s_lshr_b32 s20, s4, 247041; GFX6-NOHSA-NEXT:    s_lshr_b32 s22, s4, 87042; GFX6-NOHSA-NEXT:    s_lshr_b32 s24, s7, 167043; GFX6-NOHSA-NEXT:    s_lshr_b32 s10, s7, 87044; GFX6-NOHSA-NEXT:    s_mov_b32 s26, s77045; GFX6-NOHSA-NEXT:    s_lshr_b32 s28, s5, 167046; GFX6-NOHSA-NEXT:    s_lshr_b32 s30, s5, 87047; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s57048; GFX6-NOHSA-NEXT:    s_bfe_i64 s[34:35], s[4:5], 0x800007049; GFX6-NOHSA-NEXT:    s_bfe_i64 s[36:37], s[6:7], 0x800007050; GFX6-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800007051; GFX6-NOHSA-NEXT:    s_ashr_i32 s29, s5, 317052; GFX6-NOHSA-NEXT:    s_ashr_i32 s31, s5, 247053; GFX6-NOHSA-NEXT:    s_bfe_i64 s[26:27], s[26:27], 0x800007054; GFX6-NOHSA-NEXT:    s_ashr_i32 s33, s7, 317055; GFX6-NOHSA-NEXT:    s_ashr_i32 s38, s7, 247056; GFX6-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[30:31], 0x800007057; GFX6-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[28:29], 0x800007058; GFX6-NOHSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800007059; GFX6-NOHSA-NEXT:    s_bfe_i64 s[24:25], s[24:25], 0x800007060; GFX6-NOHSA-NEXT:    s_bfe_i64 s[22:23], s[22:23], 0x800007061; GFX6-NOHSA-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800007062; GFX6-NOHSA-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800007063; GFX6-NOHSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800007064; GFX6-NOHSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800007065; GFX6-NOHSA-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800007066; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s367067; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s377068; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s347069; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s357070; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s387071; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s337072; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s267073; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s277074; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s127075; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s137076; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s147077; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s157078; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[0:3], 0 offset:807079; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7080; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s317081; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s297082; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s167083; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s177084; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:647085; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7086; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s187087; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s197088; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s207089; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s217090; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:167091; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7092; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s87093; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s97094; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s227095; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s237096; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 07097; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7098; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s247099; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s257100; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[6:9], off, s[0:3], 0 offset:1127101; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s107102; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s117103; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[10:13], off, s[0:3], 0 offset:967104; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7105; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s67106; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s77107; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[0:3], 0 offset:487108; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s47109; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s57110; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:327111; GFX6-NOHSA-NEXT:    s_endpgm7112;7113; GFX7-HSA-LABEL: constant_sextload_v16i8_to_v16i64:7114; GFX7-HSA:       ; %bb.0:7115; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x07116; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s177117; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 87118; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s137119; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)7120; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x07121; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)7122; GFX7-HSA-NEXT:    s_lshr_b32 s2, s6, 167123; GFX7-HSA-NEXT:    s_lshr_b32 s8, s6, 247124; GFX7-HSA-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800007125; GFX7-HSA-NEXT:    s_lshr_b32 s10, s6, 87126; GFX7-HSA-NEXT:    s_lshr_b32 s12, s4, 167127; GFX7-HSA-NEXT:    s_lshr_b32 s14, s4, 247128; GFX7-HSA-NEXT:    s_lshr_b32 s16, s4, 87129; GFX7-HSA-NEXT:    s_lshr_b32 s18, s7, 167130; GFX7-HSA-NEXT:    s_lshr_b32 s20, s7, 87131; GFX7-HSA-NEXT:    s_ashr_i32 s27, s5, 317132; GFX7-HSA-NEXT:    s_ashr_i32 s29, s5, 247133; GFX7-HSA-NEXT:    s_mov_b32 s22, s77134; GFX7-HSA-NEXT:    s_lshr_b32 s24, s5, 167135; GFX7-HSA-NEXT:    s_lshr_b32 s26, s5, 87136; GFX7-HSA-NEXT:    s_mov_b32 s28, s57137; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s27138; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s37139; GFX7-HSA-NEXT:    s_bfe_i64 s[2:3], s[8:9], 0x800007140; GFX7-HSA-NEXT:    s_ashr_i32 s33, s7, 317141; GFX7-HSA-NEXT:    s_ashr_i32 s34, s7, 247142; GFX7-HSA-NEXT:    s_bfe_i64 s[30:31], s[4:5], 0x800007143; GFX7-HSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800007144; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s27145; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s37146; GFX7-HSA-NEXT:    s_bfe_i64 s[4:5], s[28:29], 0x800007147; GFX7-HSA-NEXT:    s_bfe_i64 s[2:3], s[26:27], 0x800007148; GFX7-HSA-NEXT:    s_bfe_i64 s[8:9], s[24:25], 0x800007149; GFX7-HSA-NEXT:    s_bfe_i64 s[22:23], s[22:23], 0x800007150; GFX7-HSA-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800007151; GFX7-HSA-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800007152; GFX7-HSA-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800007153; GFX7-HSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800007154; GFX7-HSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800007155; GFX7-HSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800007156; GFX7-HSA-NEXT:    s_add_u32 s24, s0, 0x507157; GFX7-HSA-NEXT:    s_addc_u32 s25, s1, 07158; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67159; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 647160; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77161; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07162; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s247163; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s77164; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s257165; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s67166; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 167167; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s107168; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s117169; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]7170; GFX7-HSA-NEXT:    flat_store_dwordx4 v[10:11], v[4:7]7171; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07172; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67173; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s127174; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s137175; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s147176; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s157177; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77178; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7179; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s17180; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s307181; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s317182; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s167183; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s177184; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s07185; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x707186; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7187; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07188; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67189; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s187190; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s197191; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s347192; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s337193; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77194; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x607195; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7196; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07197; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67198; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77199; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 487200; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s227201; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s237202; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s207203; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s217204; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07205; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7206; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67207; GFX7-HSA-NEXT:    s_add_u32 s0, s0, 327208; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s87209; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s97210; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s297211; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s277212; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77213; GFX7-HSA-NEXT:    s_addc_u32 s1, s1, 07214; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7215; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s17216; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s47217; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s57218; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s27219; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s37220; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s07221; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7222; GFX7-HSA-NEXT:    s_endpgm7223;7224; GFX8-NOHSA-LABEL: constant_sextload_v16i8_to_v16i64:7225; GFX8-NOHSA:       ; %bb.0:7226; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x247227; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7228; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[2:3], 0x07229; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7230; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s10, 167231; GFX8-NOHSA-NEXT:    s_lshr_b32 s14, s10, 247232; GFX8-NOHSA-NEXT:    s_lshr_b32 s16, s10, 87233; GFX8-NOHSA-NEXT:    s_lshr_b32 s18, s8, 167234; GFX8-NOHSA-NEXT:    s_lshr_b32 s20, s8, 247235; GFX8-NOHSA-NEXT:    s_lshr_b32 s22, s8, 87236; GFX8-NOHSA-NEXT:    s_lshr_b32 s24, s11, 167237; GFX8-NOHSA-NEXT:    s_lshr_b32 s26, s11, 87238; GFX8-NOHSA-NEXT:    s_mov_b32 s28, s117239; GFX8-NOHSA-NEXT:    s_lshr_b32 s6, s9, 167240; GFX8-NOHSA-NEXT:    s_lshr_b32 s4, s9, 87241; GFX8-NOHSA-NEXT:    s_mov_b32 s2, s97242; GFX8-NOHSA-NEXT:    s_ashr_i32 s25, s9, 317243; GFX8-NOHSA-NEXT:    s_ashr_i32 s29, s9, 247244; GFX8-NOHSA-NEXT:    s_bfe_i64 s[30:31], s[8:9], 0x800007245; GFX8-NOHSA-NEXT:    s_bfe_i64 s[34:35], s[10:11], 0x800007246; GFX8-NOHSA-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800007247; GFX8-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800007248; GFX8-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[6:7], 0x800007249; GFX8-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[28:29], 0x800007250; GFX8-NOHSA-NEXT:    s_bfe_i64 s[26:27], s[26:27], 0x800007251; GFX8-NOHSA-NEXT:    s_ashr_i32 s28, s11, 317252; GFX8-NOHSA-NEXT:    s_ashr_i32 s33, s11, 247253; GFX8-NOHSA-NEXT:    s_bfe_i64 s[10:11], s[24:25], 0x800007254; GFX8-NOHSA-NEXT:    s_bfe_i64 s[22:23], s[22:23], 0x800007255; GFX8-NOHSA-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800007256; GFX8-NOHSA-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800007257; GFX8-NOHSA-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800007258; GFX8-NOHSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800007259; GFX8-NOHSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800007260; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s127261; GFX8-NOHSA-NEXT:    s_add_u32 s12, s0, 0x507262; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s137263; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s1, 07264; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s127265; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s147266; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s157267; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s137268; GFX8-NOHSA-NEXT:    s_add_u32 s12, s0, 647269; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7270; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s1, 07271; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s127272; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s347273; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s357274; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s167275; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s177276; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s137277; GFX8-NOHSA-NEXT:    s_add_u32 s12, s0, 167278; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7279; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s1, 07280; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s127281; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s187282; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s197283; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s207284; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s217285; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s137286; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7287; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s17288; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s307289; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s317290; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s227291; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s237292; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s07293; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7294; GFX8-NOHSA-NEXT:    s_nop 07295; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s107296; GFX8-NOHSA-NEXT:    s_add_u32 s10, s0, 0x707297; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s117298; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s1, 07299; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s107300; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s337301; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s287302; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s117303; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7304; GFX8-NOHSA-NEXT:    s_nop 07305; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s87306; GFX8-NOHSA-NEXT:    s_add_u32 s8, s0, 0x607307; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s97308; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s1, 07309; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s87310; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s267311; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s277312; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s97313; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7314; GFX8-NOHSA-NEXT:    s_nop 07315; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s67316; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 487317; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s77318; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07319; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67320; GFX8-NOHSA-NEXT:    s_add_u32 s0, s0, 327321; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s297322; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s257323; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77324; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s1, 07325; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7326; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s17327; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s27328; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s37329; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s47330; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s57331; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s07332; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7333; GFX8-NOHSA-NEXT:    s_endpgm7334;7335; EG-LABEL: constant_sextload_v16i8_to_v16i64:7336; EG:       ; %bb.0:7337; EG-NEXT:    ALU 0, @14, KC0[CB0:0-32], KC1[]7338; EG-NEXT:    TEX 0 @127339; EG-NEXT:    ALU 78, @15, KC0[CB0:0-32], KC1[]7340; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T22.X, 07341; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T13.XYZW, T16.X, 07342; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T15.X, 07343; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T12.X, 07344; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T11.X, 07345; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T10.X, 07346; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T17.XYZW, T9.X, 07347; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T18.XYZW, T8.X, 17348; EG-NEXT:    CF_END7349; EG-NEXT:    Fetch clause starting at 12:7350; EG-NEXT:     VTX_READ_128 T7.XYZW, T7.X, 0, #17351; EG-NEXT:    ALU clause starting at 14:7352; EG-NEXT:     MOV * T7.X, KC0[2].Z,7353; EG-NEXT:    ALU clause starting at 15:7354; EG-NEXT:     LSHR T8.X, KC0[2].Y, literal.x,7355; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,7356; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)7357; EG-NEXT:     LSHR T9.X, PV.W, literal.x,7358; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,7359; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)7360; EG-NEXT:     LSHR T10.X, PV.W, literal.x,7361; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,7362; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)7363; EG-NEXT:     LSHR T11.X, PV.W, literal.x,7364; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,7365; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)7366; EG-NEXT:     LSHR * T12.X, PV.W, literal.x,7367; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)7368; EG-NEXT:     BFE_INT * T13.X, T7.W, 0.0, literal.x,7369; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7370; EG-NEXT:     BFE_INT T14.X, T7.Y, 0.0, literal.x,7371; EG-NEXT:     ASHR T13.Y, PV.X, literal.y,7372; EG-NEXT:     LSHR T0.W, T7.W, literal.x,7373; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,7374; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)7375; EG-NEXT:    80(1.121039e-43), 0(0.000000e+00)7376; EG-NEXT:     LSHR T15.X, PS, literal.x,7377; EG-NEXT:     ASHR T14.Y, PV.X, literal.y,7378; EG-NEXT:     BFE_INT T13.Z, PV.W, 0.0, literal.z,7379; EG-NEXT:     LSHR T0.W, T7.Y, literal.z,7380; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.w,7381; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)7382; EG-NEXT:    8(1.121039e-44), 96(1.345247e-43)7383; EG-NEXT:     LSHR T16.X, PS, literal.x,7384; EG-NEXT:     BFE_INT T14.Z, PV.W, 0.0, literal.y,7385; EG-NEXT:     ASHR * T17.W, T7.X, literal.z,7386; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)7387; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)7388; EG-NEXT:     BFE_INT T18.X, T7.X, 0.0, literal.x,7389; EG-NEXT:     ASHR T17.Z, T7.X, literal.y,7390; EG-NEXT:     LSHR T0.W, T7.X, literal.z,7391; EG-NEXT:     ASHR * T19.W, T7.Y, literal.w,7392; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)7393; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7394; EG-NEXT:     BFE_INT T17.X, PV.W, 0.0, literal.x,7395; EG-NEXT:     ASHR T18.Y, PV.X, literal.y,7396; EG-NEXT:     ASHR T19.Z, T7.Y, literal.z,7397; EG-NEXT:     LSHR T0.W, T7.X, literal.x,7398; EG-NEXT:     LSHR * T1.W, T7.Y, literal.w,7399; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)7400; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)7401; EG-NEXT:     BFE_INT T19.X, PS, 0.0, literal.x,7402; EG-NEXT:     ASHR T17.Y, PV.X, literal.y,7403; EG-NEXT:     BFE_INT T18.Z, PV.W, 0.0, literal.x,7404; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.z,7405; EG-NEXT:     ASHR * T20.W, T7.Z, literal.y,7406; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)7407; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)7408; EG-NEXT:     BFE_INT T7.X, T7.Z, 0.0, literal.x,7409; EG-NEXT:     ASHR T19.Y, PV.X, literal.y,7410; EG-NEXT:     ASHR T20.Z, T7.Z, literal.z,7411; EG-NEXT:     LSHR T1.W, T7.Z, literal.w,7412; EG-NEXT:     ASHR * T21.W, T7.W, literal.y,7413; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)7414; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)7415; EG-NEXT:     BFE_INT T20.X, PV.W, 0.0, literal.x,7416; EG-NEXT:     ASHR T7.Y, PV.X, literal.y,7417; EG-NEXT:     ASHR T21.Z, T7.W, literal.z,7418; EG-NEXT:     LSHR T1.W, T7.Z, literal.x,7419; EG-NEXT:     LSHR * T2.W, T7.W, literal.w,7420; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)7421; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)7422; EG-NEXT:     BFE_INT T21.X, PS, 0.0, literal.x,7423; EG-NEXT:     ASHR T20.Y, PV.X, literal.y,7424; EG-NEXT:     BFE_INT T7.Z, PV.W, 0.0, literal.x,7425; EG-NEXT:     ASHR T18.W, T18.Z, literal.y,7426; EG-NEXT:     ASHR * T14.W, T14.Z, literal.y,7427; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)7428; EG-NEXT:     LSHR T22.X, T0.W, literal.x,7429; EG-NEXT:     ASHR T21.Y, PV.X, literal.y,7430; EG-NEXT:     ASHR T7.W, PV.Z, literal.y,7431; EG-NEXT:     ASHR * T13.W, T13.Z, literal.y,7432; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)7433;7434; GFX12-LABEL: constant_sextload_v16i8_to_v16i64:7435; GFX12:       ; %bb.0:7436; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x247437; GFX12-NEXT:    s_wait_kmcnt 0x07438; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x07439; GFX12-NEXT:    s_wait_kmcnt 0x07440; GFX12-NEXT:    s_lshr_b32 s2, s6, 167441; GFX12-NEXT:    s_lshr_b32 s8, s6, 247442; GFX12-NEXT:    s_lshr_b32 s10, s6, 87443; GFX12-NEXT:    s_bfe_i64 s[30:31], s[4:5], 0x800007444; GFX12-NEXT:    s_bfe_i64 s[8:9], s[8:9], 0x800007445; GFX12-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800007446; GFX12-NEXT:    s_lshr_b32 s12, s4, 167447; GFX12-NEXT:    s_lshr_b32 s14, s4, 247448; GFX12-NEXT:    s_bfe_i64 s[34:35], s[6:7], 0x800007449; GFX12-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800007450; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s357451; GFX12-NEXT:    s_lshr_b32 s16, s4, 87452; GFX12-NEXT:    v_dual_mov_b32 v4, s30 :: v_dual_mov_b32 v9, s37453; GFX12-NEXT:    v_dual_mov_b32 v8, s2 :: v_dual_mov_b32 v11, s97454; GFX12-NEXT:    v_dual_mov_b32 v10, s8 :: v_dual_mov_b32 v3, s117455; GFX12-NEXT:    s_lshr_b32 s18, s7, 167456; GFX12-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800007457; GFX12-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800007458; GFX12-NEXT:    v_dual_mov_b32 v0, s34 :: v_dual_mov_b32 v5, s317459; GFX12-NEXT:    v_dual_mov_b32 v2, s10 :: v_dual_mov_b32 v13, s137460; GFX12-NEXT:    s_lshr_b32 s20, s7, 87461; GFX12-NEXT:    s_mov_b32 s22, s77462; GFX12-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800007463; GFX12-NEXT:    s_lshr_b32 s24, s5, 167464; GFX12-NEXT:    s_ashr_i32 s33, s7, 317465; GFX12-NEXT:    s_ashr_i32 s36, s7, 247466; GFX12-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800007467; GFX12-NEXT:    v_dual_mov_b32 v12, s12 :: v_dual_mov_b32 v15, s157468; GFX12-NEXT:    v_dual_mov_b32 v14, s14 :: v_dual_mov_b32 v7, s177469; GFX12-NEXT:    s_lshr_b32 s26, s5, 87470; GFX12-NEXT:    s_mov_b32 s28, s57471; GFX12-NEXT:    s_ashr_i32 s27, s5, 317472; GFX12-NEXT:    s_ashr_i32 s29, s5, 247473; GFX12-NEXT:    s_bfe_i64 s[22:23], s[22:23], 0x800007474; GFX12-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800007475; GFX12-NEXT:    v_mov_b32_e32 v6, s167476; GFX12-NEXT:    s_bfe_i64 s[24:25], s[24:25], 0x800007477; GFX12-NEXT:    s_clause 0x17478; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[0:1] offset:807479; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[0:1] offset:647480; GFX12-NEXT:    v_dual_mov_b32 v0, s18 :: v_dual_mov_b32 v3, s337481; GFX12-NEXT:    v_dual_mov_b32 v1, s19 :: v_dual_mov_b32 v2, s367482; GFX12-NEXT:    v_mov_b32_e32 v9, s237483; GFX12-NEXT:    s_bfe_i64 s[4:5], s[28:29], 0x800007484; GFX12-NEXT:    s_bfe_i64 s[6:7], s[26:27], 0x800007485; GFX12-NEXT:    v_dual_mov_b32 v8, s22 :: v_dual_mov_b32 v11, s217486; GFX12-NEXT:    v_dual_mov_b32 v10, s20 :: v_dual_mov_b32 v17, s257487; GFX12-NEXT:    v_dual_mov_b32 v16, s24 :: v_dual_mov_b32 v19, s277488; GFX12-NEXT:    v_dual_mov_b32 v18, s29 :: v_dual_mov_b32 v21, s57489; GFX12-NEXT:    v_dual_mov_b32 v20, s4 :: v_dual_mov_b32 v23, s77490; GFX12-NEXT:    v_mov_b32_e32 v22, s67491; GFX12-NEXT:    s_clause 0x57492; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[0:1] offset:167493; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[0:1]7494; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[0:1] offset:1127495; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[0:1] offset:967496; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[0:1] offset:487497; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[0:1] offset:327498; GFX12-NEXT:    s_endpgm7499  %load = load <16 x i8>, ptr addrspace(4) %in7500  %ext = sext <16 x i8> %load to <16 x i64>7501  store <16 x i64> %ext, ptr addrspace(1) %out7502  ret void7503}7504 7505define amdgpu_kernel void @constant_zextload_v32i8_to_v32i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {7506; GFX6-NOHSA-LABEL: constant_zextload_v32i8_to_v32i64:7507; GFX6-NOHSA:       ; %bb.0:7508; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x97509; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7510; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x07511; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf0007512; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 07513; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -17514; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v17515; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7516; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s0, 247517; GFX6-NOHSA-NEXT:    s_lshr_b32 s13, s1, 247518; GFX6-NOHSA-NEXT:    s_lshr_b32 s14, s2, 247519; GFX6-NOHSA-NEXT:    s_lshr_b32 s15, s3, 247520; GFX6-NOHSA-NEXT:    s_lshr_b32 s16, s4, 247521; GFX6-NOHSA-NEXT:    s_lshr_b32 s17, s5, 247522; GFX6-NOHSA-NEXT:    s_lshr_b32 s18, s6, 247523; GFX6-NOHSA-NEXT:    s_lshr_b32 s19, s7, 247524; GFX6-NOHSA-NEXT:    s_bfe_u32 s20, s7, 0x800087525; GFX6-NOHSA-NEXT:    s_bfe_u32 s21, s6, 0x800087526; GFX6-NOHSA-NEXT:    s_bfe_u32 s22, s5, 0x800087527; GFX6-NOHSA-NEXT:    s_bfe_u32 s23, s4, 0x800087528; GFX6-NOHSA-NEXT:    s_bfe_u32 s24, s3, 0x800087529; GFX6-NOHSA-NEXT:    s_bfe_u32 s25, s2, 0x800087530; GFX6-NOHSA-NEXT:    s_bfe_u32 s26, s1, 0x800087531; GFX6-NOHSA-NEXT:    s_bfe_u32 s27, s0, 0x800087532; GFX6-NOHSA-NEXT:    s_and_b32 s28, s0, 0xff7533; GFX6-NOHSA-NEXT:    s_and_b32 s29, s1, 0xff7534; GFX6-NOHSA-NEXT:    s_and_b32 s30, s2, 0xff7535; GFX6-NOHSA-NEXT:    s_and_b32 s31, s3, 0xff7536; GFX6-NOHSA-NEXT:    s_and_b32 s33, s4, 0xff7537; GFX6-NOHSA-NEXT:    s_and_b32 s34, s5, 0xff7538; GFX6-NOHSA-NEXT:    s_and_b32 s35, s6, 0xff7539; GFX6-NOHSA-NEXT:    s_and_b32 s36, s7, 0xff7540; GFX6-NOHSA-NEXT:    s_bfe_u32 s0, s0, 0x800107541; GFX6-NOHSA-NEXT:    s_bfe_u32 s1, s1, 0x800107542; GFX6-NOHSA-NEXT:    s_bfe_u32 s2, s2, 0x800107543; GFX6-NOHSA-NEXT:    s_bfe_u32 s3, s3, 0x800107544; GFX6-NOHSA-NEXT:    s_bfe_u32 s4, s4, 0x800107545; GFX6-NOHSA-NEXT:    s_bfe_u32 s5, s5, 0x800107546; GFX6-NOHSA-NEXT:    s_bfe_u32 s7, s7, 0x800107547; GFX6-NOHSA-NEXT:    s_bfe_u32 s6, s6, 0x800107548; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s77549; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s197550; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:2407551; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7552; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s67553; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s187554; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:2087555; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7556; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s57557; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s177558; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1767559; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7560; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s47561; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s167562; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1447563; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7564; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s37565; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s157566; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1127567; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7568; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s27569; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s147570; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:807571; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7572; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s17573; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s137574; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:487575; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7576; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s07577; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s127578; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:167579; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7580; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s367581; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s207582; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:2247583; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7584; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s357585; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s217586; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1927587; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7588; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s347589; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s227590; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1607591; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7592; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s337593; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s237594; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1287595; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7596; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s317597; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s247598; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:967599; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7600; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s307601; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s257602; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:647603; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7604; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s297605; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s267606; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:327607; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)7608; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s287609; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s277610; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 07611; GFX6-NOHSA-NEXT:    s_endpgm7612;7613; GFX7-HSA-LABEL: constant_zextload_v32i8_to_v32i64:7614; GFX7-HSA:       ; %bb.0:7615; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x07616; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s177617; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s137618; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 87619; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 07620; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)7621; GFX7-HSA-NEXT:    s_load_dwordx8 s[8:15], s[2:3], 0x07622; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v17623; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)7624; GFX7-HSA-NEXT:    s_lshr_b32 s16, s8, 247625; GFX7-HSA-NEXT:    s_lshr_b32 s17, s9, 247626; GFX7-HSA-NEXT:    s_lshr_b32 s18, s10, 247627; GFX7-HSA-NEXT:    s_lshr_b32 s19, s11, 247628; GFX7-HSA-NEXT:    s_lshr_b32 s20, s12, 247629; GFX7-HSA-NEXT:    s_lshr_b32 s21, s13, 247630; GFX7-HSA-NEXT:    s_lshr_b32 s22, s14, 247631; GFX7-HSA-NEXT:    s_lshr_b32 s23, s15, 247632; GFX7-HSA-NEXT:    s_bfe_u32 s24, s15, 0x800087633; GFX7-HSA-NEXT:    s_bfe_u32 s25, s14, 0x800087634; GFX7-HSA-NEXT:    s_bfe_u32 s26, s13, 0x800087635; GFX7-HSA-NEXT:    s_bfe_u32 s27, s12, 0x800087636; GFX7-HSA-NEXT:    s_bfe_u32 s28, s11, 0x800087637; GFX7-HSA-NEXT:    s_bfe_u32 s29, s10, 0x800087638; GFX7-HSA-NEXT:    s_bfe_u32 s4, s9, 0x800087639; GFX7-HSA-NEXT:    s_bfe_u32 s2, s8, 0x800087640; GFX7-HSA-NEXT:    s_and_b32 s3, s8, 0xff7641; GFX7-HSA-NEXT:    s_and_b32 s5, s9, 0xff7642; GFX7-HSA-NEXT:    s_and_b32 s30, s10, 0xff7643; GFX7-HSA-NEXT:    s_and_b32 s31, s11, 0xff7644; GFX7-HSA-NEXT:    s_and_b32 s33, s12, 0xff7645; GFX7-HSA-NEXT:    s_and_b32 s34, s13, 0xff7646; GFX7-HSA-NEXT:    s_and_b32 s35, s14, 0xff7647; GFX7-HSA-NEXT:    s_and_b32 s36, s15, 0xff7648; GFX7-HSA-NEXT:    s_bfe_u32 s8, s8, 0x800107649; GFX7-HSA-NEXT:    s_bfe_u32 s9, s9, 0x800107650; GFX7-HSA-NEXT:    s_bfe_u32 s10, s10, 0x800107651; GFX7-HSA-NEXT:    s_bfe_u32 s11, s11, 0x800107652; GFX7-HSA-NEXT:    s_bfe_u32 s12, s12, 0x800107653; GFX7-HSA-NEXT:    s_bfe_u32 s13, s13, 0x800107654; GFX7-HSA-NEXT:    s_bfe_u32 s14, s14, 0x800107655; GFX7-HSA-NEXT:    s_bfe_u32 s15, s15, 0x800107656; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0xf07657; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07658; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67659; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77660; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0xd07661; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07662; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s67663; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s77664; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0xb07665; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07666; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s77667; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s67668; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x907669; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07670; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s157671; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s237672; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s77673; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7674; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s67675; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s147676; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s227677; GFX7-HSA-NEXT:    flat_store_dwordx4 v[6:7], v[0:3]7678; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x707679; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s137680; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s217681; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]7682; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07683; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s127684; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s207685; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67686; GFX7-HSA-NEXT:    flat_store_dwordx4 v[10:11], v[0:3]7687; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77688; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s117689; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s197690; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x507691; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7692; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07693; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67694; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s107695; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s187696; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77697; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 487698; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7699; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07700; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67701; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s97702; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s177703; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77704; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 167705; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7706; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07707; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67708; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s87709; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s167710; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77711; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0xe07712; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7713; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07714; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67715; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s367716; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s247717; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77718; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0xc07719; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7720; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07721; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67722; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s357723; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s257724; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77725; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0xa07726; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7727; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07728; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67729; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s347730; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s267731; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77732; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x807733; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7734; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07735; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67736; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s337737; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s277738; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77739; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 0x607740; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7741; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07742; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67743; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s317744; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s287745; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77746; GFX7-HSA-NEXT:    s_add_u32 s6, s0, 647747; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7748; GFX7-HSA-NEXT:    s_addc_u32 s7, s1, 07749; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s67750; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s307751; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s297752; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s77753; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7754; GFX7-HSA-NEXT:    s_nop 07755; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s47756; GFX7-HSA-NEXT:    s_add_u32 s4, s0, 327757; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s57758; GFX7-HSA-NEXT:    s_addc_u32 s5, s1, 07759; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s47760; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s57761; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7762; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s17763; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s37764; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s27765; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s07766; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7767; GFX7-HSA-NEXT:    s_endpgm7768;7769; GFX8-NOHSA-LABEL: constant_zextload_v32i8_to_v32i64:7770; GFX8-NOHSA:       ; %bb.0:7771; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x247772; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 07773; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v17774; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7775; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[8:15], s[2:3], 0x07776; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)7777; GFX8-NOHSA-NEXT:    s_lshr_b32 s16, s9, 247778; GFX8-NOHSA-NEXT:    s_lshr_b32 s17, s11, 247779; GFX8-NOHSA-NEXT:    s_lshr_b32 s18, s13, 247780; GFX8-NOHSA-NEXT:    s_lshr_b32 s6, s15, 247781; GFX8-NOHSA-NEXT:    s_bfe_u32 s19, s15, 0x800087782; GFX8-NOHSA-NEXT:    s_lshr_b32 s20, s14, 247783; GFX8-NOHSA-NEXT:    s_bfe_u32 s21, s14, 0x800087784; GFX8-NOHSA-NEXT:    s_bfe_u32 s22, s13, 0x800087785; GFX8-NOHSA-NEXT:    s_lshr_b32 s23, s12, 247786; GFX8-NOHSA-NEXT:    s_bfe_u32 s24, s12, 0x800087787; GFX8-NOHSA-NEXT:    s_bfe_u32 s25, s11, 0x800087788; GFX8-NOHSA-NEXT:    s_lshr_b32 s26, s10, 247789; GFX8-NOHSA-NEXT:    s_bfe_u32 s27, s10, 0x800087790; GFX8-NOHSA-NEXT:    s_bfe_u32 s28, s9, 0x800087791; GFX8-NOHSA-NEXT:    s_lshr_b32 s4, s8, 247792; GFX8-NOHSA-NEXT:    s_bfe_u32 s2, s8, 0x800087793; GFX8-NOHSA-NEXT:    s_and_b32 s3, s8, 0xff7794; GFX8-NOHSA-NEXT:    s_bfe_u32 s5, s8, 0x800107795; GFX8-NOHSA-NEXT:    s_and_b32 s8, s9, 0xff7796; GFX8-NOHSA-NEXT:    s_and_b32 s29, s10, 0xff7797; GFX8-NOHSA-NEXT:    s_bfe_u32 s10, s10, 0x800107798; GFX8-NOHSA-NEXT:    s_and_b32 s30, s11, 0xff7799; GFX8-NOHSA-NEXT:    s_and_b32 s31, s12, 0xff7800; GFX8-NOHSA-NEXT:    s_bfe_u32 s12, s12, 0x800107801; GFX8-NOHSA-NEXT:    s_and_b32 s33, s13, 0xff7802; GFX8-NOHSA-NEXT:    s_and_b32 s34, s14, 0xff7803; GFX8-NOHSA-NEXT:    s_bfe_u32 s14, s14, 0x800107804; GFX8-NOHSA-NEXT:    s_and_b32 s35, s15, 0xff7805; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s9, 0x800107806; GFX8-NOHSA-NEXT:    s_bfe_u32 s11, s11, 0x800107807; GFX8-NOHSA-NEXT:    s_bfe_u32 s13, s13, 0x800107808; GFX8-NOHSA-NEXT:    s_bfe_u32 s7, s15, 0x800107809; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s67810; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0xf07811; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s77812; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07813; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67814; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77815; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0xb07816; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7817; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07818; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67819; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s137820; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s187821; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77822; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0x707823; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7824; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07825; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67826; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s117827; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s177828; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77829; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 487830; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7831; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07832; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67833; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s97834; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s167835; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77836; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0xe07837; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7838; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07839; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67840; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s357841; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s197842; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77843; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0xd07844; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7845; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07846; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67847; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s147848; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s207849; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77850; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0xc07851; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7852; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07853; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67854; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s347855; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s217856; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77857; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0xa07858; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7859; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07860; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67861; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s337862; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s227863; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77864; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0x907865; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7866; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07867; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67868; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s127869; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s237870; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77871; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0x807872; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7873; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07874; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67875; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s317876; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s247877; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77878; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0x607879; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7880; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07881; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67882; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s307883; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s257884; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77885; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 0x507886; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7887; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07888; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67889; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s107890; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s267891; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77892; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 647893; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7894; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07895; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67896; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s297897; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s277898; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77899; GFX8-NOHSA-NEXT:    s_add_u32 s6, s0, 327900; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7901; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s1, 07902; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s67903; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s87904; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s287905; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s77906; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7907; GFX8-NOHSA-NEXT:    s_nop 07908; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s47909; GFX8-NOHSA-NEXT:    s_add_u32 s4, s0, 167910; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s57911; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s1, 07912; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s47913; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s57914; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7915; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s17916; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s37917; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s27918; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s07919; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]7920; GFX8-NOHSA-NEXT:    s_endpgm7921;7922; EG-LABEL: constant_zextload_v32i8_to_v32i64:7923; EG:       ; %bb.0:7924; EG-NEXT:    ALU 0, @26, KC0[CB0:0-32], KC1[]7925; EG-NEXT:    TEX 1 @227926; EG-NEXT:    ALU 103, @27, KC0[CB0:0-32], KC1[]7927; EG-NEXT:    ALU 33, @131, KC0[CB0:0-32], KC1[]7928; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T13.XYZW, T42.X, 07929; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T41.X, 07930; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T15.XYZW, T40.X, 07931; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T16.XYZW, T39.X, 07932; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T17.XYZW, T38.X, 07933; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T18.XYZW, T37.X, 07934; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T36.X, 07935; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T35.X, 07936; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T34.X, 07937; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T33.X, 07938; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T22.XYZW, T32.X, 07939; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T23.XYZW, T31.X, 07940; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T24.XYZW, T30.X, 07941; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T25.XYZW, T29.X, 07942; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T26.XYZW, T28.X, 07943; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T27.X, 17944; EG-NEXT:    CF_END7945; EG-NEXT:    PAD7946; EG-NEXT:    Fetch clause starting at 22:7947; EG-NEXT:     VTX_READ_128 T12.XYZW, T11.X, 0, #17948; EG-NEXT:     VTX_READ_128 T11.XYZW, T11.X, 16, #17949; EG-NEXT:    ALU clause starting at 26:7950; EG-NEXT:     MOV * T11.X, KC0[2].Z,7951; EG-NEXT:    ALU clause starting at 27:7952; EG-NEXT:     MOV * T0.W, literal.x,7953; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7954; EG-NEXT:     BFE_UINT T13.X, T11.W, literal.x, PV.W,7955; EG-NEXT:     LSHR * T13.Z, T11.W, literal.y,7956; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7957; EG-NEXT:     MOV T13.Y, 0.0,7958; EG-NEXT:     BFE_UINT * T14.Z, T11.W, literal.x, T0.W,7959; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7960; EG-NEXT:     AND_INT T14.X, T11.W, literal.x,7961; EG-NEXT:     MOV * T14.Y, 0.0,7962; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)7963; EG-NEXT:     BFE_UINT T15.X, T11.Z, literal.x, T0.W,7964; EG-NEXT:     LSHR * T15.Z, T11.Z, literal.y,7965; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7966; EG-NEXT:     MOV T15.Y, 0.0,7967; EG-NEXT:     BFE_UINT * T16.Z, T11.Z, literal.x, T0.W,7968; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7969; EG-NEXT:     AND_INT T16.X, T11.Z, literal.x,7970; EG-NEXT:     MOV * T16.Y, 0.0,7971; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)7972; EG-NEXT:     BFE_UINT T17.X, T11.Y, literal.x, T0.W,7973; EG-NEXT:     LSHR * T17.Z, T11.Y, literal.y,7974; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7975; EG-NEXT:     MOV T17.Y, 0.0,7976; EG-NEXT:     BFE_UINT * T18.Z, T11.Y, literal.x, T0.W,7977; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7978; EG-NEXT:     AND_INT T18.X, T11.Y, literal.x,7979; EG-NEXT:     MOV * T18.Y, 0.0,7980; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)7981; EG-NEXT:     BFE_UINT T19.X, T11.X, literal.x, T0.W,7982; EG-NEXT:     LSHR * T19.Z, T11.X, literal.y,7983; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7984; EG-NEXT:     MOV T19.Y, 0.0,7985; EG-NEXT:     BFE_UINT * T11.Z, T11.X, literal.x, T0.W,7986; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7987; EG-NEXT:     AND_INT T11.X, T11.X, literal.x,7988; EG-NEXT:     MOV * T11.Y, 0.0,7989; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)7990; EG-NEXT:     BFE_UINT T20.X, T12.W, literal.x, T0.W,7991; EG-NEXT:     LSHR * T20.Z, T12.W, literal.y,7992; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7993; EG-NEXT:     MOV T20.Y, 0.0,7994; EG-NEXT:     BFE_UINT * T21.Z, T12.W, literal.x, T0.W,7995; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7996; EG-NEXT:     AND_INT T21.X, T12.W, literal.x,7997; EG-NEXT:     MOV * T21.Y, 0.0,7998; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)7999; EG-NEXT:     BFE_UINT T22.X, T12.Z, literal.x, T0.W,8000; EG-NEXT:     LSHR * T22.Z, T12.Z, literal.y,8001; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)8002; EG-NEXT:     MOV T22.Y, 0.0,8003; EG-NEXT:     BFE_UINT * T23.Z, T12.Z, literal.x, T0.W,8004; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8005; EG-NEXT:     AND_INT T23.X, T12.Z, literal.x,8006; EG-NEXT:     MOV * T23.Y, 0.0,8007; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)8008; EG-NEXT:     BFE_UINT T24.X, T12.Y, literal.x, T0.W,8009; EG-NEXT:     LSHR * T24.Z, T12.Y, literal.y,8010; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)8011; EG-NEXT:     MOV T24.Y, 0.0,8012; EG-NEXT:     BFE_UINT * T25.Z, T12.Y, literal.x, T0.W,8013; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8014; EG-NEXT:     AND_INT T25.X, T12.Y, literal.x,8015; EG-NEXT:     MOV * T25.Y, 0.0,8016; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)8017; EG-NEXT:     BFE_UINT T26.X, T12.X, literal.x, T0.W,8018; EG-NEXT:     LSHR * T26.Z, T12.X, literal.y,8019; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)8020; EG-NEXT:     MOV T26.Y, 0.0,8021; EG-NEXT:     BFE_UINT * T12.Z, T12.X, literal.x, T0.W,8022; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8023; EG-NEXT:     AND_INT T12.X, T12.X, literal.x,8024; EG-NEXT:     MOV T12.Y, 0.0,8025; EG-NEXT:     MOV T13.W, 0.0,8026; EG-NEXT:     MOV * T14.W, 0.0,8027; EG-NEXT:    255(3.573311e-43), 0(0.000000e+00)8028; EG-NEXT:     MOV T15.W, 0.0,8029; EG-NEXT:     MOV * T16.W, 0.0,8030; EG-NEXT:     MOV T17.W, 0.0,8031; EG-NEXT:     MOV * T18.W, 0.0,8032; EG-NEXT:     MOV T19.W, 0.0,8033; EG-NEXT:     MOV * T11.W, 0.0,8034; EG-NEXT:     MOV T20.W, 0.0,8035; EG-NEXT:     MOV * T21.W, 0.0,8036; EG-NEXT:     MOV T22.W, 0.0,8037; EG-NEXT:     MOV * T23.W, 0.0,8038; EG-NEXT:     MOV T24.W, 0.0,8039; EG-NEXT:     MOV * T25.W, 0.0,8040; EG-NEXT:     MOV T26.W, 0.0,8041; EG-NEXT:     MOV * T12.W, 0.0,8042; EG-NEXT:     LSHR T27.X, KC0[2].Y, literal.x,8043; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8044; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)8045; EG-NEXT:     LSHR T28.X, PV.W, literal.x,8046; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8047; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)8048; EG-NEXT:     LSHR T29.X, PV.W, literal.x,8049; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8050; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)8051; EG-NEXT:     LSHR T30.X, PV.W, literal.x,8052; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8053; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)8054; EG-NEXT:     LSHR * T31.X, PV.W, literal.x,8055; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)8056; EG-NEXT:    ALU clause starting at 131:8057; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8058; EG-NEXT:    80(1.121039e-43), 0(0.000000e+00)8059; EG-NEXT:     LSHR T32.X, PV.W, literal.x,8060; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8061; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)8062; EG-NEXT:     LSHR T33.X, PV.W, literal.x,8063; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8064; EG-NEXT:    2(2.802597e-45), 112(1.569454e-43)8065; EG-NEXT:     LSHR T34.X, PV.W, literal.x,8066; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8067; EG-NEXT:    2(2.802597e-45), 128(1.793662e-43)8068; EG-NEXT:     LSHR T35.X, PV.W, literal.x,8069; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8070; EG-NEXT:    2(2.802597e-45), 144(2.017870e-43)8071; EG-NEXT:     LSHR T36.X, PV.W, literal.x,8072; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8073; EG-NEXT:    2(2.802597e-45), 160(2.242078e-43)8074; EG-NEXT:     LSHR T37.X, PV.W, literal.x,8075; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8076; EG-NEXT:    2(2.802597e-45), 176(2.466285e-43)8077; EG-NEXT:     LSHR T38.X, PV.W, literal.x,8078; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8079; EG-NEXT:    2(2.802597e-45), 192(2.690493e-43)8080; EG-NEXT:     LSHR T39.X, PV.W, literal.x,8081; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8082; EG-NEXT:    2(2.802597e-45), 208(2.914701e-43)8083; EG-NEXT:     LSHR T40.X, PV.W, literal.x,8084; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8085; EG-NEXT:    2(2.802597e-45), 224(3.138909e-43)8086; EG-NEXT:     LSHR T41.X, PV.W, literal.x,8087; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8088; EG-NEXT:    2(2.802597e-45), 240(3.363116e-43)8089; EG-NEXT:     LSHR * T42.X, PV.W, literal.x,8090; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)8091;8092; GFX12-LABEL: constant_zextload_v32i8_to_v32i64:8093; GFX12:       ; %bb.0:8094; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x248095; GFX12-NEXT:    s_wait_kmcnt 0x08096; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x08097; GFX12-NEXT:    s_wait_kmcnt 0x08098; GFX12-NEXT:    s_bfe_u32 s10, s7, 0x800108099; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_3) | instid1(VALU_DEP_1)8100; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s108101; GFX12-NEXT:    s_lshr_b32 s11, s7, 248102; GFX12-NEXT:    s_lshr_b32 s10, s5, 248103; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8104; GFX12-NEXT:    v_dual_mov_b32 v2, s11 :: v_dual_mov_b32 v3, v18105; GFX12-NEXT:    s_bfe_u32 s11, s5, 0x800108106; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:2408107; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8108; GFX12-NEXT:    v_mov_b32_e32 v0, s118109; GFX12-NEXT:    v_mov_b32_e32 v2, s108110; GFX12-NEXT:    s_lshr_b32 s10, s3, 248111; GFX12-NEXT:    s_bfe_u32 s11, s3, 0x800108112; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:1768113; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8114; GFX12-NEXT:    v_mov_b32_e32 v0, s118115; GFX12-NEXT:    v_mov_b32_e32 v2, s108116; GFX12-NEXT:    s_lshr_b32 s10, s1, 248117; GFX12-NEXT:    s_bfe_u32 s11, s1, 0x800108118; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:1128119; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8120; GFX12-NEXT:    v_mov_b32_e32 v0, s118121; GFX12-NEXT:    v_mov_b32_e32 v2, s108122; GFX12-NEXT:    s_bfe_u32 s10, s7, 0x800088123; GFX12-NEXT:    s_and_b32 s7, s7, 0xff8124; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:488125; GFX12-NEXT:    v_mov_b32_e32 v0, s78126; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8127; GFX12-NEXT:    v_mov_b32_e32 v2, s108128; GFX12-NEXT:    s_lshr_b32 s7, s6, 248129; GFX12-NEXT:    s_bfe_u32 s10, s6, 0x800108130; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:2248131; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8132; GFX12-NEXT:    v_mov_b32_e32 v0, s108133; GFX12-NEXT:    v_mov_b32_e32 v2, s78134; GFX12-NEXT:    s_bfe_u32 s7, s6, 0x800088135; GFX12-NEXT:    s_and_b32 s6, s6, 0xff8136; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:2088137; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8138; GFX12-NEXT:    v_mov_b32_e32 v0, s68139; GFX12-NEXT:    v_mov_b32_e32 v2, s78140; GFX12-NEXT:    s_bfe_u32 s6, s5, 0x800088141; GFX12-NEXT:    s_and_b32 s5, s5, 0xff8142; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:1928143; GFX12-NEXT:    v_mov_b32_e32 v0, s58144; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8145; GFX12-NEXT:    v_mov_b32_e32 v2, s68146; GFX12-NEXT:    s_lshr_b32 s5, s4, 248147; GFX12-NEXT:    s_bfe_u32 s6, s4, 0x800108148; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:1608149; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8150; GFX12-NEXT:    v_mov_b32_e32 v0, s68151; GFX12-NEXT:    v_mov_b32_e32 v2, s58152; GFX12-NEXT:    s_bfe_u32 s5, s4, 0x800088153; GFX12-NEXT:    s_and_b32 s4, s4, 0xff8154; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:1448155; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8156; GFX12-NEXT:    v_mov_b32_e32 v0, s48157; GFX12-NEXT:    v_mov_b32_e32 v2, s58158; GFX12-NEXT:    s_bfe_u32 s4, s3, 0x800088159; GFX12-NEXT:    s_and_b32 s3, s3, 0xff8160; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:1288161; GFX12-NEXT:    v_mov_b32_e32 v0, s38162; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8163; GFX12-NEXT:    v_mov_b32_e32 v2, s48164; GFX12-NEXT:    s_lshr_b32 s3, s2, 248165; GFX12-NEXT:    s_bfe_u32 s4, s2, 0x800108166; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:968167; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8168; GFX12-NEXT:    v_mov_b32_e32 v0, s48169; GFX12-NEXT:    v_mov_b32_e32 v2, s38170; GFX12-NEXT:    s_bfe_u32 s3, s2, 0x800088171; GFX12-NEXT:    s_and_b32 s2, s2, 0xff8172; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:808173; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8174; GFX12-NEXT:    v_mov_b32_e32 v0, s28175; GFX12-NEXT:    v_mov_b32_e32 v2, s38176; GFX12-NEXT:    s_bfe_u32 s2, s1, 0x800088177; GFX12-NEXT:    s_and_b32 s1, s1, 0xff8178; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:648179; GFX12-NEXT:    v_mov_b32_e32 v0, s18180; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8181; GFX12-NEXT:    v_mov_b32_e32 v2, s28182; GFX12-NEXT:    s_lshr_b32 s1, s0, 248183; GFX12-NEXT:    s_bfe_u32 s2, s0, 0x800108184; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:328185; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8186; GFX12-NEXT:    v_mov_b32_e32 v0, s28187; GFX12-NEXT:    v_mov_b32_e32 v2, s18188; GFX12-NEXT:    s_bfe_u32 s1, s0, 0x800088189; GFX12-NEXT:    s_and_b32 s0, s0, 0xff8190; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:168191; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)8192; GFX12-NEXT:    v_mov_b32_e32 v0, s08193; GFX12-NEXT:    v_mov_b32_e32 v2, s18194; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9]8195; GFX12-NEXT:    s_endpgm8196  %load = load <32 x i8>, ptr addrspace(4) %in8197  %ext = zext <32 x i8> %load to <32 x i64>8198  store <32 x i64> %ext, ptr addrspace(1) %out8199  ret void8200}8201 8202define amdgpu_kernel void @constant_sextload_v32i8_to_v32i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {8203; GFX6-NOHSA-LABEL: constant_sextload_v32i8_to_v32i64:8204; GFX6-NOHSA:       ; %bb.0:8205; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x98206; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)8207; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x08208; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)8209; GFX6-NOHSA-NEXT:    s_lshr_b32 s28, s6, 168210; GFX6-NOHSA-NEXT:    s_lshr_b32 s30, s6, 248211; GFX6-NOHSA-NEXT:    s_lshr_b32 s20, s6, 88212; GFX6-NOHSA-NEXT:    s_lshr_b32 s26, s4, 168213; GFX6-NOHSA-NEXT:    s_lshr_b32 s22, s4, 248214; GFX6-NOHSA-NEXT:    s_lshr_b32 s24, s4, 88215; GFX6-NOHSA-NEXT:    s_lshr_b32 s10, s2, 168216; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s2, 248217; GFX6-NOHSA-NEXT:    s_lshr_b32 s14, s2, 88218; GFX6-NOHSA-NEXT:    s_lshr_b32 s16, s0, 168219; GFX6-NOHSA-NEXT:    s_lshr_b32 s18, s0, 248220; GFX6-NOHSA-NEXT:    s_mov_b32 s34, s78221; GFX6-NOHSA-NEXT:    s_ashr_i32 s11, s1, 318222; GFX6-NOHSA-NEXT:    s_ashr_i32 s13, s1, 248223; GFX6-NOHSA-NEXT:    s_ashr_i32 s15, s3, 318224; GFX6-NOHSA-NEXT:    s_ashr_i32 s17, s3, 248225; GFX6-NOHSA-NEXT:    s_ashr_i32 s33, s5, 318226; GFX6-NOHSA-NEXT:    s_ashr_i32 s49, s5, 248227; GFX6-NOHSA-NEXT:    s_bfe_i64 s[38:39], s[34:35], 0x800008228; GFX6-NOHSA-NEXT:    s_ashr_i32 s19, s7, 318229; GFX6-NOHSA-NEXT:    s_ashr_i32 s21, s7, 248230; GFX6-NOHSA-NEXT:    s_bfe_i64 s[52:53], s[30:31], 0x800008231; GFX6-NOHSA-NEXT:    s_bfe_i64 s[54:55], s[28:29], 0x800008232; GFX6-NOHSA-NEXT:    s_lshr_b32 s28, s0, 88233; GFX6-NOHSA-NEXT:    s_lshr_b32 s30, s7, 168234; GFX6-NOHSA-NEXT:    s_lshr_b32 s34, s7, 88235; GFX6-NOHSA-NEXT:    s_lshr_b32 s36, s5, 168236; GFX6-NOHSA-NEXT:    s_lshr_b32 s40, s5, 88237; GFX6-NOHSA-NEXT:    s_mov_b32 s46, s58238; GFX6-NOHSA-NEXT:    s_lshr_b32 s42, s3, 168239; GFX6-NOHSA-NEXT:    s_lshr_b32 s44, s3, 88240; GFX6-NOHSA-NEXT:    s_mov_b32 s50, s38241; GFX6-NOHSA-NEXT:    s_lshr_b32 s48, s1, 168242; GFX6-NOHSA-NEXT:    s_bfe_i64 s[56:57], s[0:1], 0x800008243; GFX6-NOHSA-NEXT:    s_bfe_i64 s[2:3], s[2:3], 0x800008244; GFX6-NOHSA-NEXT:    s_bfe_i64 s[58:59], s[4:5], 0x800008245; GFX6-NOHSA-NEXT:    s_bfe_i64 s[60:61], s[6:7], 0x800008246; GFX6-NOHSA-NEXT:    s_lshr_b32 s4, s1, 88247; GFX6-NOHSA-NEXT:    s_mov_b32 s6, s18248; GFX6-NOHSA-NEXT:    s_mov_b32 s0, s88249; GFX6-NOHSA-NEXT:    s_mov_b32 s1, s98250; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s608251; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s618252; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s588253; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s598254; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s28255; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s38256; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s568257; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s578258; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v16, s388259; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v17, s398260; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s548261; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s558262; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v20, s528263; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v21, s538264; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v22, s218265; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v23, s198266; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0008267; GFX6-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[26:27], 0x800008268; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -18269; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v24, s88270; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[18:21], off, s[0:3], 0 offset:2088271; GFX6-NOHSA-NEXT:    s_bfe_i64 s[24:25], s[24:25], 0x800008272; GFX6-NOHSA-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800008273; GFX6-NOHSA-NEXT:    s_bfe_i64 s[22:23], s[22:23], 0x800008274; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s208275; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s218276; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v25, s98277; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1928278; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v26, s228279; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v27, s238280; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s248281; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s258282; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[24:27], off, s[0:3], 0 offset:1448283; GFX6-NOHSA-NEXT:    s_bfe_i64 s[20:21], s[6:7], 0x800008284; GFX6-NOHSA-NEXT:    s_bfe_i64 s[22:23], s[50:51], 0x800008285; GFX6-NOHSA-NEXT:    s_bfe_i64 s[24:25], s[46:47], 0x800008286; GFX6-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[4:5], 0x800008287; GFX6-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[48:49], 0x800008288; GFX6-NOHSA-NEXT:    s_bfe_i64 s[8:9], s[44:45], 0x800008289; GFX6-NOHSA-NEXT:    s_bfe_i64 s[26:27], s[42:43], 0x800008290; GFX6-NOHSA-NEXT:    s_bfe_i64 s[38:39], s[40:41], 0x800008291; GFX6-NOHSA-NEXT:    s_bfe_i64 s[36:37], s[36:37], 0x800008292; GFX6-NOHSA-NEXT:    s_bfe_i64 s[34:35], s[34:35], 0x800008293; GFX6-NOHSA-NEXT:    s_bfe_i64 s[30:31], s[30:31], 0x800008294; GFX6-NOHSA-NEXT:    s_bfe_i64 s[28:29], s[28:29], 0x800008295; GFX6-NOHSA-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800008296; GFX6-NOHSA-NEXT:    s_bfe_i64 s[40:41], s[16:17], 0x800008297; GFX6-NOHSA-NEXT:    s_bfe_i64 s[42:43], s[14:15], 0x800008298; GFX6-NOHSA-NEXT:    s_bfe_i64 s[44:45], s[12:13], 0x800008299; GFX6-NOHSA-NEXT:    s_bfe_i64 s[46:47], s[10:11], 0x800008300; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 0 offset:1288301; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(2)8302; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s468303; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s478304; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s448305; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s458306; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:808307; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)8308; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s498309; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s338310; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s428311; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s438312; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[0:3], 0 offset:648313; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s408314; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s418315; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s188316; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s198317; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 0 offset:168318; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)8319; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s248320; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s258321; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s288322; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s298323; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[0:3], 08324; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s178325; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s158326; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v20, s308327; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v21, s318328; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[20:23], off, s[0:3], 0 offset:2408329; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s228330; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s238331; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s348332; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s358333; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[16:19], off, s[0:3], 0 offset:2248334; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(2)8335; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s138336; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s118337; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s368338; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s378339; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1768340; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)8341; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s208342; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s218343; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s388344; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s398345; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 0 offset:1608346; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)8347; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s268348; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s278349; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[6:9], off, s[0:3], 0 offset:1128350; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s88351; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s98352; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[10:13], off, s[0:3], 0 offset:968353; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)8354; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s68355; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s78356; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[0:3], 0 offset:488357; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s48358; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s58359; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:328360; GFX6-NOHSA-NEXT:    s_endpgm8361;8362; GFX7-HSA-LABEL: constant_sextload_v32i8_to_v32i64:8363; GFX7-HSA:       ; %bb.0:8364; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x08365; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s178366; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 88367; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s138368; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)8369; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x08370; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)8371; GFX7-HSA-NEXT:    s_lshr_b32 s12, s6, 168372; GFX7-HSA-NEXT:    s_lshr_b32 s10, s6, 248373; GFX7-HSA-NEXT:    s_ashr_i32 s33, s1, 318374; GFX7-HSA-NEXT:    s_ashr_i32 s37, s1, 248375; GFX7-HSA-NEXT:    s_lshr_b32 s34, s0, 168376; GFX7-HSA-NEXT:    s_lshr_b32 s30, s0, 248377; GFX7-HSA-NEXT:    s_lshr_b32 s28, s0, 88378; GFX7-HSA-NEXT:    s_lshr_b32 s64, s1, 168379; GFX7-HSA-NEXT:    s_lshr_b32 s66, s1, 88380; GFX7-HSA-NEXT:    s_mov_b32 s68, s18381; GFX7-HSA-NEXT:    s_bfe_i64 s[22:23], s[0:1], 0x800008382; GFX7-HSA-NEXT:    s_bfe_i64 s[0:1], s[12:13], 0x800008383; GFX7-HSA-NEXT:    s_lshr_b32 s36, s6, 88384; GFX7-HSA-NEXT:    s_lshr_b32 s40, s4, 168385; GFX7-HSA-NEXT:    s_ashr_i32 s41, s3, 318386; GFX7-HSA-NEXT:    s_lshr_b32 s50, s4, 248387; GFX7-HSA-NEXT:    s_lshr_b32 s52, s4, 88388; GFX7-HSA-NEXT:    s_lshr_b32 s54, s2, 168389; GFX7-HSA-NEXT:    s_lshr_b32 s56, s2, 248390; GFX7-HSA-NEXT:    s_lshr_b32 s42, s2, 88391; GFX7-HSA-NEXT:    s_lshr_b32 s26, s7, 168392; GFX7-HSA-NEXT:    s_lshr_b32 s20, s7, 88393; GFX7-HSA-NEXT:    s_mov_b32 s24, s78394; GFX7-HSA-NEXT:    s_lshr_b32 s18, s5, 168395; GFX7-HSA-NEXT:    s_lshr_b32 s14, s5, 88396; GFX7-HSA-NEXT:    s_mov_b32 s16, s58397; GFX7-HSA-NEXT:    s_lshr_b32 s58, s3, 168398; GFX7-HSA-NEXT:    s_lshr_b32 s60, s3, 88399; GFX7-HSA-NEXT:    s_mov_b32 s62, s38400; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s08401; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s18402; GFX7-HSA-NEXT:    s_bfe_i64 s[0:1], s[10:11], 0x800008403; GFX7-HSA-NEXT:    s_ashr_i32 s44, s3, 248404; GFX7-HSA-NEXT:    s_ashr_i32 s45, s5, 318405; GFX7-HSA-NEXT:    s_ashr_i32 s46, s5, 248406; GFX7-HSA-NEXT:    s_ashr_i32 s47, s7, 318407; GFX7-HSA-NEXT:    s_ashr_i32 s48, s7, 248408; GFX7-HSA-NEXT:    s_bfe_i64 s[38:39], s[2:3], 0x800008409; GFX7-HSA-NEXT:    s_bfe_i64 s[70:71], s[4:5], 0x800008410; GFX7-HSA-NEXT:    s_bfe_i64 s[72:73], s[6:7], 0x800008411; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s08412; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s18413; GFX7-HSA-NEXT:    s_bfe_i64 s[2:3], s[68:69], 0x800008414; GFX7-HSA-NEXT:    s_bfe_i64 s[0:1], s[66:67], 0x800008415; GFX7-HSA-NEXT:    s_bfe_i64 s[4:5], s[64:65], 0x800008416; GFX7-HSA-NEXT:    s_bfe_i64 s[10:11], s[62:63], 0x800008417; GFX7-HSA-NEXT:    s_bfe_i64 s[6:7], s[60:61], 0x800008418; GFX7-HSA-NEXT:    s_bfe_i64 s[12:13], s[58:59], 0x800008419; GFX7-HSA-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800008420; GFX7-HSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800008421; GFX7-HSA-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800008422; GFX7-HSA-NEXT:    s_bfe_i64 s[24:25], s[24:25], 0x800008423; GFX7-HSA-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800008424; GFX7-HSA-NEXT:    s_bfe_i64 s[26:27], s[26:27], 0x800008425; GFX7-HSA-NEXT:    s_bfe_i64 s[28:29], s[28:29], 0x800008426; GFX7-HSA-NEXT:    s_bfe_i64 s[30:31], s[30:31], 0x800008427; GFX7-HSA-NEXT:    s_bfe_i64 s[34:35], s[34:35], 0x800008428; GFX7-HSA-NEXT:    s_bfe_i64 s[42:43], s[42:43], 0x800008429; GFX7-HSA-NEXT:    s_bfe_i64 s[56:57], s[56:57], 0x800008430; GFX7-HSA-NEXT:    s_bfe_i64 s[54:55], s[54:55], 0x800008431; GFX7-HSA-NEXT:    s_bfe_i64 s[52:53], s[52:53], 0x800008432; GFX7-HSA-NEXT:    s_bfe_i64 s[50:51], s[50:51], 0x800008433; GFX7-HSA-NEXT:    s_bfe_i64 s[58:59], s[40:41], 0x800008434; GFX7-HSA-NEXT:    s_bfe_i64 s[60:61], s[36:37], 0x800008435; GFX7-HSA-NEXT:    s_add_u32 s62, s8, 0xd08436; GFX7-HSA-NEXT:    s_addc_u32 s63, s9, 08437; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s608438; GFX7-HSA-NEXT:    s_add_u32 s60, s8, 0xc08439; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s618440; GFX7-HSA-NEXT:    s_addc_u32 s61, s9, 08441; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s508442; GFX7-HSA-NEXT:    s_add_u32 s50, s8, 0x908443; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s518444; GFX7-HSA-NEXT:    s_addc_u32 s51, s9, 08445; GFX7-HSA-NEXT:    v_mov_b32_e32 v26, s508446; GFX7-HSA-NEXT:    v_mov_b32_e32 v27, s518447; GFX7-HSA-NEXT:    s_add_u32 s50, s8, 0x808448; GFX7-HSA-NEXT:    s_addc_u32 s51, s9, 08449; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s628450; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s388451; GFX7-HSA-NEXT:    s_add_u32 s38, s8, 0x508452; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s638453; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s398454; GFX7-HSA-NEXT:    s_addc_u32 s39, s9, 08455; GFX7-HSA-NEXT:    v_mov_b32_e32 v24, s608456; GFX7-HSA-NEXT:    flat_store_dwordx4 v[22:23], v[0:3]8457; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s728458; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s348459; GFX7-HSA-NEXT:    s_add_u32 s34, s8, 648460; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s738461; GFX7-HSA-NEXT:    v_mov_b32_e32 v25, s618462; GFX7-HSA-NEXT:    v_mov_b32_e32 v30, s388463; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s358464; GFX7-HSA-NEXT:    s_addc_u32 s35, s9, 08465; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s588466; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s598467; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s548468; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s558469; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s568470; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s578471; GFX7-HSA-NEXT:    v_mov_b32_e32 v31, s398472; GFX7-HSA-NEXT:    flat_store_dwordx4 v[24:25], v[4:7]8473; GFX7-HSA-NEXT:    flat_store_dwordx4 v[26:27], v[8:11]8474; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s228475; GFX7-HSA-NEXT:    s_add_u32 s22, s8, 168476; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s238477; GFX7-HSA-NEXT:    s_addc_u32 s23, s9, 08478; GFX7-HSA-NEXT:    flat_store_dwordx4 v[30:31], v[16:19]8479; GFX7-HSA-NEXT:    v_mov_b32_e32 v24, s348480; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s228481; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s238482; GFX7-HSA-NEXT:    s_add_u32 s22, s8, 0xf08483; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s308484; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s318485; GFX7-HSA-NEXT:    s_addc_u32 s23, s9, 08486; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s228487; GFX7-HSA-NEXT:    v_mov_b32_e32 v28, s508488; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s428489; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s438490; GFX7-HSA-NEXT:    v_mov_b32_e32 v25, s358491; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s238492; GFX7-HSA-NEXT:    s_add_u32 s22, s8, 0xe08493; GFX7-HSA-NEXT:    flat_store_dwordx4 v[16:17], v[0:3]8494; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s708495; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s88496; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s718497; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s528498; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s538499; GFX7-HSA-NEXT:    v_mov_b32_e32 v29, s518500; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s288501; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s298502; GFX7-HSA-NEXT:    flat_store_dwordx4 v[24:25], v[20:23]8503; GFX7-HSA-NEXT:    s_addc_u32 s23, s9, 08504; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s228505; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s98506; GFX7-HSA-NEXT:    flat_store_dwordx4 v[28:29], v[12:15]8507; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s268508; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s278509; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s488510; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s478511; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s248512; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s258513; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s238514; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s208515; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s218516; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]8517; GFX7-HSA-NEXT:    flat_store_dwordx4 v[18:19], v[8:11]8518; GFX7-HSA-NEXT:    flat_store_dwordx4 v[20:21], v[12:15]8519; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s188520; GFX7-HSA-NEXT:    s_add_u32 s18, s8, 0xb08521; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s198522; GFX7-HSA-NEXT:    s_addc_u32 s19, s9, 08523; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s188524; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s468525; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s458526; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s198527; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8528; GFX7-HSA-NEXT:    s_nop 08529; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s148530; GFX7-HSA-NEXT:    s_add_u32 s14, s8, 0xa08531; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s158532; GFX7-HSA-NEXT:    s_addc_u32 s15, s9, 08533; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s148534; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s168535; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s178536; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s158537; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8538; GFX7-HSA-NEXT:    s_nop 08539; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s128540; GFX7-HSA-NEXT:    s_add_u32 s12, s8, 0x708541; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s138542; GFX7-HSA-NEXT:    s_addc_u32 s13, s9, 08543; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s128544; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s448545; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s418546; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s138547; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8548; GFX7-HSA-NEXT:    s_nop 08549; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s68550; GFX7-HSA-NEXT:    s_add_u32 s6, s8, 0x608551; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s78552; GFX7-HSA-NEXT:    s_addc_u32 s7, s9, 08553; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s68554; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s108555; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s118556; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s78557; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8558; GFX7-HSA-NEXT:    s_nop 08559; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s48560; GFX7-HSA-NEXT:    s_add_u32 s4, s8, 488561; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s58562; GFX7-HSA-NEXT:    s_addc_u32 s5, s9, 08563; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s48564; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s378565; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s338566; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s58567; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8568; GFX7-HSA-NEXT:    s_nop 08569; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s08570; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 328571; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s18572; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 08573; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s18574; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s28575; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s38576; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s08577; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8578; GFX7-HSA-NEXT:    s_endpgm8579;8580; GFX8-NOHSA-LABEL: constant_sextload_v32i8_to_v32i64:8581; GFX8-NOHSA:       ; %bb.0:8582; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x248583; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)8584; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x08585; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)8586; GFX8-NOHSA-NEXT:    s_lshr_b32 s46, s6, 168587; GFX8-NOHSA-NEXT:    s_lshr_b32 s48, s6, 248588; GFX8-NOHSA-NEXT:    s_lshr_b32 s50, s6, 88589; GFX8-NOHSA-NEXT:    s_lshr_b32 s52, s4, 168590; GFX8-NOHSA-NEXT:    s_lshr_b32 s54, s4, 248591; GFX8-NOHSA-NEXT:    s_lshr_b32 s56, s4, 88592; GFX8-NOHSA-NEXT:    s_lshr_b32 s58, s2, 168593; GFX8-NOHSA-NEXT:    s_lshr_b32 s60, s2, 248594; GFX8-NOHSA-NEXT:    s_lshr_b32 s40, s2, 88595; GFX8-NOHSA-NEXT:    s_lshr_b32 s36, s0, 168596; GFX8-NOHSA-NEXT:    s_lshr_b32 s34, s0, 248597; GFX8-NOHSA-NEXT:    s_lshr_b32 s28, s0, 88598; GFX8-NOHSA-NEXT:    s_lshr_b32 s62, s7, 168599; GFX8-NOHSA-NEXT:    s_lshr_b32 s24, s7, 88600; GFX8-NOHSA-NEXT:    s_mov_b32 s22, s78601; GFX8-NOHSA-NEXT:    s_lshr_b32 s64, s5, 168602; GFX8-NOHSA-NEXT:    s_lshr_b32 s20, s5, 88603; GFX8-NOHSA-NEXT:    s_mov_b32 s18, s58604; GFX8-NOHSA-NEXT:    s_lshr_b32 s66, s3, 168605; GFX8-NOHSA-NEXT:    s_lshr_b32 s16, s3, 88606; GFX8-NOHSA-NEXT:    s_mov_b32 s14, s38607; GFX8-NOHSA-NEXT:    s_lshr_b32 s44, s1, 168608; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s1, 88609; GFX8-NOHSA-NEXT:    s_mov_b32 s10, s18610; GFX8-NOHSA-NEXT:    s_ashr_i32 s63, s5, 248611; GFX8-NOHSA-NEXT:    s_bfe_i64 s[26:27], s[0:1], 0x800008612; GFX8-NOHSA-NEXT:    s_bfe_i64 s[30:31], s[2:3], 0x800008613; GFX8-NOHSA-NEXT:    s_bfe_i64 s[38:39], s[4:5], 0x800008614; GFX8-NOHSA-NEXT:    s_bfe_i64 s[68:69], s[6:7], 0x800008615; GFX8-NOHSA-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800008616; GFX8-NOHSA-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800008617; GFX8-NOHSA-NEXT:    s_ashr_i32 s33, s1, 318618; GFX8-NOHSA-NEXT:    s_ashr_i32 s42, s1, 248619; GFX8-NOHSA-NEXT:    s_bfe_i64 s[0:1], s[44:45], 0x800008620; GFX8-NOHSA-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800008621; GFX8-NOHSA-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800008622; GFX8-NOHSA-NEXT:    s_ashr_i32 s43, s3, 318623; GFX8-NOHSA-NEXT:    s_ashr_i32 s44, s3, 248624; GFX8-NOHSA-NEXT:    s_bfe_i64 s[2:3], s[66:67], 0x800008625; GFX8-NOHSA-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800008626; GFX8-NOHSA-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800008627; GFX8-NOHSA-NEXT:    s_ashr_i32 s45, s5, 318628; GFX8-NOHSA-NEXT:    s_bfe_i64 s[4:5], s[64:65], 0x800008629; GFX8-NOHSA-NEXT:    s_bfe_i64 s[22:23], s[22:23], 0x800008630; GFX8-NOHSA-NEXT:    s_bfe_i64 s[24:25], s[24:25], 0x800008631; GFX8-NOHSA-NEXT:    s_ashr_i32 s64, s7, 318632; GFX8-NOHSA-NEXT:    s_ashr_i32 s65, s7, 248633; GFX8-NOHSA-NEXT:    s_bfe_i64 s[6:7], s[62:63], 0x800008634; GFX8-NOHSA-NEXT:    s_bfe_i64 s[28:29], s[28:29], 0x800008635; GFX8-NOHSA-NEXT:    s_bfe_i64 s[34:35], s[34:35], 0x800008636; GFX8-NOHSA-NEXT:    s_bfe_i64 s[36:37], s[36:37], 0x800008637; GFX8-NOHSA-NEXT:    s_bfe_i64 s[40:41], s[40:41], 0x800008638; GFX8-NOHSA-NEXT:    s_bfe_i64 s[60:61], s[60:61], 0x800008639; GFX8-NOHSA-NEXT:    s_bfe_i64 s[58:59], s[58:59], 0x800008640; GFX8-NOHSA-NEXT:    s_bfe_i64 s[56:57], s[56:57], 0x800008641; GFX8-NOHSA-NEXT:    s_bfe_i64 s[54:55], s[54:55], 0x800008642; GFX8-NOHSA-NEXT:    s_bfe_i64 s[52:53], s[52:53], 0x800008643; GFX8-NOHSA-NEXT:    s_bfe_i64 s[50:51], s[50:51], 0x800008644; GFX8-NOHSA-NEXT:    s_bfe_i64 s[48:49], s[48:49], 0x800008645; GFX8-NOHSA-NEXT:    s_bfe_i64 s[46:47], s[46:47], 0x800008646; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s468647; GFX8-NOHSA-NEXT:    s_add_u32 s46, s8, 0xd08648; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s478649; GFX8-NOHSA-NEXT:    s_addc_u32 s47, s9, 08650; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s468651; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s488652; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s498653; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s478654; GFX8-NOHSA-NEXT:    s_add_u32 s46, s8, 0xc08655; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8656; GFX8-NOHSA-NEXT:    s_addc_u32 s47, s9, 08657; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s468658; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s688659; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s698660; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s508661; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s518662; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s478663; GFX8-NOHSA-NEXT:    s_add_u32 s46, s8, 0x908664; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8665; GFX8-NOHSA-NEXT:    s_addc_u32 s47, s9, 08666; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s468667; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s528668; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s538669; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s548670; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s558671; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s478672; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8673; GFX8-NOHSA-NEXT:    s_nop 08674; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s388675; GFX8-NOHSA-NEXT:    s_add_u32 s38, s8, 0x808676; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s398677; GFX8-NOHSA-NEXT:    s_addc_u32 s39, s9, 08678; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s388679; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s568680; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s578681; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s398682; GFX8-NOHSA-NEXT:    s_add_u32 s38, s8, 0x508683; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8684; GFX8-NOHSA-NEXT:    s_addc_u32 s39, s9, 08685; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s388686; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s588687; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s598688; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s608689; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s618690; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s398691; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8692; GFX8-NOHSA-NEXT:    s_nop 08693; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s308694; GFX8-NOHSA-NEXT:    s_add_u32 s30, s8, 648695; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s318696; GFX8-NOHSA-NEXT:    s_addc_u32 s31, s9, 08697; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s308698; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s408699; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s418700; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s318701; GFX8-NOHSA-NEXT:    s_add_u32 s30, s8, 168702; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8703; GFX8-NOHSA-NEXT:    s_addc_u32 s31, s9, 08704; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s308705; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s368706; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s378707; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s348708; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s358709; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s318710; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8711; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s88712; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s268713; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s278714; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s288715; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s298716; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s98717; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8718; GFX8-NOHSA-NEXT:    s_nop 08719; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s68720; GFX8-NOHSA-NEXT:    s_add_u32 s6, s8, 0xf08721; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s78722; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s9, 08723; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s68724; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s658725; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s648726; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s78727; GFX8-NOHSA-NEXT:    s_add_u32 s6, s8, 0xe08728; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8729; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s9, 08730; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s68731; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s228732; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s238733; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s248734; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s258735; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s78736; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8737; GFX8-NOHSA-NEXT:    s_nop 08738; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s48739; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 0xb08740; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s58741; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 08742; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s48743; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s638744; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s458745; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s58746; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 0xa08747; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8748; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 08749; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s48750; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s188751; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s198752; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s208753; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s218754; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s58755; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8756; GFX8-NOHSA-NEXT:    s_nop 08757; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s28758; GFX8-NOHSA-NEXT:    s_add_u32 s2, s8, 0x708759; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s38760; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s9, 08761; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s38762; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s28763; GFX8-NOHSA-NEXT:    s_add_u32 s2, s8, 0x608764; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s448765; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s438766; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s9, 08767; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8768; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s38769; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s148770; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s158771; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s168772; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s178773; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s28774; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8775; GFX8-NOHSA-NEXT:    s_nop 08776; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s08777; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 488778; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s18779; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 08780; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s18781; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s08782; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 328783; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s428784; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s338785; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 08786; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8787; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s18788; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s108789; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s118790; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s128791; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s138792; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s08793; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]8794; GFX8-NOHSA-NEXT:    s_endpgm8795;8796; EG-LABEL: constant_sextload_v32i8_to_v32i64:8797; EG:       ; %bb.0:8798; EG-NEXT:    ALU 0, @26, KC0[CB0:0-32], KC1[]8799; EG-NEXT:    TEX 1 @228800; EG-NEXT:    ALU 84, @27, KC0[CB0:0-32], KC1[]8801; EG-NEXT:    ALU 71, @112, KC0[], KC1[]8802; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T41.XYZW, T42.X, 08803; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T26.XYZW, T31.X, 08804; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T40.XYZW, T30.X, 08805; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T25.X, 08806; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T39.XYZW, T24.X, 08807; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T27.XYZW, T23.X, 08808; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T22.X, 08809; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T28.XYZW, T21.X, 08810; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T37.XYZW, T20.X, 08811; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T29.XYZW, T19.X, 08812; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T35.XYZW, T18.X, 08813; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T33.XYZW, T17.X, 08814; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T34.XYZW, T16.X, 08815; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T38.XYZW, T15.X, 08816; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T32.XYZW, T14.X, 08817; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T36.XYZW, T13.X, 18818; EG-NEXT:    CF_END8819; EG-NEXT:    PAD8820; EG-NEXT:    Fetch clause starting at 22:8821; EG-NEXT:     VTX_READ_128 T12.XYZW, T11.X, 0, #18822; EG-NEXT:     VTX_READ_128 T11.XYZW, T11.X, 16, #18823; EG-NEXT:    ALU clause starting at 26:8824; EG-NEXT:     MOV * T11.X, KC0[2].Z,8825; EG-NEXT:    ALU clause starting at 27:8826; EG-NEXT:     LSHR T13.X, KC0[2].Y, literal.x,8827; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8828; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)8829; EG-NEXT:     LSHR T14.X, PV.W, literal.x,8830; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8831; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)8832; EG-NEXT:     LSHR T15.X, PV.W, literal.x,8833; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8834; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)8835; EG-NEXT:     LSHR T16.X, PV.W, literal.x,8836; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8837; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)8838; EG-NEXT:     LSHR T17.X, PV.W, literal.x,8839; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8840; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)8841; EG-NEXT:     LSHR T18.X, PV.W, literal.x,8842; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8843; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)8844; EG-NEXT:     LSHR T19.X, PV.W, literal.x,8845; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8846; EG-NEXT:    2(2.802597e-45), 112(1.569454e-43)8847; EG-NEXT:     LSHR T20.X, PV.W, literal.x,8848; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8849; EG-NEXT:    2(2.802597e-45), 128(1.793662e-43)8850; EG-NEXT:     LSHR T21.X, PV.W, literal.x,8851; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8852; EG-NEXT:    2(2.802597e-45), 144(2.017870e-43)8853; EG-NEXT:     LSHR T22.X, PV.W, literal.x,8854; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8855; EG-NEXT:    2(2.802597e-45), 160(2.242078e-43)8856; EG-NEXT:     LSHR T23.X, PV.W, literal.x,8857; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8858; EG-NEXT:    2(2.802597e-45), 176(2.466285e-43)8859; EG-NEXT:     LSHR T24.X, PV.W, literal.x,8860; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,8861; EG-NEXT:    2(2.802597e-45), 192(2.690493e-43)8862; EG-NEXT:     LSHR * T25.X, PV.W, literal.x,8863; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)8864; EG-NEXT:     BFE_INT * T26.X, T11.W, 0.0, literal.x,8865; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8866; EG-NEXT:     BFE_INT T27.X, T11.Y, 0.0, literal.x,8867; EG-NEXT:     ASHR T26.Y, PV.X, literal.y,8868; EG-NEXT:     LSHR * T0.W, T11.W, literal.x,8869; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8870; EG-NEXT:     BFE_INT T28.X, T11.X, 0.0, literal.x,8871; EG-NEXT:     ASHR T27.Y, PV.X, literal.y,8872; EG-NEXT:     BFE_INT T26.Z, PV.W, 0.0, literal.x,8873; EG-NEXT:     LSHR * T0.W, T11.Y, literal.x,8874; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8875; EG-NEXT:     BFE_INT T29.X, T12.W, 0.0, literal.x,8876; EG-NEXT:     ASHR T28.Y, PV.X, literal.y,8877; EG-NEXT:     BFE_INT T27.Z, PV.W, 0.0, literal.x,8878; EG-NEXT:     LSHR T0.W, T11.X, literal.x,8879; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.z,8880; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8881; EG-NEXT:    208(2.914701e-43), 0(0.000000e+00)8882; EG-NEXT:     LSHR T30.X, PS, literal.x,8883; EG-NEXT:     ASHR T29.Y, PV.X, literal.y,8884; EG-NEXT:     BFE_INT T28.Z, PV.W, 0.0, literal.z,8885; EG-NEXT:     LSHR T0.W, T12.W, literal.z,8886; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.w,8887; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)8888; EG-NEXT:    8(1.121039e-44), 224(3.138909e-43)8889; EG-NEXT:     LSHR T31.X, PS, literal.x,8890; EG-NEXT:     BFE_INT T29.Z, PV.W, 0.0, literal.y,8891; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.z,8892; EG-NEXT:     ASHR * T32.W, T12.X, literal.w,8893; EG-NEXT:    2(2.802597e-45), 8(1.121039e-44)8894; EG-NEXT:    240(3.363116e-43), 31(4.344025e-44)8895; EG-NEXT:     BFE_INT T33.X, T12.Z, 0.0, literal.x,8896; EG-NEXT:     LSHR T0.Y, T11.Z, literal.x, BS:VEC_120/SCL_2128897; EG-NEXT:     ASHR T32.Z, T12.X, literal.y,8898; EG-NEXT:     LSHR T1.W, T12.X, literal.z,8899; EG-NEXT:     ASHR * T34.W, T12.Y, literal.w,8900; EG-NEXT:    8(1.121039e-44), 24(3.363116e-44)8901; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8902; EG-NEXT:     BFE_INT T32.X, PV.W, 0.0, literal.x,8903; EG-NEXT:     ASHR T33.Y, PV.X, literal.y,8904; EG-NEXT:     ASHR T34.Z, T12.Y, literal.z,8905; EG-NEXT:     LSHR T1.W, T12.Z, literal.x,8906; EG-NEXT:     LSHR * T2.W, T12.Y, literal.w,8907; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8908; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)8909; EG-NEXT:     BFE_INT * T34.X, PS, 0.0, literal.x,8910; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8911; EG-NEXT:    ALU clause starting at 112:8912; EG-NEXT:     ASHR T32.Y, T32.X, literal.x,8913; EG-NEXT:     BFE_INT T33.Z, T1.W, 0.0, literal.y,8914; EG-NEXT:     LSHR T1.W, T11.W, literal.z, BS:VEC_120/SCL_2128915; EG-NEXT:     ASHR * T35.W, T12.Z, literal.x,8916; EG-NEXT:    31(4.344025e-44), 8(1.121039e-44)8917; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8918; EG-NEXT:     BFE_INT T36.X, T12.X, 0.0, literal.x,8919; EG-NEXT:     ASHR T34.Y, T34.X, literal.y, BS:VEC_120/SCL_2128920; EG-NEXT:     ASHR T35.Z, T12.Z, literal.z,8921; EG-NEXT:     LSHR T2.W, T12.Z, literal.w,8922; EG-NEXT:     ASHR * T37.W, T12.W, literal.y,8923; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8924; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)8925; EG-NEXT:     BFE_INT T35.X, PV.W, 0.0, literal.x,8926; EG-NEXT:     ASHR T36.Y, PV.X, literal.y,8927; EG-NEXT:     ASHR T37.Z, T12.W, literal.z,8928; EG-NEXT:     LSHR T2.W, T12.X, literal.x,8929; EG-NEXT:     LSHR * T3.W, T12.W, literal.w,8930; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8931; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)8932; EG-NEXT:     BFE_INT T37.X, PS, 0.0, literal.x,8933; EG-NEXT:     ASHR T35.Y, PV.X, literal.y,8934; EG-NEXT:     BFE_INT T36.Z, PV.W, 0.0, literal.x,8935; EG-NEXT:     LSHR T2.W, T11.Z, literal.z,8936; EG-NEXT:     ASHR * T12.W, T11.X, literal.y,8937; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8938; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8939; EG-NEXT:     BFE_INT T38.X, T12.Y, 0.0, literal.x,8940; EG-NEXT:     ASHR T37.Y, PV.X, literal.y,8941; EG-NEXT:     ASHR T12.Z, T11.X, literal.z,8942; EG-NEXT:     LSHR T3.W, T11.X, literal.w,8943; EG-NEXT:     ASHR * T39.W, T11.Y, literal.y,8944; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8945; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)8946; EG-NEXT:     BFE_INT T12.X, PV.W, 0.0, literal.x,8947; EG-NEXT:     ASHR T38.Y, PV.X, literal.y,8948; EG-NEXT:     ASHR T39.Z, T11.Y, literal.z,8949; EG-NEXT:     LSHR T3.W, T12.Y, literal.x, BS:VEC_120/SCL_2128950; EG-NEXT:     LSHR * T4.W, T11.Y, literal.w,8951; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8952; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)8953; EG-NEXT:     BFE_INT T39.X, PS, 0.0, literal.x,8954; EG-NEXT:     ASHR T12.Y, PV.X, literal.y,8955; EG-NEXT:     BFE_INT T38.Z, PV.W, 0.0, literal.x,8956; EG-NEXT:     ASHR T36.W, T36.Z, literal.y,8957; EG-NEXT:     ASHR * T40.W, T11.Z, literal.y,8958; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8959; EG-NEXT:     BFE_INT T11.X, T11.Z, 0.0, literal.x,8960; EG-NEXT:     ASHR T39.Y, PV.X, literal.y,8961; EG-NEXT:     ASHR T40.Z, T11.Z, literal.z,8962; EG-NEXT:     ASHR T38.W, PV.Z, literal.y,8963; EG-NEXT:     ASHR * T41.W, T11.W, literal.y,8964; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8965; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)8966; EG-NEXT:     BFE_INT T40.X, T2.W, 0.0, literal.x,8967; EG-NEXT:     ASHR T11.Y, PV.X, literal.y,8968; EG-NEXT:     ASHR T41.Z, T11.W, literal.z, BS:VEC_120/SCL_2128969; EG-NEXT:     ASHR T33.W, T33.Z, literal.y,8970; EG-NEXT:     ASHR * T29.W, T29.Z, literal.y,8971; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8972; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)8973; EG-NEXT:     BFE_INT T41.X, T1.W, 0.0, literal.x,8974; EG-NEXT:     ASHR T40.Y, PV.X, literal.y,8975; EG-NEXT:     BFE_INT T11.Z, T0.Y, 0.0, literal.x,8976; EG-NEXT:     ASHR T28.W, T28.Z, literal.y,8977; EG-NEXT:     ASHR * T27.W, T27.Z, literal.y,8978; EG-NEXT:    8(1.121039e-44), 31(4.344025e-44)8979; EG-NEXT:     LSHR T42.X, T0.W, literal.x,8980; EG-NEXT:     ASHR T41.Y, PV.X, literal.y,8981; EG-NEXT:     ASHR T11.W, PV.Z, literal.y,8982; EG-NEXT:     ASHR * T26.W, T26.Z, literal.y,8983; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)8984;8985; GFX12-LABEL: constant_sextload_v32i8_to_v32i64:8986; GFX12:       ; %bb.0:8987; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x248988; GFX12-NEXT:    s_wait_kmcnt 0x08989; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x08990; GFX12-NEXT:    s_wait_kmcnt 0x08991; GFX12-NEXT:    s_lshr_b32 s34, s6, 168992; GFX12-NEXT:    s_lshr_b32 s36, s6, 248993; GFX12-NEXT:    s_lshr_b32 s38, s6, 88994; GFX12-NEXT:    s_lshr_b32 s40, s4, 168995; GFX12-NEXT:    s_lshr_b32 s42, s4, 248996; GFX12-NEXT:    s_bfe_i64 s[34:35], s[34:35], 0x800008997; GFX12-NEXT:    s_bfe_i64 s[36:37], s[36:37], 0x800008998; GFX12-NEXT:    s_lshr_b32 s44, s4, 88999; GFX12-NEXT:    s_bfe_i64 s[66:67], s[6:7], 0x800009000; GFX12-NEXT:    s_bfe_i64 s[38:39], s[38:39], 0x800009001; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s359002; GFX12-NEXT:    s_bfe_i64 s[42:43], s[42:43], 0x800009003; GFX12-NEXT:    s_bfe_i64 s[40:41], s[40:41], 0x800009004; GFX12-NEXT:    v_dual_mov_b32 v0, s34 :: v_dual_mov_b32 v3, s379005; GFX12-NEXT:    v_dual_mov_b32 v2, s36 :: v_dual_mov_b32 v5, s679006; GFX12-NEXT:    s_lshr_b32 s28, s2, 169007; GFX12-NEXT:    s_lshr_b32 s46, s2, 249008; GFX12-NEXT:    s_bfe_i64 s[64:65], s[4:5], 0x800009009; GFX12-NEXT:    s_bfe_i64 s[44:45], s[44:45], 0x800009010; GFX12-NEXT:    v_dual_mov_b32 v4, s66 :: v_dual_mov_b32 v7, s399011; GFX12-NEXT:    v_dual_mov_b32 v6, s38 :: v_dual_mov_b32 v9, s419012; GFX12-NEXT:    s_lshr_b32 s48, s2, 89013; GFX12-NEXT:    v_dual_mov_b32 v8, s40 :: v_dual_mov_b32 v11, s439014; GFX12-NEXT:    v_dual_mov_b32 v10, s42 :: v_dual_mov_b32 v13, s659015; GFX12-NEXT:    s_lshr_b32 s50, s0, 169016; GFX12-NEXT:    s_lshr_b32 s52, s0, 249017; GFX12-NEXT:    s_bfe_i64 s[46:47], s[46:47], 0x800009018; GFX12-NEXT:    v_dual_mov_b32 v12, s64 :: v_dual_mov_b32 v15, s459019; GFX12-NEXT:    s_bfe_i64 s[28:29], s[28:29], 0x800009020; GFX12-NEXT:    v_mov_b32_e32 v14, s449021; GFX12-NEXT:    s_lshr_b32 s54, s0, 89022; GFX12-NEXT:    s_bfe_i64 s[30:31], s[2:3], 0x800009023; GFX12-NEXT:    s_bfe_i64 s[48:49], s[48:49], 0x800009024; GFX12-NEXT:    s_lshr_b32 s56, s7, 169025; GFX12-NEXT:    s_lshr_b32 s58, s5, 169026; GFX12-NEXT:    s_lshr_b32 s60, s1, 89027; GFX12-NEXT:    s_mov_b32 s62, s19028; GFX12-NEXT:    s_ashr_i32 s57, s1, 249029; GFX12-NEXT:    s_ashr_i32 s59, s3, 319030; GFX12-NEXT:    s_ashr_i32 s61, s3, 249031; GFX12-NEXT:    s_ashr_i32 s63, s5, 319032; GFX12-NEXT:    s_bfe_i64 s[52:53], s[52:53], 0x800009033; GFX12-NEXT:    s_bfe_i64 s[50:51], s[50:51], 0x800009034; GFX12-NEXT:    s_clause 0x39035; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[8:9] offset:2089036; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[8:9] offset:1929037; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[8:9] offset:1449038; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[8:9] offset:1289039; GFX12-NEXT:    v_dual_mov_b32 v0, s28 :: v_dual_mov_b32 v3, s479040; GFX12-NEXT:    v_dual_mov_b32 v1, s29 :: v_dual_mov_b32 v2, s469041; GFX12-NEXT:    v_mov_b32_e32 v5, s319042; GFX12-NEXT:    s_lshr_b32 s26, s7, 89043; GFX12-NEXT:    s_mov_b32 s24, s79044; GFX12-NEXT:    s_bfe_i64 s[22:23], s[0:1], 0x800009045; GFX12-NEXT:    s_bfe_i64 s[54:55], s[54:55], 0x800009046; GFX12-NEXT:    v_dual_mov_b32 v4, s30 :: v_dual_mov_b32 v7, s499047; GFX12-NEXT:    v_dual_mov_b32 v6, s48 :: v_dual_mov_b32 v9, s519048; GFX12-NEXT:    s_lshr_b32 s18, s5, 89049; GFX12-NEXT:    s_mov_b32 s20, s59050; GFX12-NEXT:    s_lshr_b32 s16, s3, 169051; GFX12-NEXT:    s_lshr_b32 s12, s3, 89052; GFX12-NEXT:    s_mov_b32 s14, s39053; GFX12-NEXT:    s_lshr_b32 s10, s1, 169054; GFX12-NEXT:    s_ashr_i32 s33, s1, 319055; GFX12-NEXT:    s_bfe_i64 s[2:3], s[62:63], 0x800009056; GFX12-NEXT:    s_bfe_i64 s[0:1], s[60:61], 0x800009057; GFX12-NEXT:    s_ashr_i32 s60, s5, 249058; GFX12-NEXT:    s_bfe_i64 s[4:5], s[58:59], 0x800009059; GFX12-NEXT:    s_ashr_i32 s58, s7, 319060; GFX12-NEXT:    s_ashr_i32 s62, s7, 249061; GFX12-NEXT:    s_bfe_i64 s[6:7], s[56:57], 0x800009062; GFX12-NEXT:    v_dual_mov_b32 v8, s50 :: v_dual_mov_b32 v11, s539063; GFX12-NEXT:    v_dual_mov_b32 v10, s52 :: v_dual_mov_b32 v13, s239064; GFX12-NEXT:    s_bfe_i64 s[24:25], s[24:25], 0x800009065; GFX12-NEXT:    s_bfe_i64 s[26:27], s[26:27], 0x800009066; GFX12-NEXT:    v_dual_mov_b32 v12, s22 :: v_dual_mov_b32 v15, s559067; GFX12-NEXT:    v_dual_mov_b32 v14, s54 :: v_dual_mov_b32 v17, s79068; GFX12-NEXT:    s_bfe_i64 s[20:21], s[20:21], 0x800009069; GFX12-NEXT:    s_bfe_i64 s[18:19], s[18:19], 0x800009070; GFX12-NEXT:    v_dual_mov_b32 v16, s6 :: v_dual_mov_b32 v19, s589071; GFX12-NEXT:    v_dual_mov_b32 v18, s62 :: v_dual_mov_b32 v21, s259072; GFX12-NEXT:    s_bfe_i64 s[16:17], s[16:17], 0x800009073; GFX12-NEXT:    v_dual_mov_b32 v20, s24 :: v_dual_mov_b32 v23, s279074; GFX12-NEXT:    v_mov_b32_e32 v22, s269075; GFX12-NEXT:    s_clause 0x59076; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[8:9] offset:809077; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[8:9] offset:649078; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[8:9] offset:169079; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[8:9]9080; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[8:9] offset:2409081; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[8:9] offset:2249082; GFX12-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, s639083; GFX12-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s609084; GFX12-NEXT:    v_mov_b32_e32 v5, s219085; GFX12-NEXT:    s_bfe_i64 s[14:15], s[14:15], 0x800009086; GFX12-NEXT:    s_bfe_i64 s[12:13], s[12:13], 0x800009087; GFX12-NEXT:    v_dual_mov_b32 v4, s20 :: v_dual_mov_b32 v7, s199088; GFX12-NEXT:    v_dual_mov_b32 v6, s18 :: v_dual_mov_b32 v9, s179089; GFX12-NEXT:    s_bfe_i64 s[10:11], s[10:11], 0x800009090; GFX12-NEXT:    v_dual_mov_b32 v8, s16 :: v_dual_mov_b32 v11, s599091; GFX12-NEXT:    v_dual_mov_b32 v10, s61 :: v_dual_mov_b32 v13, s159092; GFX12-NEXT:    v_dual_mov_b32 v12, s14 :: v_dual_mov_b32 v15, s139093; GFX12-NEXT:    v_dual_mov_b32 v14, s12 :: v_dual_mov_b32 v17, s119094; GFX12-NEXT:    v_dual_mov_b32 v16, s10 :: v_dual_mov_b32 v19, s339095; GFX12-NEXT:    v_dual_mov_b32 v18, s57 :: v_dual_mov_b32 v21, s39096; GFX12-NEXT:    v_dual_mov_b32 v20, s2 :: v_dual_mov_b32 v23, s19097; GFX12-NEXT:    v_mov_b32_e32 v22, s09098; GFX12-NEXT:    s_clause 0x59099; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[8:9] offset:1769100; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[8:9] offset:1609101; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[8:9] offset:1129102; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[8:9] offset:969103; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[8:9] offset:489104; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[8:9] offset:329105; GFX12-NEXT:    s_endpgm9106  %load = load <32 x i8>, ptr addrspace(4) %in9107  %ext = sext <32 x i8> %load to <32 x i64>9108  store <32 x i64> %ext, ptr addrspace(1) %out9109  ret void9110}9111 9112; XFUNC-LABEL: {{^}}constant_zextload_v64i8_to_v64i64:9113; define amdgpu_kernel void @constant_zextload_v64i8_to_v64i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9114;   %load = load <64 x i8>, ptr addrspace(4) %in9115;   %ext = zext <64 x i8> %load to <64 x i64>9116;   store <64 x i64> %ext, ptr addrspace(1) %out9117;   ret void9118; }9119 9120; XFUNC-LABEL: {{^}}constant_sextload_v64i8_to_v64i64:9121; define amdgpu_kernel void @constant_sextload_v64i8_to_v64i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9122;   %load = load <64 x i8>, ptr addrspace(4) %in9123;   %ext = sext <64 x i8> %load to <64 x i64>9124;   store <64 x i64> %ext, ptr addrspace(1) %out9125;   ret void9126; }9127 9128define amdgpu_kernel void @constant_zextload_i8_to_i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9129; GFX6-NOHSA-LABEL: constant_zextload_i8_to_i16:9130; GFX6-NOHSA:       ; %bb.0:9131; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99132; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0009133; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -19134; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s69135; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s79136; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9137; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s29138; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s39139; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 09140; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s09141; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s19142; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)9143; GFX6-NOHSA-NEXT:    buffer_store_short v0, off, s[4:7], 09144; GFX6-NOHSA-NEXT:    s_endpgm9145;9146; GFX7-HSA-LABEL: constant_zextload_i8_to_i16:9147; GFX7-HSA:       ; %bb.0:9148; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09149; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179150; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139151; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89152; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9153; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s29154; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s39155; GFX7-HSA-NEXT:    flat_load_ubyte v2, v[0:1]9156; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09157; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19158; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)9159; GFX7-HSA-NEXT:    flat_store_short v[0:1], v29160; GFX7-HSA-NEXT:    s_endpgm9161;9162; GFX8-NOHSA-LABEL: constant_zextload_i8_to_i16:9163; GFX8-NOHSA:       ; %bb.0:9164; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249165; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9166; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s29167; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s39168; GFX8-NOHSA-NEXT:    flat_load_ubyte v2, v[0:1]9169; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09170; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19171; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)9172; GFX8-NOHSA-NEXT:    flat_store_short v[0:1], v29173; GFX8-NOHSA-NEXT:    s_endpgm9174;9175; EG-LABEL: constant_zextload_i8_to_i16:9176; EG:       ; %bb.0:9177; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]9178; EG-NEXT:    TEX 0 @69179; EG-NEXT:    ALU 10, @9, KC0[CB0:0-32], KC1[]9180; EG-NEXT:    MEM_RAT MSKOR T0.XW, T1.X9181; EG-NEXT:    CF_END9182; EG-NEXT:    PAD9183; EG-NEXT:    Fetch clause starting at 6:9184; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #19185; EG-NEXT:    ALU clause starting at 8:9186; EG-NEXT:     MOV * T0.X, KC0[2].Z,9187; EG-NEXT:    ALU clause starting at 9:9188; EG-NEXT:     AND_INT * T0.W, KC0[2].Y, literal.x,9189; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)9190; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,9191; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)9192; EG-NEXT:     LSHL T0.X, T0.X, PV.W,9193; EG-NEXT:     LSHL * T0.W, literal.x, PV.W,9194; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)9195; EG-NEXT:     MOV T0.Y, 0.0,9196; EG-NEXT:     MOV * T0.Z, 0.0,9197; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,9198; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9199;9200; GFX12-TRUE16-LABEL: constant_zextload_i8_to_i16:9201; GFX12-TRUE16:       ; %bb.0:9202; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249203; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 09204; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x09205; GFX12-TRUE16-NEXT:    global_load_d16_u8 v0, v1, s[2:3]9206; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x09207; GFX12-TRUE16-NEXT:    global_store_b16 v1, v0, s[0:1]9208; GFX12-TRUE16-NEXT:    s_endpgm9209;9210; GFX12-FAKE16-LABEL: constant_zextload_i8_to_i16:9211; GFX12-FAKE16:       ; %bb.0:9212; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249213; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 09214; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x09215; GFX12-FAKE16-NEXT:    global_load_u8 v1, v0, s[2:3]9216; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x09217; GFX12-FAKE16-NEXT:    global_store_b16 v0, v1, s[0:1]9218; GFX12-FAKE16-NEXT:    s_endpgm9219  %a = load i8, ptr addrspace(4) %in9220  %ext = zext i8 %a to i169221  store i16 %ext, ptr addrspace(1) %out9222  ret void9223}9224 9225define amdgpu_kernel void @constant_sextload_i8_to_i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9226; GFX6-NOHSA-LABEL: constant_sextload_i8_to_i16:9227; GFX6-NOHSA:       ; %bb.0:9228; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99229; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0009230; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -19231; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s69232; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s79233; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9234; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s29235; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s39236; GFX6-NOHSA-NEXT:    buffer_load_sbyte v0, off, s[8:11], 09237; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s09238; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s19239; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)9240; GFX6-NOHSA-NEXT:    buffer_store_short v0, off, s[4:7], 09241; GFX6-NOHSA-NEXT:    s_endpgm9242;9243; GFX7-HSA-LABEL: constant_sextload_i8_to_i16:9244; GFX7-HSA:       ; %bb.0:9245; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09246; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179247; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139248; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89249; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9250; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s29251; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s39252; GFX7-HSA-NEXT:    flat_load_sbyte v2, v[0:1]9253; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09254; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19255; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)9256; GFX7-HSA-NEXT:    flat_store_short v[0:1], v29257; GFX7-HSA-NEXT:    s_endpgm9258;9259; GFX8-NOHSA-LABEL: constant_sextload_i8_to_i16:9260; GFX8-NOHSA:       ; %bb.0:9261; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249262; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9263; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s29264; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s39265; GFX8-NOHSA-NEXT:    flat_load_sbyte v2, v[0:1]9266; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09267; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19268; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)9269; GFX8-NOHSA-NEXT:    flat_store_short v[0:1], v29270; GFX8-NOHSA-NEXT:    s_endpgm9271;9272; EG-LABEL: constant_sextload_i8_to_i16:9273; EG:       ; %bb.0:9274; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]9275; EG-NEXT:    TEX 0 @69276; EG-NEXT:    ALU 12, @9, KC0[CB0:0-32], KC1[]9277; EG-NEXT:    MEM_RAT MSKOR T0.XW, T1.X9278; EG-NEXT:    CF_END9279; EG-NEXT:    PAD9280; EG-NEXT:    Fetch clause starting at 6:9281; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #19282; EG-NEXT:    ALU clause starting at 8:9283; EG-NEXT:     MOV * T0.X, KC0[2].Z,9284; EG-NEXT:    ALU clause starting at 9:9285; EG-NEXT:     BFE_INT T0.W, T0.X, 0.0, literal.x,9286; EG-NEXT:     AND_INT * T1.W, KC0[2].Y, literal.y,9287; EG-NEXT:    8(1.121039e-44), 3(4.203895e-45)9288; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,9289; EG-NEXT:     LSHL * T1.W, PS, literal.y,9290; EG-NEXT:    65535(9.183409e-41), 3(4.203895e-45)9291; EG-NEXT:     LSHL T0.X, PV.W, PS,9292; EG-NEXT:     LSHL * T0.W, literal.x, PS,9293; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)9294; EG-NEXT:     MOV T0.Y, 0.0,9295; EG-NEXT:     MOV * T0.Z, 0.0,9296; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,9297; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9298;9299; GFX12-TRUE16-LABEL: constant_sextload_i8_to_i16:9300; GFX12-TRUE16:       ; %bb.0:9301; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249302; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 09303; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x09304; GFX12-TRUE16-NEXT:    global_load_d16_i8 v0, v1, s[2:3]9305; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x09306; GFX12-TRUE16-NEXT:    global_store_b16 v1, v0, s[0:1]9307; GFX12-TRUE16-NEXT:    s_endpgm9308;9309; GFX12-FAKE16-LABEL: constant_sextload_i8_to_i16:9310; GFX12-FAKE16:       ; %bb.0:9311; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249312; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 09313; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x09314; GFX12-FAKE16-NEXT:    global_load_i8 v1, v0, s[2:3]9315; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x09316; GFX12-FAKE16-NEXT:    global_store_b16 v0, v1, s[0:1]9317; GFX12-FAKE16-NEXT:    s_endpgm9318  %a = load i8, ptr addrspace(4) %in9319  %ext = sext i8 %a to i169320  store i16 %ext, ptr addrspace(1) %out9321  ret void9322}9323 9324define amdgpu_kernel void @constant_zextload_v1i8_to_v1i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9325; GFX6-NOHSA-LABEL: constant_zextload_v1i8_to_v1i16:9326; GFX6-NOHSA:       ; %bb.0:9327; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99328; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0009329; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -19330; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s69331; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s79332; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9333; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s29334; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s39335; GFX6-NOHSA-NEXT:    buffer_load_ubyte v0, off, s[8:11], 09336; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s09337; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s19338; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)9339; GFX6-NOHSA-NEXT:    buffer_store_short v0, off, s[4:7], 09340; GFX6-NOHSA-NEXT:    s_endpgm9341;9342; GFX7-HSA-LABEL: constant_zextload_v1i8_to_v1i16:9343; GFX7-HSA:       ; %bb.0:9344; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09345; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179346; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139347; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89348; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9349; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s29350; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s39351; GFX7-HSA-NEXT:    flat_load_ubyte v2, v[0:1]9352; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09353; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19354; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)9355; GFX7-HSA-NEXT:    flat_store_short v[0:1], v29356; GFX7-HSA-NEXT:    s_endpgm9357;9358; GFX8-NOHSA-LABEL: constant_zextload_v1i8_to_v1i16:9359; GFX8-NOHSA:       ; %bb.0:9360; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249361; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9362; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s29363; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s39364; GFX8-NOHSA-NEXT:    flat_load_ubyte v2, v[0:1]9365; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09366; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19367; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)9368; GFX8-NOHSA-NEXT:    flat_store_short v[0:1], v29369; GFX8-NOHSA-NEXT:    s_endpgm9370;9371; EG-LABEL: constant_zextload_v1i8_to_v1i16:9372; EG:       ; %bb.0:9373; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]9374; EG-NEXT:    TEX 0 @69375; EG-NEXT:    ALU 10, @9, KC0[CB0:0-32], KC1[]9376; EG-NEXT:    MEM_RAT MSKOR T0.XW, T1.X9377; EG-NEXT:    CF_END9378; EG-NEXT:    PAD9379; EG-NEXT:    Fetch clause starting at 6:9380; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #19381; EG-NEXT:    ALU clause starting at 8:9382; EG-NEXT:     MOV * T0.X, KC0[2].Z,9383; EG-NEXT:    ALU clause starting at 9:9384; EG-NEXT:     AND_INT * T0.W, KC0[2].Y, literal.x,9385; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)9386; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,9387; EG-NEXT:    3(4.203895e-45), 0(0.000000e+00)9388; EG-NEXT:     LSHL T0.X, T0.X, PV.W,9389; EG-NEXT:     LSHL * T0.W, literal.x, PV.W,9390; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)9391; EG-NEXT:     MOV T0.Y, 0.0,9392; EG-NEXT:     MOV * T0.Z, 0.0,9393; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,9394; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9395;9396; GFX12-TRUE16-LABEL: constant_zextload_v1i8_to_v1i16:9397; GFX12-TRUE16:       ; %bb.0:9398; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249399; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 09400; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x09401; GFX12-TRUE16-NEXT:    global_load_d16_u8 v0, v1, s[2:3]9402; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x09403; GFX12-TRUE16-NEXT:    global_store_b16 v1, v0, s[0:1]9404; GFX12-TRUE16-NEXT:    s_endpgm9405;9406; GFX12-FAKE16-LABEL: constant_zextload_v1i8_to_v1i16:9407; GFX12-FAKE16:       ; %bb.0:9408; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249409; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 09410; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x09411; GFX12-FAKE16-NEXT:    global_load_u8 v1, v0, s[2:3]9412; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x09413; GFX12-FAKE16-NEXT:    global_store_b16 v0, v1, s[0:1]9414; GFX12-FAKE16-NEXT:    s_endpgm9415  %load = load <1 x i8>, ptr addrspace(4) %in9416  %ext = zext <1 x i8> %load to <1 x i16>9417  store <1 x i16> %ext, ptr addrspace(1) %out9418  ret void9419}9420 9421define amdgpu_kernel void @constant_sextload_v1i8_to_v1i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9422; GFX6-NOHSA-LABEL: constant_sextload_v1i8_to_v1i16:9423; GFX6-NOHSA:       ; %bb.0:9424; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99425; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0009426; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -19427; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s69428; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s79429; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9430; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s29431; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s39432; GFX6-NOHSA-NEXT:    buffer_load_sbyte v0, off, s[8:11], 09433; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s09434; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s19435; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)9436; GFX6-NOHSA-NEXT:    buffer_store_short v0, off, s[4:7], 09437; GFX6-NOHSA-NEXT:    s_endpgm9438;9439; GFX7-HSA-LABEL: constant_sextload_v1i8_to_v1i16:9440; GFX7-HSA:       ; %bb.0:9441; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09442; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179443; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139444; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89445; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9446; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s29447; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s39448; GFX7-HSA-NEXT:    flat_load_sbyte v2, v[0:1]9449; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09450; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19451; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)9452; GFX7-HSA-NEXT:    flat_store_short v[0:1], v29453; GFX7-HSA-NEXT:    s_endpgm9454;9455; GFX8-NOHSA-LABEL: constant_sextload_v1i8_to_v1i16:9456; GFX8-NOHSA:       ; %bb.0:9457; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249458; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9459; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s29460; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s39461; GFX8-NOHSA-NEXT:    flat_load_sbyte v2, v[0:1]9462; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09463; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19464; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)9465; GFX8-NOHSA-NEXT:    flat_store_short v[0:1], v29466; GFX8-NOHSA-NEXT:    s_endpgm9467;9468; EG-LABEL: constant_sextload_v1i8_to_v1i16:9469; EG:       ; %bb.0:9470; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]9471; EG-NEXT:    TEX 0 @69472; EG-NEXT:    ALU 12, @9, KC0[CB0:0-32], KC1[]9473; EG-NEXT:    MEM_RAT MSKOR T0.XW, T1.X9474; EG-NEXT:    CF_END9475; EG-NEXT:    PAD9476; EG-NEXT:    Fetch clause starting at 6:9477; EG-NEXT:     VTX_READ_8 T0.X, T0.X, 0, #19478; EG-NEXT:    ALU clause starting at 8:9479; EG-NEXT:     MOV * T0.X, KC0[2].Z,9480; EG-NEXT:    ALU clause starting at 9:9481; EG-NEXT:     BFE_INT T0.W, T0.X, 0.0, literal.x,9482; EG-NEXT:     AND_INT * T1.W, KC0[2].Y, literal.y,9483; EG-NEXT:    8(1.121039e-44), 3(4.203895e-45)9484; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,9485; EG-NEXT:     LSHL * T1.W, PS, literal.y,9486; EG-NEXT:    65535(9.183409e-41), 3(4.203895e-45)9487; EG-NEXT:     LSHL T0.X, PV.W, PS,9488; EG-NEXT:     LSHL * T0.W, literal.x, PS,9489; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)9490; EG-NEXT:     MOV T0.Y, 0.0,9491; EG-NEXT:     MOV * T0.Z, 0.0,9492; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,9493; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9494;9495; GFX12-TRUE16-LABEL: constant_sextload_v1i8_to_v1i16:9496; GFX12-TRUE16:       ; %bb.0:9497; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249498; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v1, 09499; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x09500; GFX12-TRUE16-NEXT:    global_load_d16_i8 v0, v1, s[2:3]9501; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x09502; GFX12-TRUE16-NEXT:    global_store_b16 v1, v0, s[0:1]9503; GFX12-TRUE16-NEXT:    s_endpgm9504;9505; GFX12-FAKE16-LABEL: constant_sextload_v1i8_to_v1i16:9506; GFX12-FAKE16:       ; %bb.0:9507; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249508; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 09509; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x09510; GFX12-FAKE16-NEXT:    global_load_i8 v1, v0, s[2:3]9511; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x09512; GFX12-FAKE16-NEXT:    global_store_b16 v0, v1, s[0:1]9513; GFX12-FAKE16-NEXT:    s_endpgm9514  %load = load <1 x i8>, ptr addrspace(4) %in9515  %ext = sext <1 x i8> %load to <1 x i16>9516  store <1 x i16> %ext, ptr addrspace(1) %out9517  ret void9518}9519 9520define amdgpu_kernel void @constant_zextload_v2i8_to_v2i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9521; GFX6-NOHSA-LABEL: constant_zextload_v2i8_to_v2i16:9522; GFX6-NOHSA:       ; %bb.0:9523; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99524; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0009525; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -19526; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s69527; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s79528; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9529; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s29530; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s39531; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 09532; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s09533; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s19534; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)9535; GFX6-NOHSA-NEXT:    v_lshlrev_b32_e32 v1, 8, v09536; GFX6-NOHSA-NEXT:    v_or_b32_e32 v0, v0, v19537; GFX6-NOHSA-NEXT:    v_and_b32_e32 v0, 0xff00ff, v09538; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[4:7], 09539; GFX6-NOHSA-NEXT:    s_endpgm9540;9541; GFX7-HSA-LABEL: constant_zextload_v2i8_to_v2i16:9542; GFX7-HSA:       ; %bb.0:9543; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09544; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179545; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139546; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89547; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9548; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s29549; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s39550; GFX7-HSA-NEXT:    flat_load_ushort v2, v[0:1]9551; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09552; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19553; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)9554; GFX7-HSA-NEXT:    v_lshlrev_b32_e32 v3, 8, v29555; GFX7-HSA-NEXT:    v_or_b32_e32 v2, v2, v39556; GFX7-HSA-NEXT:    v_and_b32_e32 v2, 0xff00ff, v29557; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v29558; GFX7-HSA-NEXT:    s_endpgm9559;9560; GFX8-NOHSA-LABEL: constant_zextload_v2i8_to_v2i16:9561; GFX8-NOHSA:       ; %bb.0:9562; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249563; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9564; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s29565; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s39566; GFX8-NOHSA-NEXT:    flat_load_ushort v2, v[0:1]9567; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09568; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19569; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)9570; GFX8-NOHSA-NEXT:    v_lshlrev_b32_e32 v3, 8, v29571; GFX8-NOHSA-NEXT:    v_and_b32_e32 v3, 0xff0000, v39572; GFX8-NOHSA-NEXT:    v_or_b32_sdwa v2, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD9573; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v29574; GFX8-NOHSA-NEXT:    s_endpgm9575;9576; EG-LABEL: constant_zextload_v2i8_to_v2i16:9577; EG:       ; %bb.0:9578; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]9579; EG-NEXT:    TEX 0 @69580; EG-NEXT:    ALU 7, @9, KC0[CB0:0-32], KC1[]9581; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.X, T6.X, 19582; EG-NEXT:    CF_END9583; EG-NEXT:    PAD9584; EG-NEXT:    Fetch clause starting at 6:9585; EG-NEXT:     VTX_READ_16 T5.X, T5.X, 0, #19586; EG-NEXT:    ALU clause starting at 8:9587; EG-NEXT:     MOV * T5.X, KC0[2].Z,9588; EG-NEXT:    ALU clause starting at 9:9589; EG-NEXT:     LSHL * T0.W, T5.X, literal.x,9590; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9591; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,9592; EG-NEXT:     AND_INT * T1.W, T5.X, literal.y,9593; EG-NEXT:    16711680(2.341805e-38), 255(3.573311e-43)9594; EG-NEXT:     OR_INT T5.X, PS, PV.W,9595; EG-NEXT:     LSHR * T6.X, KC0[2].Y, literal.x,9596; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9597;9598; GFX12-TRUE16-LABEL: constant_zextload_v2i8_to_v2i16:9599; GFX12-TRUE16:       ; %bb.0:9600; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249601; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v0, 09602; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x09603; GFX12-TRUE16-NEXT:    global_load_d16_b16 v1, v0, s[2:3]9604; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x09605; GFX12-TRUE16-NEXT:    v_and_b32_e32 v2, 0xffff, v19606; GFX12-TRUE16-NEXT:    v_and_b32_e32 v1, 0xff, v19607; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)9608; GFX12-TRUE16-NEXT:    v_lshrrev_b32_e32 v2, 8, v29609; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v2, v29610; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)9611; GFX12-TRUE16-NEXT:    v_mov_b16_e32 v1.h, v2.l9612; GFX12-TRUE16-NEXT:    global_store_b32 v0, v1, s[0:1]9613; GFX12-TRUE16-NEXT:    s_endpgm9614;9615; GFX12-FAKE16-LABEL: constant_zextload_v2i8_to_v2i16:9616; GFX12-FAKE16:       ; %bb.0:9617; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249618; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 09619; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x09620; GFX12-FAKE16-NEXT:    global_load_u16 v1, v0, s[2:3]9621; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x09622; GFX12-FAKE16-NEXT:    v_and_b32_e32 v2, 0xffff, v19623; GFX12-FAKE16-NEXT:    v_and_b32_e32 v1, 0xff, v19624; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)9625; GFX12-FAKE16-NEXT:    v_lshrrev_b32_e32 v2, 8, v29626; GFX12-FAKE16-NEXT:    v_and_b32_e32 v1, 0xffff, v19627; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)9628; GFX12-FAKE16-NEXT:    v_lshl_or_b32 v1, v2, 16, v19629; GFX12-FAKE16-NEXT:    global_store_b32 v0, v1, s[0:1]9630; GFX12-FAKE16-NEXT:    s_endpgm9631  %load = load <2 x i8>, ptr addrspace(4) %in9632  %ext = zext <2 x i8> %load to <2 x i16>9633  store <2 x i16> %ext, ptr addrspace(1) %out9634  ret void9635}9636 9637define amdgpu_kernel void @constant_sextload_v2i8_to_v2i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9638; GFX6-NOHSA-LABEL: constant_sextload_v2i8_to_v2i16:9639; GFX6-NOHSA:       ; %bb.0:9640; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99641; GFX6-NOHSA-NEXT:    s_mov_b32 s7, 0xf0009642; GFX6-NOHSA-NEXT:    s_mov_b32 s6, -19643; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s69644; GFX6-NOHSA-NEXT:    s_mov_b32 s11, s79645; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9646; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s29647; GFX6-NOHSA-NEXT:    s_mov_b32 s9, s39648; GFX6-NOHSA-NEXT:    buffer_load_ushort v0, off, s[8:11], 09649; GFX6-NOHSA-NEXT:    s_mov_b32 s4, s09650; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s19651; GFX6-NOHSA-NEXT:    s_waitcnt vmcnt(0)9652; GFX6-NOHSA-NEXT:    v_bfe_i32 v1, v0, 8, 89653; GFX6-NOHSA-NEXT:    v_bfe_i32 v0, v0, 0, 89654; GFX6-NOHSA-NEXT:    v_lshlrev_b32_e32 v1, 16, v19655; GFX6-NOHSA-NEXT:    v_and_b32_e32 v0, 0xffff, v09656; GFX6-NOHSA-NEXT:    v_or_b32_e32 v0, v0, v19657; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[4:7], 09658; GFX6-NOHSA-NEXT:    s_endpgm9659;9660; GFX7-HSA-LABEL: constant_sextload_v2i8_to_v2i16:9661; GFX7-HSA:       ; %bb.0:9662; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09663; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179664; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139665; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89666; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9667; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s29668; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s39669; GFX7-HSA-NEXT:    flat_load_ushort v2, v[0:1]9670; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09671; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19672; GFX7-HSA-NEXT:    s_waitcnt vmcnt(0)9673; GFX7-HSA-NEXT:    v_bfe_i32 v3, v2, 8, 89674; GFX7-HSA-NEXT:    v_bfe_i32 v2, v2, 0, 89675; GFX7-HSA-NEXT:    v_lshlrev_b32_e32 v3, 16, v39676; GFX7-HSA-NEXT:    v_and_b32_e32 v2, 0xffff, v29677; GFX7-HSA-NEXT:    v_or_b32_e32 v2, v2, v39678; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v29679; GFX7-HSA-NEXT:    s_endpgm9680;9681; GFX8-NOHSA-LABEL: constant_sextload_v2i8_to_v2i16:9682; GFX8-NOHSA:       ; %bb.0:9683; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249684; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, 0xffff9685; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, 89686; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9687; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s29688; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s39689; GFX8-NOHSA-NEXT:    flat_load_ushort v2, v[0:1]9690; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09691; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19692; GFX8-NOHSA-NEXT:    s_waitcnt vmcnt(0)9693; GFX8-NOHSA-NEXT:    v_and_b32_sdwa v3, v3, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_09694; GFX8-NOHSA-NEXT:    v_lshlrev_b32_sdwa v2, v4, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_09695; GFX8-NOHSA-NEXT:    v_and_b32_e32 v2, 0xffff0000, v29696; GFX8-NOHSA-NEXT:    v_or_b32_e32 v2, v3, v29697; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v29698; GFX8-NOHSA-NEXT:    s_endpgm9699;9700; EG-LABEL: constant_sextload_v2i8_to_v2i16:9701; EG:       ; %bb.0:9702; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]9703; EG-NEXT:    TEX 0 @69704; EG-NEXT:    ALU 16, @10, KC0[CB0:0-32], KC1[]9705; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.X, T6.X, 19706; EG-NEXT:    CF_END9707; EG-NEXT:    PAD9708; EG-NEXT:    Fetch clause starting at 6:9709; EG-NEXT:     VTX_READ_16 T5.X, T5.X, 0, #19710; EG-NEXT:    ALU clause starting at 8:9711; EG-NEXT:     MOV * T0.Y, T2.X,9712; EG-NEXT:     MOV * T5.X, KC0[2].Z,9713; EG-NEXT:    ALU clause starting at 10:9714; EG-NEXT:     AND_INT T0.W, T5.X, literal.x,9715; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,9716; EG-NEXT:    65535(9.183409e-41), -65536(nan)9717; EG-NEXT:     OR_INT * T0.W, PS, PV.W,9718; EG-NEXT:     MOV * T2.X, PV.W,9719; EG-NEXT:     MOV * T0.Y, PV.X,9720; EG-NEXT:     LSHR * T1.W, PV.Y, literal.x,9721; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9722; EG-NEXT:     BFE_INT T0.Z, T0.W, 0.0, literal.x,9723; EG-NEXT:     BFE_INT * T0.W, PV.W, 0.0, literal.x,9724; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9725; EG-NEXT:     LSHL T0.W, PV.W, literal.x,9726; EG-NEXT:     AND_INT * T1.W, PV.Z, literal.y,9727; EG-NEXT:    16(2.242078e-44), 65535(9.183409e-41)9728; EG-NEXT:     OR_INT T5.X, PS, PV.W,9729; EG-NEXT:     LSHR * T6.X, KC0[2].Y, literal.x,9730; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9731;9732; GFX12-TRUE16-LABEL: constant_sextload_v2i8_to_v2i16:9733; GFX12-TRUE16:       ; %bb.0:9734; GFX12-TRUE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249735; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v0, 09736; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x09737; GFX12-TRUE16-NEXT:    global_load_d16_b16 v1, v0, s[2:3]9738; GFX12-TRUE16-NEXT:    s_wait_loadcnt 0x09739; GFX12-TRUE16-NEXT:    v_bfe_i32 v2, v1, 0, 169740; GFX12-TRUE16-NEXT:    v_bfe_i32 v1, v1, 0, 89741; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)9742; GFX12-TRUE16-NEXT:    v_lshrrev_b32_e32 v2, 8, v29743; GFX12-TRUE16-NEXT:    v_mov_b32_e32 v2, v29744; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)9745; GFX12-TRUE16-NEXT:    v_mov_b16_e32 v1.h, v2.l9746; GFX12-TRUE16-NEXT:    global_store_b32 v0, v1, s[0:1]9747; GFX12-TRUE16-NEXT:    s_endpgm9748;9749; GFX12-FAKE16-LABEL: constant_sextload_v2i8_to_v2i16:9750; GFX12-FAKE16:       ; %bb.0:9751; GFX12-FAKE16-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249752; GFX12-FAKE16-NEXT:    v_mov_b32_e32 v0, 09753; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x09754; GFX12-FAKE16-NEXT:    global_load_u16 v1, v0, s[2:3]9755; GFX12-FAKE16-NEXT:    s_wait_loadcnt 0x09756; GFX12-FAKE16-NEXT:    v_bfe_i32 v2, v1, 0, 169757; GFX12-FAKE16-NEXT:    v_bfe_i32 v1, v1, 0, 89758; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)9759; GFX12-FAKE16-NEXT:    v_lshrrev_b32_e32 v2, 8, v29760; GFX12-FAKE16-NEXT:    v_and_b32_e32 v1, 0xffff, v19761; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)9762; GFX12-FAKE16-NEXT:    v_lshl_or_b32 v1, v2, 16, v19763; GFX12-FAKE16-NEXT:    global_store_b32 v0, v1, s[0:1]9764; GFX12-FAKE16-NEXT:    s_endpgm9765  %load = load <2 x i8>, ptr addrspace(4) %in9766  %ext = sext <2 x i8> %load to <2 x i16>9767  store <2 x i16> %ext, ptr addrspace(1) %out9768  ret void9769}9770 9771define amdgpu_kernel void @constant_zextload_v4i8_to_v4i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9772; GFX6-NOHSA-LABEL: constant_zextload_v4i8_to_v4i16:9773; GFX6-NOHSA:       ; %bb.0:9774; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99775; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9776; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x09777; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0009778; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9779; GFX6-NOHSA-NEXT:    s_lshr_b32 s5, s4, 249780; GFX6-NOHSA-NEXT:    s_and_b32 s2, s4, 0xff009781; GFX6-NOHSA-NEXT:    s_and_b32 s6, s4, 0xff9782; GFX6-NOHSA-NEXT:    s_lshl_b32 s2, s2, 89783; GFX6-NOHSA-NEXT:    s_lshr_b64 s[4:5], s[4:5], 169784; GFX6-NOHSA-NEXT:    s_or_b32 s5, s6, s29785; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xff00ff9786; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -19787; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s59788; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s49789; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 09790; GFX6-NOHSA-NEXT:    s_endpgm9791;9792; GFX7-HSA-LABEL: constant_zextload_v4i8_to_v4i16:9793; GFX7-HSA:       ; %bb.0:9794; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09795; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179796; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139797; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89798; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9799; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x09800; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09801; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19802; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9803; GFX7-HSA-NEXT:    s_lshr_b32 s3, s2, 249804; GFX7-HSA-NEXT:    s_and_b32 s0, s2, 0xff009805; GFX7-HSA-NEXT:    s_and_b32 s4, s2, 0xff9806; GFX7-HSA-NEXT:    s_lshl_b32 s5, s0, 89807; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[2:3], 169808; GFX7-HSA-NEXT:    s_or_b32 s1, s4, s59809; GFX7-HSA-NEXT:    s_and_b32 s0, s0, 0xff00ff9810; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s19811; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s09812; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]9813; GFX7-HSA-NEXT:    s_endpgm9814;9815; GFX8-NOHSA-LABEL: constant_zextload_v4i8_to_v4i16:9816; GFX8-NOHSA:       ; %bb.0:9817; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249818; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9819; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x09820; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09821; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19822; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9823; GFX8-NOHSA-NEXT:    s_lshr_b32 s3, s2, 249824; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s2, 89825; GFX8-NOHSA-NEXT:    s_and_b32 s4, s2, 0xff9826; GFX8-NOHSA-NEXT:    s_and_b32 s5, s0, 0xff00009827; GFX8-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[2:3], 169828; GFX8-NOHSA-NEXT:    s_or_b32 s1, s4, s59829; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xff00ff9830; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s19831; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s09832; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]9833; GFX8-NOHSA-NEXT:    s_endpgm9834;9835; EG-LABEL: constant_zextload_v4i8_to_v4i16:9836; EG:       ; %bb.0:9837; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]9838; EG-NEXT:    TEX 0 @69839; EG-NEXT:    ALU 31, @10, KC0[CB0:0-32], KC1[]9840; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XY, T7.X, 19841; EG-NEXT:    CF_END9842; EG-NEXT:    PAD9843; EG-NEXT:    Fetch clause starting at 6:9844; EG-NEXT:     VTX_READ_32 T7.X, T7.X, 0, #19845; EG-NEXT:    ALU clause starting at 8:9846; EG-NEXT:     MOV * T0.Y, T4.X,9847; EG-NEXT:     MOV * T7.X, KC0[2].Z,9848; EG-NEXT:    ALU clause starting at 10:9849; EG-NEXT:     AND_INT T0.W, T7.X, literal.x,9850; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,9851; EG-NEXT:    255(3.573311e-43), -65536(nan)9852; EG-NEXT:     OR_INT * T0.W, PS, PV.W,9853; EG-NEXT:     MOV * T4.X, PV.W,9854; EG-NEXT:     MOV T0.Y, PV.X,9855; EG-NEXT:     LSHL * T0.W, T7.X, literal.x,9856; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9857; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,9858; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,9859; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)9860; EG-NEXT:     OR_INT * T0.W, PV.W, PS,9861; EG-NEXT:     MOV T4.X, PV.W,9862; EG-NEXT:     MOV T0.Y, T5.X,9863; EG-NEXT:     MOV * T0.W, literal.x,9864; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9865; EG-NEXT:     BFE_UINT T0.W, T7.X, literal.x, PV.W,9866; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,9867; EG-NEXT:    16(2.242078e-44), -65536(nan)9868; EG-NEXT:     OR_INT * T0.W, PS, PV.W,9869; EG-NEXT:     MOV * T5.X, PV.W,9870; EG-NEXT:     MOV T0.Y, PV.X,9871; EG-NEXT:     LSHR * T0.W, T7.X, literal.x,9872; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9873; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,9874; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,9875; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)9876; EG-NEXT:     LSHR T7.X, KC0[2].Y, literal.x,9877; EG-NEXT:     OR_INT * T8.Y, PV.W, PS,9878; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)9879; EG-NEXT:     MOV T5.X, PV.Y,9880; EG-NEXT:     MOV * T8.X, T4.X,9881;9882; GFX12-LABEL: constant_zextload_v4i8_to_v4i16:9883; GFX12:       ; %bb.0:9884; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x249885; GFX12-NEXT:    s_wait_kmcnt 0x09886; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x09887; GFX12-NEXT:    s_wait_kmcnt 0x09888; GFX12-NEXT:    s_bfe_u32 s3, s2, 0x800089889; GFX12-NEXT:    s_lshr_b32 s4, s2, 249890; GFX12-NEXT:    s_and_b32 s5, s2, 0xff9891; GFX12-NEXT:    s_bfe_u32 s2, s2, 0x800109892; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s5, s39893; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s2, s49894; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)9895; GFX12-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s29896; GFX12-NEXT:    v_mov_b32_e32 v0, s39897; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]9898; GFX12-NEXT:    s_endpgm9899  %load = load <4 x i8>, ptr addrspace(4) %in9900  %ext = zext <4 x i8> %load to <4 x i16>9901  store <4 x i16> %ext, ptr addrspace(1) %out9902  ret void9903}9904 9905define amdgpu_kernel void @constant_sextload_v4i8_to_v4i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {9906; GFX6-NOHSA-LABEL: constant_sextload_v4i8_to_v4i16:9907; GFX6-NOHSA:       ; %bb.0:9908; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x99909; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9910; GFX6-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x09911; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0009912; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9913; GFX6-NOHSA-NEXT:    s_ashr_i32 s4, s2, 249914; GFX6-NOHSA-NEXT:    s_bfe_i32 s5, s2, 0x800109915; GFX6-NOHSA-NEXT:    s_bfe_i32 s6, s2, 0x800089916; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s2, s29917; GFX6-NOHSA-NEXT:    s_lshl_b32 s4, s4, 169918; GFX6-NOHSA-NEXT:    s_and_b32 s5, s5, 0xffff9919; GFX6-NOHSA-NEXT:    s_lshl_b32 s6, s6, 169920; GFX6-NOHSA-NEXT:    s_and_b32 s2, s2, 0xffff9921; GFX6-NOHSA-NEXT:    s_or_b32 s4, s5, s49922; GFX6-NOHSA-NEXT:    s_or_b32 s5, s2, s69923; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -19924; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s59925; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s49926; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 09927; GFX6-NOHSA-NEXT:    s_endpgm9928;9929; GFX7-HSA-LABEL: constant_sextload_v4i8_to_v4i16:9930; GFX7-HSA:       ; %bb.0:9931; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x09932; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s179933; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s139934; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 89935; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9936; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x09937; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s09938; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s19939; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)9940; GFX7-HSA-NEXT:    s_ashr_i32 s0, s2, 249941; GFX7-HSA-NEXT:    s_bfe_i32 s1, s2, 0x800109942; GFX7-HSA-NEXT:    s_bfe_i32 s3, s2, 0x800089943; GFX7-HSA-NEXT:    s_sext_i32_i8 s2, s29944; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 169945; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff9946; GFX7-HSA-NEXT:    s_lshl_b32 s3, s3, 169947; GFX7-HSA-NEXT:    s_and_b32 s2, s2, 0xffff9948; GFX7-HSA-NEXT:    s_or_b32 s0, s1, s09949; GFX7-HSA-NEXT:    s_or_b32 s1, s2, s39950; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s19951; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s09952; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]9953; GFX7-HSA-NEXT:    s_endpgm9954;9955; GFX8-NOHSA-LABEL: constant_sextload_v4i8_to_v4i16:9956; GFX8-NOHSA:       ; %bb.0:9957; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x249958; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9959; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x09960; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s09961; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s19962; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)9963; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s2, 169964; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s1, s29965; GFX8-NOHSA-NEXT:    s_bfe_i32 s3, s2, 0x800009966; GFX8-NOHSA-NEXT:    s_ashr_i32 s2, s2, 249967; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s1, 89968; GFX8-NOHSA-NEXT:    s_bfe_i32 s0, s0, 0x800009969; GFX8-NOHSA-NEXT:    s_and_b32 s3, 0xffff, s39970; GFX8-NOHSA-NEXT:    s_lshl_b32 s2, s2, 169971; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xffff00009972; GFX8-NOHSA-NEXT:    s_and_b32 s0, 0xffff, s09973; GFX8-NOHSA-NEXT:    s_or_b32 s1, s3, s19974; GFX8-NOHSA-NEXT:    s_or_b32 s0, s0, s29975; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s19976; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s09977; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]9978; GFX8-NOHSA-NEXT:    s_endpgm9979;9980; EG-LABEL: constant_sextload_v4i8_to_v4i16:9981; EG:       ; %bb.0:9982; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]9983; EG-NEXT:    TEX 0 @69984; EG-NEXT:    ALU 37, @10, KC0[CB0:0-32], KC1[]9985; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XY, T7.X, 19986; EG-NEXT:    CF_END9987; EG-NEXT:    PAD9988; EG-NEXT:    Fetch clause starting at 6:9989; EG-NEXT:     VTX_READ_32 T7.X, T7.X, 0, #19990; EG-NEXT:    ALU clause starting at 8:9991; EG-NEXT:     MOV * T0.Y, T4.X,9992; EG-NEXT:     MOV * T7.X, KC0[2].Z,9993; EG-NEXT:    ALU clause starting at 10:9994; EG-NEXT:     BFE_INT * T0.W, T7.X, 0.0, literal.x,9995; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)9996; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,9997; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,9998; EG-NEXT:    65535(9.183409e-41), -65536(nan)9999; EG-NEXT:     OR_INT * T0.W, PS, PV.W,10000; EG-NEXT:     MOV * T4.X, PV.W,10001; EG-NEXT:     MOV T0.Y, PV.X,10002; EG-NEXT:     LSHR * T0.W, T7.X, literal.x,10003; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10004; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,10005; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,10006; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)10007; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,10008; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10009; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,10010; EG-NEXT:     MOV T4.X, PV.W,10011; EG-NEXT:     MOV T0.Y, T5.X,10012; EG-NEXT:     LSHR * T0.W, T7.X, literal.x, BS:VEC_120/SCL_21210013; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10014; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,10015; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,10016; EG-NEXT:    8(1.121039e-44), -65536(nan)10017; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,10018; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)10019; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,10020; EG-NEXT:     MOV * T5.X, PV.W,10021; EG-NEXT:     MOV T0.Y, PV.X,10022; EG-NEXT:     ASHR * T0.W, T7.X, literal.x,10023; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)10024; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10025; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,10026; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)10027; EG-NEXT:     LSHR T7.X, KC0[2].Y, literal.x,10028; EG-NEXT:     OR_INT * T8.Y, PV.W, PS,10029; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)10030; EG-NEXT:     MOV T5.X, PV.Y,10031; EG-NEXT:     MOV * T8.X, T4.X,10032;10033; GFX12-LABEL: constant_sextload_v4i8_to_v4i16:10034; GFX12:       ; %bb.0:10035; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2410036; GFX12-NEXT:    s_wait_kmcnt 0x010037; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x010038; GFX12-NEXT:    s_wait_kmcnt 0x010039; GFX12-NEXT:    s_lshr_b32 s3, s2, 1610040; GFX12-NEXT:    s_sext_i32_i16 s5, s210041; GFX12-NEXT:    s_ashr_i32 s4, s2, 2410042; GFX12-NEXT:    s_bfe_i32 s2, s2, 0x8000010043; GFX12-NEXT:    s_lshr_b32 s5, s5, 810044; GFX12-NEXT:    s_bfe_i32 s3, s3, 0x8000010045; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s2, s510046; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s3, s410047; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)10048; GFX12-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s310049; GFX12-NEXT:    v_mov_b32_e32 v0, s210050; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]10051; GFX12-NEXT:    s_endpgm10052  %load = load <4 x i8>, ptr addrspace(4) %in10053  %ext = sext <4 x i8> %load to <4 x i16>10054  store <4 x i16> %ext, ptr addrspace(1) %out10055  ret void10056}10057 10058define amdgpu_kernel void @constant_zextload_v8i8_to_v8i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {10059; GFX6-NOHSA-LABEL: constant_zextload_v8i8_to_v8i16:10060; GFX6-NOHSA:       ; %bb.0:10061; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x910062; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10063; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x010064; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf00010065; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10066; GFX6-NOHSA-NEXT:    s_lshr_b32 s2, s4, 2410067; GFX6-NOHSA-NEXT:    s_lshr_b32 s7, s5, 2410068; GFX6-NOHSA-NEXT:    s_and_b32 s8, s4, 0xff0010069; GFX6-NOHSA-NEXT:    s_and_b32 s9, s5, 0xff0010070; GFX6-NOHSA-NEXT:    s_and_b32 s10, s5, 0xff10071; GFX6-NOHSA-NEXT:    s_and_b32 s11, s4, 0xff10072; GFX6-NOHSA-NEXT:    s_mov_b32 s6, s510073; GFX6-NOHSA-NEXT:    s_lshl_b32 s9, s9, 810074; GFX6-NOHSA-NEXT:    s_lshl_b32 s8, s8, 810075; GFX6-NOHSA-NEXT:    s_lshr_b64 s[6:7], s[6:7], 1610076; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s210077; GFX6-NOHSA-NEXT:    s_lshr_b64 s[4:5], s[4:5], 1610078; GFX6-NOHSA-NEXT:    s_or_b32 s5, s10, s910079; GFX6-NOHSA-NEXT:    s_or_b32 s7, s11, s810080; GFX6-NOHSA-NEXT:    s_and_b32 s6, s6, 0xff00ff10081; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xff00ff10082; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -110083; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s710084; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s410085; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s510086; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s610087; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 010088; GFX6-NOHSA-NEXT:    s_endpgm10089;10090; GFX7-HSA-LABEL: constant_zextload_v8i8_to_v8i16:10091; GFX7-HSA:       ; %bb.0:10092; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x010093; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1710094; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1310095; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 810096; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10097; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x010098; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s010099; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s110100; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10101; GFX7-HSA-NEXT:    s_and_b32 s0, s2, 0xff0010102; GFX7-HSA-NEXT:    s_and_b32 s5, s3, 0xff0010103; GFX7-HSA-NEXT:    s_and_b32 s6, s3, 0xff10104; GFX7-HSA-NEXT:    s_and_b32 s7, s2, 0xff10105; GFX7-HSA-NEXT:    s_lshl_b32 s5, s5, 810106; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 810107; GFX7-HSA-NEXT:    s_lshr_b32 s4, s2, 2410108; GFX7-HSA-NEXT:    s_lshr_b32 s1, s3, 2410109; GFX7-HSA-NEXT:    s_or_b32 s5, s6, s510110; GFX7-HSA-NEXT:    s_or_b32 s6, s7, s010111; GFX7-HSA-NEXT:    s_mov_b32 s0, s310112; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[0:1], 1610113; GFX7-HSA-NEXT:    s_mov_b32 s3, s410114; GFX7-HSA-NEXT:    s_and_b32 s7, s0, 0xff00ff10115; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[2:3], 1610116; GFX7-HSA-NEXT:    s_and_b32 s0, s0, 0xff00ff10117; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s610118; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s010119; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s510120; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s710121; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10122; GFX7-HSA-NEXT:    s_endpgm10123;10124; GFX8-NOHSA-LABEL: constant_zextload_v8i8_to_v8i16:10125; GFX8-NOHSA:       ; %bb.0:10126; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x2410127; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10128; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x010129; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s110130; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s010131; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10132; GFX8-NOHSA-NEXT:    s_lshr_b32 s1, s3, 2410133; GFX8-NOHSA-NEXT:    s_bfe_u32 s4, s3, 0x8001010134; GFX8-NOHSA-NEXT:    s_and_b32 s5, s3, 0xff10135; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s3, 810136; GFX8-NOHSA-NEXT:    s_and_b32 s3, s3, 0xff000010137; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s1, 1610138; GFX8-NOHSA-NEXT:    s_or_b32 s5, s5, s310139; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s2, 810140; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s2, 2410141; GFX8-NOHSA-NEXT:    s_or_b32 s4, s4, s110142; GFX8-NOHSA-NEXT:    s_and_b32 s1, s2, 0xff10143; GFX8-NOHSA-NEXT:    s_and_b32 s3, s3, 0xff000010144; GFX8-NOHSA-NEXT:    s_or_b32 s6, s1, s310145; GFX8-NOHSA-NEXT:    s_mov_b32 s3, s010146; GFX8-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[2:3], 1610147; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xff00ff10148; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s610149; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s010150; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s510151; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s410152; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10153; GFX8-NOHSA-NEXT:    s_endpgm10154;10155; EG-LABEL: constant_zextload_v8i8_to_v8i16:10156; EG:       ; %bb.0:10157; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]10158; EG-NEXT:    TEX 0 @610159; EG-NEXT:    ALU 61, @10, KC0[CB0:0-32], KC1[]10160; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T11.X, 110161; EG-NEXT:    CF_END10162; EG-NEXT:    PAD10163; EG-NEXT:    Fetch clause starting at 6:10164; EG-NEXT:     VTX_READ_64 T11.XY, T11.X, 0, #110165; EG-NEXT:    ALU clause starting at 8:10166; EG-NEXT:     MOV * T0.Y, T8.X,10167; EG-NEXT:     MOV * T11.X, KC0[2].Z,10168; EG-NEXT:    ALU clause starting at 10:10169; EG-NEXT:     AND_INT T0.W, T11.X, literal.x,10170; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,10171; EG-NEXT:    255(3.573311e-43), -65536(nan)10172; EG-NEXT:     OR_INT * T0.W, PS, PV.W,10173; EG-NEXT:     MOV * T8.X, PV.W,10174; EG-NEXT:     MOV T0.Y, PV.X,10175; EG-NEXT:     LSHL * T0.W, T11.X, literal.x,10176; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10177; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10178; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,10179; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10180; EG-NEXT:     OR_INT * T0.W, PV.W, PS,10181; EG-NEXT:     MOV T8.X, PV.W,10182; EG-NEXT:     MOV T0.Y, T9.X,10183; EG-NEXT:     MOV * T0.W, literal.x,10184; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10185; EG-NEXT:     BFE_UINT T1.W, T11.X, literal.x, PV.W,10186; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.y,10187; EG-NEXT:    16(2.242078e-44), -65536(nan)10188; EG-NEXT:     OR_INT * T1.W, PS, PV.W,10189; EG-NEXT:     MOV * T9.X, PV.W,10190; EG-NEXT:     MOV T0.Y, PV.X,10191; EG-NEXT:     LSHR * T1.W, T11.X, literal.x,10192; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10193; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10194; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10195; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10196; EG-NEXT:     OR_INT * T12.Y, PV.W, PS,10197; EG-NEXT:     MOV T9.X, PV.Y,10198; EG-NEXT:     MOV * T0.Y, T4.X,10199; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10200; EG-NEXT:     AND_INT * T2.W, T11.Y, literal.y,10201; EG-NEXT:    -65536(nan), 255(3.573311e-43)10202; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10203; EG-NEXT:     MOV * T4.X, PV.W,10204; EG-NEXT:     MOV T0.Y, PV.X,10205; EG-NEXT:     LSHL * T1.W, T11.Y, literal.x,10206; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10207; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10208; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10209; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10210; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10211; EG-NEXT:     MOV T4.X, PV.W,10212; EG-NEXT:     MOV T0.Y, T5.X,10213; EG-NEXT:     BFE_UINT * T0.W, T11.Y, literal.x, T0.W,10214; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10215; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.x,10216; EG-NEXT:    -65536(nan), 0(0.000000e+00)10217; EG-NEXT:     OR_INT * T0.W, PV.W, T0.W,10218; EG-NEXT:     MOV * T5.X, PV.W,10219; EG-NEXT:     MOV T0.Y, PV.X,10220; EG-NEXT:     LSHR * T0.W, T11.Y, literal.x,10221; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10222; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10223; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,10224; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10225; EG-NEXT:     LSHR T11.X, KC0[2].Y, literal.x,10226; EG-NEXT:     OR_INT * T12.W, PV.W, PS,10227; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)10228; EG-NEXT:     MOV T5.X, PV.W,10229; EG-NEXT:     MOV * T12.X, T8.X,10230; EG-NEXT:     MOV * T12.Z, T4.X,10231;10232; GFX12-LABEL: constant_zextload_v8i8_to_v8i16:10233; GFX12:       ; %bb.0:10234; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2410235; GFX12-NEXT:    s_wait_kmcnt 0x010236; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x010237; GFX12-NEXT:    s_wait_kmcnt 0x010238; GFX12-NEXT:    s_bfe_u32 s4, s2, 0x8000810239; GFX12-NEXT:    s_lshr_b32 s5, s2, 2410240; GFX12-NEXT:    s_bfe_u32 s6, s3, 0x8000810241; GFX12-NEXT:    s_lshr_b32 s7, s3, 2410242; GFX12-NEXT:    s_bfe_u32 s8, s3, 0x8001010243; GFX12-NEXT:    s_and_b32 s3, s3, 0xff10244; GFX12-NEXT:    s_bfe_u32 s9, s2, 0x8001010245; GFX12-NEXT:    s_and_b32 s2, s2, 0xff10246; GFX12-NEXT:    s_pack_ll_b32_b16 s7, s8, s710247; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s3, s610248; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s2, s410249; GFX12-NEXT:    s_pack_ll_b32_b16 s4, s9, s510250; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)10251; GFX12-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s410252; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v3, s710253; GFX12-NEXT:    v_mov_b32_e32 v2, s310254; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]10255; GFX12-NEXT:    s_endpgm10256  %load = load <8 x i8>, ptr addrspace(4) %in10257  %ext = zext <8 x i8> %load to <8 x i16>10258  store <8 x i16> %ext, ptr addrspace(1) %out10259  ret void10260}10261 10262define amdgpu_kernel void @constant_sextload_v8i8_to_v8i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {10263; GFX6-NOHSA-LABEL: constant_sextload_v8i8_to_v8i16:10264; GFX6-NOHSA:       ; %bb.0:10265; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x910266; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10267; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x010268; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf00010269; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10270; GFX6-NOHSA-NEXT:    s_ashr_i32 s2, s5, 2410271; GFX6-NOHSA-NEXT:    s_bfe_i32 s6, s5, 0x8001010272; GFX6-NOHSA-NEXT:    s_bfe_i32 s7, s5, 0x8000810273; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s510274; GFX6-NOHSA-NEXT:    s_ashr_i32 s8, s4, 2410275; GFX6-NOHSA-NEXT:    s_bfe_i32 s9, s4, 0x8001010276; GFX6-NOHSA-NEXT:    s_bfe_i32 s10, s4, 0x8000810277; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s410278; GFX6-NOHSA-NEXT:    s_lshl_b32 s2, s2, 1610279; GFX6-NOHSA-NEXT:    s_and_b32 s6, s6, 0xffff10280; GFX6-NOHSA-NEXT:    s_lshl_b32 s7, s7, 1610281; GFX6-NOHSA-NEXT:    s_and_b32 s5, s5, 0xffff10282; GFX6-NOHSA-NEXT:    s_lshl_b32 s8, s8, 1610283; GFX6-NOHSA-NEXT:    s_and_b32 s9, s9, 0xffff10284; GFX6-NOHSA-NEXT:    s_lshl_b32 s10, s10, 1610285; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xffff10286; GFX6-NOHSA-NEXT:    s_or_b32 s6, s6, s210287; GFX6-NOHSA-NEXT:    s_or_b32 s5, s5, s710288; GFX6-NOHSA-NEXT:    s_or_b32 s7, s9, s810289; GFX6-NOHSA-NEXT:    s_or_b32 s4, s4, s1010290; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -110291; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s410292; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s710293; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s510294; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s610295; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 010296; GFX6-NOHSA-NEXT:    s_endpgm10297;10298; GFX7-HSA-LABEL: constant_sextload_v8i8_to_v8i16:10299; GFX7-HSA:       ; %bb.0:10300; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x010301; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1710302; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1310303; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 810304; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10305; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x010306; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s010307; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s110308; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10309; GFX7-HSA-NEXT:    s_ashr_i32 s0, s3, 2410310; GFX7-HSA-NEXT:    s_bfe_i32 s1, s3, 0x8001010311; GFX7-HSA-NEXT:    s_bfe_i32 s4, s3, 0x8000810312; GFX7-HSA-NEXT:    s_sext_i32_i8 s3, s310313; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1610314; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff10315; GFX7-HSA-NEXT:    s_lshl_b32 s4, s4, 1610316; GFX7-HSA-NEXT:    s_and_b32 s3, s3, 0xffff10317; GFX7-HSA-NEXT:    s_or_b32 s0, s1, s010318; GFX7-HSA-NEXT:    s_or_b32 s1, s3, s410319; GFX7-HSA-NEXT:    s_ashr_i32 s3, s2, 2410320; GFX7-HSA-NEXT:    s_bfe_i32 s4, s2, 0x8001010321; GFX7-HSA-NEXT:    s_lshl_b32 s3, s3, 1610322; GFX7-HSA-NEXT:    s_and_b32 s4, s4, 0xffff10323; GFX7-HSA-NEXT:    s_or_b32 s3, s4, s310324; GFX7-HSA-NEXT:    s_bfe_i32 s4, s2, 0x8000810325; GFX7-HSA-NEXT:    s_sext_i32_i8 s2, s210326; GFX7-HSA-NEXT:    s_lshl_b32 s4, s4, 1610327; GFX7-HSA-NEXT:    s_and_b32 s2, s2, 0xffff10328; GFX7-HSA-NEXT:    s_or_b32 s2, s2, s410329; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s210330; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s310331; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s110332; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s010333; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10334; GFX7-HSA-NEXT:    s_endpgm10335;10336; GFX8-NOHSA-LABEL: constant_sextload_v8i8_to_v8i16:10337; GFX8-NOHSA:       ; %bb.0:10338; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x2410339; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10340; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x010341; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s010342; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s110343; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10344; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s4, s310345; GFX8-NOHSA-NEXT:    s_bfe_i32 s5, s3, 0x8000010346; GFX8-NOHSA-NEXT:    s_lshl_b32 s4, s4, 810347; GFX8-NOHSA-NEXT:    s_and_b32 s5, 0xffff, s510348; GFX8-NOHSA-NEXT:    s_and_b32 s4, s4, 0xffff000010349; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s2, 1610350; GFX8-NOHSA-NEXT:    s_lshr_b32 s1, s3, 1610351; GFX8-NOHSA-NEXT:    s_or_b32 s4, s5, s410352; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s5, s210353; GFX8-NOHSA-NEXT:    s_bfe_i32 s6, s2, 0x8000010354; GFX8-NOHSA-NEXT:    s_lshl_b32 s5, s5, 810355; GFX8-NOHSA-NEXT:    s_ashr_i32 s3, s3, 2410356; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s1, 0x8000010357; GFX8-NOHSA-NEXT:    s_ashr_i32 s2, s2, 2410358; GFX8-NOHSA-NEXT:    s_bfe_i32 s0, s0, 0x8000010359; GFX8-NOHSA-NEXT:    s_and_b32 s6, 0xffff, s610360; GFX8-NOHSA-NEXT:    s_and_b32 s5, s5, 0xffff000010361; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s3, 1610362; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s110363; GFX8-NOHSA-NEXT:    s_lshl_b32 s2, s2, 1610364; GFX8-NOHSA-NEXT:    s_and_b32 s0, 0xffff, s010365; GFX8-NOHSA-NEXT:    s_or_b32 s5, s6, s510366; GFX8-NOHSA-NEXT:    s_or_b32 s1, s1, s310367; GFX8-NOHSA-NEXT:    s_or_b32 s0, s0, s210368; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s510369; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s010370; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s410371; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s110372; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10373; GFX8-NOHSA-NEXT:    s_endpgm10374;10375; EG-LABEL: constant_sextload_v8i8_to_v8i16:10376; EG:       ; %bb.0:10377; EG-NEXT:    ALU 1, @8, KC0[CB0:0-32], KC1[]10378; EG-NEXT:    TEX 0 @610379; EG-NEXT:    ALU 74, @10, KC0[CB0:0-32], KC1[]10380; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T11.X, 110381; EG-NEXT:    CF_END10382; EG-NEXT:    PAD10383; EG-NEXT:    Fetch clause starting at 6:10384; EG-NEXT:     VTX_READ_64 T11.XY, T11.X, 0, #110385; EG-NEXT:    ALU clause starting at 8:10386; EG-NEXT:     MOV * T0.Y, T8.X,10387; EG-NEXT:     MOV * T11.X, KC0[2].Z,10388; EG-NEXT:    ALU clause starting at 10:10389; EG-NEXT:     BFE_INT * T0.W, T11.X, 0.0, literal.x,10390; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10391; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,10392; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,10393; EG-NEXT:    65535(9.183409e-41), -65536(nan)10394; EG-NEXT:     OR_INT * T0.W, PS, PV.W,10395; EG-NEXT:     MOV * T8.X, PV.W,10396; EG-NEXT:     MOV T0.Y, PV.X,10397; EG-NEXT:     LSHR * T0.W, T11.X, literal.x,10398; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10399; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,10400; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,10401; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)10402; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,10403; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10404; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,10405; EG-NEXT:     MOV T8.X, PV.W,10406; EG-NEXT:     MOV T0.Y, T9.X,10407; EG-NEXT:     LSHR * T0.W, T11.X, literal.x, BS:VEC_120/SCL_21210408; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10409; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,10410; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,10411; EG-NEXT:    8(1.121039e-44), -65536(nan)10412; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,10413; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)10414; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,10415; EG-NEXT:     MOV * T9.X, PV.W,10416; EG-NEXT:     MOV T0.Y, PV.X,10417; EG-NEXT:     ASHR * T0.W, T11.X, literal.x,10418; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)10419; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10420; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,10421; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)10422; EG-NEXT:     OR_INT * T12.Y, PV.W, PS,10423; EG-NEXT:     MOV T9.X, PV.Y,10424; EG-NEXT:     MOV T0.Y, T4.X,10425; EG-NEXT:     BFE_INT * T0.W, T11.Y, 0.0, literal.x,10426; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10427; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10428; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,10429; EG-NEXT:    -65536(nan), 65535(9.183409e-41)10430; EG-NEXT:     OR_INT * T0.W, PV.W, PS,10431; EG-NEXT:     MOV * T4.X, PV.W,10432; EG-NEXT:     MOV T0.Y, PV.X,10433; EG-NEXT:     LSHR * T0.W, T11.Y, literal.x,10434; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10435; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,10436; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,10437; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)10438; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,10439; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10440; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,10441; EG-NEXT:     MOV T4.X, PV.W,10442; EG-NEXT:     MOV T0.Y, T5.X,10443; EG-NEXT:     LSHR * T0.W, T11.Y, literal.x,10444; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10445; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,10446; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,10447; EG-NEXT:    8(1.121039e-44), -65536(nan)10448; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,10449; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)10450; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,10451; EG-NEXT:     MOV * T5.X, PV.W,10452; EG-NEXT:     MOV T0.Y, PV.X,10453; EG-NEXT:     ASHR * T0.W, T11.Y, literal.x,10454; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)10455; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10456; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,10457; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)10458; EG-NEXT:     LSHR T11.X, KC0[2].Y, literal.x,10459; EG-NEXT:     OR_INT * T12.W, PV.W, PS,10460; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)10461; EG-NEXT:     MOV T5.X, PV.W,10462; EG-NEXT:     MOV * T12.X, T8.X,10463; EG-NEXT:     MOV * T12.Z, T4.X,10464;10465; GFX12-LABEL: constant_sextload_v8i8_to_v8i16:10466; GFX12:       ; %bb.0:10467; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2410468; GFX12-NEXT:    s_wait_kmcnt 0x010469; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x010470; GFX12-NEXT:    s_wait_kmcnt 0x010471; GFX12-NEXT:    s_lshr_b32 s4, s2, 1610472; GFX12-NEXT:    s_lshr_b32 s5, s3, 1610473; GFX12-NEXT:    s_ashr_i32 s6, s3, 2410474; GFX12-NEXT:    s_bfe_i32 s7, s3, 0x8000010475; GFX12-NEXT:    s_sext_i32_i16 s3, s310476; GFX12-NEXT:    s_ashr_i32 s8, s2, 2410477; GFX12-NEXT:    s_bfe_i32 s9, s2, 0x8000010478; GFX12-NEXT:    s_sext_i32_i16 s2, s210479; GFX12-NEXT:    s_bfe_i32 s5, s5, 0x8000010480; GFX12-NEXT:    s_lshr_b32 s3, s3, 810481; GFX12-NEXT:    s_bfe_i32 s4, s4, 0x8000010482; GFX12-NEXT:    s_lshr_b32 s2, s2, 810483; GFX12-NEXT:    s_pack_ll_b32_b16 s5, s5, s610484; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s7, s310485; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s9, s210486; GFX12-NEXT:    s_pack_ll_b32_b16 s4, s4, s810487; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)10488; GFX12-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s410489; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v3, s510490; GFX12-NEXT:    v_mov_b32_e32 v2, s310491; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]10492; GFX12-NEXT:    s_endpgm10493  %load = load <8 x i8>, ptr addrspace(4) %in10494  %ext = sext <8 x i8> %load to <8 x i16>10495  store <8 x i16> %ext, ptr addrspace(1) %out10496  ret void10497}10498 10499define amdgpu_kernel void @constant_zextload_v16i8_to_v16i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {10500; GFX6-NOHSA-LABEL: constant_zextload_v16i8_to_v16i16:10501; GFX6-NOHSA:       ; %bb.0:10502; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x910503; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10504; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x010505; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf00010506; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -110507; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10508; GFX6-NOHSA-NEXT:    s_lshr_b32 s12, s6, 2410509; GFX6-NOHSA-NEXT:    s_lshr_b32 s9, s7, 2410510; GFX6-NOHSA-NEXT:    s_and_b32 s13, s6, 0xff0010511; GFX6-NOHSA-NEXT:    s_and_b32 s14, s7, 0xff0010512; GFX6-NOHSA-NEXT:    s_lshr_b32 s15, s4, 2410513; GFX6-NOHSA-NEXT:    s_lshr_b32 s11, s5, 2410514; GFX6-NOHSA-NEXT:    s_and_b32 s16, s4, 0xff0010515; GFX6-NOHSA-NEXT:    s_and_b32 s17, s5, 0xff0010516; GFX6-NOHSA-NEXT:    s_and_b32 s18, s5, 0xff10517; GFX6-NOHSA-NEXT:    s_and_b32 s19, s4, 0xff10518; GFX6-NOHSA-NEXT:    s_mov_b32 s10, s510519; GFX6-NOHSA-NEXT:    s_and_b32 s20, s7, 0xff10520; GFX6-NOHSA-NEXT:    s_and_b32 s21, s6, 0xff10521; GFX6-NOHSA-NEXT:    s_mov_b32 s8, s710522; GFX6-NOHSA-NEXT:    s_lshl_b32 s17, s17, 810523; GFX6-NOHSA-NEXT:    s_lshl_b32 s16, s16, 810524; GFX6-NOHSA-NEXT:    s_lshr_b64 s[10:11], s[10:11], 1610525; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s1510526; GFX6-NOHSA-NEXT:    s_lshr_b64 s[4:5], s[4:5], 1610527; GFX6-NOHSA-NEXT:    s_lshl_b32 s5, s14, 810528; GFX6-NOHSA-NEXT:    s_lshl_b32 s11, s13, 810529; GFX6-NOHSA-NEXT:    s_lshr_b64 s[8:9], s[8:9], 1610530; GFX6-NOHSA-NEXT:    s_mov_b32 s7, s1210531; GFX6-NOHSA-NEXT:    s_lshr_b64 s[6:7], s[6:7], 1610532; GFX6-NOHSA-NEXT:    s_or_b32 s7, s18, s1710533; GFX6-NOHSA-NEXT:    s_or_b32 s9, s19, s1610534; GFX6-NOHSA-NEXT:    s_and_b32 s10, s10, 0xff00ff10535; GFX6-NOHSA-NEXT:    s_or_b32 s5, s20, s510536; GFX6-NOHSA-NEXT:    s_or_b32 s11, s21, s1110537; GFX6-NOHSA-NEXT:    s_and_b32 s8, s8, 0xff00ff10538; GFX6-NOHSA-NEXT:    s_and_b32 s6, s6, 0xff00ff10539; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xff00ff10540; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s1110541; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s610542; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s510543; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s810544; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1610545; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)10546; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s910547; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s410548; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s710549; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1010550; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 010551; GFX6-NOHSA-NEXT:    s_endpgm10552;10553; GFX7-HSA-LABEL: constant_zextload_v16i8_to_v16i16:10554; GFX7-HSA:       ; %bb.0:10555; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x010556; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1710557; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1310558; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 810559; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10560; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x010561; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10562; GFX7-HSA-NEXT:    s_and_b32 s13, s5, 0xff0010563; GFX7-HSA-NEXT:    s_and_b32 s8, s4, 0xff0010564; GFX7-HSA-NEXT:    s_and_b32 s14, s5, 0xff10565; GFX7-HSA-NEXT:    s_lshl_b32 s13, s13, 810566; GFX7-HSA-NEXT:    s_lshr_b32 s12, s4, 2410567; GFX7-HSA-NEXT:    s_or_b32 s13, s14, s1310568; GFX7-HSA-NEXT:    s_and_b32 s14, s4, 0xff10569; GFX7-HSA-NEXT:    s_lshl_b32 s8, s8, 810570; GFX7-HSA-NEXT:    s_lshr_b32 s9, s5, 2410571; GFX7-HSA-NEXT:    s_or_b32 s14, s14, s810572; GFX7-HSA-NEXT:    s_mov_b32 s8, s510573; GFX7-HSA-NEXT:    s_mov_b32 s5, s1210574; GFX7-HSA-NEXT:    s_and_b32 s11, s7, 0xff0010575; GFX7-HSA-NEXT:    s_lshr_b64 s[8:9], s[8:9], 1610576; GFX7-HSA-NEXT:    s_lshr_b64 s[4:5], s[4:5], 1610577; GFX7-HSA-NEXT:    s_and_b32 s2, s6, 0xff0010578; GFX7-HSA-NEXT:    s_and_b32 s5, s7, 0xff10579; GFX7-HSA-NEXT:    s_lshl_b32 s9, s11, 810580; GFX7-HSA-NEXT:    s_or_b32 s5, s5, s910581; GFX7-HSA-NEXT:    s_and_b32 s9, s6, 0xff10582; GFX7-HSA-NEXT:    s_lshl_b32 s2, s2, 810583; GFX7-HSA-NEXT:    s_lshr_b32 s10, s6, 2410584; GFX7-HSA-NEXT:    s_lshr_b32 s3, s7, 2410585; GFX7-HSA-NEXT:    s_or_b32 s9, s9, s210586; GFX7-HSA-NEXT:    s_mov_b32 s2, s710587; GFX7-HSA-NEXT:    s_lshr_b64 s[2:3], s[2:3], 1610588; GFX7-HSA-NEXT:    s_mov_b32 s7, s1010589; GFX7-HSA-NEXT:    s_and_b32 s11, s2, 0xff00ff10590; GFX7-HSA-NEXT:    s_lshr_b64 s[2:3], s[6:7], 1610591; GFX7-HSA-NEXT:    s_and_b32 s8, s8, 0xff00ff10592; GFX7-HSA-NEXT:    s_and_b32 s4, s4, 0xff00ff10593; GFX7-HSA-NEXT:    s_and_b32 s2, s2, 0xff00ff10594; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s210595; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 1610596; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 010597; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s310598; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s910599; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s510600; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1110601; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s210602; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10603; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s110604; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s1410605; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s410606; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s1310607; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s810608; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s010609; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10610; GFX7-HSA-NEXT:    s_endpgm10611;10612; GFX8-NOHSA-LABEL: constant_zextload_v16i8_to_v16i16:10613; GFX8-NOHSA:       ; %bb.0:10614; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x2410615; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10616; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x010617; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10618; GFX8-NOHSA-NEXT:    s_lshr_b32 s3, s5, 2410619; GFX8-NOHSA-NEXT:    s_bfe_u32 s9, s5, 0x8001010620; GFX8-NOHSA-NEXT:    s_and_b32 s10, s5, 0xff10621; GFX8-NOHSA-NEXT:    s_lshl_b32 s5, s5, 810622; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s3, 1610623; GFX8-NOHSA-NEXT:    s_lshr_b32 s2, s4, 2410624; GFX8-NOHSA-NEXT:    s_and_b32 s5, s5, 0xff000010625; GFX8-NOHSA-NEXT:    s_or_b32 s9, s9, s310626; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s4, 810627; GFX8-NOHSA-NEXT:    s_and_b32 s11, s4, 0xff10628; GFX8-NOHSA-NEXT:    s_or_b32 s10, s10, s510629; GFX8-NOHSA-NEXT:    s_and_b32 s3, s3, 0xff000010630; GFX8-NOHSA-NEXT:    s_mov_b32 s5, s210631; GFX8-NOHSA-NEXT:    s_or_b32 s11, s11, s310632; GFX8-NOHSA-NEXT:    s_lshr_b64 s[2:3], s[4:5], 1610633; GFX8-NOHSA-NEXT:    s_and_b32 s4, s2, 0xff00ff10634; GFX8-NOHSA-NEXT:    s_lshr_b32 s2, s7, 2410635; GFX8-NOHSA-NEXT:    s_lshl_b32 s2, s2, 1610636; GFX8-NOHSA-NEXT:    s_bfe_u32 s3, s7, 0x8001010637; GFX8-NOHSA-NEXT:    s_or_b32 s5, s3, s210638; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s7, 810639; GFX8-NOHSA-NEXT:    s_and_b32 s2, s7, 0xff10640; GFX8-NOHSA-NEXT:    s_and_b32 s3, s3, 0xff000010641; GFX8-NOHSA-NEXT:    s_lshr_b32 s8, s6, 2410642; GFX8-NOHSA-NEXT:    s_or_b32 s12, s2, s310643; GFX8-NOHSA-NEXT:    s_lshl_b32 s3, s6, 810644; GFX8-NOHSA-NEXT:    s_and_b32 s2, s6, 0xff10645; GFX8-NOHSA-NEXT:    s_and_b32 s3, s3, 0xff000010646; GFX8-NOHSA-NEXT:    s_mov_b32 s7, s810647; GFX8-NOHSA-NEXT:    s_or_b32 s13, s2, s310648; GFX8-NOHSA-NEXT:    s_lshr_b64 s[2:3], s[6:7], 1610649; GFX8-NOHSA-NEXT:    s_and_b32 s2, s2, 0xff00ff10650; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s210651; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 1610652; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 010653; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s310654; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1310655; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1210656; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s510657; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s210658; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10659; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s110660; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1110661; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s410662; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1010663; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s910664; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s010665; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10666; GFX8-NOHSA-NEXT:    s_endpgm10667;10668; EG-LABEL: constant_zextload_v16i8_to_v16i16:10669; EG:       ; %bb.0:10670; EG-NEXT:    ALU 1, @10, KC0[CB0:0-32], KC1[]10671; EG-NEXT:    TEX 0 @810672; EG-NEXT:    ALU 103, @12, KC0[], KC1[]10673; EG-NEXT:    ALU 20, @116, KC0[CB0:0-32], KC1[]10674; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T22.X, 010675; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T21.X, 110676; EG-NEXT:    CF_END10677; EG-NEXT:    PAD10678; EG-NEXT:    Fetch clause starting at 8:10679; EG-NEXT:     VTX_READ_128 T19.XYZW, T19.X, 0, #110680; EG-NEXT:    ALU clause starting at 10:10681; EG-NEXT:     MOV * T0.Y, T16.X,10682; EG-NEXT:     MOV * T19.X, KC0[2].Z,10683; EG-NEXT:    ALU clause starting at 12:10684; EG-NEXT:     AND_INT T0.W, T19.X, literal.x,10685; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,10686; EG-NEXT:    255(3.573311e-43), -65536(nan)10687; EG-NEXT:     OR_INT * T0.W, PS, PV.W,10688; EG-NEXT:     MOV * T16.X, PV.W,10689; EG-NEXT:     MOV T0.Y, PV.X,10690; EG-NEXT:     LSHL * T0.W, T19.X, literal.x,10691; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10692; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10693; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,10694; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10695; EG-NEXT:     OR_INT * T0.W, PV.W, PS,10696; EG-NEXT:     MOV T16.X, PV.W,10697; EG-NEXT:     MOV T0.Y, T17.X,10698; EG-NEXT:     MOV * T0.W, literal.x,10699; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10700; EG-NEXT:     BFE_UINT T1.W, T19.X, literal.x, PV.W,10701; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.y,10702; EG-NEXT:    16(2.242078e-44), -65536(nan)10703; EG-NEXT:     OR_INT * T1.W, PS, PV.W,10704; EG-NEXT:     MOV * T17.X, PV.W,10705; EG-NEXT:     MOV T0.Y, PV.X,10706; EG-NEXT:     LSHR * T1.W, T19.X, literal.x,10707; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10708; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10709; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10710; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10711; EG-NEXT:     OR_INT * T20.Y, PV.W, PS,10712; EG-NEXT:     MOV T17.X, PV.Y,10713; EG-NEXT:     MOV * T0.Y, T12.X,10714; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10715; EG-NEXT:     AND_INT * T2.W, T19.Y, literal.y,10716; EG-NEXT:    -65536(nan), 255(3.573311e-43)10717; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10718; EG-NEXT:     MOV * T12.X, PV.W,10719; EG-NEXT:     MOV T0.Y, PV.X,10720; EG-NEXT:     LSHL * T1.W, T19.Y, literal.x,10721; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10722; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10723; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10724; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10725; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10726; EG-NEXT:     MOV T12.X, PV.W,10727; EG-NEXT:     MOV T0.Y, T13.X,10728; EG-NEXT:     BFE_UINT * T1.W, T19.Y, literal.x, T0.W,10729; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10730; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,10731; EG-NEXT:    -65536(nan), 0(0.000000e+00)10732; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,10733; EG-NEXT:     MOV * T13.X, PV.W,10734; EG-NEXT:     MOV T0.Y, PV.X,10735; EG-NEXT:     LSHR * T1.W, T19.Y, literal.x,10736; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10737; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10738; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10739; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10740; EG-NEXT:     OR_INT * T20.W, PV.W, PS,10741; EG-NEXT:     MOV T13.X, PV.W,10742; EG-NEXT:     MOV * T0.Y, T8.X,10743; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10744; EG-NEXT:     AND_INT * T2.W, T19.Z, literal.y,10745; EG-NEXT:    -65536(nan), 255(3.573311e-43)10746; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10747; EG-NEXT:     MOV * T8.X, PV.W,10748; EG-NEXT:     MOV T0.Y, PV.X,10749; EG-NEXT:     LSHL * T1.W, T19.Z, literal.x,10750; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10751; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10752; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10753; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10754; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10755; EG-NEXT:     MOV T8.X, PV.W,10756; EG-NEXT:     MOV T0.Y, T9.X,10757; EG-NEXT:     BFE_UINT * T1.W, T19.Z, literal.x, T0.W,10758; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10759; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,10760; EG-NEXT:    -65536(nan), 0(0.000000e+00)10761; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,10762; EG-NEXT:     MOV * T9.X, PV.W,10763; EG-NEXT:     MOV T0.Y, PV.X,10764; EG-NEXT:     LSHR * T1.W, T19.Z, literal.x,10765; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10766; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10767; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10768; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10769; EG-NEXT:     OR_INT * T19.Y, PV.W, PS,10770; EG-NEXT:     MOV T9.X, PV.Y,10771; EG-NEXT:     MOV * T0.Y, T4.X,10772; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,10773; EG-NEXT:     AND_INT * T2.W, T19.W, literal.y,10774; EG-NEXT:    -65536(nan), 255(3.573311e-43)10775; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10776; EG-NEXT:     MOV * T4.X, PV.W,10777; EG-NEXT:     MOV T0.Y, PV.X,10778; EG-NEXT:     LSHL * T1.W, T19.W, literal.x,10779; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)10780; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,10781; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,10782; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)10783; EG-NEXT:     OR_INT * T1.W, PV.W, PS,10784; EG-NEXT:     MOV T4.X, PV.W,10785; EG-NEXT:     MOV T0.Y, T5.X,10786; EG-NEXT:     BFE_UINT * T0.W, T19.W, literal.x, T0.W,10787; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)10788; EG-NEXT:    ALU clause starting at 116:10789; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.x,10790; EG-NEXT:    -65536(nan), 0(0.000000e+00)10791; EG-NEXT:     OR_INT * T0.W, PV.W, T0.W,10792; EG-NEXT:     MOV * T5.X, PV.W,10793; EG-NEXT:     MOV T0.Y, PV.X,10794; EG-NEXT:     LSHR T0.W, T19.W, literal.x,10795; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,10796; EG-NEXT:    8(1.121039e-44), 16(2.242078e-44)10797; EG-NEXT:     LSHR T21.X, PS, literal.x,10798; EG-NEXT:     AND_INT T1.W, PV.Y, literal.y,10799; EG-NEXT:     AND_INT * T0.W, PV.W, literal.z,10800; EG-NEXT:    2(2.802597e-45), 65535(9.183409e-41)10801; EG-NEXT:    16711680(2.341805e-38), 0(0.000000e+00)10802; EG-NEXT:     LSHR T22.X, KC0[2].Y, literal.x,10803; EG-NEXT:     OR_INT * T19.W, PV.W, PS,10804; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)10805; EG-NEXT:     MOV T5.X, PV.W,10806; EG-NEXT:     MOV * T20.X, T16.X,10807; EG-NEXT:     MOV * T20.Z, T12.X,10808; EG-NEXT:     MOV T19.X, T8.X,10809; EG-NEXT:     MOV * T19.Z, T4.X, BS:VEC_120/SCL_21210810;10811; GFX12-LABEL: constant_zextload_v16i8_to_v16i16:10812; GFX12:       ; %bb.0:10813; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2410814; GFX12-NEXT:    s_wait_kmcnt 0x010815; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x010816; GFX12-NEXT:    s_wait_kmcnt 0x010817; GFX12-NEXT:    s_bfe_u32 s2, s6, 0x8000810818; GFX12-NEXT:    s_lshr_b32 s3, s6, 2410819; GFX12-NEXT:    s_bfe_u32 s8, s7, 0x8000810820; GFX12-NEXT:    s_lshr_b32 s9, s7, 2410821; GFX12-NEXT:    s_bfe_u32 s16, s7, 0x8001010822; GFX12-NEXT:    s_and_b32 s7, s7, 0xff10823; GFX12-NEXT:    s_bfe_u32 s17, s6, 0x8001010824; GFX12-NEXT:    s_and_b32 s6, s6, 0xff10825; GFX12-NEXT:    s_bfe_u32 s10, s4, 0x8000810826; GFX12-NEXT:    s_lshr_b32 s11, s4, 2410827; GFX12-NEXT:    s_bfe_u32 s12, s5, 0x8000810828; GFX12-NEXT:    s_lshr_b32 s13, s5, 2410829; GFX12-NEXT:    s_bfe_u32 s14, s5, 0x8001010830; GFX12-NEXT:    s_and_b32 s5, s5, 0xff10831; GFX12-NEXT:    s_bfe_u32 s15, s4, 0x8001010832; GFX12-NEXT:    s_and_b32 s4, s4, 0xff10833; GFX12-NEXT:    s_pack_ll_b32_b16 s9, s16, s910834; GFX12-NEXT:    s_pack_ll_b32_b16 s7, s7, s810835; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s6, s210836; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s17, s310837; GFX12-NEXT:    s_pack_ll_b32_b16 s13, s14, s1310838; GFX12-NEXT:    s_pack_ll_b32_b16 s5, s5, s1210839; GFX12-NEXT:    s_pack_ll_b32_b16 s11, s15, s1110840; GFX12-NEXT:    s_pack_ll_b32_b16 s4, s4, s1010841; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s310842; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v3, s910843; GFX12-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v5, s1110844; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s1310845; GFX12-NEXT:    v_mov_b32_e32 v6, s510846; GFX12-NEXT:    s_clause 0x110847; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[0:1] offset:1610848; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[0:1]10849; GFX12-NEXT:    s_endpgm10850  %load = load <16 x i8>, ptr addrspace(4) %in10851  %ext = zext <16 x i8> %load to <16 x i16>10852  store <16 x i16> %ext, ptr addrspace(1) %out10853  ret void10854}10855 10856define amdgpu_kernel void @constant_sextload_v16i8_to_v16i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {10857; GFX6-NOHSA-LABEL: constant_sextload_v16i8_to_v16i16:10858; GFX6-NOHSA:       ; %bb.0:10859; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x910860; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10861; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x010862; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf00010863; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -110864; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10865; GFX6-NOHSA-NEXT:    s_ashr_i32 s8, s5, 2410866; GFX6-NOHSA-NEXT:    s_bfe_i32 s9, s5, 0x8001010867; GFX6-NOHSA-NEXT:    s_bfe_i32 s10, s5, 0x8000810868; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s510869; GFX6-NOHSA-NEXT:    s_ashr_i32 s11, s4, 2410870; GFX6-NOHSA-NEXT:    s_bfe_i32 s12, s4, 0x8001010871; GFX6-NOHSA-NEXT:    s_bfe_i32 s13, s4, 0x8000810872; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s410873; GFX6-NOHSA-NEXT:    s_ashr_i32 s14, s7, 2410874; GFX6-NOHSA-NEXT:    s_bfe_i32 s15, s7, 0x8001010875; GFX6-NOHSA-NEXT:    s_bfe_i32 s16, s7, 0x8000810876; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s7, s710877; GFX6-NOHSA-NEXT:    s_ashr_i32 s17, s6, 2410878; GFX6-NOHSA-NEXT:    s_bfe_i32 s18, s6, 0x8001010879; GFX6-NOHSA-NEXT:    s_bfe_i32 s19, s6, 0x8000810880; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s6, s610881; GFX6-NOHSA-NEXT:    s_lshl_b32 s8, s8, 1610882; GFX6-NOHSA-NEXT:    s_and_b32 s9, s9, 0xffff10883; GFX6-NOHSA-NEXT:    s_lshl_b32 s10, s10, 1610884; GFX6-NOHSA-NEXT:    s_and_b32 s5, s5, 0xffff10885; GFX6-NOHSA-NEXT:    s_lshl_b32 s11, s11, 1610886; GFX6-NOHSA-NEXT:    s_and_b32 s12, s12, 0xffff10887; GFX6-NOHSA-NEXT:    s_lshl_b32 s13, s13, 1610888; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xffff10889; GFX6-NOHSA-NEXT:    s_lshl_b32 s14, s14, 1610890; GFX6-NOHSA-NEXT:    s_and_b32 s15, s15, 0xffff10891; GFX6-NOHSA-NEXT:    s_lshl_b32 s16, s16, 1610892; GFX6-NOHSA-NEXT:    s_and_b32 s7, s7, 0xffff10893; GFX6-NOHSA-NEXT:    s_lshl_b32 s17, s17, 1610894; GFX6-NOHSA-NEXT:    s_and_b32 s18, s18, 0xffff10895; GFX6-NOHSA-NEXT:    s_lshl_b32 s19, s19, 1610896; GFX6-NOHSA-NEXT:    s_and_b32 s6, s6, 0xffff10897; GFX6-NOHSA-NEXT:    s_or_b32 s8, s9, s810898; GFX6-NOHSA-NEXT:    s_or_b32 s5, s5, s1010899; GFX6-NOHSA-NEXT:    s_or_b32 s9, s12, s1110900; GFX6-NOHSA-NEXT:    s_or_b32 s10, s15, s1410901; GFX6-NOHSA-NEXT:    s_or_b32 s7, s7, s1610902; GFX6-NOHSA-NEXT:    s_or_b32 s11, s18, s1710903; GFX6-NOHSA-NEXT:    s_or_b32 s6, s6, s1910904; GFX6-NOHSA-NEXT:    s_or_b32 s4, s4, s1310905; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s610906; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1110907; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s710908; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1010909; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:1610910; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)10911; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s410912; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s910913; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s510914; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s810915; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 010916; GFX6-NOHSA-NEXT:    s_endpgm10917;10918; GFX7-HSA-LABEL: constant_sextload_v16i8_to_v16i16:10919; GFX7-HSA:       ; %bb.0:10920; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x010921; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1710922; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 810923; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1310924; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10925; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x010926; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)10927; GFX7-HSA-NEXT:    s_ashr_i32 s2, s5, 2410928; GFX7-HSA-NEXT:    s_bfe_i32 s3, s5, 0x8001010929; GFX7-HSA-NEXT:    s_lshl_b32 s2, s2, 1610930; GFX7-HSA-NEXT:    s_and_b32 s3, s3, 0xffff10931; GFX7-HSA-NEXT:    s_bfe_i32 s8, s5, 0x8000810932; GFX7-HSA-NEXT:    s_sext_i32_i8 s5, s510933; GFX7-HSA-NEXT:    s_ashr_i32 s9, s4, 2410934; GFX7-HSA-NEXT:    s_or_b32 s10, s3, s210935; GFX7-HSA-NEXT:    s_bfe_i32 s3, s4, 0x8001010936; GFX7-HSA-NEXT:    s_lshl_b32 s8, s8, 1610937; GFX7-HSA-NEXT:    s_and_b32 s5, s5, 0xffff10938; GFX7-HSA-NEXT:    s_lshl_b32 s2, s9, 1610939; GFX7-HSA-NEXT:    s_and_b32 s3, s3, 0xffff10940; GFX7-HSA-NEXT:    s_or_b32 s5, s5, s810941; GFX7-HSA-NEXT:    s_or_b32 s8, s3, s210942; GFX7-HSA-NEXT:    s_bfe_i32 s2, s4, 0x8000810943; GFX7-HSA-NEXT:    s_sext_i32_i8 s3, s410944; GFX7-HSA-NEXT:    s_lshl_b32 s2, s2, 1610945; GFX7-HSA-NEXT:    s_and_b32 s3, s3, 0xffff10946; GFX7-HSA-NEXT:    s_or_b32 s4, s3, s210947; GFX7-HSA-NEXT:    s_ashr_i32 s2, s7, 2410948; GFX7-HSA-NEXT:    s_bfe_i32 s3, s7, 0x8001010949; GFX7-HSA-NEXT:    s_lshl_b32 s2, s2, 1610950; GFX7-HSA-NEXT:    s_and_b32 s3, s3, 0xffff10951; GFX7-HSA-NEXT:    s_or_b32 s2, s3, s210952; GFX7-HSA-NEXT:    s_bfe_i32 s3, s7, 0x8000810953; GFX7-HSA-NEXT:    s_sext_i32_i8 s7, s710954; GFX7-HSA-NEXT:    s_lshl_b32 s3, s3, 1610955; GFX7-HSA-NEXT:    s_and_b32 s7, s7, 0xffff10956; GFX7-HSA-NEXT:    s_or_b32 s3, s7, s310957; GFX7-HSA-NEXT:    s_ashr_i32 s7, s6, 2410958; GFX7-HSA-NEXT:    s_bfe_i32 s9, s6, 0x8001010959; GFX7-HSA-NEXT:    s_lshl_b32 s7, s7, 1610960; GFX7-HSA-NEXT:    s_and_b32 s9, s9, 0xffff10961; GFX7-HSA-NEXT:    s_or_b32 s7, s9, s710962; GFX7-HSA-NEXT:    s_bfe_i32 s9, s6, 0x8000810963; GFX7-HSA-NEXT:    s_sext_i32_i8 s6, s610964; GFX7-HSA-NEXT:    s_lshl_b32 s9, s9, 1610965; GFX7-HSA-NEXT:    s_and_b32 s6, s6, 0xffff10966; GFX7-HSA-NEXT:    s_or_b32 s6, s6, s910967; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s210968; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 1610969; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s310970; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 010971; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s310972; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s610973; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s710974; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s210975; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10976; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s110977; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s410978; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s810979; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s510980; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1010981; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s010982; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]10983; GFX7-HSA-NEXT:    s_endpgm10984;10985; GFX8-NOHSA-LABEL: constant_sextload_v16i8_to_v16i16:10986; GFX8-NOHSA:       ; %bb.0:10987; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x2410988; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10989; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x010990; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)10991; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s10, s510992; GFX8-NOHSA-NEXT:    s_bfe_i32 s11, s5, 0x8000010993; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s12, s410994; GFX8-NOHSA-NEXT:    s_lshl_b32 s10, s10, 810995; GFX8-NOHSA-NEXT:    s_lshr_b32 s8, s4, 1610996; GFX8-NOHSA-NEXT:    s_and_b32 s11, 0xffff, s1110997; GFX8-NOHSA-NEXT:    s_lshl_b32 s12, s12, 810998; GFX8-NOHSA-NEXT:    s_and_b32 s10, s10, 0xffff000010999; GFX8-NOHSA-NEXT:    s_lshr_b32 s9, s5, 1611000; GFX8-NOHSA-NEXT:    s_or_b32 s10, s11, s1011001; GFX8-NOHSA-NEXT:    s_and_b32 s11, s12, 0xffff000011002; GFX8-NOHSA-NEXT:    s_bfe_i32 s12, s4, 0x8000011003; GFX8-NOHSA-NEXT:    s_ashr_i32 s5, s5, 1611004; GFX8-NOHSA-NEXT:    s_ashr_i32 s4, s4, 2411005; GFX8-NOHSA-NEXT:    s_bfe_i32 s8, s8, 0x8000011006; GFX8-NOHSA-NEXT:    s_lshl_b32 s5, s5, 811007; GFX8-NOHSA-NEXT:    s_bfe_i32 s9, s9, 0x8000011008; GFX8-NOHSA-NEXT:    s_lshl_b32 s4, s4, 1611009; GFX8-NOHSA-NEXT:    s_and_b32 s8, 0xffff, s811010; GFX8-NOHSA-NEXT:    s_and_b32 s5, s5, 0xffff000011011; GFX8-NOHSA-NEXT:    s_and_b32 s9, 0xffff, s911012; GFX8-NOHSA-NEXT:    s_or_b32 s4, s8, s411013; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s8, s711014; GFX8-NOHSA-NEXT:    s_or_b32 s5, s9, s511015; GFX8-NOHSA-NEXT:    s_lshl_b32 s8, s8, 811016; GFX8-NOHSA-NEXT:    s_bfe_i32 s9, s7, 0x8000011017; GFX8-NOHSA-NEXT:    s_and_b32 s8, s8, 0xffff000011018; GFX8-NOHSA-NEXT:    s_and_b32 s9, 0xffff, s911019; GFX8-NOHSA-NEXT:    s_lshr_b32 s2, s6, 1611020; GFX8-NOHSA-NEXT:    s_lshr_b32 s3, s7, 1611021; GFX8-NOHSA-NEXT:    s_and_b32 s12, 0xffff, s1211022; GFX8-NOHSA-NEXT:    s_or_b32 s8, s9, s811023; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s9, s611024; GFX8-NOHSA-NEXT:    s_or_b32 s11, s12, s1111025; GFX8-NOHSA-NEXT:    s_lshl_b32 s9, s9, 811026; GFX8-NOHSA-NEXT:    s_bfe_i32 s12, s6, 0x8000011027; GFX8-NOHSA-NEXT:    s_ashr_i32 s7, s7, 2411028; GFX8-NOHSA-NEXT:    s_bfe_i32 s3, s3, 0x8000011029; GFX8-NOHSA-NEXT:    s_ashr_i32 s6, s6, 2411030; GFX8-NOHSA-NEXT:    s_bfe_i32 s2, s2, 0x8000011031; GFX8-NOHSA-NEXT:    s_and_b32 s9, s9, 0xffff000011032; GFX8-NOHSA-NEXT:    s_and_b32 s12, 0xffff, s1211033; GFX8-NOHSA-NEXT:    s_lshl_b32 s7, s7, 1611034; GFX8-NOHSA-NEXT:    s_and_b32 s3, 0xffff, s311035; GFX8-NOHSA-NEXT:    s_lshl_b32 s6, s6, 1611036; GFX8-NOHSA-NEXT:    s_and_b32 s2, 0xffff, s211037; GFX8-NOHSA-NEXT:    s_or_b32 s9, s12, s911038; GFX8-NOHSA-NEXT:    s_or_b32 s3, s3, s711039; GFX8-NOHSA-NEXT:    s_or_b32 s2, s2, s611040; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s211041; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 1611042; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s311043; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 011044; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s311045; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s911046; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s811047; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s211048; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11049; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s111050; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1111051; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s411052; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1011053; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s511054; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s011055; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11056; GFX8-NOHSA-NEXT:    s_endpgm11057;11058; EG-LABEL: constant_sextload_v16i8_to_v16i16:11059; EG:       ; %bb.0:11060; EG-NEXT:    ALU 1, @10, KC0[CB0:0-32], KC1[]11061; EG-NEXT:    TEX 0 @811062; EG-NEXT:    ALU 104, @12, KC0[], KC1[]11063; EG-NEXT:    ALU 46, @117, KC0[CB0:0-32], KC1[]11064; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T22.X, 011065; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T21.X, 111066; EG-NEXT:    CF_END11067; EG-NEXT:    PAD11068; EG-NEXT:    Fetch clause starting at 8:11069; EG-NEXT:     VTX_READ_128 T19.XYZW, T19.X, 0, #111070; EG-NEXT:    ALU clause starting at 10:11071; EG-NEXT:     MOV * T0.Y, T16.X,11072; EG-NEXT:     MOV * T19.X, KC0[2].Z,11073; EG-NEXT:    ALU clause starting at 12:11074; EG-NEXT:     BFE_INT * T0.W, T19.X, 0.0, literal.x,11075; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11076; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,11077; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,11078; EG-NEXT:    65535(9.183409e-41), -65536(nan)11079; EG-NEXT:     OR_INT * T0.W, PS, PV.W,11080; EG-NEXT:     MOV * T16.X, PV.W,11081; EG-NEXT:     MOV T0.Y, PV.X,11082; EG-NEXT:     LSHR * T0.W, T19.X, literal.x,11083; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11084; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11085; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11086; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)11087; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,11088; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11089; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11090; EG-NEXT:     MOV T16.X, PV.W,11091; EG-NEXT:     MOV T0.Y, T17.X,11092; EG-NEXT:     LSHR * T0.W, T19.X, literal.x, BS:VEC_120/SCL_21211093; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11094; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11095; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11096; EG-NEXT:    8(1.121039e-44), -65536(nan)11097; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,11098; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)11099; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11100; EG-NEXT:     MOV * T17.X, PV.W,11101; EG-NEXT:     MOV T0.Y, PV.X,11102; EG-NEXT:     ASHR * T0.W, T19.X, literal.x,11103; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)11104; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11105; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,11106; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)11107; EG-NEXT:     OR_INT * T20.Y, PV.W, PS,11108; EG-NEXT:     MOV T17.X, PV.Y,11109; EG-NEXT:     MOV T0.Y, T12.X,11110; EG-NEXT:     BFE_INT * T0.W, T19.Y, 0.0, literal.x,11111; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11112; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11113; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,11114; EG-NEXT:    -65536(nan), 65535(9.183409e-41)11115; EG-NEXT:     OR_INT * T0.W, PV.W, PS,11116; EG-NEXT:     MOV * T12.X, PV.W,11117; EG-NEXT:     MOV T0.Y, PV.X,11118; EG-NEXT:     LSHR * T0.W, T19.Y, literal.x,11119; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11120; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11121; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11122; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)11123; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,11124; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11125; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11126; EG-NEXT:     MOV T12.X, PV.W,11127; EG-NEXT:     MOV T0.Y, T13.X,11128; EG-NEXT:     LSHR * T0.W, T19.Y, literal.x,11129; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11130; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11131; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11132; EG-NEXT:    8(1.121039e-44), -65536(nan)11133; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,11134; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)11135; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11136; EG-NEXT:     MOV * T13.X, PV.W,11137; EG-NEXT:     MOV T0.Y, PV.X,11138; EG-NEXT:     ASHR * T0.W, T19.Y, literal.x,11139; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)11140; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11141; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,11142; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)11143; EG-NEXT:     OR_INT * T20.W, PV.W, PS,11144; EG-NEXT:     MOV T13.X, PV.W,11145; EG-NEXT:     MOV T0.Y, T8.X,11146; EG-NEXT:     BFE_INT * T0.W, T19.Z, 0.0, literal.x,11147; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11148; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11149; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,11150; EG-NEXT:    -65536(nan), 65535(9.183409e-41)11151; EG-NEXT:     OR_INT * T0.W, PV.W, PS,11152; EG-NEXT:     MOV * T8.X, PV.W,11153; EG-NEXT:     MOV T0.Y, PV.X,11154; EG-NEXT:     LSHR * T0.W, T19.Z, literal.x,11155; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11156; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11157; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11158; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)11159; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,11160; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11161; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11162; EG-NEXT:     MOV T8.X, PV.W,11163; EG-NEXT:     MOV T0.Y, T9.X,11164; EG-NEXT:     LSHR * T0.W, T19.Z, literal.x,11165; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11166; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11167; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11168; EG-NEXT:    8(1.121039e-44), -65536(nan)11169; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,11170; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)11171; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11172; EG-NEXT:     MOV * T9.X, PV.W,11173; EG-NEXT:     MOV T0.Y, PV.X,11174; EG-NEXT:     ASHR * T0.W, T19.Z, literal.x,11175; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)11176; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11177; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,11178; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)11179; EG-NEXT:    ALU clause starting at 117:11180; EG-NEXT:     OR_INT * T19.Y, T1.W, T0.W,11181; EG-NEXT:     MOV T9.X, PV.Y,11182; EG-NEXT:     MOV T0.Y, T4.X,11183; EG-NEXT:     BFE_INT * T0.W, T19.W, 0.0, literal.x,11184; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11185; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11186; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,11187; EG-NEXT:    -65536(nan), 65535(9.183409e-41)11188; EG-NEXT:     OR_INT * T0.W, PV.W, PS,11189; EG-NEXT:     MOV * T4.X, PV.W,11190; EG-NEXT:     MOV T0.Y, PV.X,11191; EG-NEXT:     LSHR * T0.W, T19.W, literal.x,11192; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11193; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11194; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11195; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)11196; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,11197; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11198; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11199; EG-NEXT:     MOV T4.X, PV.W,11200; EG-NEXT:     MOV T0.Y, T5.X,11201; EG-NEXT:     LSHR * T0.W, T19.W, literal.x,11202; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11203; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,11204; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,11205; EG-NEXT:    8(1.121039e-44), -65536(nan)11206; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,11207; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)11208; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,11209; EG-NEXT:     MOV * T5.X, PV.W,11210; EG-NEXT:     MOV T0.Y, PV.X,11211; EG-NEXT:     ASHR T0.W, T19.W, literal.x,11212; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,11213; EG-NEXT:    24(3.363116e-44), 16(2.242078e-44)11214; EG-NEXT:     LSHR T21.X, PS, literal.x,11215; EG-NEXT:     AND_INT T1.W, PV.Y, literal.y,11216; EG-NEXT:     LSHL * T0.W, PV.W, literal.z,11217; EG-NEXT:    2(2.802597e-45), 65535(9.183409e-41)11218; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11219; EG-NEXT:     LSHR T22.X, KC0[2].Y, literal.x,11220; EG-NEXT:     OR_INT * T19.W, PV.W, PS,11221; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)11222; EG-NEXT:     MOV T5.X, PV.W,11223; EG-NEXT:     MOV * T20.X, T16.X,11224; EG-NEXT:     MOV * T20.Z, T12.X,11225; EG-NEXT:     MOV T19.X, T8.X,11226; EG-NEXT:     MOV * T19.Z, T4.X, BS:VEC_120/SCL_21211227;11228; GFX12-LABEL: constant_sextload_v16i8_to_v16i16:11229; GFX12:       ; %bb.0:11230; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2411231; GFX12-NEXT:    s_wait_kmcnt 0x011232; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x011233; GFX12-NEXT:    s_wait_kmcnt 0x011234; GFX12-NEXT:    s_lshr_b32 s2, s6, 1611235; GFX12-NEXT:    s_lshr_b32 s3, s7, 1611236; GFX12-NEXT:    s_ashr_i32 s14, s7, 2411237; GFX12-NEXT:    s_bfe_i32 s15, s7, 0x8000011238; GFX12-NEXT:    s_sext_i32_i16 s7, s711239; GFX12-NEXT:    s_ashr_i32 s16, s6, 2411240; GFX12-NEXT:    s_bfe_i32 s17, s6, 0x8000011241; GFX12-NEXT:    s_sext_i32_i16 s6, s611242; GFX12-NEXT:    s_lshr_b32 s8, s4, 1611243; GFX12-NEXT:    s_lshr_b32 s9, s5, 1611244; GFX12-NEXT:    s_ashr_i32 s10, s5, 1611245; GFX12-NEXT:    s_bfe_i32 s11, s5, 0x8000011246; GFX12-NEXT:    s_sext_i32_i16 s5, s511247; GFX12-NEXT:    s_ashr_i32 s12, s4, 2411248; GFX12-NEXT:    s_bfe_i32 s13, s4, 0x8000011249; GFX12-NEXT:    s_sext_i32_i16 s4, s411250; GFX12-NEXT:    s_bfe_i32 s3, s3, 0x8000011251; GFX12-NEXT:    s_lshr_b32 s7, s7, 811252; GFX12-NEXT:    s_bfe_i32 s2, s2, 0x8000011253; GFX12-NEXT:    s_lshr_b32 s6, s6, 811254; GFX12-NEXT:    s_lshr_b32 s10, s10, 811255; GFX12-NEXT:    s_bfe_i32 s9, s9, 0x8000011256; GFX12-NEXT:    s_lshr_b32 s5, s5, 811257; GFX12-NEXT:    s_bfe_i32 s8, s8, 0x8000011258; GFX12-NEXT:    s_lshr_b32 s4, s4, 811259; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s3, s1411260; GFX12-NEXT:    s_pack_ll_b32_b16 s7, s15, s711261; GFX12-NEXT:    s_pack_ll_b32_b16 s6, s17, s611262; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s2, s1611263; GFX12-NEXT:    s_pack_ll_b32_b16 s9, s9, s1011264; GFX12-NEXT:    s_pack_ll_b32_b16 s5, s11, s511265; GFX12-NEXT:    s_pack_ll_b32_b16 s8, s8, s1211266; GFX12-NEXT:    s_pack_ll_b32_b16 s4, s13, s411267; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s211268; GFX12-NEXT:    v_dual_mov_b32 v0, s6 :: v_dual_mov_b32 v3, s311269; GFX12-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v5, s811270; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s911271; GFX12-NEXT:    v_mov_b32_e32 v6, s511272; GFX12-NEXT:    s_clause 0x111273; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[0:1] offset:1611274; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[0:1]11275; GFX12-NEXT:    s_endpgm11276  %load = load <16 x i8>, ptr addrspace(4) %in11277  %ext = sext <16 x i8> %load to <16 x i16>11278  store <16 x i16> %ext, ptr addrspace(1) %out11279  ret void11280}11281 11282define amdgpu_kernel void @constant_zextload_v32i8_to_v32i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {11283; GFX6-NOHSA-LABEL: constant_zextload_v32i8_to_v32i16:11284; GFX6-NOHSA:       ; %bb.0:11285; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x911286; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)11287; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x011288; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf00011289; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -111290; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)11291; GFX6-NOHSA-NEXT:    s_lshr_b32 s20, s6, 2411292; GFX6-NOHSA-NEXT:    s_lshr_b32 s13, s7, 2411293; GFX6-NOHSA-NEXT:    s_and_b32 s21, s6, 0xff0011294; GFX6-NOHSA-NEXT:    s_and_b32 s22, s7, 0xff0011295; GFX6-NOHSA-NEXT:    s_lshr_b32 s23, s4, 2411296; GFX6-NOHSA-NEXT:    s_lshr_b32 s15, s5, 2411297; GFX6-NOHSA-NEXT:    s_and_b32 s24, s4, 0xff0011298; GFX6-NOHSA-NEXT:    s_and_b32 s25, s5, 0xff0011299; GFX6-NOHSA-NEXT:    s_lshr_b32 s26, s2, 2411300; GFX6-NOHSA-NEXT:    s_lshr_b32 s17, s3, 2411301; GFX6-NOHSA-NEXT:    s_and_b32 s27, s2, 0xff0011302; GFX6-NOHSA-NEXT:    s_and_b32 s28, s3, 0xff0011303; GFX6-NOHSA-NEXT:    s_lshr_b32 s29, s0, 2411304; GFX6-NOHSA-NEXT:    s_lshr_b32 s19, s1, 2411305; GFX6-NOHSA-NEXT:    s_and_b32 s30, s0, 0xff0011306; GFX6-NOHSA-NEXT:    s_and_b32 s31, s1, 0xff0011307; GFX6-NOHSA-NEXT:    s_and_b32 s33, s1, 0xff11308; GFX6-NOHSA-NEXT:    s_and_b32 s34, s0, 0xff11309; GFX6-NOHSA-NEXT:    s_mov_b32 s18, s111310; GFX6-NOHSA-NEXT:    s_and_b32 s35, s3, 0xff11311; GFX6-NOHSA-NEXT:    s_and_b32 s36, s2, 0xff11312; GFX6-NOHSA-NEXT:    s_mov_b32 s16, s311313; GFX6-NOHSA-NEXT:    s_and_b32 s37, s5, 0xff11314; GFX6-NOHSA-NEXT:    s_and_b32 s38, s4, 0xff11315; GFX6-NOHSA-NEXT:    s_mov_b32 s14, s511316; GFX6-NOHSA-NEXT:    s_and_b32 s39, s7, 0xff11317; GFX6-NOHSA-NEXT:    s_and_b32 s40, s6, 0xff11318; GFX6-NOHSA-NEXT:    s_mov_b32 s12, s711319; GFX6-NOHSA-NEXT:    s_lshl_b32 s31, s31, 811320; GFX6-NOHSA-NEXT:    s_lshl_b32 s30, s30, 811321; GFX6-NOHSA-NEXT:    s_lshr_b64 s[18:19], s[18:19], 1611322; GFX6-NOHSA-NEXT:    s_mov_b32 s1, s2911323; GFX6-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[0:1], 1611324; GFX6-NOHSA-NEXT:    s_lshl_b32 s1, s28, 811325; GFX6-NOHSA-NEXT:    s_lshl_b32 s19, s27, 811326; GFX6-NOHSA-NEXT:    s_lshr_b64 s[16:17], s[16:17], 1611327; GFX6-NOHSA-NEXT:    s_mov_b32 s3, s2611328; GFX6-NOHSA-NEXT:    s_lshr_b64 s[2:3], s[2:3], 1611329; GFX6-NOHSA-NEXT:    s_lshl_b32 s3, s25, 811330; GFX6-NOHSA-NEXT:    s_lshl_b32 s17, s24, 811331; GFX6-NOHSA-NEXT:    s_lshr_b64 s[14:15], s[14:15], 1611332; GFX6-NOHSA-NEXT:    s_mov_b32 s5, s2311333; GFX6-NOHSA-NEXT:    s_lshr_b64 s[4:5], s[4:5], 1611334; GFX6-NOHSA-NEXT:    s_lshl_b32 s5, s22, 811335; GFX6-NOHSA-NEXT:    s_lshl_b32 s15, s21, 811336; GFX6-NOHSA-NEXT:    s_lshr_b64 s[12:13], s[12:13], 1611337; GFX6-NOHSA-NEXT:    s_mov_b32 s7, s2011338; GFX6-NOHSA-NEXT:    s_lshr_b64 s[6:7], s[6:7], 1611339; GFX6-NOHSA-NEXT:    s_or_b32 s7, s33, s3111340; GFX6-NOHSA-NEXT:    s_or_b32 s13, s34, s3011341; GFX6-NOHSA-NEXT:    s_and_b32 s18, s18, 0xff00ff11342; GFX6-NOHSA-NEXT:    s_and_b32 s0, s0, 0xff00ff11343; GFX6-NOHSA-NEXT:    s_or_b32 s1, s35, s111344; GFX6-NOHSA-NEXT:    s_or_b32 s19, s36, s1911345; GFX6-NOHSA-NEXT:    s_and_b32 s16, s16, 0xff00ff11346; GFX6-NOHSA-NEXT:    s_and_b32 s2, s2, 0xff00ff11347; GFX6-NOHSA-NEXT:    s_or_b32 s3, s37, s311348; GFX6-NOHSA-NEXT:    s_or_b32 s17, s38, s1711349; GFX6-NOHSA-NEXT:    s_and_b32 s14, s14, 0xff00ff11350; GFX6-NOHSA-NEXT:    s_or_b32 s5, s39, s511351; GFX6-NOHSA-NEXT:    s_or_b32 s15, s40, s1511352; GFX6-NOHSA-NEXT:    s_and_b32 s12, s12, 0xff00ff11353; GFX6-NOHSA-NEXT:    s_and_b32 s6, s6, 0xff00ff11354; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xff00ff11355; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s1511356; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s611357; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s511358; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1211359; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:4811360; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)11361; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s1711362; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s411363; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s311364; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1411365; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:3211366; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)11367; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s1911368; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s211369; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s111370; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1611371; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1611372; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)11373; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s1311374; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s011375; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s711376; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1811377; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 011378; GFX6-NOHSA-NEXT:    s_endpgm11379;11380; GFX7-HSA-LABEL: constant_zextload_v32i8_to_v32i16:11381; GFX7-HSA:       ; %bb.0:11382; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x011383; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1711384; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 811385; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1311386; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)11387; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x011388; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)11389; GFX7-HSA-NEXT:    s_and_b32 s22, s1, 0xff0011390; GFX7-HSA-NEXT:    s_and_b32 s12, s0, 0xff0011391; GFX7-HSA-NEXT:    s_and_b32 s23, s1, 0xff11392; GFX7-HSA-NEXT:    s_lshl_b32 s22, s22, 811393; GFX7-HSA-NEXT:    s_lshr_b32 s21, s0, 2411394; GFX7-HSA-NEXT:    s_or_b32 s22, s23, s2211395; GFX7-HSA-NEXT:    s_and_b32 s23, s0, 0xff11396; GFX7-HSA-NEXT:    s_lshl_b32 s12, s12, 811397; GFX7-HSA-NEXT:    s_lshr_b32 s13, s1, 2411398; GFX7-HSA-NEXT:    s_or_b32 s23, s23, s1211399; GFX7-HSA-NEXT:    s_mov_b32 s12, s111400; GFX7-HSA-NEXT:    s_mov_b32 s1, s2111401; GFX7-HSA-NEXT:    s_and_b32 s20, s3, 0xff0011402; GFX7-HSA-NEXT:    s_lshr_b64 s[12:13], s[12:13], 1611403; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[0:1], 1611404; GFX7-HSA-NEXT:    s_and_b32 s19, s2, 0xff0011405; GFX7-HSA-NEXT:    s_and_b32 s13, s0, 0xff00ff11406; GFX7-HSA-NEXT:    s_and_b32 s0, s3, 0xff11407; GFX7-HSA-NEXT:    s_lshl_b32 s1, s20, 811408; GFX7-HSA-NEXT:    s_or_b32 s20, s0, s111409; GFX7-HSA-NEXT:    s_and_b32 s0, s2, 0xff11410; GFX7-HSA-NEXT:    s_lshl_b32 s1, s19, 811411; GFX7-HSA-NEXT:    s_lshr_b32 s18, s2, 2411412; GFX7-HSA-NEXT:    s_or_b32 s19, s0, s111413; GFX7-HSA-NEXT:    s_lshr_b32 s1, s3, 2411414; GFX7-HSA-NEXT:    s_mov_b32 s0, s311415; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[0:1], 1611416; GFX7-HSA-NEXT:    s_mov_b32 s3, s1811417; GFX7-HSA-NEXT:    s_and_b32 s17, s5, 0xff0011418; GFX7-HSA-NEXT:    s_and_b32 s21, s0, 0xff00ff11419; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[2:3], 1611420; GFX7-HSA-NEXT:    s_and_b32 s10, s4, 0xff0011421; GFX7-HSA-NEXT:    s_and_b32 s2, s0, 0xff00ff11422; GFX7-HSA-NEXT:    s_and_b32 s0, s5, 0xff11423; GFX7-HSA-NEXT:    s_lshl_b32 s1, s17, 811424; GFX7-HSA-NEXT:    s_lshr_b32 s16, s4, 2411425; GFX7-HSA-NEXT:    s_lshr_b32 s11, s5, 2411426; GFX7-HSA-NEXT:    s_or_b32 s3, s0, s111427; GFX7-HSA-NEXT:    s_and_b32 s0, s4, 0xff11428; GFX7-HSA-NEXT:    s_lshl_b32 s1, s10, 811429; GFX7-HSA-NEXT:    s_mov_b32 s10, s511430; GFX7-HSA-NEXT:    s_or_b32 s17, s0, s111431; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[10:11], 1611432; GFX7-HSA-NEXT:    s_mov_b32 s5, s1611433; GFX7-HSA-NEXT:    s_and_b32 s15, s7, 0xff0011434; GFX7-HSA-NEXT:    s_and_b32 s10, s0, 0xff00ff11435; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[4:5], 1611436; GFX7-HSA-NEXT:    s_and_b32 s14, s6, 0xff0011437; GFX7-HSA-NEXT:    s_and_b32 s4, s0, 0xff00ff11438; GFX7-HSA-NEXT:    s_and_b32 s0, s7, 0xff11439; GFX7-HSA-NEXT:    s_lshl_b32 s1, s15, 811440; GFX7-HSA-NEXT:    s_or_b32 s5, s0, s111441; GFX7-HSA-NEXT:    s_and_b32 s0, s6, 0xff11442; GFX7-HSA-NEXT:    s_lshl_b32 s1, s14, 811443; GFX7-HSA-NEXT:    s_or_b32 s11, s0, s111444; GFX7-HSA-NEXT:    s_lshr_b32 s1, s7, 2411445; GFX7-HSA-NEXT:    s_mov_b32 s0, s711446; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[0:1], 1611447; GFX7-HSA-NEXT:    s_lshr_b32 s7, s6, 2411448; GFX7-HSA-NEXT:    s_and_b32 s14, s0, 0xff00ff11449; GFX7-HSA-NEXT:    s_lshr_b64 s[0:1], s[6:7], 1611450; GFX7-HSA-NEXT:    s_and_b32 s12, s12, 0xff00ff11451; GFX7-HSA-NEXT:    s_and_b32 s0, s0, 0xff00ff11452; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s011453; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 4811454; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 011455; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s111456; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s011457; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 3211458; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s1111459; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s511460; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1411461; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 011462; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11463; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s111464; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s011465; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 1611466; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s1711467; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s411468; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s311469; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1011470; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 011471; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11472; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s111473; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s1911474; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s211475; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2011476; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s2111477; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s011478; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11479; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s811480; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s2311481; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1311482; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2211483; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1211484; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s911485; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11486; GFX7-HSA-NEXT:    s_endpgm11487;11488; GFX8-NOHSA-LABEL: constant_zextload_v32i8_to_v32i16:11489; GFX8-NOHSA:       ; %bb.0:11490; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x2411491; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)11492; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x011493; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)11494; GFX8-NOHSA-NEXT:    s_lshr_b32 s14, s1, 2411495; GFX8-NOHSA-NEXT:    s_bfe_u32 s15, s1, 0x8001011496; GFX8-NOHSA-NEXT:    s_and_b32 s16, s1, 0xff11497; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s1, 811498; GFX8-NOHSA-NEXT:    s_lshl_b32 s14, s14, 1611499; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011500; GFX8-NOHSA-NEXT:    s_or_b32 s14, s15, s1411501; GFX8-NOHSA-NEXT:    s_or_b32 s15, s16, s111502; GFX8-NOHSA-NEXT:    s_lshl_b32 s16, s0, 811503; GFX8-NOHSA-NEXT:    s_lshr_b32 s13, s0, 2411504; GFX8-NOHSA-NEXT:    s_and_b32 s1, s0, 0xff11505; GFX8-NOHSA-NEXT:    s_and_b32 s16, s16, 0xff000011506; GFX8-NOHSA-NEXT:    s_or_b32 s16, s1, s1611507; GFX8-NOHSA-NEXT:    s_mov_b32 s1, s1311508; GFX8-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[0:1], 1611509; GFX8-NOHSA-NEXT:    s_and_b32 s13, s0, 0xff00ff11510; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s3, 2411511; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1611512; GFX8-NOHSA-NEXT:    s_bfe_u32 s1, s3, 0x8001011513; GFX8-NOHSA-NEXT:    s_or_b32 s17, s1, s011514; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s3, 811515; GFX8-NOHSA-NEXT:    s_and_b32 s0, s3, 0xff11516; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011517; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s2, 2411518; GFX8-NOHSA-NEXT:    s_or_b32 s18, s0, s111519; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s2, 811520; GFX8-NOHSA-NEXT:    s_and_b32 s0, s2, 0xff11521; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011522; GFX8-NOHSA-NEXT:    s_mov_b32 s3, s1211523; GFX8-NOHSA-NEXT:    s_or_b32 s19, s0, s111524; GFX8-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[2:3], 1611525; GFX8-NOHSA-NEXT:    s_and_b32 s2, s0, 0xff00ff11526; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s5, 2411527; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1611528; GFX8-NOHSA-NEXT:    s_bfe_u32 s1, s5, 0x8001011529; GFX8-NOHSA-NEXT:    s_or_b32 s3, s1, s011530; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s5, 811531; GFX8-NOHSA-NEXT:    s_and_b32 s0, s5, 0xff11532; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011533; GFX8-NOHSA-NEXT:    s_lshr_b32 s11, s4, 2411534; GFX8-NOHSA-NEXT:    s_or_b32 s12, s0, s111535; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s4, 811536; GFX8-NOHSA-NEXT:    s_and_b32 s0, s4, 0xff11537; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011538; GFX8-NOHSA-NEXT:    s_mov_b32 s5, s1111539; GFX8-NOHSA-NEXT:    s_or_b32 s20, s0, s111540; GFX8-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[4:5], 1611541; GFX8-NOHSA-NEXT:    s_and_b32 s4, s0, 0xff00ff11542; GFX8-NOHSA-NEXT:    s_lshr_b32 s0, s7, 2411543; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1611544; GFX8-NOHSA-NEXT:    s_bfe_u32 s1, s7, 0x8001011545; GFX8-NOHSA-NEXT:    s_or_b32 s5, s1, s011546; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s7, 811547; GFX8-NOHSA-NEXT:    s_and_b32 s0, s7, 0xff11548; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011549; GFX8-NOHSA-NEXT:    s_lshr_b32 s10, s6, 2411550; GFX8-NOHSA-NEXT:    s_or_b32 s11, s0, s111551; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s6, 811552; GFX8-NOHSA-NEXT:    s_and_b32 s0, s6, 0xff11553; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xff000011554; GFX8-NOHSA-NEXT:    s_mov_b32 s7, s1011555; GFX8-NOHSA-NEXT:    s_or_b32 s21, s0, s111556; GFX8-NOHSA-NEXT:    s_lshr_b64 s[0:1], s[6:7], 1611557; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xff00ff11558; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s011559; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 4811560; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 011561; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s111562; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s011563; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 3211564; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2111565; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1111566; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s511567; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 011568; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11569; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s111570; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s011571; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 1611572; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2011573; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s411574; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1211575; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s311576; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 011577; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11578; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s111579; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1911580; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s211581; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1811582; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s1711583; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s011584; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11585; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s811586; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1611587; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1311588; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1511589; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s1411590; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s911591; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]11592; GFX8-NOHSA-NEXT:    s_endpgm11593;11594; EG-LABEL: constant_zextload_v32i8_to_v32i16:11595; EG:       ; %bb.0:11596; EG-NEXT:    ALU 1, @14, KC0[CB0:0-32], KC1[]11597; EG-NEXT:    TEX 1 @1011598; EG-NEXT:    ALU 103, @16, KC0[], KC1[]11599; EG-NEXT:    ALU 104, @120, KC0[], KC1[]11600; EG-NEXT:    ALU 41, @225, KC0[CB0:0-32], KC1[]11601; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T36.XYZW, T42.X, 011602; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T37.XYZW, T41.X, 011603; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T38.XYZW, T40.X, 011604; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T35.XYZW, T39.X, 111605; EG-NEXT:    CF_END11606; EG-NEXT:    Fetch clause starting at 10:11607; EG-NEXT:     VTX_READ_128 T37.XYZW, T35.X, 16, #111608; EG-NEXT:     VTX_READ_128 T35.XYZW, T35.X, 0, #111609; EG-NEXT:    ALU clause starting at 14:11610; EG-NEXT:     MOV * T0.Y, T16.X,11611; EG-NEXT:     MOV * T35.X, KC0[2].Z,11612; EG-NEXT:    ALU clause starting at 16:11613; EG-NEXT:     AND_INT T0.W, T37.X, literal.x,11614; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,11615; EG-NEXT:    255(3.573311e-43), -65536(nan)11616; EG-NEXT:     OR_INT * T0.W, PS, PV.W,11617; EG-NEXT:     MOV * T16.X, PV.W,11618; EG-NEXT:     MOV T0.Y, PV.X,11619; EG-NEXT:     LSHL * T0.W, T37.X, literal.x,11620; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11621; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11622; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,11623; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11624; EG-NEXT:     OR_INT * T0.W, PV.W, PS,11625; EG-NEXT:     MOV T16.X, PV.W,11626; EG-NEXT:     MOV T0.Y, T17.X,11627; EG-NEXT:     MOV * T0.W, literal.x,11628; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11629; EG-NEXT:     BFE_UINT T1.W, T37.X, literal.x, PV.W,11630; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.y,11631; EG-NEXT:    16(2.242078e-44), -65536(nan)11632; EG-NEXT:     OR_INT * T1.W, PS, PV.W,11633; EG-NEXT:     MOV * T17.X, PV.W,11634; EG-NEXT:     MOV T0.Y, PV.X,11635; EG-NEXT:     LSHR * T1.W, T37.X, literal.x,11636; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11637; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11638; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11639; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11640; EG-NEXT:     OR_INT * T36.Y, PV.W, PS,11641; EG-NEXT:     MOV T17.X, PV.Y,11642; EG-NEXT:     MOV * T0.Y, T12.X,11643; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11644; EG-NEXT:     AND_INT * T2.W, T37.Y, literal.y,11645; EG-NEXT:    -65536(nan), 255(3.573311e-43)11646; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11647; EG-NEXT:     MOV * T12.X, PV.W,11648; EG-NEXT:     MOV T0.Y, PV.X,11649; EG-NEXT:     LSHL * T1.W, T37.Y, literal.x,11650; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11651; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11652; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11653; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11654; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11655; EG-NEXT:     MOV T12.X, PV.W,11656; EG-NEXT:     MOV T0.Y, T13.X,11657; EG-NEXT:     BFE_UINT * T1.W, T37.Y, literal.x, T0.W,11658; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11659; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,11660; EG-NEXT:    -65536(nan), 0(0.000000e+00)11661; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,11662; EG-NEXT:     MOV * T13.X, PV.W,11663; EG-NEXT:     MOV T0.Y, PV.X,11664; EG-NEXT:     LSHR * T1.W, T37.Y, literal.x,11665; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11666; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11667; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11668; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11669; EG-NEXT:     OR_INT * T36.W, PV.W, PS,11670; EG-NEXT:     MOV T13.X, PV.W,11671; EG-NEXT:     MOV * T0.Y, T8.X,11672; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11673; EG-NEXT:     AND_INT * T2.W, T37.Z, literal.y,11674; EG-NEXT:    -65536(nan), 255(3.573311e-43)11675; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11676; EG-NEXT:     MOV * T8.X, PV.W,11677; EG-NEXT:     MOV T0.Y, PV.X,11678; EG-NEXT:     LSHL * T1.W, T37.Z, literal.x,11679; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11680; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11681; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11682; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11683; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11684; EG-NEXT:     MOV T8.X, PV.W,11685; EG-NEXT:     MOV T0.Y, T9.X,11686; EG-NEXT:     BFE_UINT * T1.W, T37.Z, literal.x, T0.W,11687; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11688; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,11689; EG-NEXT:    -65536(nan), 0(0.000000e+00)11690; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,11691; EG-NEXT:     MOV * T9.X, PV.W,11692; EG-NEXT:     MOV T0.Y, PV.X,11693; EG-NEXT:     LSHR * T1.W, T37.Z, literal.x,11694; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11695; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11696; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11697; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11698; EG-NEXT:     OR_INT * T37.Y, PV.W, PS,11699; EG-NEXT:     MOV T9.X, PV.Y,11700; EG-NEXT:     MOV * T0.Y, T4.X,11701; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11702; EG-NEXT:     AND_INT * T2.W, T37.W, literal.y,11703; EG-NEXT:    -65536(nan), 255(3.573311e-43)11704; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11705; EG-NEXT:     MOV * T4.X, PV.W,11706; EG-NEXT:     MOV T0.Y, PV.X,11707; EG-NEXT:     LSHL * T1.W, T37.W, literal.x,11708; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11709; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11710; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11711; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11712; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11713; EG-NEXT:     MOV T4.X, PV.W,11714; EG-NEXT:     MOV T0.Y, T5.X,11715; EG-NEXT:     BFE_UINT * T1.W, T37.W, literal.x, T0.W,11716; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11717; EG-NEXT:    ALU clause starting at 120:11718; EG-NEXT:     AND_INT * T2.W, T0.Y, literal.x,11719; EG-NEXT:    -65536(nan), 0(0.000000e+00)11720; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,11721; EG-NEXT:     MOV * T5.X, PV.W,11722; EG-NEXT:     MOV T0.Y, PV.X,11723; EG-NEXT:     LSHR * T1.W, T37.W, literal.x,11724; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11725; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11726; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11727; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11728; EG-NEXT:     OR_INT * T37.W, PV.W, PS,11729; EG-NEXT:     MOV T5.X, PV.W,11730; EG-NEXT:     MOV * T0.Y, T32.X,11731; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11732; EG-NEXT:     AND_INT * T2.W, T35.X, literal.y,11733; EG-NEXT:    -65536(nan), 255(3.573311e-43)11734; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11735; EG-NEXT:     MOV * T32.X, PV.W,11736; EG-NEXT:     MOV T0.Y, PV.X,11737; EG-NEXT:     LSHL * T1.W, T35.X, literal.x,11738; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11739; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11740; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11741; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11742; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11743; EG-NEXT:     MOV T32.X, PV.W,11744; EG-NEXT:     MOV T0.Y, T33.X,11745; EG-NEXT:     BFE_UINT * T1.W, T35.X, literal.x, T0.W, BS:VEC_120/SCL_21211746; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11747; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,11748; EG-NEXT:    -65536(nan), 0(0.000000e+00)11749; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,11750; EG-NEXT:     MOV * T33.X, PV.W,11751; EG-NEXT:     MOV T0.Y, PV.X,11752; EG-NEXT:     LSHR * T1.W, T35.X, literal.x,11753; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11754; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11755; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11756; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11757; EG-NEXT:     OR_INT * T38.Y, PV.W, PS,11758; EG-NEXT:     MOV T33.X, PV.Y,11759; EG-NEXT:     MOV * T0.Y, T28.X,11760; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11761; EG-NEXT:     AND_INT * T2.W, T35.Y, literal.y,11762; EG-NEXT:    -65536(nan), 255(3.573311e-43)11763; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11764; EG-NEXT:     MOV * T28.X, PV.W,11765; EG-NEXT:     MOV T0.Y, PV.X,11766; EG-NEXT:     LSHL * T1.W, T35.Y, literal.x,11767; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11768; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11769; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11770; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11771; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11772; EG-NEXT:     MOV T28.X, PV.W,11773; EG-NEXT:     MOV T0.Y, T29.X,11774; EG-NEXT:     BFE_UINT * T1.W, T35.Y, literal.x, T0.W,11775; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11776; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,11777; EG-NEXT:    -65536(nan), 0(0.000000e+00)11778; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,11779; EG-NEXT:     MOV * T29.X, PV.W,11780; EG-NEXT:     MOV T0.Y, PV.X,11781; EG-NEXT:     LSHR * T1.W, T35.Y, literal.x,11782; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11783; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11784; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11785; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11786; EG-NEXT:     OR_INT * T38.W, PV.W, PS,11787; EG-NEXT:     MOV T29.X, PV.W,11788; EG-NEXT:     MOV * T0.Y, T24.X,11789; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11790; EG-NEXT:     AND_INT * T2.W, T35.Z, literal.y,11791; EG-NEXT:    -65536(nan), 255(3.573311e-43)11792; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11793; EG-NEXT:     MOV * T24.X, PV.W,11794; EG-NEXT:     MOV T0.Y, PV.X,11795; EG-NEXT:     LSHL * T1.W, T35.Z, literal.x,11796; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11797; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11798; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11799; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11800; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11801; EG-NEXT:     MOV T24.X, PV.W,11802; EG-NEXT:     MOV T0.Y, T25.X,11803; EG-NEXT:     BFE_UINT * T1.W, T35.Z, literal.x, T0.W,11804; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11805; EG-NEXT:     AND_INT * T2.W, PV.Y, literal.x,11806; EG-NEXT:    -65536(nan), 0(0.000000e+00)11807; EG-NEXT:     OR_INT * T1.W, PV.W, T1.W,11808; EG-NEXT:     MOV * T25.X, PV.W,11809; EG-NEXT:     MOV T0.Y, PV.X,11810; EG-NEXT:     LSHR * T1.W, T35.Z, literal.x,11811; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11812; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11813; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11814; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11815; EG-NEXT:     OR_INT * T35.Y, PV.W, PS,11816; EG-NEXT:     MOV T25.X, PV.Y,11817; EG-NEXT:     MOV * T0.Y, T20.X,11818; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,11819; EG-NEXT:     AND_INT * T2.W, T35.W, literal.y,11820; EG-NEXT:    -65536(nan), 255(3.573311e-43)11821; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11822; EG-NEXT:     MOV * T20.X, PV.W,11823; EG-NEXT:    ALU clause starting at 225:11824; EG-NEXT:     MOV T0.Y, T20.X,11825; EG-NEXT:     LSHL * T1.W, T35.W, literal.x,11826; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)11827; EG-NEXT:     AND_INT T2.W, PV.Y, literal.x,11828; EG-NEXT:     AND_INT * T1.W, PV.W, literal.y,11829; EG-NEXT:    65535(9.183409e-41), 16711680(2.341805e-38)11830; EG-NEXT:     OR_INT * T1.W, PV.W, PS,11831; EG-NEXT:     MOV T20.X, PV.W,11832; EG-NEXT:     MOV T0.Y, T21.X,11833; EG-NEXT:     BFE_UINT * T0.W, T35.W, literal.x, T0.W,11834; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11835; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.x,11836; EG-NEXT:    -65536(nan), 0(0.000000e+00)11837; EG-NEXT:     OR_INT * T0.W, PV.W, T0.W,11838; EG-NEXT:     MOV * T21.X, PV.W,11839; EG-NEXT:     MOV T0.Y, PV.X,11840; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,11841; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)11842; EG-NEXT:     LSHR T39.X, PV.W, literal.x,11843; EG-NEXT:     LSHR * T40.X, KC0[2].Y, literal.x,11844; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)11845; EG-NEXT:     LSHR T0.W, T35.W, literal.x,11846; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,11847; EG-NEXT:    8(1.121039e-44), 48(6.726233e-44)11848; EG-NEXT:     LSHR T41.X, PS, literal.x,11849; EG-NEXT:     AND_INT T0.Z, T0.Y, literal.y,11850; EG-NEXT:     AND_INT T0.W, PV.W, literal.z,11851; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.w,11852; EG-NEXT:    2(2.802597e-45), 65535(9.183409e-41)11853; EG-NEXT:    16711680(2.341805e-38), 32(4.484155e-44)11854; EG-NEXT:     LSHR T42.X, PS, literal.x,11855; EG-NEXT:     OR_INT * T35.W, PV.Z, PV.W,11856; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)11857; EG-NEXT:     MOV T21.X, PV.W,11858; EG-NEXT:     MOV * T36.X, T16.X,11859; EG-NEXT:     MOV * T36.Z, T12.X,11860; EG-NEXT:     MOV T37.X, T8.X,11861; EG-NEXT:     MOV T37.Z, T4.X, BS:VEC_120/SCL_21211862; EG-NEXT:     MOV * T38.X, T32.X,11863; EG-NEXT:     MOV * T38.Z, T28.X,11864; EG-NEXT:     MOV T35.X, T24.X,11865; EG-NEXT:     MOV * T35.Z, T20.X, BS:VEC_120/SCL_21211866;11867; GFX12-LABEL: constant_zextload_v32i8_to_v32i16:11868; GFX12:       ; %bb.0:11869; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x2411870; GFX12-NEXT:    s_wait_kmcnt 0x011871; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x011872; GFX12-NEXT:    s_wait_kmcnt 0x011873; GFX12-NEXT:    s_bfe_u32 s12, s7, 0x8000811874; GFX12-NEXT:    s_lshr_b32 s13, s7, 2411875; GFX12-NEXT:    s_bfe_u32 s33, s7, 0x8001011876; GFX12-NEXT:    s_and_b32 s7, s7, 0xff11877; GFX12-NEXT:    s_bfe_u32 s10, s6, 0x8000811878; GFX12-NEXT:    s_lshr_b32 s11, s6, 2411879; GFX12-NEXT:    s_pack_ll_b32_b16 s7, s7, s1211880; GFX12-NEXT:    s_and_b32 s12, s6, 0xff11881; GFX12-NEXT:    s_bfe_u32 s6, s6, 0x8001011882; GFX12-NEXT:    s_bfe_u32 s14, s4, 0x8000811883; GFX12-NEXT:    s_lshr_b32 s15, s4, 2411884; GFX12-NEXT:    s_bfe_u32 s16, s5, 0x8000811885; GFX12-NEXT:    s_lshr_b32 s17, s5, 2411886; GFX12-NEXT:    s_bfe_u32 s30, s5, 0x8001011887; GFX12-NEXT:    s_and_b32 s5, s5, 0xff11888; GFX12-NEXT:    s_bfe_u32 s31, s4, 0x8001011889; GFX12-NEXT:    s_and_b32 s4, s4, 0xff11890; GFX12-NEXT:    s_bfe_u32 s18, s2, 0x8000811891; GFX12-NEXT:    s_lshr_b32 s19, s2, 2411892; GFX12-NEXT:    s_bfe_u32 s20, s3, 0x8000811893; GFX12-NEXT:    s_lshr_b32 s21, s3, 2411894; GFX12-NEXT:    s_bfe_u32 s28, s3, 0x8001011895; GFX12-NEXT:    s_and_b32 s3, s3, 0xff11896; GFX12-NEXT:    s_bfe_u32 s29, s2, 0x8001011897; GFX12-NEXT:    s_and_b32 s2, s2, 0xff11898; GFX12-NEXT:    s_pack_ll_b32_b16 s13, s33, s1311899; GFX12-NEXT:    s_pack_ll_b32_b16 s10, s12, s1011900; GFX12-NEXT:    s_pack_ll_b32_b16 s6, s6, s1111901; GFX12-NEXT:    s_bfe_u32 s22, s0, 0x8000811902; GFX12-NEXT:    s_lshr_b32 s23, s0, 2411903; GFX12-NEXT:    s_bfe_u32 s24, s1, 0x8000811904; GFX12-NEXT:    s_lshr_b32 s25, s1, 2411905; GFX12-NEXT:    s_bfe_u32 s26, s1, 0x8001011906; GFX12-NEXT:    s_and_b32 s1, s1, 0xff11907; GFX12-NEXT:    s_bfe_u32 s27, s0, 0x8001011908; GFX12-NEXT:    s_and_b32 s0, s0, 0xff11909; GFX12-NEXT:    s_pack_ll_b32_b16 s17, s30, s1711910; GFX12-NEXT:    s_pack_ll_b32_b16 s5, s5, s1611911; GFX12-NEXT:    s_pack_ll_b32_b16 s15, s31, s1511912; GFX12-NEXT:    s_pack_ll_b32_b16 s4, s4, s1411913; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v1, s611914; GFX12-NEXT:    s_pack_ll_b32_b16 s21, s28, s2111915; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s3, s2011916; GFX12-NEXT:    s_pack_ll_b32_b16 s19, s29, s1911917; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s2, s1811918; GFX12-NEXT:    v_dual_mov_b32 v0, s10 :: v_dual_mov_b32 v3, s1311919; GFX12-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v5, s1511920; GFX12-NEXT:    s_pack_ll_b32_b16 s25, s26, s2511921; GFX12-NEXT:    s_pack_ll_b32_b16 s1, s1, s2411922; GFX12-NEXT:    s_pack_ll_b32_b16 s23, s27, s2311923; GFX12-NEXT:    s_pack_ll_b32_b16 s0, s0, s2211924; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s1711925; GFX12-NEXT:    v_dual_mov_b32 v6, s5 :: v_dual_mov_b32 v9, s1911926; GFX12-NEXT:    v_dual_mov_b32 v8, s2 :: v_dual_mov_b32 v11, s2111927; GFX12-NEXT:    v_dual_mov_b32 v10, s3 :: v_dual_mov_b32 v13, s2311928; GFX12-NEXT:    v_dual_mov_b32 v12, s0 :: v_dual_mov_b32 v15, s2511929; GFX12-NEXT:    v_mov_b32_e32 v14, s111930; GFX12-NEXT:    s_clause 0x311931; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[8:9] offset:4811932; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[8:9] offset:3211933; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[8:9] offset:1611934; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[8:9]11935; GFX12-NEXT:    s_endpgm11936  %load = load <32 x i8>, ptr addrspace(4) %in11937  %ext = zext <32 x i8> %load to <32 x i16>11938  store <32 x i16> %ext, ptr addrspace(1) %out11939  ret void11940}11941 11942define amdgpu_kernel void @constant_sextload_v32i8_to_v32i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {11943; GFX6-NOHSA-LABEL: constant_sextload_v32i8_to_v32i16:11944; GFX6-NOHSA:       ; %bb.0:11945; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x911946; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)11947; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x011948; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf00011949; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -111950; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)11951; GFX6-NOHSA-NEXT:    s_ashr_i32 s12, s1, 2411952; GFX6-NOHSA-NEXT:    s_bfe_i32 s13, s1, 0x8001011953; GFX6-NOHSA-NEXT:    s_bfe_i32 s14, s1, 0x8000811954; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s1, s111955; GFX6-NOHSA-NEXT:    s_ashr_i32 s15, s0, 2411956; GFX6-NOHSA-NEXT:    s_bfe_i32 s16, s0, 0x8001011957; GFX6-NOHSA-NEXT:    s_bfe_i32 s17, s0, 0x8000811958; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s0, s011959; GFX6-NOHSA-NEXT:    s_ashr_i32 s18, s3, 2411960; GFX6-NOHSA-NEXT:    s_bfe_i32 s19, s3, 0x8001011961; GFX6-NOHSA-NEXT:    s_bfe_i32 s20, s3, 0x8000811962; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s3, s311963; GFX6-NOHSA-NEXT:    s_ashr_i32 s21, s2, 2411964; GFX6-NOHSA-NEXT:    s_bfe_i32 s22, s2, 0x8001011965; GFX6-NOHSA-NEXT:    s_bfe_i32 s23, s2, 0x8000811966; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s2, s211967; GFX6-NOHSA-NEXT:    s_ashr_i32 s24, s5, 2411968; GFX6-NOHSA-NEXT:    s_bfe_i32 s25, s5, 0x8001011969; GFX6-NOHSA-NEXT:    s_bfe_i32 s26, s5, 0x8000811970; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s5, s511971; GFX6-NOHSA-NEXT:    s_ashr_i32 s27, s4, 2411972; GFX6-NOHSA-NEXT:    s_bfe_i32 s28, s4, 0x8001011973; GFX6-NOHSA-NEXT:    s_bfe_i32 s29, s4, 0x8000811974; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s4, s411975; GFX6-NOHSA-NEXT:    s_ashr_i32 s30, s7, 2411976; GFX6-NOHSA-NEXT:    s_bfe_i32 s31, s7, 0x8001011977; GFX6-NOHSA-NEXT:    s_bfe_i32 s33, s7, 0x8000811978; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s7, s711979; GFX6-NOHSA-NEXT:    s_ashr_i32 s34, s6, 2411980; GFX6-NOHSA-NEXT:    s_bfe_i32 s35, s6, 0x8001011981; GFX6-NOHSA-NEXT:    s_bfe_i32 s36, s6, 0x8000811982; GFX6-NOHSA-NEXT:    s_sext_i32_i8 s6, s611983; GFX6-NOHSA-NEXT:    s_lshl_b32 s12, s12, 1611984; GFX6-NOHSA-NEXT:    s_and_b32 s13, s13, 0xffff11985; GFX6-NOHSA-NEXT:    s_lshl_b32 s14, s14, 1611986; GFX6-NOHSA-NEXT:    s_and_b32 s1, s1, 0xffff11987; GFX6-NOHSA-NEXT:    s_lshl_b32 s15, s15, 1611988; GFX6-NOHSA-NEXT:    s_and_b32 s16, s16, 0xffff11989; GFX6-NOHSA-NEXT:    s_lshl_b32 s17, s17, 1611990; GFX6-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff11991; GFX6-NOHSA-NEXT:    s_lshl_b32 s18, s18, 1611992; GFX6-NOHSA-NEXT:    s_and_b32 s19, s19, 0xffff11993; GFX6-NOHSA-NEXT:    s_lshl_b32 s20, s20, 1611994; GFX6-NOHSA-NEXT:    s_and_b32 s3, s3, 0xffff11995; GFX6-NOHSA-NEXT:    s_lshl_b32 s21, s21, 1611996; GFX6-NOHSA-NEXT:    s_and_b32 s22, s22, 0xffff11997; GFX6-NOHSA-NEXT:    s_lshl_b32 s23, s23, 1611998; GFX6-NOHSA-NEXT:    s_and_b32 s2, s2, 0xffff11999; GFX6-NOHSA-NEXT:    s_lshl_b32 s24, s24, 1612000; GFX6-NOHSA-NEXT:    s_and_b32 s25, s25, 0xffff12001; GFX6-NOHSA-NEXT:    s_lshl_b32 s26, s26, 1612002; GFX6-NOHSA-NEXT:    s_and_b32 s5, s5, 0xffff12003; GFX6-NOHSA-NEXT:    s_lshl_b32 s27, s27, 1612004; GFX6-NOHSA-NEXT:    s_and_b32 s28, s28, 0xffff12005; GFX6-NOHSA-NEXT:    s_lshl_b32 s29, s29, 1612006; GFX6-NOHSA-NEXT:    s_and_b32 s4, s4, 0xffff12007; GFX6-NOHSA-NEXT:    s_lshl_b32 s30, s30, 1612008; GFX6-NOHSA-NEXT:    s_and_b32 s31, s31, 0xffff12009; GFX6-NOHSA-NEXT:    s_lshl_b32 s33, s33, 1612010; GFX6-NOHSA-NEXT:    s_and_b32 s7, s7, 0xffff12011; GFX6-NOHSA-NEXT:    s_lshl_b32 s34, s34, 1612012; GFX6-NOHSA-NEXT:    s_and_b32 s35, s35, 0xffff12013; GFX6-NOHSA-NEXT:    s_lshl_b32 s36, s36, 1612014; GFX6-NOHSA-NEXT:    s_and_b32 s6, s6, 0xffff12015; GFX6-NOHSA-NEXT:    s_or_b32 s12, s13, s1212016; GFX6-NOHSA-NEXT:    s_or_b32 s1, s1, s1412017; GFX6-NOHSA-NEXT:    s_or_b32 s13, s16, s1512018; GFX6-NOHSA-NEXT:    s_or_b32 s0, s0, s1712019; GFX6-NOHSA-NEXT:    s_or_b32 s14, s19, s1812020; GFX6-NOHSA-NEXT:    s_or_b32 s3, s3, s2012021; GFX6-NOHSA-NEXT:    s_or_b32 s15, s22, s2112022; GFX6-NOHSA-NEXT:    s_or_b32 s2, s2, s2312023; GFX6-NOHSA-NEXT:    s_or_b32 s16, s25, s2412024; GFX6-NOHSA-NEXT:    s_or_b32 s5, s5, s2612025; GFX6-NOHSA-NEXT:    s_or_b32 s17, s28, s2712026; GFX6-NOHSA-NEXT:    s_or_b32 s18, s31, s3012027; GFX6-NOHSA-NEXT:    s_or_b32 s7, s7, s3312028; GFX6-NOHSA-NEXT:    s_or_b32 s19, s35, s3412029; GFX6-NOHSA-NEXT:    s_or_b32 s6, s6, s3612030; GFX6-NOHSA-NEXT:    s_or_b32 s4, s4, s2912031; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s612032; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1912033; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s712034; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1812035; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:4812036; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)12037; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s412038; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1712039; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s512040; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1612041; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:3212042; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)12043; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s212044; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1512045; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s312046; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1412047; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:1612048; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)12049; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s012050; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1312051; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s112052; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s1212053; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 012054; GFX6-NOHSA-NEXT:    s_endpgm12055;12056; GFX7-HSA-LABEL: constant_sextload_v32i8_to_v32i16:12057; GFX7-HSA:       ; %bb.0:12058; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x012059; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1712060; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 812061; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1312062; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)12063; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x012064; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)12065; GFX7-HSA-NEXT:    s_ashr_i32 s10, s1, 2412066; GFX7-HSA-NEXT:    s_bfe_i32 s11, s1, 0x8001012067; GFX7-HSA-NEXT:    s_bfe_i32 s12, s1, 0x8000812068; GFX7-HSA-NEXT:    s_sext_i32_i8 s1, s112069; GFX7-HSA-NEXT:    s_lshl_b32 s10, s10, 1612070; GFX7-HSA-NEXT:    s_and_b32 s11, s11, 0xffff12071; GFX7-HSA-NEXT:    s_lshl_b32 s12, s12, 1612072; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12073; GFX7-HSA-NEXT:    s_ashr_i32 s13, s0, 2412074; GFX7-HSA-NEXT:    s_or_b32 s10, s11, s1012075; GFX7-HSA-NEXT:    s_or_b32 s11, s1, s1212076; GFX7-HSA-NEXT:    s_bfe_i32 s12, s0, 0x8001012077; GFX7-HSA-NEXT:    s_lshl_b32 s1, s13, 1612078; GFX7-HSA-NEXT:    s_and_b32 s12, s12, 0xffff12079; GFX7-HSA-NEXT:    s_or_b32 s12, s12, s112080; GFX7-HSA-NEXT:    s_bfe_i32 s1, s0, 0x8000812081; GFX7-HSA-NEXT:    s_sext_i32_i8 s0, s012082; GFX7-HSA-NEXT:    s_lshl_b32 s1, s1, 1612083; GFX7-HSA-NEXT:    s_and_b32 s0, s0, 0xffff12084; GFX7-HSA-NEXT:    s_or_b32 s13, s0, s112085; GFX7-HSA-NEXT:    s_ashr_i32 s0, s3, 2412086; GFX7-HSA-NEXT:    s_bfe_i32 s1, s3, 0x8001012087; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612088; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12089; GFX7-HSA-NEXT:    s_or_b32 s14, s1, s012090; GFX7-HSA-NEXT:    s_bfe_i32 s0, s3, 0x8000812091; GFX7-HSA-NEXT:    s_sext_i32_i8 s1, s312092; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612093; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12094; GFX7-HSA-NEXT:    s_or_b32 s3, s1, s012095; GFX7-HSA-NEXT:    s_ashr_i32 s0, s2, 2412096; GFX7-HSA-NEXT:    s_bfe_i32 s1, s2, 0x8001012097; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612098; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12099; GFX7-HSA-NEXT:    s_or_b32 s15, s1, s012100; GFX7-HSA-NEXT:    s_bfe_i32 s0, s2, 0x8000812101; GFX7-HSA-NEXT:    s_sext_i32_i8 s1, s212102; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612103; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12104; GFX7-HSA-NEXT:    s_or_b32 s2, s1, s012105; GFX7-HSA-NEXT:    s_ashr_i32 s0, s5, 2412106; GFX7-HSA-NEXT:    s_bfe_i32 s1, s5, 0x8001012107; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612108; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12109; GFX7-HSA-NEXT:    s_or_b32 s16, s1, s012110; GFX7-HSA-NEXT:    s_bfe_i32 s0, s5, 0x8000812111; GFX7-HSA-NEXT:    s_sext_i32_i8 s1, s512112; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612113; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12114; GFX7-HSA-NEXT:    s_or_b32 s5, s1, s012115; GFX7-HSA-NEXT:    s_ashr_i32 s0, s4, 2412116; GFX7-HSA-NEXT:    s_bfe_i32 s1, s4, 0x8001012117; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612118; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12119; GFX7-HSA-NEXT:    s_or_b32 s17, s1, s012120; GFX7-HSA-NEXT:    s_bfe_i32 s0, s4, 0x8000812121; GFX7-HSA-NEXT:    s_sext_i32_i8 s1, s412122; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612123; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12124; GFX7-HSA-NEXT:    s_or_b32 s4, s1, s012125; GFX7-HSA-NEXT:    s_ashr_i32 s0, s7, 2412126; GFX7-HSA-NEXT:    s_bfe_i32 s1, s7, 0x8001012127; GFX7-HSA-NEXT:    s_lshl_b32 s0, s0, 1612128; GFX7-HSA-NEXT:    s_and_b32 s1, s1, 0xffff12129; GFX7-HSA-NEXT:    s_or_b32 s0, s1, s012130; GFX7-HSA-NEXT:    s_bfe_i32 s1, s7, 0x8000812131; GFX7-HSA-NEXT:    s_sext_i32_i8 s7, s712132; GFX7-HSA-NEXT:    s_lshl_b32 s1, s1, 1612133; GFX7-HSA-NEXT:    s_and_b32 s7, s7, 0xffff12134; GFX7-HSA-NEXT:    s_or_b32 s1, s7, s112135; GFX7-HSA-NEXT:    s_ashr_i32 s7, s6, 2412136; GFX7-HSA-NEXT:    s_bfe_i32 s18, s6, 0x8001012137; GFX7-HSA-NEXT:    s_lshl_b32 s7, s7, 1612138; GFX7-HSA-NEXT:    s_and_b32 s18, s18, 0xffff12139; GFX7-HSA-NEXT:    s_or_b32 s7, s18, s712140; GFX7-HSA-NEXT:    s_bfe_i32 s18, s6, 0x8000812141; GFX7-HSA-NEXT:    s_sext_i32_i8 s6, s612142; GFX7-HSA-NEXT:    s_lshl_b32 s18, s18, 1612143; GFX7-HSA-NEXT:    s_and_b32 s6, s6, 0xffff12144; GFX7-HSA-NEXT:    s_or_b32 s6, s6, s1812145; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s012146; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 4812147; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s112148; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 012149; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s112150; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s012151; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 3212152; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s612153; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s712154; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 012155; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12156; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s112157; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s012158; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 1612159; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s412160; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1712161; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s512162; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1612163; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 012164; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12165; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s112166; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s212167; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1512168; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s312169; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1412170; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s012171; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12172; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s812173; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s1312174; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1212175; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s1112176; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s1012177; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s912178; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12179; GFX7-HSA-NEXT:    s_endpgm12180;12181; GFX8-NOHSA-LABEL: constant_sextload_v32i8_to_v32i16:12182; GFX8-NOHSA:       ; %bb.0:12183; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x2412184; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)12185; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x012186; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)12187; GFX8-NOHSA-NEXT:    s_lshr_b32 s17, s1, 1612188; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s18, s112189; GFX8-NOHSA-NEXT:    s_bfe_i32 s19, s1, 0x8000012190; GFX8-NOHSA-NEXT:    s_ashr_i32 s1, s1, 1612191; GFX8-NOHSA-NEXT:    s_lshl_b32 s18, s18, 812192; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s1, 812193; GFX8-NOHSA-NEXT:    s_bfe_i32 s17, s17, 0x8000012194; GFX8-NOHSA-NEXT:    s_lshr_b32 s16, s0, 1612195; GFX8-NOHSA-NEXT:    s_and_b32 s18, s18, 0xffff000012196; GFX8-NOHSA-NEXT:    s_and_b32 s19, 0xffff, s1912197; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xffff000012198; GFX8-NOHSA-NEXT:    s_and_b32 s17, 0xffff, s1712199; GFX8-NOHSA-NEXT:    s_or_b32 s18, s19, s1812200; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s19, s012201; GFX8-NOHSA-NEXT:    s_bfe_i32 s20, s0, 0x8000012202; GFX8-NOHSA-NEXT:    s_or_b32 s17, s17, s112203; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s0, 2412204; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s16, 0x8000012205; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1612206; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112207; GFX8-NOHSA-NEXT:    s_or_b32 s16, s1, s012208; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s0, s312209; GFX8-NOHSA-NEXT:    s_lshl_b32 s19, s19, 812210; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 812211; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s3, 0x8000012212; GFX8-NOHSA-NEXT:    s_and_b32 s19, s19, 0xffff000012213; GFX8-NOHSA-NEXT:    s_and_b32 s20, 0xffff, s2012214; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff000012215; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112216; GFX8-NOHSA-NEXT:    s_or_b32 s19, s20, s1912217; GFX8-NOHSA-NEXT:    s_or_b32 s20, s1, s012218; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s0, s212219; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 812220; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s2, 0x8000012221; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff000012222; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112223; GFX8-NOHSA-NEXT:    s_lshr_b32 s15, s3, 1612224; GFX8-NOHSA-NEXT:    s_or_b32 s21, s1, s012225; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s3, 1612226; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 812227; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s15, 0x8000012228; GFX8-NOHSA-NEXT:    s_lshr_b32 s14, s2, 1612229; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff000012230; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112231; GFX8-NOHSA-NEXT:    s_or_b32 s3, s1, s012232; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s2, 2412233; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s14, 0x8000012234; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1612235; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112236; GFX8-NOHSA-NEXT:    s_or_b32 s2, s1, s012237; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s0, s512238; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 812239; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s5, 0x8000012240; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff000012241; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112242; GFX8-NOHSA-NEXT:    s_or_b32 s14, s1, s012243; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s0, s412244; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 812245; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s4, 0x8000012246; GFX8-NOHSA-NEXT:    s_lshr_b32 s13, s5, 1612247; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff000012248; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112249; GFX8-NOHSA-NEXT:    s_or_b32 s15, s1, s012250; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s5, 2412251; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s13, 0x8000012252; GFX8-NOHSA-NEXT:    s_lshr_b32 s12, s4, 1612253; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1612254; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112255; GFX8-NOHSA-NEXT:    s_or_b32 s5, s1, s012256; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s4, 2412257; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s12, 0x8000012258; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 1612259; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112260; GFX8-NOHSA-NEXT:    s_or_b32 s4, s1, s012261; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s0, s712262; GFX8-NOHSA-NEXT:    s_lshl_b32 s0, s0, 812263; GFX8-NOHSA-NEXT:    s_bfe_i32 s1, s7, 0x8000012264; GFX8-NOHSA-NEXT:    s_and_b32 s0, s0, 0xffff000012265; GFX8-NOHSA-NEXT:    s_and_b32 s1, 0xffff, s112266; GFX8-NOHSA-NEXT:    s_lshr_b32 s10, s6, 1612267; GFX8-NOHSA-NEXT:    s_lshr_b32 s11, s7, 1612268; GFX8-NOHSA-NEXT:    s_or_b32 s0, s1, s012269; GFX8-NOHSA-NEXT:    s_sext_i32_i16 s1, s612270; GFX8-NOHSA-NEXT:    s_ashr_i32 s7, s7, 1612271; GFX8-NOHSA-NEXT:    s_lshl_b32 s1, s1, 812272; GFX8-NOHSA-NEXT:    s_bfe_i32 s12, s6, 0x8000012273; GFX8-NOHSA-NEXT:    s_lshl_b32 s7, s7, 812274; GFX8-NOHSA-NEXT:    s_bfe_i32 s11, s11, 0x8000012275; GFX8-NOHSA-NEXT:    s_ashr_i32 s6, s6, 2412276; GFX8-NOHSA-NEXT:    s_bfe_i32 s10, s10, 0x8000012277; GFX8-NOHSA-NEXT:    s_and_b32 s1, s1, 0xffff000012278; GFX8-NOHSA-NEXT:    s_and_b32 s12, 0xffff, s1212279; GFX8-NOHSA-NEXT:    s_and_b32 s7, s7, 0xffff000012280; GFX8-NOHSA-NEXT:    s_and_b32 s11, 0xffff, s1112281; GFX8-NOHSA-NEXT:    s_lshl_b32 s6, s6, 1612282; GFX8-NOHSA-NEXT:    s_and_b32 s10, 0xffff, s1012283; GFX8-NOHSA-NEXT:    s_or_b32 s1, s12, s112284; GFX8-NOHSA-NEXT:    s_or_b32 s7, s11, s712285; GFX8-NOHSA-NEXT:    s_or_b32 s6, s10, s612286; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s012287; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 4812288; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s112289; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 012290; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s112291; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s012292; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 3212293; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s612294; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s712295; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 012296; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12297; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s112298; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s012299; GFX8-NOHSA-NEXT:    s_add_u32 s0, s8, 1612300; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1512301; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s412302; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1412303; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s512304; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s9, 012305; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12306; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s112307; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s2112308; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s212309; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s2012310; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s312311; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s012312; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12313; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s812314; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s1912315; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1612316; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s1812317; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s1712318; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s912319; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]12320; GFX8-NOHSA-NEXT:    s_endpgm12321;12322; EG-LABEL: constant_sextload_v32i8_to_v32i16:12323; EG:       ; %bb.0:12324; EG-NEXT:    ALU 1, @14, KC0[CB0:0-32], KC1[]12325; EG-NEXT:    TEX 1 @1012326; EG-NEXT:    ALU 104, @16, KC0[], KC1[]12327; EG-NEXT:    ALU 104, @121, KC0[], KC1[]12328; EG-NEXT:    ALU 95, @226, KC0[CB0:0-32], KC1[]12329; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T36.XYZW, T42.X, 012330; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T37.XYZW, T41.X, 012331; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T38.XYZW, T40.X, 012332; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T35.XYZW, T39.X, 112333; EG-NEXT:    CF_END12334; EG-NEXT:    Fetch clause starting at 10:12335; EG-NEXT:     VTX_READ_128 T37.XYZW, T35.X, 16, #112336; EG-NEXT:     VTX_READ_128 T35.XYZW, T35.X, 0, #112337; EG-NEXT:    ALU clause starting at 14:12338; EG-NEXT:     MOV * T0.Y, T16.X,12339; EG-NEXT:     MOV * T35.X, KC0[2].Z,12340; EG-NEXT:    ALU clause starting at 16:12341; EG-NEXT:     BFE_INT * T0.W, T37.X, 0.0, literal.x,12342; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12343; EG-NEXT:     AND_INT T0.W, PV.W, literal.x,12344; EG-NEXT:     AND_INT * T1.W, T0.Y, literal.y,12345; EG-NEXT:    65535(9.183409e-41), -65536(nan)12346; EG-NEXT:     OR_INT * T0.W, PS, PV.W,12347; EG-NEXT:     MOV * T16.X, PV.W,12348; EG-NEXT:     MOV T0.Y, PV.X,12349; EG-NEXT:     LSHR * T0.W, T37.X, literal.x,12350; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12351; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12352; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12353; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12354; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12355; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12356; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12357; EG-NEXT:     MOV T16.X, PV.W,12358; EG-NEXT:     MOV T0.Y, T17.X,12359; EG-NEXT:     LSHR * T0.W, T37.X, literal.x, BS:VEC_120/SCL_21212360; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12361; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12362; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12363; EG-NEXT:    8(1.121039e-44), -65536(nan)12364; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12365; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12366; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12367; EG-NEXT:     MOV * T17.X, PV.W,12368; EG-NEXT:     MOV T0.Y, PV.X,12369; EG-NEXT:     ASHR * T0.W, T37.X, literal.x,12370; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12371; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12372; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,12373; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12374; EG-NEXT:     OR_INT * T36.Y, PV.W, PS,12375; EG-NEXT:     MOV T17.X, PV.Y,12376; EG-NEXT:     MOV T0.Y, T12.X,12377; EG-NEXT:     BFE_INT * T0.W, T37.Y, 0.0, literal.x,12378; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12379; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12380; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12381; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12382; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12383; EG-NEXT:     MOV * T12.X, PV.W,12384; EG-NEXT:     MOV T0.Y, PV.X,12385; EG-NEXT:     LSHR * T0.W, T37.Y, literal.x,12386; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12387; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12388; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12389; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12390; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12391; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12392; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12393; EG-NEXT:     MOV T12.X, PV.W,12394; EG-NEXT:     MOV T0.Y, T13.X,12395; EG-NEXT:     LSHR * T0.W, T37.Y, literal.x,12396; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12397; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12398; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12399; EG-NEXT:    8(1.121039e-44), -65536(nan)12400; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12401; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12402; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12403; EG-NEXT:     MOV * T13.X, PV.W,12404; EG-NEXT:     MOV T0.Y, PV.X,12405; EG-NEXT:     ASHR * T0.W, T37.Y, literal.x,12406; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12407; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12408; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,12409; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12410; EG-NEXT:     OR_INT * T36.W, PV.W, PS,12411; EG-NEXT:     MOV T13.X, PV.W,12412; EG-NEXT:     MOV T0.Y, T8.X,12413; EG-NEXT:     BFE_INT * T0.W, T37.Z, 0.0, literal.x,12414; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12415; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12416; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12417; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12418; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12419; EG-NEXT:     MOV * T8.X, PV.W,12420; EG-NEXT:     MOV T0.Y, PV.X,12421; EG-NEXT:     LSHR * T0.W, T37.Z, literal.x,12422; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12423; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12424; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12425; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12426; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12427; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12428; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12429; EG-NEXT:     MOV T8.X, PV.W,12430; EG-NEXT:     MOV T0.Y, T9.X,12431; EG-NEXT:     LSHR * T0.W, T37.Z, literal.x,12432; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12433; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12434; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12435; EG-NEXT:    8(1.121039e-44), -65536(nan)12436; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12437; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12438; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12439; EG-NEXT:     MOV * T9.X, PV.W,12440; EG-NEXT:     MOV T0.Y, PV.X,12441; EG-NEXT:     ASHR * T0.W, T37.Z, literal.x,12442; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12443; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12444; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,12445; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12446; EG-NEXT:    ALU clause starting at 121:12447; EG-NEXT:     OR_INT * T37.Y, T1.W, T0.W,12448; EG-NEXT:     MOV T9.X, PV.Y,12449; EG-NEXT:     MOV T0.Y, T4.X,12450; EG-NEXT:     BFE_INT * T0.W, T37.W, 0.0, literal.x,12451; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12452; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12453; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12454; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12455; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12456; EG-NEXT:     MOV * T4.X, PV.W,12457; EG-NEXT:     MOV T0.Y, PV.X,12458; EG-NEXT:     LSHR * T0.W, T37.W, literal.x,12459; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12460; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12461; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12462; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12463; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12464; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12465; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12466; EG-NEXT:     MOV T4.X, PV.W,12467; EG-NEXT:     MOV T0.Y, T5.X,12468; EG-NEXT:     LSHR * T0.W, T37.W, literal.x,12469; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12470; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12471; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12472; EG-NEXT:    8(1.121039e-44), -65536(nan)12473; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12474; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12475; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12476; EG-NEXT:     MOV * T5.X, PV.W,12477; EG-NEXT:     MOV T0.Y, PV.X,12478; EG-NEXT:     ASHR * T0.W, T37.W, literal.x,12479; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12480; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12481; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,12482; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12483; EG-NEXT:     OR_INT * T37.W, PV.W, PS,12484; EG-NEXT:     MOV T5.X, PV.W,12485; EG-NEXT:     MOV T0.Y, T32.X,12486; EG-NEXT:     BFE_INT * T0.W, T35.X, 0.0, literal.x, BS:VEC_120/SCL_21212487; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12488; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12489; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12490; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12491; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12492; EG-NEXT:     MOV * T32.X, PV.W,12493; EG-NEXT:     MOV T0.Y, PV.X,12494; EG-NEXT:     LSHR * T0.W, T35.X, literal.x,12495; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12496; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12497; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12498; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12499; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12500; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12501; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12502; EG-NEXT:     MOV T32.X, PV.W,12503; EG-NEXT:     MOV T0.Y, T33.X,12504; EG-NEXT:     LSHR * T0.W, T35.X, literal.x, BS:VEC_120/SCL_21212505; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12506; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12507; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12508; EG-NEXT:    8(1.121039e-44), -65536(nan)12509; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12510; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12511; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12512; EG-NEXT:     MOV * T33.X, PV.W,12513; EG-NEXT:     MOV T0.Y, PV.X,12514; EG-NEXT:     ASHR * T0.W, T35.X, literal.x,12515; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12516; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12517; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,12518; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12519; EG-NEXT:     OR_INT * T38.Y, PV.W, PS,12520; EG-NEXT:     MOV T33.X, PV.Y,12521; EG-NEXT:     MOV T0.Y, T28.X,12522; EG-NEXT:     BFE_INT * T0.W, T35.Y, 0.0, literal.x,12523; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12524; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12525; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12526; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12527; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12528; EG-NEXT:     MOV * T28.X, PV.W,12529; EG-NEXT:     MOV T0.Y, PV.X,12530; EG-NEXT:     LSHR * T0.W, T35.Y, literal.x,12531; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12532; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12533; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12534; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12535; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12536; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12537; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12538; EG-NEXT:     MOV T28.X, PV.W,12539; EG-NEXT:     MOV T0.Y, T29.X,12540; EG-NEXT:     LSHR * T0.W, T35.Y, literal.x,12541; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12542; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12543; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12544; EG-NEXT:    8(1.121039e-44), -65536(nan)12545; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12546; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12547; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12548; EG-NEXT:     MOV * T29.X, PV.W,12549; EG-NEXT:     MOV T0.Y, PV.X,12550; EG-NEXT:     ASHR * T0.W, T35.Y, literal.x,12551; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12552; EG-NEXT:    ALU clause starting at 226:12553; EG-NEXT:     AND_INT T1.W, T0.Y, literal.x,12554; EG-NEXT:     LSHL * T0.W, T0.W, literal.y,12555; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12556; EG-NEXT:     OR_INT * T38.W, PV.W, PS,12557; EG-NEXT:     MOV T29.X, PV.W,12558; EG-NEXT:     MOV T0.Y, T24.X,12559; EG-NEXT:     BFE_INT * T0.W, T35.Z, 0.0, literal.x,12560; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12561; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12562; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12563; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12564; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12565; EG-NEXT:     MOV * T24.X, PV.W,12566; EG-NEXT:     MOV T0.Y, PV.X,12567; EG-NEXT:     LSHR * T0.W, T35.Z, literal.x,12568; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12569; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12570; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12571; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12572; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12573; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12574; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12575; EG-NEXT:     MOV T24.X, PV.W,12576; EG-NEXT:     MOV T0.Y, T25.X,12577; EG-NEXT:     LSHR * T0.W, T35.Z, literal.x,12578; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12579; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12580; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12581; EG-NEXT:    8(1.121039e-44), -65536(nan)12582; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12583; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12584; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12585; EG-NEXT:     MOV * T25.X, PV.W,12586; EG-NEXT:     MOV T0.Y, PV.X,12587; EG-NEXT:     ASHR * T0.W, T35.Z, literal.x,12588; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)12589; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12590; EG-NEXT:     LSHL * T0.W, PV.W, literal.y,12591; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)12592; EG-NEXT:     OR_INT * T35.Y, PV.W, PS,12593; EG-NEXT:     MOV T25.X, PV.Y,12594; EG-NEXT:     MOV T0.Y, T20.X,12595; EG-NEXT:     BFE_INT * T0.W, T35.W, 0.0, literal.x,12596; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12597; EG-NEXT:     AND_INT T1.W, PV.Y, literal.x,12598; EG-NEXT:     AND_INT * T0.W, PV.W, literal.y,12599; EG-NEXT:    -65536(nan), 65535(9.183409e-41)12600; EG-NEXT:     OR_INT * T0.W, PV.W, PS,12601; EG-NEXT:     MOV * T20.X, PV.W,12602; EG-NEXT:     MOV T0.Y, PV.X,12603; EG-NEXT:     LSHR * T0.W, T35.W, literal.x,12604; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)12605; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12606; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12607; EG-NEXT:    8(1.121039e-44), 65535(9.183409e-41)12608; EG-NEXT:     LSHL * T0.W, PV.W, literal.x,12609; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12610; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12611; EG-NEXT:     MOV T20.X, PV.W,12612; EG-NEXT:     MOV T0.Y, T21.X,12613; EG-NEXT:     LSHR * T0.W, T35.W, literal.x,12614; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12615; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,12616; EG-NEXT:     AND_INT * T1.W, PV.Y, literal.y,12617; EG-NEXT:    8(1.121039e-44), -65536(nan)12618; EG-NEXT:     AND_INT * T0.W, PV.W, literal.x,12619; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)12620; EG-NEXT:     OR_INT * T0.W, T1.W, PV.W,12621; EG-NEXT:     MOV * T21.X, PV.W,12622; EG-NEXT:     MOV T0.Y, PV.X,12623; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,12624; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)12625; EG-NEXT:     LSHR T39.X, PV.W, literal.x,12626; EG-NEXT:     LSHR * T40.X, KC0[2].Y, literal.x,12627; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)12628; EG-NEXT:     ASHR T0.W, T35.W, literal.x,12629; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,12630; EG-NEXT:    24(3.363116e-44), 48(6.726233e-44)12631; EG-NEXT:     LSHR T41.X, PS, literal.x,12632; EG-NEXT:     AND_INT T0.Z, T0.Y, literal.y,12633; EG-NEXT:     LSHL T0.W, PV.W, literal.z,12634; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.w,12635; EG-NEXT:    2(2.802597e-45), 65535(9.183409e-41)12636; EG-NEXT:    16(2.242078e-44), 32(4.484155e-44)12637; EG-NEXT:     LSHR T42.X, PS, literal.x,12638; EG-NEXT:     OR_INT * T35.W, PV.Z, PV.W,12639; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)12640; EG-NEXT:     MOV T21.X, PV.W,12641; EG-NEXT:     MOV * T36.X, T16.X,12642; EG-NEXT:     MOV * T36.Z, T12.X,12643; EG-NEXT:     MOV T37.X, T8.X,12644; EG-NEXT:     MOV T37.Z, T4.X, BS:VEC_120/SCL_21212645; EG-NEXT:     MOV * T38.X, T32.X,12646; EG-NEXT:     MOV * T38.Z, T28.X,12647; EG-NEXT:     MOV T35.X, T24.X,12648; EG-NEXT:     MOV * T35.Z, T20.X, BS:VEC_120/SCL_21212649;12650; GFX12-LABEL: constant_sextload_v32i8_to_v32i16:12651; GFX12:       ; %bb.0:12652; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x2412653; GFX12-NEXT:    s_wait_kmcnt 0x012654; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x012655; GFX12-NEXT:    s_wait_kmcnt 0x012656; GFX12-NEXT:    s_lshr_b32 s17, s1, 1612657; GFX12-NEXT:    s_ashr_i32 s18, s1, 1612658; GFX12-NEXT:    s_lshr_b32 s12, s4, 1612659; GFX12-NEXT:    s_lshr_b32 s18, s18, 812660; GFX12-NEXT:    s_bfe_i32 s17, s17, 0x8000012661; GFX12-NEXT:    s_bfe_i32 s19, s1, 0x8000012662; GFX12-NEXT:    s_sext_i32_i16 s1, s112663; GFX12-NEXT:    s_pack_ll_b32_b16 s17, s17, s1812664; GFX12-NEXT:    s_ashr_i32 s18, s4, 2412665; GFX12-NEXT:    s_bfe_i32 s12, s12, 0x8000012666; GFX12-NEXT:    s_lshr_b32 s1, s1, 812667; GFX12-NEXT:    s_pack_ll_b32_b16 s12, s12, s1812668; GFX12-NEXT:    s_sext_i32_i16 s18, s412669; GFX12-NEXT:    s_pack_ll_b32_b16 s1, s19, s112670; GFX12-NEXT:    s_bfe_i32 s4, s4, 0x8000012671; GFX12-NEXT:    s_lshr_b32 s18, s18, 812672; GFX12-NEXT:    s_ashr_i32 s19, s7, 1612673; GFX12-NEXT:    s_pack_ll_b32_b16 s4, s4, s1812674; GFX12-NEXT:    s_lshr_b32 s18, s19, 812675; GFX12-NEXT:    s_sext_i32_i16 s19, s712676; GFX12-NEXT:    s_lshr_b32 s11, s7, 1612677; GFX12-NEXT:    s_bfe_i32 s7, s7, 0x8000012678; GFX12-NEXT:    s_lshr_b32 s19, s19, 812679; GFX12-NEXT:    s_lshr_b32 s10, s6, 1612680; GFX12-NEXT:    s_bfe_i32 s11, s11, 0x8000012681; GFX12-NEXT:    s_pack_ll_b32_b16 s7, s7, s1912682; GFX12-NEXT:    s_sext_i32_i16 s19, s612683; GFX12-NEXT:    s_lshr_b32 s13, s5, 1612684; GFX12-NEXT:    s_ashr_i32 s26, s5, 2412685; GFX12-NEXT:    s_bfe_i32 s27, s5, 0x8000012686; GFX12-NEXT:    s_sext_i32_i16 s5, s512687; GFX12-NEXT:    s_lshr_b32 s14, s2, 1612688; GFX12-NEXT:    s_lshr_b32 s15, s3, 1612689; GFX12-NEXT:    s_ashr_i32 s22, s3, 1612690; GFX12-NEXT:    s_bfe_i32 s23, s3, 0x8000012691; GFX12-NEXT:    s_sext_i32_i16 s3, s312692; GFX12-NEXT:    s_ashr_i32 s24, s2, 2412693; GFX12-NEXT:    s_bfe_i32 s25, s2, 0x8000012694; GFX12-NEXT:    s_sext_i32_i16 s2, s212695; GFX12-NEXT:    s_pack_ll_b32_b16 s11, s11, s1812696; GFX12-NEXT:    s_ashr_i32 s18, s6, 2412697; GFX12-NEXT:    s_bfe_i32 s6, s6, 0x8000012698; GFX12-NEXT:    s_lshr_b32 s19, s19, 812699; GFX12-NEXT:    s_bfe_i32 s10, s10, 0x8000012700; GFX12-NEXT:    s_lshr_b32 s16, s0, 1612701; GFX12-NEXT:    s_ashr_i32 s20, s0, 2412702; GFX12-NEXT:    s_bfe_i32 s21, s0, 0x8000012703; GFX12-NEXT:    s_sext_i32_i16 s0, s012704; GFX12-NEXT:    s_bfe_i32 s13, s13, 0x8000012705; GFX12-NEXT:    s_lshr_b32 s5, s5, 812706; GFX12-NEXT:    s_lshr_b32 s22, s22, 812707; GFX12-NEXT:    s_bfe_i32 s15, s15, 0x8000012708; GFX12-NEXT:    s_lshr_b32 s3, s3, 812709; GFX12-NEXT:    s_bfe_i32 s14, s14, 0x8000012710; GFX12-NEXT:    s_lshr_b32 s2, s2, 812711; GFX12-NEXT:    s_pack_ll_b32_b16 s6, s6, s1912712; GFX12-NEXT:    s_pack_ll_b32_b16 s10, s10, s1812713; GFX12-NEXT:    s_bfe_i32 s16, s16, 0x8000012714; GFX12-NEXT:    s_lshr_b32 s0, s0, 812715; GFX12-NEXT:    s_pack_ll_b32_b16 s13, s13, s2612716; GFX12-NEXT:    s_pack_ll_b32_b16 s5, s27, s512717; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v1, s1012718; GFX12-NEXT:    s_pack_ll_b32_b16 s15, s15, s2212719; GFX12-NEXT:    s_pack_ll_b32_b16 s3, s23, s312720; GFX12-NEXT:    s_pack_ll_b32_b16 s14, s14, s2412721; GFX12-NEXT:    s_pack_ll_b32_b16 s2, s25, s212722; GFX12-NEXT:    v_dual_mov_b32 v0, s6 :: v_dual_mov_b32 v3, s1112723; GFX12-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v5, s1212724; GFX12-NEXT:    s_pack_ll_b32_b16 s16, s16, s2012725; GFX12-NEXT:    s_pack_ll_b32_b16 s0, s21, s012726; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s1312727; GFX12-NEXT:    v_dual_mov_b32 v6, s5 :: v_dual_mov_b32 v9, s1412728; GFX12-NEXT:    v_dual_mov_b32 v8, s2 :: v_dual_mov_b32 v11, s1512729; GFX12-NEXT:    v_dual_mov_b32 v10, s3 :: v_dual_mov_b32 v13, s1612730; GFX12-NEXT:    v_dual_mov_b32 v12, s0 :: v_dual_mov_b32 v15, s1712731; GFX12-NEXT:    v_mov_b32_e32 v14, s112732; GFX12-NEXT:    s_clause 0x312733; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[8:9] offset:4812734; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[8:9] offset:3212735; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[8:9] offset:1612736; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[8:9]12737; GFX12-NEXT:    s_endpgm12738  %load = load <32 x i8>, ptr addrspace(4) %in12739  %ext = sext <32 x i8> %load to <32 x i16>12740  store <32 x i16> %ext, ptr addrspace(1) %out12741  ret void12742}12743 12744; XFUNC-LABEL: {{^}}constant_zextload_v64i8_to_v64i16:12745; define amdgpu_kernel void @constant_zextload_v64i8_to_v64i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {12746;   %load = load <64 x i8>, ptr addrspace(4) %in12747;   %ext = zext <64 x i8> %load to <64 x i16>12748;   store <64 x i16> %ext, ptr addrspace(1) %out12749;   ret void12750; }12751 12752; XFUNC-LABEL: {{^}}constant_sextload_v64i8_to_v64i16:12753; define amdgpu_kernel void @constant_sextload_v64i8_to_v64i16(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {12754;   %load = load <64 x i8>, ptr addrspace(4) %in12755;   %ext = sext <64 x i8> %load to <64 x i16>12756;   store <64 x i16> %ext, ptr addrspace(1) %out12757;   ret void12758; }12759 12760attributes #0 = { nounwind }12761