brintos

brintos / llvm-project-archived public Read only

0
0
Text · 265.1 KiB · 9d3a9f1 Raw
6115 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--amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefix=GFX9-HSA %s7; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx908 < %s | FileCheck -check-prefix=GFX9-HSA %s8; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck -check-prefix=GFX12 %s9; RUN: llc -mtriple=amdgcn -mcpu=gfx1250 < %s | FileCheck -check-prefix=GFX1250 %s10 11define amdgpu_kernel void @constant_load_i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {12; GFX6-NOHSA-LABEL: constant_load_i32:13; GFX6-NOHSA:       ; %bb.0: ; %entry14; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x915; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)16; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x017; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf00018; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -119; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)20; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s421; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[0:3], 022; GFX6-NOHSA-NEXT:    s_endpgm23;24; GFX7-HSA-LABEL: constant_load_i32:25; GFX7-HSA:       ; %bb.0: ; %entry26; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x027; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s1728; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s1329; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 830; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)31; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x032; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s033; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s134; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)35; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s236; GFX7-HSA-NEXT:    flat_store_dword v[0:1], v237; GFX7-HSA-NEXT:    s_endpgm38;39; GFX8-NOHSA-LABEL: constant_load_i32:40; GFX8-NOHSA:       ; %bb.0: ; %entry41; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x2442; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)43; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x044; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s045; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s146; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)47; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s248; GFX8-NOHSA-NEXT:    flat_store_dword v[0:1], v249; GFX8-NOHSA-NEXT:    s_endpgm50;51; EG-LABEL: constant_load_i32:52; EG:       ; %bb.0: ; %entry53; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]54; EG-NEXT:    TEX 0 @655; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]56; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 157; EG-NEXT:    CF_END58; EG-NEXT:    PAD59; EG-NEXT:    Fetch clause starting at 6:60; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 0, #161; EG-NEXT:    ALU clause starting at 8:62; EG-NEXT:     MOV * T0.X, KC0[2].Z,63; EG-NEXT:    ALU clause starting at 9:64; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,65; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)66;67; GFX9-HSA-LABEL: constant_load_i32:68; GFX9-HSA:       ; %bb.0: ; %entry69; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x070; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, 071; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)72; GFX9-HSA-NEXT:    s_load_dword s2, s[2:3], 0x073; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)74; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s275; GFX9-HSA-NEXT:    global_store_dword v0, v1, s[0:1]76; GFX9-HSA-NEXT:    s_endpgm77;78; GFX12-LABEL: constant_load_i32:79; GFX12:       ; %bb.0: ; %entry80; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2481; GFX12-NEXT:    s_wait_kmcnt 0x082; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x083; GFX12-NEXT:    s_wait_kmcnt 0x084; GFX12-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s285; GFX12-NEXT:    global_store_b32 v0, v1, s[0:1]86; GFX12-NEXT:    s_endpgm87;88; GFX1250-LABEL: constant_load_i32:89; GFX1250:       ; %bb.0: ; %entry90; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 191; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x2492; GFX1250-NEXT:    s_wait_kmcnt 0x093; GFX1250-NEXT:    s_load_b32 s2, s[2:3], 0x094; GFX1250-NEXT:    s_wait_kmcnt 0x095; GFX1250-NEXT:    v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, s296; GFX1250-NEXT:    global_store_b32 v0, v1, s[0:1]97; GFX1250-NEXT:    s_endpgm98entry:99  %ld = load i32, ptr addrspace(4) %in100  store i32 %ld, ptr addrspace(1) %out101  ret void102}103 104define amdgpu_kernel void @constant_load_v2i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {105; GFX6-NOHSA-LABEL: constant_load_v2i32:106; GFX6-NOHSA:       ; %bb.0: ; %entry107; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9108; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)109; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x0110; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000111; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1112; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)113; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4114; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5115; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 0116; GFX6-NOHSA-NEXT:    s_endpgm117;118; GFX7-HSA-LABEL: constant_load_v2i32:119; GFX7-HSA:       ; %bb.0: ; %entry120; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0121; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17122; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13123; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8124; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)125; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x0126; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0127; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1128; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)129; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2130; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s3131; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]132; GFX7-HSA-NEXT:    s_endpgm133;134; GFX8-NOHSA-LABEL: constant_load_v2i32:135; GFX8-NOHSA:       ; %bb.0: ; %entry136; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24137; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)138; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x0139; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0140; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1141; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)142; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s2143; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s3144; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]145; GFX8-NOHSA-NEXT:    s_endpgm146;147; EG-LABEL: constant_load_v2i32:148; EG:       ; %bb.0: ; %entry149; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]150; EG-NEXT:    TEX 0 @6151; EG-NEXT:    ALU 1, @9, KC0[CB0:0-32], KC1[]152; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 1153; EG-NEXT:    CF_END154; EG-NEXT:    PAD155; EG-NEXT:    Fetch clause starting at 6:156; EG-NEXT:     VTX_READ_64 T0.XY, T0.X, 0, #1157; EG-NEXT:    ALU clause starting at 8:158; EG-NEXT:     MOV * T0.X, KC0[2].Z,159; EG-NEXT:    ALU clause starting at 9:160; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,161; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)162;163; GFX9-HSA-LABEL: constant_load_v2i32:164; GFX9-HSA:       ; %bb.0: ; %entry165; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0166; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, 0167; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)168; GFX9-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x0169; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)170; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s2171; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s3172; GFX9-HSA-NEXT:    global_store_dwordx2 v2, v[0:1], s[0:1]173; GFX9-HSA-NEXT:    s_endpgm174;175; GFX12-LABEL: constant_load_v2i32:176; GFX12:       ; %bb.0: ; %entry177; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24178; GFX12-NEXT:    s_wait_kmcnt 0x0179; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x0180; GFX12-NEXT:    v_mov_b32_e32 v2, 0181; GFX12-NEXT:    s_wait_kmcnt 0x0182; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v1, s3183; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]184; GFX12-NEXT:    s_endpgm185;186; GFX1250-LABEL: constant_load_v2i32:187; GFX1250:       ; %bb.0: ; %entry188; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1189; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24190; GFX1250-NEXT:    v_mov_b32_e32 v2, 0191; GFX1250-NEXT:    s_wait_kmcnt 0x0192; GFX1250-NEXT:    s_load_b64 s[2:3], s[2:3], 0x0193; GFX1250-NEXT:    s_wait_kmcnt 0x0194; GFX1250-NEXT:    v_mov_b64_e32 v[0:1], s[2:3]195; GFX1250-NEXT:    global_store_b64 v2, v[0:1], s[0:1]196; GFX1250-NEXT:    s_endpgm197entry:198  %ld = load <2 x i32>, ptr addrspace(4) %in199  store <2 x i32> %ld, ptr addrspace(1) %out200  ret void201}202 203define amdgpu_kernel void @constant_load_v3i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {204; GFX6-NOHSA-LABEL: constant_load_v3i32:205; GFX6-NOHSA:       ; %bb.0: ; %entry206; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9207; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)208; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0209; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000210; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1211; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)212; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s6213; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[0:3], 0 offset:8214; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)215; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4216; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5217; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 0218; GFX6-NOHSA-NEXT:    s_endpgm219;220; GFX7-HSA-LABEL: constant_load_v3i32:221; GFX7-HSA:       ; %bb.0: ; %entry222; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0223; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17224; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13225; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8226; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)227; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0228; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s0229; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s1230; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)231; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4232; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5233; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6234; GFX7-HSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]235; GFX7-HSA-NEXT:    s_endpgm236;237; GFX8-NOHSA-LABEL: constant_load_v3i32:238; GFX8-NOHSA:       ; %bb.0: ; %entry239; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24240; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)241; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0242; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s0243; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s1244; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)245; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s4246; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s5247; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s6248; GFX8-NOHSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]249; GFX8-NOHSA-NEXT:    s_endpgm250;251; EG-LABEL: constant_load_v3i32:252; EG:       ; %bb.0: ; %entry253; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]254; EG-NEXT:    TEX 0 @6255; EG-NEXT:    ALU 6, @9, KC0[CB0:0-32], KC1[]256; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.X, T3.X, 0257; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 1258; EG-NEXT:    CF_END259; EG-NEXT:    Fetch clause starting at 6:260; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #1261; EG-NEXT:    ALU clause starting at 8:262; EG-NEXT:     MOV * T0.X, KC0[2].Z,263; EG-NEXT:    ALU clause starting at 9:264; EG-NEXT:     LSHR T1.X, KC0[2].Y, literal.x,265; EG-NEXT:     MOV * T2.X, T0.Z,266; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)267; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,268; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)269; EG-NEXT:     LSHR * T3.X, PV.W, literal.x,270; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)271;272; GFX9-HSA-LABEL: constant_load_v3i32:273; GFX9-HSA:       ; %bb.0: ; %entry274; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0275; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, 0276; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)277; GFX9-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0278; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)279; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s4280; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s5281; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s6282; GFX9-HSA-NEXT:    global_store_dwordx3 v3, v[0:2], s[0:1]283; GFX9-HSA-NEXT:    s_endpgm284;285; GFX12-LABEL: constant_load_v3i32:286; GFX12:       ; %bb.0: ; %entry287; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24288; GFX12-NEXT:    s_wait_kmcnt 0x0289; GFX12-NEXT:    s_load_b96 s[4:6], s[2:3], 0x0290; GFX12-NEXT:    s_wait_kmcnt 0x0291; GFX12-NEXT:    v_dual_mov_b32 v3, 0 :: v_dual_mov_b32 v0, s4292; GFX12-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s6293; GFX12-NEXT:    global_store_b96 v3, v[0:2], s[0:1]294; GFX12-NEXT:    s_endpgm295;296; GFX1250-LABEL: constant_load_v3i32:297; GFX1250:       ; %bb.0: ; %entry298; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1299; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24300; GFX1250-NEXT:    s_wait_kmcnt 0x0301; GFX1250-NEXT:    s_load_b96 s[4:6], s[2:3], 0x0302; GFX1250-NEXT:    s_wait_kmcnt 0x0303; GFX1250-NEXT:    v_dual_mov_b32 v3, 0 :: v_dual_mov_b32 v0, s4304; GFX1250-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s6305; GFX1250-NEXT:    global_store_b96 v3, v[0:2], s[0:1]306; GFX1250-NEXT:    s_endpgm307entry:308  %ld = load <3 x i32>, ptr addrspace(4) %in309  store <3 x i32> %ld, ptr addrspace(1) %out310  ret void311}312 313define amdgpu_kernel void @constant_load_v4i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {314; GFX6-NOHSA-LABEL: constant_load_v4i32:315; GFX6-NOHSA:       ; %bb.0: ; %entry316; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x9317; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)318; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0319; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf000320; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -1321; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)322; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4323; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5324; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s6325; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s7326; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0327; GFX6-NOHSA-NEXT:    s_endpgm328;329; GFX7-HSA-LABEL: constant_load_v4i32:330; GFX7-HSA:       ; %bb.0: ; %entry331; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0332; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17333; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13334; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8335; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)336; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0337; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s0338; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s1339; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)340; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4341; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5342; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6343; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s7344; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]345; GFX7-HSA-NEXT:    s_endpgm346;347; GFX8-NOHSA-LABEL: constant_load_v4i32:348; GFX8-NOHSA:       ; %bb.0: ; %entry349; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24350; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)351; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0352; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s0353; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s1354; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)355; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s4356; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s5357; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s6358; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s7359; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]360; GFX8-NOHSA-NEXT:    s_endpgm361;362; EG-LABEL: constant_load_v4i32: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.XYZW, T1.X, 1368; EG-NEXT:    CF_END369; EG-NEXT:    PAD370; EG-NEXT:    Fetch clause starting at 6:371; EG-NEXT:     VTX_READ_128 T0.XYZW, 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; GFX9-HSA-LABEL: constant_load_v4i32:379; GFX9-HSA:       ; %bb.0: ; %entry380; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x0381; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, 0382; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)383; GFX9-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x0384; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)385; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s4386; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s5387; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s6388; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s7389; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1]390; GFX9-HSA-NEXT:    s_endpgm391;392; GFX12-LABEL: constant_load_v4i32:393; GFX12:       ; %bb.0: ; %entry394; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24395; GFX12-NEXT:    s_wait_kmcnt 0x0396; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x0397; GFX12-NEXT:    v_mov_b32_e32 v4, 0398; GFX12-NEXT:    s_wait_kmcnt 0x0399; GFX12-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, s7400; GFX12-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s6401; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]402; GFX12-NEXT:    s_endpgm403;404; GFX1250-LABEL: constant_load_v4i32:405; GFX1250:       ; %bb.0: ; %entry406; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1407; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x24408; GFX1250-NEXT:    v_mov_b32_e32 v4, 0409; GFX1250-NEXT:    s_wait_kmcnt 0x0410; GFX1250-NEXT:    s_load_b128 s[4:7], s[2:3], 0x0411; GFX1250-NEXT:    s_wait_kmcnt 0x0412; GFX1250-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]413; GFX1250-NEXT:    v_mov_b64_e32 v[2:3], s[6:7]414; GFX1250-NEXT:    global_store_b128 v4, v[0:3], s[0:1]415; GFX1250-NEXT:    s_endpgm416entry:417  %ld = load <4 x i32>, ptr addrspace(4) %in418  store <4 x i32> %ld, ptr addrspace(1) %out419  ret void420}421 422define amdgpu_kernel void @constant_load_v8i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {423; GFX6-NOHSA-LABEL: constant_load_v8i32:424; GFX6-NOHSA:       ; %bb.0: ; %entry425; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x9426; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)427; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0428; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf000429; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -1430; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)431; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4432; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5433; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s6434; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s7435; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:16436; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)437; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s0438; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1439; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s2440; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s3441; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0442; GFX6-NOHSA-NEXT:    s_endpgm443;444; GFX7-HSA-LABEL: constant_load_v8i32:445; GFX7-HSA:       ; %bb.0: ; %entry446; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0447; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17448; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8449; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13450; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)451; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0452; GFX7-HSA-NEXT:    s_add_u32 s10, s8, 16453; GFX7-HSA-NEXT:    s_addc_u32 s11, s9, 0454; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s10455; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s11456; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)457; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4458; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5459; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6460; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s7461; GFX7-HSA-NEXT:    flat_store_dwordx4 v[6:7], v[0:3]462; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s0463; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s8464; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s1465; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s2466; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s3467; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s9468; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]469; GFX7-HSA-NEXT:    s_endpgm470;471; GFX8-NOHSA-LABEL: constant_load_v8i32:472; GFX8-NOHSA:       ; %bb.0: ; %entry473; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x24474; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)475; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0476; GFX8-NOHSA-NEXT:    s_add_u32 s10, s8, 16477; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s9, 0478; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s10479; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s11480; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)481; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s4482; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s5483; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s6484; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s7485; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[6:7], v[0:3]486; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s0487; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s8488; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s1489; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s2490; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s3491; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s9492; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]493; GFX8-NOHSA-NEXT:    s_endpgm494;495; EG-LABEL: constant_load_v8i32:496; EG:       ; %bb.0: ; %entry497; EG-NEXT:    ALU 0, @10, KC0[CB0:0-32], KC1[]498; EG-NEXT:    TEX 1 @6499; EG-NEXT:    ALU 4, @11, KC0[CB0:0-32], KC1[]500; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T3.X, 0501; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XYZW, T2.X, 1502; EG-NEXT:    CF_END503; EG-NEXT:    Fetch clause starting at 6:504; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 16, #1505; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #1506; EG-NEXT:    ALU clause starting at 10:507; EG-NEXT:     MOV * T0.X, KC0[2].Z,508; EG-NEXT:    ALU clause starting at 11:509; EG-NEXT:     LSHR T2.X, KC0[2].Y, literal.x,510; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,511; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)512; EG-NEXT:     LSHR * T3.X, PV.W, literal.x,513; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)514;515; GFX9-HSA-LABEL: constant_load_v8i32:516; GFX9-HSA:       ; %bb.0: ; %entry517; GFX9-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0518; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 0519; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)520; GFX9-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0521; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)522; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s4523; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s5524; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s6525; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s7526; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s0527; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s1528; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s2529; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s3530; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[8:9] offset:16531; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[8:9]532; GFX9-HSA-NEXT:    s_endpgm533;534; GFX12-LABEL: constant_load_v8i32:535; GFX12:       ; %bb.0: ; %entry536; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x24537; GFX12-NEXT:    s_wait_kmcnt 0x0538; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x0539; GFX12-NEXT:    s_wait_kmcnt 0x0540; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s5541; GFX12-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, s7542; GFX12-NEXT:    v_dual_mov_b32 v2, s6 :: v_dual_mov_b32 v5, s1543; GFX12-NEXT:    v_dual_mov_b32 v4, s0 :: v_dual_mov_b32 v7, s3544; GFX12-NEXT:    v_mov_b32_e32 v6, s2545; GFX12-NEXT:    s_clause 0x1546; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[8:9] offset:16547; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[8:9]548; GFX12-NEXT:    s_endpgm549;550; GFX1250-LABEL: constant_load_v8i32:551; GFX1250:       ; %bb.0: ; %entry552; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1553; GFX1250-NEXT:    s_load_b128 s[8:11], s[4:5], 0x24554; GFX1250-NEXT:    s_wait_kmcnt 0x0555; GFX1250-NEXT:    s_load_b256 s[0:7], s[10:11], 0x0556; GFX1250-NEXT:    s_wait_kmcnt 0x0557; GFX1250-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v0, s4558; GFX1250-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s6559; GFX1250-NEXT:    v_dual_mov_b32 v3, s7 :: v_dual_mov_b32 v4, s0560; GFX1250-NEXT:    v_dual_mov_b32 v5, s1 :: v_dual_mov_b32 v6, s2561; GFX1250-NEXT:    v_mov_b32_e32 v7, s3562; GFX1250-NEXT:    s_clause 0x1563; GFX1250-NEXT:    global_store_b128 v8, v[0:3], s[8:9] offset:16564; GFX1250-NEXT:    global_store_b128 v8, v[4:7], s[8:9]565; GFX1250-NEXT:    s_endpgm566entry:567  %ld = load <8 x i32>, ptr addrspace(4) %in568  store <8 x i32> %ld, ptr addrspace(1) %out569  ret void570}571 572define amdgpu_kernel void @constant_load_v9i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {573; GFX6-NOHSA-LABEL: constant_load_v9i32:574; GFX6-NOHSA:       ; %bb.0: ; %entry575; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x9576; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)577; GFX6-NOHSA-NEXT:    s_load_dword s12, s[10:11], 0x8578; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0579; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf000580; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -1581; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)582; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s12583; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[8:11], 0 offset:32584; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)585; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4586; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5587; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s6588; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s7589; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:16590; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)591; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s0592; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1593; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s2594; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s3595; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0596; GFX6-NOHSA-NEXT:    s_endpgm597;598; GFX7-HSA-LABEL: constant_load_v9i32:599; GFX7-HSA:       ; %bb.0: ; %entry600; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0601; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17602; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8603; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13604; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)605; GFX7-HSA-NEXT:    s_load_dword s12, s[10:11], 0x8606; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0607; GFX7-HSA-NEXT:    s_add_u32 s10, s8, 32608; GFX7-HSA-NEXT:    s_addc_u32 s11, s9, 0609; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s10610; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11611; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)612; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s12613; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4614; GFX7-HSA-NEXT:    s_add_u32 s4, s8, 16615; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5616; GFX7-HSA-NEXT:    flat_store_dword v[4:5], v6617; GFX7-HSA-NEXT:    s_addc_u32 s5, s9, 0618; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s4619; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6620; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s7621; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s5622; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]623; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s8624; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0625; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1626; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2627; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s3628; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s9629; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]630; GFX7-HSA-NEXT:    s_endpgm631;632; GFX8-NOHSA-LABEL: constant_load_v9i32:633; GFX8-NOHSA:       ; %bb.0: ; %entry634; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x24635; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)636; GFX8-NOHSA-NEXT:    s_load_dword s12, s[10:11], 0x20637; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0638; GFX8-NOHSA-NEXT:    s_add_u32 s10, s8, 32639; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s9, 0640; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s10641; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11642; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)643; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s12644; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s4645; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 16646; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s5647; GFX8-NOHSA-NEXT:    flat_store_dword v[4:5], v6648; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 0649; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s4650; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s6651; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s7652; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s5653; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]654; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s8655; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0656; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1657; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s2658; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s3659; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s9660; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]661; GFX8-NOHSA-NEXT:    s_endpgm662;663; EG-LABEL: constant_load_v9i32:664; EG:       ; %bb.0: ; %entry665; EG-NEXT:    ALU 0, @14, KC0[CB0:0-32], KC1[]666; EG-NEXT:    TEX 2 @8667; EG-NEXT:    ALU 7, @15, KC0[CB0:0-32], KC1[]668; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.X, T5.X, 0669; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T4.X, 0670; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.XYZW, T3.X, 1671; EG-NEXT:    CF_END672; EG-NEXT:    PAD673; EG-NEXT:    Fetch clause starting at 8:674; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 16, #1675; EG-NEXT:     VTX_READ_128 T2.XYZW, T0.X, 0, #1676; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 32, #1677; EG-NEXT:    ALU clause starting at 14:678; EG-NEXT:     MOV * T0.X, KC0[2].Z,679; EG-NEXT:    ALU clause starting at 15:680; EG-NEXT:     LSHR T3.X, KC0[2].Y, literal.x,681; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,682; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)683; EG-NEXT:     LSHR T4.X, PV.W, literal.x,684; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,685; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)686; EG-NEXT:     LSHR * T5.X, PV.W, literal.x,687; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)688;689; GFX9-HSA-LABEL: constant_load_v9i32:690; GFX9-HSA:       ; %bb.0: ; %entry691; GFX9-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0692; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 0693; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)694; GFX9-HSA-NEXT:    s_load_dword s12, s[10:11], 0x20695; GFX9-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0696; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)697; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s12698; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s4699; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s5700; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s6701; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s7702; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s0703; GFX9-HSA-NEXT:    global_store_dword v8, v5, s[8:9] offset:32704; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[8:9] offset:16705; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s1706; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s2707; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s3708; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[8:9]709; GFX9-HSA-NEXT:    s_endpgm710;711; GFX12-LABEL: constant_load_v9i32:712; GFX12:       ; %bb.0: ; %entry713; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x24714; GFX12-NEXT:    s_wait_kmcnt 0x0715; GFX12-NEXT:    s_clause 0x1716; GFX12-NEXT:    s_load_b32 s12, s[10:11], 0x20717; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x0718; GFX12-NEXT:    s_wait_kmcnt 0x0719; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v9, s12720; GFX12-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v1, s5721; GFX12-NEXT:    v_dual_mov_b32 v2, s6 :: v_dual_mov_b32 v3, s7722; GFX12-NEXT:    v_dual_mov_b32 v4, s0 :: v_dual_mov_b32 v5, s1723; GFX12-NEXT:    v_dual_mov_b32 v6, s2 :: v_dual_mov_b32 v7, s3724; GFX12-NEXT:    s_clause 0x2725; GFX12-NEXT:    global_store_b32 v8, v9, s[8:9] offset:32726; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[8:9] offset:16727; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[8:9]728; GFX12-NEXT:    s_endpgm729;730; GFX1250-LABEL: constant_load_v9i32:731; GFX1250:       ; %bb.0: ; %entry732; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1733; GFX1250-NEXT:    s_load_b128 s[8:11], s[4:5], 0x24734; GFX1250-NEXT:    s_wait_kmcnt 0x0735; GFX1250-NEXT:    s_clause 0x1736; GFX1250-NEXT:    s_load_b32 s12, s[10:11], 0x20737; GFX1250-NEXT:    s_load_b256 s[0:7], s[10:11], 0x0738; GFX1250-NEXT:    s_wait_kmcnt 0x0739; GFX1250-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v9, s12740; GFX1250-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v1, s5741; GFX1250-NEXT:    v_dual_mov_b32 v2, s6 :: v_dual_mov_b32 v3, s7742; GFX1250-NEXT:    v_dual_mov_b32 v4, s0 :: v_dual_mov_b32 v5, s1743; GFX1250-NEXT:    v_dual_mov_b32 v6, s2 :: v_dual_mov_b32 v7, s3744; GFX1250-NEXT:    s_clause 0x2745; GFX1250-NEXT:    global_store_b32 v8, v9, s[8:9] offset:32746; GFX1250-NEXT:    global_store_b128 v8, v[0:3], s[8:9] offset:16747; GFX1250-NEXT:    global_store_b128 v8, v[4:7], s[8:9]748; GFX1250-NEXT:    s_endpgm749entry:750  %ld = load <9 x i32>, ptr addrspace(4) %in751  store <9 x i32> %ld, ptr addrspace(1) %out752  ret void753}754 755define amdgpu_kernel void @constant_load_v10i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {756; GFX6-NOHSA-LABEL: constant_load_v10i32:757; GFX6-NOHSA:       ; %bb.0: ; %entry758; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x9759; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)760; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[12:13], s[10:11], 0x8761; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0762; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf000763; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -1764; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)765; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s12766; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s13767; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[8:11], 0 offset:32768; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)769; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4770; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5771; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s6772; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s7773; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:16774; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)775; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s0776; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1777; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s2778; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s3779; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0780; GFX6-NOHSA-NEXT:    s_endpgm781;782; GFX7-HSA-LABEL: constant_load_v10i32:783; GFX7-HSA:       ; %bb.0: ; %entry784; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0785; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17786; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13787; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8788; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)789; GFX7-HSA-NEXT:    s_load_dwordx2 s[12:13], s[10:11], 0x8790; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0791; GFX7-HSA-NEXT:    s_add_u32 s10, s8, 32792; GFX7-HSA-NEXT:    s_addc_u32 s11, s9, 0793; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s10794; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)795; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s12796; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s11797; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s13798; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4799; GFX7-HSA-NEXT:    s_add_u32 s4, s8, 16800; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5801; GFX7-HSA-NEXT:    flat_store_dwordx2 v[4:5], v[6:7]802; GFX7-HSA-NEXT:    s_addc_u32 s5, s9, 0803; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s4804; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6805; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s7806; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s5807; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]808; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s8809; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s0810; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s1811; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s2812; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s3813; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s9814; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]815; GFX7-HSA-NEXT:    s_endpgm816;817; GFX8-NOHSA-LABEL: constant_load_v10i32:818; GFX8-NOHSA:       ; %bb.0: ; %entry819; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x24820; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)821; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[12:13], s[10:11], 0x20822; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0823; GFX8-NOHSA-NEXT:    s_add_u32 s10, s8, 32824; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s9, 0825; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s10826; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)827; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s12828; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s11829; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s13830; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s4831; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 16832; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s5833; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[4:5], v[6:7]834; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 0835; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s4836; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s6837; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s7838; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s5839; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]840; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s8841; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s0842; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s1843; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s2844; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s3845; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s9846; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]847; GFX8-NOHSA-NEXT:    s_endpgm848;849; EG-LABEL: constant_load_v10i32:850; EG:       ; %bb.0: ; %entry851; EG-NEXT:    ALU 0, @14, KC0[CB0:0-32], KC1[]852; EG-NEXT:    TEX 2 @8853; EG-NEXT:    ALU 8, @15, KC0[CB0:0-32], KC1[]854; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T5.X, 0855; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.XYZW, T4.X, 0856; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T3.X, 1857; EG-NEXT:    CF_END858; EG-NEXT:    PAD859; EG-NEXT:    Fetch clause starting at 8:860; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 16, #1861; EG-NEXT:     VTX_READ_128 T2.XYZW, T0.X, 0, #1862; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 32, #1863; EG-NEXT:    ALU clause starting at 14:864; EG-NEXT:     MOV * T0.X, KC0[2].Z,865; EG-NEXT:    ALU clause starting at 15:866; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,867; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)868; EG-NEXT:     LSHR T3.X, PV.W, literal.x,869; EG-NEXT:     LSHR * T4.X, KC0[2].Y, literal.x,870; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)871; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,872; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)873; EG-NEXT:     LSHR * T5.X, PV.W, literal.x,874; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)875;876; GFX9-HSA-LABEL: constant_load_v10i32:877; GFX9-HSA:       ; %bb.0: ; %entry878; GFX9-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0879; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 0880; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)881; GFX9-HSA-NEXT:    s_load_dwordx2 s[12:13], s[10:11], 0x20882; GFX9-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0883; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)884; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s12885; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s13886; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s4887; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s5888; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s6889; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s7890; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s0891; GFX9-HSA-NEXT:    global_store_dwordx2 v8, v[5:6], s[8:9] offset:32892; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[8:9] offset:16893; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s1894; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s2895; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s3896; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[8:9]897; GFX9-HSA-NEXT:    s_endpgm898;899; GFX12-LABEL: constant_load_v10i32:900; GFX12:       ; %bb.0: ; %entry901; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x24902; GFX12-NEXT:    s_wait_kmcnt 0x0903; GFX12-NEXT:    s_clause 0x1904; GFX12-NEXT:    s_load_b64 s[12:13], s[10:11], 0x20905; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x0906; GFX12-NEXT:    v_mov_b32_e32 v10, 0907; GFX12-NEXT:    s_wait_kmcnt 0x0908; GFX12-NEXT:    v_dual_mov_b32 v8, s12 :: v_dual_mov_b32 v1, s5909; GFX12-NEXT:    v_dual_mov_b32 v9, s13 :: v_dual_mov_b32 v0, s4910; GFX12-NEXT:    v_dual_mov_b32 v3, s7 :: v_dual_mov_b32 v2, s6911; GFX12-NEXT:    v_dual_mov_b32 v5, s1 :: v_dual_mov_b32 v4, s0912; GFX12-NEXT:    v_dual_mov_b32 v7, s3 :: v_dual_mov_b32 v6, s2913; GFX12-NEXT:    s_clause 0x2914; GFX12-NEXT:    global_store_b64 v10, v[8:9], s[8:9] offset:32915; GFX12-NEXT:    global_store_b128 v10, v[0:3], s[8:9] offset:16916; GFX12-NEXT:    global_store_b128 v10, v[4:7], s[8:9]917; GFX12-NEXT:    s_endpgm918;919; GFX1250-LABEL: constant_load_v10i32:920; GFX1250:       ; %bb.0: ; %entry921; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1922; GFX1250-NEXT:    s_load_b128 s[8:11], s[4:5], 0x24923; GFX1250-NEXT:    s_wait_kmcnt 0x0924; GFX1250-NEXT:    s_clause 0x1925; GFX1250-NEXT:    s_load_b64 s[12:13], s[10:11], 0x20926; GFX1250-NEXT:    s_load_b256 s[0:7], s[10:11], 0x0927; GFX1250-NEXT:    v_mov_b32_e32 v10, 0928; GFX1250-NEXT:    s_wait_kmcnt 0x0929; GFX1250-NEXT:    v_mov_b64_e32 v[8:9], s[12:13]930; GFX1250-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v1, s5931; GFX1250-NEXT:    v_dual_mov_b32 v2, s6 :: v_dual_mov_b32 v3, s7932; GFX1250-NEXT:    v_dual_mov_b32 v4, s0 :: v_dual_mov_b32 v5, s1933; GFX1250-NEXT:    v_dual_mov_b32 v6, s2 :: v_dual_mov_b32 v7, s3934; GFX1250-NEXT:    s_clause 0x2935; GFX1250-NEXT:    global_store_b64 v10, v[8:9], s[8:9] offset:32936; GFX1250-NEXT:    global_store_b128 v10, v[0:3], s[8:9] offset:16937; GFX1250-NEXT:    global_store_b128 v10, v[4:7], s[8:9]938; GFX1250-NEXT:    s_endpgm939entry:940  %ld = load <10 x i32>, ptr addrspace(4) %in941  store <10 x i32> %ld, ptr addrspace(1) %out942  ret void943}944 945define amdgpu_kernel void @constant_load_v11i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {946; GFX6-NOHSA-LABEL: constant_load_v11i32:947; GFX6-NOHSA:       ; %bb.0: ; %entry948; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x9949; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)950; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x8951; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0952; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf000953; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -1954; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)955; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s14956; GFX6-NOHSA-NEXT:    buffer_store_dword v0, off, s[8:11], 0 offset:40957; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)958; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s12959; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s13960; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[8:11], 0 offset:32961; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)962; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s4963; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s5964; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s6965; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s7966; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:16967; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)968; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s0969; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s1970; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s2971; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s3972; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0973; GFX6-NOHSA-NEXT:    s_endpgm974;975; GFX7-HSA-LABEL: constant_load_v11i32:976; GFX7-HSA:       ; %bb.0: ; %entry977; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x0978; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s17979; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s13980; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8981; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)982; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x0983; GFX7-HSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x8984; GFX7-HSA-NEXT:    s_add_u32 s10, s8, 16985; GFX7-HSA-NEXT:    s_addc_u32 s11, s9, 0986; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s10987; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s11988; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)989; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s4990; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s5991; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s6992; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s7993; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s0994; GFX7-HSA-NEXT:    flat_store_dwordx4 v[5:6], v[0:3]995; GFX7-HSA-NEXT:    s_add_u32 s0, s8, 32996; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s8997; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s1998; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s2999; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s31000; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s91001; GFX7-HSA-NEXT:    s_addc_u32 s1, s9, 01002; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]1003; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s121004; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s11005; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s131006; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s141007; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01008; GFX7-HSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]1009; GFX7-HSA-NEXT:    s_endpgm1010;1011; GFX8-NOHSA-LABEL: constant_load_v11i32:1012; GFX8-NOHSA:       ; %bb.0: ; %entry1013; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241014; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1015; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x01016; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[12:15], s[2:3], 0x201017; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 161018; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 01019; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s31020; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s21021; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1022; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s81023; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s91024; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s101025; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s111026; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[5:6], v[0:3]1027; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s41028; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01029; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11030; GFX8-NOHSA-NEXT:    s_add_u32 s0, s0, 321031; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s51032; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s61033; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s71034; GFX8-NOHSA-NEXT:    s_addc_u32 s1, s1, 01035; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]1036; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s121037; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s11038; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s131039; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s141040; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01041; GFX8-NOHSA-NEXT:    flat_store_dwordx3 v[3:4], v[0:2]1042; GFX8-NOHSA-NEXT:    s_endpgm1043;1044; EG-LABEL: constant_load_v11i32:1045; EG:       ; %bb.0: ; %entry1046; EG-NEXT:    ALU 0, @14, KC0[CB0:0-32], KC1[]1047; EG-NEXT:    TEX 2 @81048; EG-NEXT:    ALU 13, @15, KC0[CB0:0-32], KC1[]1049; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T7.X, 01050; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.XYZW, T6.X, 01051; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.X, T5.X, 01052; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T3.X, 11053; EG-NEXT:    CF_END1054; EG-NEXT:    Fetch clause starting at 8:1055; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 16, #11056; EG-NEXT:     VTX_READ_128 T2.XYZW, T0.X, 0, #11057; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 32, #11058; EG-NEXT:    ALU clause starting at 14:1059; EG-NEXT:     MOV * T0.X, KC0[2].Z,1060; EG-NEXT:    ALU clause starting at 15:1061; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,1062; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)1063; EG-NEXT:     LSHR T3.X, PV.W, literal.x,1064; EG-NEXT:     MOV * T4.X, T0.Z,1065; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1066; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,1067; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)1068; EG-NEXT:     LSHR T5.X, PV.W, literal.x,1069; EG-NEXT:     LSHR * T6.X, KC0[2].Y, literal.x,1070; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1071; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,1072; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1073; EG-NEXT:     LSHR * T7.X, PV.W, literal.x,1074; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1075;1076; GFX9-HSA-LABEL: constant_load_v11i32:1077; GFX9-HSA:       ; %bb.0: ; %entry1078; GFX9-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x01079; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 01080; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1081; GFX9-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x01082; GFX9-HSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x201083; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1084; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s41085; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s51086; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s61087; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s71088; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s01089; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s11090; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s21091; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[8:9] offset:161092; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s31093; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s121094; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s131095; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s141096; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[8:9]1097; GFX9-HSA-NEXT:    global_store_dwordx3 v8, v[0:2], s[8:9] offset:321098; GFX9-HSA-NEXT:    s_endpgm1099;1100; GFX12-LABEL: constant_load_v11i32:1101; GFX12:       ; %bb.0: ; %entry1102; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x241103; GFX12-NEXT:    s_wait_kmcnt 0x01104; GFX12-NEXT:    s_clause 0x11105; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x01106; GFX12-NEXT:    s_load_b96 s[12:14], s[10:11], 0x201107; GFX12-NEXT:    s_wait_kmcnt 0x01108; GFX12-NEXT:    v_dual_mov_b32 v11, 0 :: v_dual_mov_b32 v0, s41109; GFX12-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s61110; GFX12-NEXT:    v_dual_mov_b32 v3, s7 :: v_dual_mov_b32 v4, s01111; GFX12-NEXT:    v_dual_mov_b32 v5, s1 :: v_dual_mov_b32 v6, s21112; GFX12-NEXT:    v_dual_mov_b32 v7, s3 :: v_dual_mov_b32 v8, s121113; GFX12-NEXT:    v_dual_mov_b32 v9, s13 :: v_dual_mov_b32 v10, s141114; GFX12-NEXT:    s_clause 0x21115; GFX12-NEXT:    global_store_b128 v11, v[0:3], s[8:9] offset:161116; GFX12-NEXT:    global_store_b128 v11, v[4:7], s[8:9]1117; GFX12-NEXT:    global_store_b96 v11, v[8:10], s[8:9] offset:321118; GFX12-NEXT:    s_endpgm1119;1120; GFX1250-LABEL: constant_load_v11i32:1121; GFX1250:       ; %bb.0: ; %entry1122; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11123; GFX1250-NEXT:    s_load_b128 s[8:11], s[4:5], 0x241124; GFX1250-NEXT:    s_wait_kmcnt 0x01125; GFX1250-NEXT:    s_clause 0x11126; GFX1250-NEXT:    s_load_b256 s[0:7], s[10:11], 0x01127; GFX1250-NEXT:    s_load_b96 s[12:14], s[10:11], 0x201128; GFX1250-NEXT:    s_wait_kmcnt 0x01129; GFX1250-NEXT:    v_dual_mov_b32 v11, 0 :: v_dual_mov_b32 v0, s41130; GFX1250-NEXT:    v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s61131; GFX1250-NEXT:    v_dual_mov_b32 v3, s7 :: v_dual_mov_b32 v4, s01132; GFX1250-NEXT:    v_dual_mov_b32 v5, s1 :: v_dual_mov_b32 v6, s21133; GFX1250-NEXT:    v_dual_mov_b32 v7, s3 :: v_dual_mov_b32 v8, s121134; GFX1250-NEXT:    v_dual_mov_b32 v9, s13 :: v_dual_mov_b32 v10, s141135; GFX1250-NEXT:    s_clause 0x21136; GFX1250-NEXT:    global_store_b128 v11, v[0:3], s[8:9] offset:161137; GFX1250-NEXT:    global_store_b128 v11, v[4:7], s[8:9]1138; GFX1250-NEXT:    global_store_b96 v11, v[8:10], s[8:9] offset:321139; GFX1250-NEXT:    s_endpgm1140entry:1141  %ld = load <11 x i32>, ptr addrspace(4) %in1142  store <11 x i32> %ld, ptr addrspace(1) %out1143  ret void1144}1145 1146define amdgpu_kernel void @constant_load_v12i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1147; GFX6-NOHSA-LABEL: constant_load_v12i32:1148; GFX6-NOHSA:       ; %bb.0: ; %entry1149; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x91150; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1151; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x81152; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x01153; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf0001154; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -11155; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1156; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s121157; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s131158; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s141159; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s151160; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:321161; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1162; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41163; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51164; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s61165; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s71166; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:161167; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1168; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s01169; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s11170; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s21171; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s31172; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 01173; GFX6-NOHSA-NEXT:    s_endpgm1174;1175; GFX7-HSA-LABEL: constant_load_v12i32:1176; GFX7-HSA:       ; %bb.0: ; %entry1177; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x01178; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171179; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131180; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81181; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1182; GFX7-HSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x81183; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x01184; GFX7-HSA-NEXT:    s_add_u32 s10, s8, 321185; GFX7-HSA-NEXT:    s_addc_u32 s11, s9, 01186; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s101187; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1188; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s121189; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s111190; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s131191; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s141192; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s151193; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s41194; GFX7-HSA-NEXT:    s_add_u32 s4, s8, 161195; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s51196; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]1197; GFX7-HSA-NEXT:    s_addc_u32 s5, s9, 01198; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s41199; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s61200; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s71201; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s51202; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]1203; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01204; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s81205; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11206; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21207; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s31208; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s91209; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1210; GFX7-HSA-NEXT:    s_endpgm1211;1212; GFX8-NOHSA-LABEL: constant_load_v12i32:1213; GFX8-NOHSA:       ; %bb.0: ; %entry1214; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x241215; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1216; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x201217; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x01218; GFX8-NOHSA-NEXT:    s_add_u32 s10, s8, 321219; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s9, 01220; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v8, s101221; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1222; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s121223; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v9, s111224; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s131225; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s141226; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s151227; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s41228; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 161229; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s51230; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]1231; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 01232; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s41233; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s61234; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s71235; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s51236; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]1237; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01238; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s81239; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11240; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21241; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s31242; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s91243; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1244; GFX8-NOHSA-NEXT:    s_endpgm1245;1246; EG-LABEL: constant_load_v12i32:1247; EG:       ; %bb.0: ; %entry1248; EG-NEXT:    ALU 7, @14, KC0[CB0:0-32], KC1[]1249; EG-NEXT:    TEX 2 @81250; EG-NEXT:    ALU 1, @22, KC0[], KC1[]1251; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T3.XYZW, T5.X, 01252; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T1.X, 01253; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.XYZW, T0.X, 11254; EG-NEXT:    CF_END1255; EG-NEXT:    PAD1256; EG-NEXT:    Fetch clause starting at 8:1257; EG-NEXT:     VTX_READ_128 T3.XYZW, T2.X, 32, #11258; EG-NEXT:     VTX_READ_128 T4.XYZW, T2.X, 16, #11259; EG-NEXT:     VTX_READ_128 T2.XYZW, T2.X, 0, #11260; EG-NEXT:    ALU clause starting at 14:1261; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,1262; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,1263; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)1264; EG-NEXT:     LSHR T1.X, PV.W, literal.x,1265; EG-NEXT:     MOV * T2.X, KC0[2].Z,1266; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1267; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,1268; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)1269; EG-NEXT:    ALU clause starting at 22:1270; EG-NEXT:     LSHR * T5.X, T0.W, literal.x,1271; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1272;1273; GFX9-HSA-LABEL: constant_load_v12i32:1274; GFX9-HSA:       ; %bb.0: ; %entry1275; GFX9-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x01276; GFX9-HSA-NEXT:    v_mov_b32_e32 v12, 01277; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1278; GFX9-HSA-NEXT:    s_load_dwordx4 s[12:15], s[10:11], 0x201279; GFX9-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x01280; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1281; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s121282; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s131283; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s141284; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s151285; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, s01286; GFX9-HSA-NEXT:    v_mov_b32_e32 v9, s11287; GFX9-HSA-NEXT:    v_mov_b32_e32 v10, s21288; GFX9-HSA-NEXT:    v_mov_b32_e32 v11, s31289; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s41290; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s51291; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s61292; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s71293; GFX9-HSA-NEXT:    global_store_dwordx4 v12, v[0:3], s[8:9] offset:321294; GFX9-HSA-NEXT:    global_store_dwordx4 v12, v[4:7], s[8:9] offset:161295; GFX9-HSA-NEXT:    global_store_dwordx4 v12, v[8:11], s[8:9]1296; GFX9-HSA-NEXT:    s_endpgm1297;1298; GFX12-LABEL: constant_load_v12i32:1299; GFX12:       ; %bb.0: ; %entry1300; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x241301; GFX12-NEXT:    s_wait_kmcnt 0x01302; GFX12-NEXT:    s_clause 0x11303; GFX12-NEXT:    s_load_b128 s[12:15], s[10:11], 0x201304; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x01305; GFX12-NEXT:    v_mov_b32_e32 v12, 01306; GFX12-NEXT:    s_wait_kmcnt 0x01307; GFX12-NEXT:    v_dual_mov_b32 v0, s12 :: v_dual_mov_b32 v3, s151308; GFX12-NEXT:    v_dual_mov_b32 v1, s13 :: v_dual_mov_b32 v2, s141309; GFX12-NEXT:    v_dual_mov_b32 v5, s5 :: v_dual_mov_b32 v4, s41310; GFX12-NEXT:    v_dual_mov_b32 v7, s7 :: v_dual_mov_b32 v6, s61311; GFX12-NEXT:    v_dual_mov_b32 v9, s1 :: v_dual_mov_b32 v8, s01312; GFX12-NEXT:    v_dual_mov_b32 v11, s3 :: v_dual_mov_b32 v10, s21313; GFX12-NEXT:    s_clause 0x21314; GFX12-NEXT:    global_store_b128 v12, v[0:3], s[8:9] offset:321315; GFX12-NEXT:    global_store_b128 v12, v[4:7], s[8:9] offset:161316; GFX12-NEXT:    global_store_b128 v12, v[8:11], s[8:9]1317; GFX12-NEXT:    s_endpgm1318;1319; GFX1250-LABEL: constant_load_v12i32:1320; GFX1250:       ; %bb.0: ; %entry1321; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11322; GFX1250-NEXT:    s_load_b128 s[8:11], s[4:5], 0x241323; GFX1250-NEXT:    s_wait_kmcnt 0x01324; GFX1250-NEXT:    s_clause 0x11325; GFX1250-NEXT:    s_load_b128 s[12:15], s[10:11], 0x201326; GFX1250-NEXT:    s_load_b256 s[0:7], s[10:11], 0x01327; GFX1250-NEXT:    v_mov_b32_e32 v12, 01328; GFX1250-NEXT:    s_wait_kmcnt 0x01329; GFX1250-NEXT:    v_mov_b64_e32 v[0:1], s[12:13]1330; GFX1250-NEXT:    v_mov_b64_e32 v[2:3], s[14:15]1331; GFX1250-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v5, s51332; GFX1250-NEXT:    v_dual_mov_b32 v6, s6 :: v_dual_mov_b32 v7, s71333; GFX1250-NEXT:    v_dual_mov_b32 v8, s0 :: v_dual_mov_b32 v9, s11334; GFX1250-NEXT:    v_dual_mov_b32 v10, s2 :: v_dual_mov_b32 v11, s31335; GFX1250-NEXT:    s_clause 0x21336; GFX1250-NEXT:    global_store_b128 v12, v[0:3], s[8:9] offset:321337; GFX1250-NEXT:    global_store_b128 v12, v[4:7], s[8:9] offset:161338; GFX1250-NEXT:    global_store_b128 v12, v[8:11], s[8:9]1339; GFX1250-NEXT:    s_endpgm1340entry:1341  %ld = load <12 x i32>, ptr addrspace(4) %in1342  store <12 x i32> %ld, ptr addrspace(1) %out1343  ret void1344}1345 1346define amdgpu_kernel void @constant_load_v16i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1347; GFX6-NOHSA-LABEL: constant_load_v16i32:1348; GFX6-NOHSA:       ; %bb.0: ; %entry1349; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x91350; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1351; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x01352; GFX6-NOHSA-NEXT:    s_mov_b32 s19, 0xf0001353; GFX6-NOHSA-NEXT:    s_mov_b32 s18, -11354; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1355; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s121356; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s131357; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s141358; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s151359; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:481360; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1361; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s81362; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s91363; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s101364; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s111365; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:321366; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1367; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41368; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51369; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s61370; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s71371; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:161372; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)1373; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s01374; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s11375; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s21376; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s31377; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 01378; GFX6-NOHSA-NEXT:    s_endpgm1379;1380; GFX7-HSA-LABEL: constant_load_v16i32:1381; GFX7-HSA:       ; %bb.0: ; %entry1382; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171383; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x01384; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131385; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81386; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1387; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x01388; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 481389; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 01390; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s181391; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s191392; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1393; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s121394; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s131395; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s141396; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s151397; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s81398; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 321399; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s91400; GFX7-HSA-NEXT:    flat_store_dwordx4 v[6:7], v[0:3]1401; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 01402; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s81403; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s101404; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s111405; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s91406; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]1407; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s41408; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 161409; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s51410; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 01411; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s41412; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s61413; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s71414; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s51415; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1416; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s161417; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01418; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11419; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21420; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s31421; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s171422; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1423; GFX7-HSA-NEXT:    s_endpgm1424;1425; GFX8-NOHSA-LABEL: constant_load_v16i32:1426; GFX8-NOHSA:       ; %bb.0: ; %entry1427; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x241428; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1429; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x01430; GFX8-NOHSA-NEXT:    s_add_u32 s18, s16, 481431; GFX8-NOHSA-NEXT:    s_addc_u32 s19, s17, 01432; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s181433; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s191434; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1435; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s121436; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s131437; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s141438; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s151439; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s81440; GFX8-NOHSA-NEXT:    s_add_u32 s8, s16, 321441; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s91442; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[6:7], v[0:3]1443; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s17, 01444; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s81445; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s101446; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s111447; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s91448; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]1449; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s41450; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 161451; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s51452; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 01453; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s41454; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s61455; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s71456; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s51457; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1458; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s161459; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01460; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11461; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21462; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s31463; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s171464; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]1465; GFX8-NOHSA-NEXT:    s_endpgm1466;1467; EG-LABEL: constant_load_v16i32:1468; EG:       ; %bb.0: ; %entry1469; EG-NEXT:    ALU 10, @16, KC0[CB0:0-32], KC1[]1470; EG-NEXT:    TEX 3 @81471; EG-NEXT:    ALU 1, @27, KC0[], KC1[]1472; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T7.X, 01473; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T2.X, 01474; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T1.X, 01475; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T3.XYZW, T0.X, 11476; EG-NEXT:    CF_END1477; EG-NEXT:    Fetch clause starting at 8:1478; EG-NEXT:     VTX_READ_128 T4.XYZW, T3.X, 48, #11479; EG-NEXT:     VTX_READ_128 T5.XYZW, T3.X, 32, #11480; EG-NEXT:     VTX_READ_128 T6.XYZW, T3.X, 16, #11481; EG-NEXT:     VTX_READ_128 T3.XYZW, T3.X, 0, #11482; EG-NEXT:    ALU clause starting at 16:1483; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,1484; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,1485; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)1486; EG-NEXT:     LSHR T1.X, PV.W, literal.x,1487; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,1488; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)1489; EG-NEXT:     LSHR T2.X, PV.W, literal.x,1490; EG-NEXT:     MOV * T3.X, KC0[2].Z,1491; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1492; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,1493; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)1494; EG-NEXT:    ALU clause starting at 27:1495; EG-NEXT:     LSHR * T7.X, T0.W, literal.x,1496; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1497;1498; GFX9-HSA-LABEL: constant_load_v16i32:1499; GFX9-HSA:       ; %bb.0: ; %entry1500; GFX9-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x01501; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 01502; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1503; GFX9-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x01504; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1505; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s121506; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s131507; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s141508; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s151509; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s81510; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s91511; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s101512; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s111513; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[16:17] offset:481514; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[16:17] offset:321515; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s41516; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s51517; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s61518; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s71519; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[16:17] offset:161520; GFX9-HSA-NEXT:    s_nop 01521; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s01522; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s11523; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s21524; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s31525; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[16:17]1526; GFX9-HSA-NEXT:    s_endpgm1527;1528; GFX12-LABEL: constant_load_v16i32:1529; GFX12:       ; %bb.0: ; %entry1530; GFX12-NEXT:    s_load_b128 s[16:19], s[4:5], 0x241531; GFX12-NEXT:    s_wait_kmcnt 0x01532; GFX12-NEXT:    s_load_b512 s[0:15], s[18:19], 0x01533; GFX12-NEXT:    s_wait_kmcnt 0x01534; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v1, s131535; GFX12-NEXT:    v_dual_mov_b32 v0, s12 :: v_dual_mov_b32 v3, s151536; GFX12-NEXT:    v_dual_mov_b32 v2, s14 :: v_dual_mov_b32 v5, s91537; GFX12-NEXT:    v_dual_mov_b32 v4, s8 :: v_dual_mov_b32 v7, s111538; GFX12-NEXT:    v_dual_mov_b32 v6, s10 :: v_dual_mov_b32 v9, s51539; GFX12-NEXT:    v_dual_mov_b32 v8, s4 :: v_dual_mov_b32 v11, s71540; GFX12-NEXT:    v_dual_mov_b32 v10, s6 :: v_dual_mov_b32 v13, s11541; GFX12-NEXT:    v_dual_mov_b32 v12, s0 :: v_dual_mov_b32 v15, s31542; GFX12-NEXT:    v_mov_b32_e32 v14, s21543; GFX12-NEXT:    s_clause 0x31544; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[16:17] offset:481545; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[16:17] offset:321546; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[16:17] offset:161547; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[16:17]1548; GFX12-NEXT:    s_endpgm1549;1550; GFX1250-LABEL: constant_load_v16i32:1551; GFX1250:       ; %bb.0: ; %entry1552; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11553; GFX1250-NEXT:    s_load_b128 s[16:19], s[4:5], 0x241554; GFX1250-NEXT:    s_wait_kmcnt 0x01555; GFX1250-NEXT:    s_load_b512 s[0:15], s[18:19], 0x01556; GFX1250-NEXT:    s_wait_kmcnt 0x01557; GFX1250-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v0, s121558; GFX1250-NEXT:    v_dual_mov_b32 v1, s13 :: v_dual_mov_b32 v2, s141559; GFX1250-NEXT:    v_dual_mov_b32 v3, s15 :: v_dual_mov_b32 v4, s81560; GFX1250-NEXT:    v_dual_mov_b32 v5, s9 :: v_dual_mov_b32 v6, s101561; GFX1250-NEXT:    v_dual_mov_b32 v7, s11 :: v_dual_mov_b32 v8, s41562; GFX1250-NEXT:    v_dual_mov_b32 v9, s5 :: v_dual_mov_b32 v10, s61563; GFX1250-NEXT:    v_dual_mov_b32 v11, s7 :: v_dual_mov_b32 v12, s01564; GFX1250-NEXT:    v_dual_mov_b32 v13, s1 :: v_dual_mov_b32 v14, s21565; GFX1250-NEXT:    v_mov_b32_e32 v15, s31566; GFX1250-NEXT:    s_clause 0x31567; GFX1250-NEXT:    global_store_b128 v16, v[0:3], s[16:17] offset:481568; GFX1250-NEXT:    global_store_b128 v16, v[4:7], s[16:17] offset:321569; GFX1250-NEXT:    global_store_b128 v16, v[8:11], s[16:17] offset:161570; GFX1250-NEXT:    global_store_b128 v16, v[12:15], s[16:17]1571; GFX1250-NEXT:    s_endpgm1572entry:1573  %ld = load <16 x i32>, ptr addrspace(4) %in1574  store <16 x i32> %ld, ptr addrspace(1) %out1575  ret void1576}1577 1578define amdgpu_kernel void @constant_zextload_i32_to_i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1579; GFX6-NOHSA-LABEL: constant_zextload_i32_to_i64:1580; GFX6-NOHSA:       ; %bb.0:1581; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91582; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1583; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x01584; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001585; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11586; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 01587; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1588; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41589; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 01590; GFX6-NOHSA-NEXT:    s_endpgm1591;1592; GFX7-HSA-LABEL: constant_zextload_i32_to_i64:1593; GFX7-HSA:       ; %bb.0:1594; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01595; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171596; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131597; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81598; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, 01599; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1600; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01601; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01602; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11603; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1604; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21605; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1606; GFX7-HSA-NEXT:    s_endpgm1607;1608; GFX8-NOHSA-LABEL: constant_zextload_i32_to_i64:1609; GFX8-NOHSA:       ; %bb.0:1610; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241611; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, 01612; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1613; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01614; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01615; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11616; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1617; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21618; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1619; GFX8-NOHSA-NEXT:    s_endpgm1620;1621; EG-LABEL: constant_zextload_i32_to_i64:1622; EG:       ; %bb.0:1623; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1624; EG-NEXT:    TEX 0 @61625; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]1626; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 11627; EG-NEXT:    CF_END1628; EG-NEXT:    PAD1629; EG-NEXT:    Fetch clause starting at 6:1630; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 0, #11631; EG-NEXT:    ALU clause starting at 8:1632; EG-NEXT:     MOV * T0.X, KC0[2].Z,1633; EG-NEXT:    ALU clause starting at 9:1634; EG-NEXT:     MOV * T0.Y, 0.0,1635; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,1636; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1637;1638; GFX9-HSA-LABEL: constant_zextload_i32_to_i64:1639; GFX9-HSA:       ; %bb.0:1640; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01641; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 01642; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1643; GFX9-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01644; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1645; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s21646; GFX9-HSA-NEXT:    global_store_dwordx2 v1, v[0:1], s[0:1]1647; GFX9-HSA-NEXT:    s_endpgm1648;1649; GFX12-LABEL: constant_zextload_i32_to_i64:1650; GFX12:       ; %bb.0:1651; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241652; GFX12-NEXT:    s_wait_kmcnt 0x01653; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01654; GFX12-NEXT:    s_wait_kmcnt 0x01655; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s21656; GFX12-NEXT:    global_store_b64 v1, v[0:1], s[0:1]1657; GFX12-NEXT:    s_endpgm1658;1659; GFX1250-LABEL: constant_zextload_i32_to_i64:1660; GFX1250:       ; %bb.0:1661; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11662; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241663; GFX1250-NEXT:    s_wait_kmcnt 0x01664; GFX1250-NEXT:    s_load_b32 s2, s[2:3], 0x01665; GFX1250-NEXT:    s_wait_kmcnt 0x01666; GFX1250-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s21667; GFX1250-NEXT:    global_store_b64 v1, v[0:1], s[0:1]1668; GFX1250-NEXT:    s_endpgm1669  %ld = load i32, ptr addrspace(4) %in1670  %ext = zext i32 %ld to i641671  store i64 %ext, ptr addrspace(1) %out1672  ret void1673}1674 1675define amdgpu_kernel void @constant_sextload_i32_to_i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1676; GFX6-NOHSA-LABEL: constant_sextload_i32_to_i64:1677; GFX6-NOHSA:       ; %bb.0:1678; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91679; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1680; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x01681; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001682; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1683; GFX6-NOHSA-NEXT:    s_ashr_i32 s5, s4, 311684; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11685; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41686; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51687; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 01688; GFX6-NOHSA-NEXT:    s_endpgm1689;1690; GFX7-HSA-LABEL: constant_sextload_i32_to_i64:1691; GFX7-HSA:       ; %bb.0:1692; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01693; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171694; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131695; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81696; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1697; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01698; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01699; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11700; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1701; GFX7-HSA-NEXT:    s_ashr_i32 s0, s2, 311702; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21703; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01704; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1705; GFX7-HSA-NEXT:    s_endpgm1706;1707; GFX8-NOHSA-LABEL: constant_sextload_i32_to_i64:1708; GFX8-NOHSA:       ; %bb.0:1709; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241710; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1711; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01712; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01713; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11714; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1715; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s2, 311716; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21717; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01718; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1719; GFX8-NOHSA-NEXT:    s_endpgm1720;1721; EG-LABEL: constant_sextload_i32_to_i64:1722; EG:       ; %bb.0:1723; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1724; EG-NEXT:    TEX 0 @61725; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]1726; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 11727; EG-NEXT:    CF_END1728; EG-NEXT:    PAD1729; EG-NEXT:    Fetch clause starting at 6:1730; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 0, #11731; EG-NEXT:    ALU clause starting at 8:1732; EG-NEXT:     MOV * T0.X, KC0[2].Z,1733; EG-NEXT:    ALU clause starting at 9:1734; EG-NEXT:     LSHR T1.X, KC0[2].Y, literal.x,1735; EG-NEXT:     ASHR * T0.Y, T0.X, literal.y,1736; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)1737;1738; GFX9-HSA-LABEL: constant_sextload_i32_to_i64:1739; GFX9-HSA:       ; %bb.0:1740; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01741; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, 01742; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1743; GFX9-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01744; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1745; GFX9-HSA-NEXT:    s_ashr_i32 s3, s2, 311746; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s21747; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s31748; GFX9-HSA-NEXT:    global_store_dwordx2 v2, v[0:1], s[0:1]1749; GFX9-HSA-NEXT:    s_endpgm1750;1751; GFX12-LABEL: constant_sextload_i32_to_i64:1752; GFX12:       ; %bb.0:1753; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241754; GFX12-NEXT:    s_wait_kmcnt 0x01755; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01756; GFX12-NEXT:    s_wait_kmcnt 0x01757; GFX12-NEXT:    s_ashr_i32 s3, s2, 311758; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)1759; GFX12-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s31760; GFX12-NEXT:    v_mov_b32_e32 v0, s21761; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]1762; GFX12-NEXT:    s_endpgm1763;1764; GFX1250-LABEL: constant_sextload_i32_to_i64:1765; GFX1250:       ; %bb.0:1766; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11767; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241768; GFX1250-NEXT:    s_wait_kmcnt 0x01769; GFX1250-NEXT:    s_load_b32 s2, s[2:3], 0x01770; GFX1250-NEXT:    s_wait_kmcnt 0x01771; GFX1250-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v0, s21772; GFX1250-NEXT:    s_ashr_i32 s3, s2, 311773; GFX1250-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)1774; GFX1250-NEXT:    v_mov_b32_e32 v1, s31775; GFX1250-NEXT:    global_store_b64 v2, v[0:1], s[0:1]1776; GFX1250-NEXT:    s_endpgm1777  %ld = load i32, ptr addrspace(4) %in1778  %ext = sext i32 %ld to i641779  store i64 %ext, ptr addrspace(1) %out1780  ret void1781}1782 1783define amdgpu_kernel void @constant_zextload_v1i32_to_v1i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1784; GFX6-NOHSA-LABEL: constant_zextload_v1i32_to_v1i64:1785; GFX6-NOHSA:       ; %bb.0:1786; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91787; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1788; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x01789; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001790; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11791; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 01792; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1793; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41794; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 01795; GFX6-NOHSA-NEXT:    s_endpgm1796;1797; GFX7-HSA-LABEL: constant_zextload_v1i32_to_v1i64:1798; GFX7-HSA:       ; %bb.0:1799; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01800; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171801; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131802; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81803; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, 01804; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1805; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01806; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01807; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11808; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1809; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21810; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1811; GFX7-HSA-NEXT:    s_endpgm1812;1813; GFX8-NOHSA-LABEL: constant_zextload_v1i32_to_v1i64:1814; GFX8-NOHSA:       ; %bb.0:1815; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241816; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, 01817; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1818; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01819; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01820; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11821; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1822; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21823; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1824; GFX8-NOHSA-NEXT:    s_endpgm1825;1826; EG-LABEL: constant_zextload_v1i32_to_v1i64:1827; EG:       ; %bb.0:1828; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1829; EG-NEXT:    TEX 0 @61830; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]1831; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 11832; EG-NEXT:    CF_END1833; EG-NEXT:    PAD1834; EG-NEXT:    Fetch clause starting at 6:1835; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 0, #11836; EG-NEXT:    ALU clause starting at 8:1837; EG-NEXT:     MOV * T0.X, KC0[2].Z,1838; EG-NEXT:    ALU clause starting at 9:1839; EG-NEXT:     MOV * T0.Y, 0.0,1840; EG-NEXT:     LSHR * T1.X, KC0[2].Y, literal.x,1841; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)1842;1843; GFX9-HSA-LABEL: constant_zextload_v1i32_to_v1i64:1844; GFX9-HSA:       ; %bb.0:1845; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01846; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 01847; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1848; GFX9-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01849; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1850; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s21851; GFX9-HSA-NEXT:    global_store_dwordx2 v1, v[0:1], s[0:1]1852; GFX9-HSA-NEXT:    s_endpgm1853;1854; GFX12-LABEL: constant_zextload_v1i32_to_v1i64:1855; GFX12:       ; %bb.0:1856; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241857; GFX12-NEXT:    s_wait_kmcnt 0x01858; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01859; GFX12-NEXT:    s_wait_kmcnt 0x01860; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s21861; GFX12-NEXT:    global_store_b64 v1, v[0:1], s[0:1]1862; GFX12-NEXT:    s_endpgm1863;1864; GFX1250-LABEL: constant_zextload_v1i32_to_v1i64:1865; GFX1250:       ; %bb.0:1866; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11867; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241868; GFX1250-NEXT:    s_wait_kmcnt 0x01869; GFX1250-NEXT:    s_load_b32 s2, s[2:3], 0x01870; GFX1250-NEXT:    s_wait_kmcnt 0x01871; GFX1250-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s21872; GFX1250-NEXT:    global_store_b64 v1, v[0:1], s[0:1]1873; GFX1250-NEXT:    s_endpgm1874  %ld = load <1 x i32>, ptr addrspace(4) %in1875  %ext = zext <1 x i32> %ld to <1 x i64>1876  store <1 x i64> %ext, ptr addrspace(1) %out1877  ret void1878}1879 1880define amdgpu_kernel void @constant_sextload_v1i32_to_v1i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1881; GFX6-NOHSA-LABEL: constant_sextload_v1i32_to_v1i64:1882; GFX6-NOHSA:       ; %bb.0:1883; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91884; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1885; GFX6-NOHSA-NEXT:    s_load_dword s4, s[2:3], 0x01886; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001887; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1888; GFX6-NOHSA-NEXT:    s_ashr_i32 s5, s4, 311889; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11890; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s41891; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s51892; GFX6-NOHSA-NEXT:    buffer_store_dwordx2 v[0:1], off, s[0:3], 01893; GFX6-NOHSA-NEXT:    s_endpgm1894;1895; GFX7-HSA-LABEL: constant_sextload_v1i32_to_v1i64:1896; GFX7-HSA:       ; %bb.0:1897; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01898; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s171899; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s131900; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 81901; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1902; GFX7-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01903; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s01904; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s11905; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)1906; GFX7-HSA-NEXT:    s_ashr_i32 s0, s2, 311907; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s21908; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s01909; GFX7-HSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1910; GFX7-HSA-NEXT:    s_endpgm1911;1912; GFX8-NOHSA-LABEL: constant_sextload_v1i32_to_v1i64:1913; GFX8-NOHSA:       ; %bb.0:1914; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x241915; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1916; GFX8-NOHSA-NEXT:    s_load_dword s2, s[2:3], 0x01917; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s01918; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s11919; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1920; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s2, 311921; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s21922; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s01923; GFX8-NOHSA-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]1924; GFX8-NOHSA-NEXT:    s_endpgm1925;1926; EG-LABEL: constant_sextload_v1i32_to_v1i64:1927; EG:       ; %bb.0:1928; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]1929; EG-NEXT:    TEX 0 @61930; EG-NEXT:    ALU 2, @9, KC0[CB0:0-32], KC1[]1931; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XY, T1.X, 11932; EG-NEXT:    CF_END1933; EG-NEXT:    PAD1934; EG-NEXT:    Fetch clause starting at 6:1935; EG-NEXT:     VTX_READ_32 T0.X, T0.X, 0, #11936; EG-NEXT:    ALU clause starting at 8:1937; EG-NEXT:     MOV * T0.X, KC0[2].Z,1938; EG-NEXT:    ALU clause starting at 9:1939; EG-NEXT:     LSHR T1.X, KC0[2].Y, literal.x,1940; EG-NEXT:     ASHR * T0.Y, T0.X, literal.y,1941; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)1942;1943; GFX9-HSA-LABEL: constant_sextload_v1i32_to_v1i64:1944; GFX9-HSA:       ; %bb.0:1945; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x01946; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, 01947; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1948; GFX9-HSA-NEXT:    s_load_dword s2, s[2:3], 0x01949; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)1950; GFX9-HSA-NEXT:    s_ashr_i32 s3, s2, 311951; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s21952; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s31953; GFX9-HSA-NEXT:    global_store_dwordx2 v2, v[0:1], s[0:1]1954; GFX9-HSA-NEXT:    s_endpgm1955;1956; GFX12-LABEL: constant_sextload_v1i32_to_v1i64:1957; GFX12:       ; %bb.0:1958; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241959; GFX12-NEXT:    s_wait_kmcnt 0x01960; GFX12-NEXT:    s_load_b32 s2, s[2:3], 0x01961; GFX12-NEXT:    s_wait_kmcnt 0x01962; GFX12-NEXT:    s_ashr_i32 s3, s2, 311963; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)1964; GFX12-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s31965; GFX12-NEXT:    v_mov_b32_e32 v0, s21966; GFX12-NEXT:    global_store_b64 v2, v[0:1], s[0:1]1967; GFX12-NEXT:    s_endpgm1968;1969; GFX1250-LABEL: constant_sextload_v1i32_to_v1i64:1970; GFX1250:       ; %bb.0:1971; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 11972; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x241973; GFX1250-NEXT:    s_wait_kmcnt 0x01974; GFX1250-NEXT:    s_load_b32 s2, s[2:3], 0x01975; GFX1250-NEXT:    s_wait_kmcnt 0x01976; GFX1250-NEXT:    v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v0, s21977; GFX1250-NEXT:    s_ashr_i32 s3, s2, 311978; GFX1250-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)1979; GFX1250-NEXT:    v_mov_b32_e32 v1, s31980; GFX1250-NEXT:    global_store_b64 v2, v[0:1], s[0:1]1981; GFX1250-NEXT:    s_endpgm1982  %ld = load <1 x i32>, ptr addrspace(4) %in1983  %ext = sext <1 x i32> %ld to <1 x i64>1984  store <1 x i64> %ext, ptr addrspace(1) %out1985  ret void1986}1987 1988define amdgpu_kernel void @constant_zextload_v2i32_to_v2i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {1989; GFX6-NOHSA-LABEL: constant_zextload_v2i32_to_v2i64:1990; GFX6-NOHSA:       ; %bb.0:1991; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x91992; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1993; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x01994; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0001995; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 01996; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -11997; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v11998; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)1999; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s42000; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s52001; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 02002; GFX6-NOHSA-NEXT:    s_endpgm2003;2004; GFX7-HSA-LABEL: constant_zextload_v2i32_to_v2i64:2005; GFX7-HSA:       ; %bb.0:2006; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02007; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172008; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 02009; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132010; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82011; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2012; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x02013; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s02014; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s12015; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v12016; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2017; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s22018; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s32019; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2020; GFX7-HSA-NEXT:    s_endpgm2021;2022; GFX8-NOHSA-LABEL: constant_zextload_v2i32_to_v2i64:2023; GFX8-NOHSA:       ; %bb.0:2024; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x242025; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 02026; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v12027; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2028; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x02029; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s02030; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s12031; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2032; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s22033; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s32034; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2035; GFX8-NOHSA-NEXT:    s_endpgm2036;2037; EG-LABEL: constant_zextload_v2i32_to_v2i64:2038; EG:       ; %bb.0:2039; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]2040; EG-NEXT:    TEX 0 @62041; EG-NEXT:    ALU 5, @9, KC0[CB0:0-32], KC1[]2042; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T0.X, 12043; EG-NEXT:    CF_END2044; EG-NEXT:    PAD2045; EG-NEXT:    Fetch clause starting at 6:2046; EG-NEXT:     VTX_READ_64 T0.XY, T0.X, 0, #12047; EG-NEXT:    ALU clause starting at 8:2048; EG-NEXT:     MOV * T0.X, KC0[2].Z,2049; EG-NEXT:    ALU clause starting at 9:2050; EG-NEXT:     MOV T1.X, T0.X,2051; EG-NEXT:     MOV T1.Y, 0.0,2052; EG-NEXT:     MOV T1.Z, T0.Y,2053; EG-NEXT:     MOV T1.W, 0.0,2054; EG-NEXT:     LSHR * T0.X, KC0[2].Y, literal.x,2055; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2056;2057; GFX9-HSA-LABEL: constant_zextload_v2i32_to_v2i64:2058; GFX9-HSA:       ; %bb.0:2059; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02060; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 02061; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, v12062; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2063; GFX9-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x02064; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2065; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s22066; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s32067; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[0:1]2068; GFX9-HSA-NEXT:    s_endpgm2069;2070; GFX12-LABEL: constant_zextload_v2i32_to_v2i64:2071; GFX12:       ; %bb.0:2072; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242073; GFX12-NEXT:    s_wait_kmcnt 0x02074; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x02075; GFX12-NEXT:    s_wait_kmcnt 0x02076; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s22077; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)2078; GFX12-NEXT:    v_dual_mov_b32 v2, s3 :: v_dual_mov_b32 v3, v12079; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1]2080; GFX12-NEXT:    s_endpgm2081;2082; GFX1250-LABEL: constant_zextload_v2i32_to_v2i64:2083; GFX1250:       ; %bb.0:2084; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 12085; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242086; GFX1250-NEXT:    s_wait_kmcnt 0x02087; GFX1250-NEXT:    s_load_b64 s[2:3], s[2:3], 0x02088; GFX1250-NEXT:    s_wait_kmcnt 0x02089; GFX1250-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s22090; GFX1250-NEXT:    s_delay_alu instid0(VALU_DEP_1)2091; GFX1250-NEXT:    v_dual_mov_b32 v2, s3 :: v_dual_mov_b32 v3, v12092; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[0:1]2093; GFX1250-NEXT:    s_endpgm2094  %ld = load <2 x i32>, ptr addrspace(4) %in2095  %ext = zext <2 x i32> %ld to <2 x i64>2096  store <2 x i64> %ext, ptr addrspace(1) %out2097  ret void2098}2099 2100define amdgpu_kernel void @constant_sextload_v2i32_to_v2i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2101; GFX6-NOHSA-LABEL: constant_sextload_v2i32_to_v2i64:2102; GFX6-NOHSA:       ; %bb.0:2103; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x92104; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2105; GFX6-NOHSA-NEXT:    s_load_dwordx2 s[4:5], s[2:3], 0x02106; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0002107; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2108; GFX6-NOHSA-NEXT:    s_ashr_i32 s6, s5, 312109; GFX6-NOHSA-NEXT:    s_ashr_i32 s7, s4, 312110; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -12111; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s42112; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s52113; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s72114; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s62115; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 02116; GFX6-NOHSA-NEXT:    s_endpgm2117;2118; GFX7-HSA-LABEL: constant_sextload_v2i32_to_v2i64:2119; GFX7-HSA:       ; %bb.0:2120; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02121; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172122; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132123; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82124; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2125; GFX7-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x02126; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s02127; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s12128; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2129; GFX7-HSA-NEXT:    s_ashr_i32 s0, s3, 312130; GFX7-HSA-NEXT:    s_ashr_i32 s1, s2, 312131; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s22132; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s32133; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s12134; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s02135; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2136; GFX7-HSA-NEXT:    s_endpgm2137;2138; GFX8-NOHSA-LABEL: constant_sextload_v2i32_to_v2i64:2139; GFX8-NOHSA:       ; %bb.0:2140; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x242141; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2142; GFX8-NOHSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x02143; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s02144; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s12145; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2146; GFX8-NOHSA-NEXT:    s_ashr_i32 s0, s3, 312147; GFX8-NOHSA-NEXT:    s_ashr_i32 s1, s2, 312148; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s22149; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s32150; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s12151; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s02152; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2153; GFX8-NOHSA-NEXT:    s_endpgm2154;2155; EG-LABEL: constant_sextload_v2i32_to_v2i64:2156; EG:       ; %bb.0:2157; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]2158; EG-NEXT:    TEX 0 @62159; EG-NEXT:    ALU 7, @9, KC0[CB0:0-32], KC1[]2160; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T0.X, 12161; EG-NEXT:    CF_END2162; EG-NEXT:    PAD2163; EG-NEXT:    Fetch clause starting at 6:2164; EG-NEXT:     VTX_READ_64 T0.XY, T0.X, 0, #12165; EG-NEXT:    ALU clause starting at 8:2166; EG-NEXT:     MOV * T0.X, KC0[2].Z,2167; EG-NEXT:    ALU clause starting at 9:2168; EG-NEXT:     ASHR * T1.W, T0.Y, literal.x,2169; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2170; EG-NEXT:     ASHR * T1.Y, T0.X, literal.x,2171; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2172; EG-NEXT:     MOV T1.X, T0.X,2173; EG-NEXT:     LSHR * T0.X, KC0[2].Y, literal.x,2174; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2175; EG-NEXT:     MOV * T1.Z, T0.Y,2176;2177; GFX9-HSA-LABEL: constant_sextload_v2i32_to_v2i64:2178; GFX9-HSA:       ; %bb.0:2179; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02180; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, 02181; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2182; GFX9-HSA-NEXT:    s_load_dwordx2 s[2:3], s[2:3], 0x02183; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2184; GFX9-HSA-NEXT:    s_ashr_i32 s4, s3, 312185; GFX9-HSA-NEXT:    s_ashr_i32 s5, s2, 312186; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s22187; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s32188; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s52189; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s42190; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1]2191; GFX9-HSA-NEXT:    s_endpgm2192;2193; GFX12-LABEL: constant_sextload_v2i32_to_v2i64:2194; GFX12:       ; %bb.0:2195; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242196; GFX12-NEXT:    s_wait_kmcnt 0x02197; GFX12-NEXT:    s_load_b64 s[2:3], s[2:3], 0x02198; GFX12-NEXT:    s_wait_kmcnt 0x02199; GFX12-NEXT:    s_ashr_i32 s4, s3, 312200; GFX12-NEXT:    s_ashr_i32 s5, s2, 312201; GFX12-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)2202; GFX12-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s52203; GFX12-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v3, s42204; GFX12-NEXT:    v_mov_b32_e32 v2, s32205; GFX12-NEXT:    global_store_b128 v4, v[0:3], s[0:1]2206; GFX12-NEXT:    s_endpgm2207;2208; GFX1250-LABEL: constant_sextload_v2i32_to_v2i64:2209; GFX1250:       ; %bb.0:2210; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 12211; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242212; GFX1250-NEXT:    s_wait_kmcnt 0x02213; GFX1250-NEXT:    s_load_b64 s[2:3], s[2:3], 0x02214; GFX1250-NEXT:    s_wait_kmcnt 0x02215; GFX1250-NEXT:    v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v0, s22216; GFX1250-NEXT:    s_ashr_i32 s4, s3, 312217; GFX1250-NEXT:    s_ashr_i32 s5, s2, 312218; GFX1250-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)2219; GFX1250-NEXT:    v_dual_mov_b32 v2, s3 :: v_dual_mov_b32 v1, s52220; GFX1250-NEXT:    v_mov_b32_e32 v3, s42221; GFX1250-NEXT:    global_store_b128 v4, v[0:3], s[0:1]2222; GFX1250-NEXT:    s_endpgm2223  %ld = load <2 x i32>, ptr addrspace(4) %in2224  %ext = sext <2 x i32> %ld to <2 x i64>2225  store <2 x i64> %ext, ptr addrspace(1) %out2226  ret void2227}2228 2229define amdgpu_kernel void @constant_zextload_v4i32_to_v4i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2230; GFX6-NOHSA-LABEL: constant_zextload_v4i32_to_v4i64:2231; GFX6-NOHSA:       ; %bb.0:2232; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x92233; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2234; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02235; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0002236; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 02237; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -12238; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v12239; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2240; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s62241; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s72242; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:162243; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2244; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s42245; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s52246; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 02247; GFX6-NOHSA-NEXT:    s_endpgm2248;2249; GFX7-HSA-LABEL: constant_zextload_v4i32_to_v4i64:2250; GFX7-HSA:       ; %bb.0:2251; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02252; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172253; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82254; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 02255; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132256; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2257; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02258; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 162259; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02260; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32261; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v12262; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22263; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2264; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s62265; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s72266; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2267; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s12268; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s42269; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s52270; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s02271; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2272; GFX7-HSA-NEXT:    s_endpgm2273;2274; GFX8-NOHSA-LABEL: constant_zextload_v4i32_to_v4i64:2275; GFX8-NOHSA:       ; %bb.0:2276; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x242277; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 02278; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v12279; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2280; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02281; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 162282; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02283; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32284; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22285; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2286; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s62287; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s72288; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2289; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s12290; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s42291; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s52292; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s02293; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2294; GFX8-NOHSA-NEXT:    s_endpgm2295;2296; EG-LABEL: constant_zextload_v4i32_to_v4i64:2297; EG:       ; %bb.0:2298; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]2299; EG-NEXT:    TEX 0 @62300; EG-NEXT:    ALU 12, @9, KC0[CB0:0-32], KC1[]2301; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T3.X, 02302; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.XYZW, T0.X, 12303; EG-NEXT:    CF_END2304; EG-NEXT:    Fetch clause starting at 6:2305; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #12306; EG-NEXT:    ALU clause starting at 8:2307; EG-NEXT:     MOV * T0.X, KC0[2].Z,2308; EG-NEXT:    ALU clause starting at 9:2309; EG-NEXT:     MOV T1.X, T0.Z,2310; EG-NEXT:     MOV T1.Y, 0.0,2311; EG-NEXT:     MOV * T2.X, T0.X,2312; EG-NEXT:     MOV T2.Y, 0.0,2313; EG-NEXT:     MOV T1.Z, T0.W,2314; EG-NEXT:     MOV T1.W, 0.0,2315; EG-NEXT:     MOV * T2.Z, T0.Y,2316; EG-NEXT:     MOV * T2.W, 0.0,2317; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,2318; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,2319; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2320; EG-NEXT:     LSHR * T3.X, PV.W, literal.x,2321; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2322;2323; GFX9-HSA-LABEL: constant_zextload_v4i32_to_v4i64:2324; GFX9-HSA:       ; %bb.0:2325; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02326; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 02327; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, v12328; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2329; GFX9-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02330; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2331; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s62332; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s72333; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[0:1] offset:162334; GFX9-HSA-NEXT:    s_nop 02335; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s42336; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s52337; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[0:1]2338; GFX9-HSA-NEXT:    s_endpgm2339;2340; GFX12-LABEL: constant_zextload_v4i32_to_v4i64:2341; GFX12:       ; %bb.0:2342; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242343; GFX12-NEXT:    s_wait_kmcnt 0x02344; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x02345; GFX12-NEXT:    s_wait_kmcnt 0x02346; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s62347; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)2348; GFX12-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_mov_b32 v2, s72349; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:162350; GFX12-NEXT:    v_mov_b32_e32 v0, s42351; GFX12-NEXT:    v_mov_b32_e32 v2, s52352; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[0:1]2353; GFX12-NEXT:    s_endpgm2354;2355; GFX1250-LABEL: constant_zextload_v4i32_to_v4i64:2356; GFX1250:       ; %bb.0:2357; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 12358; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242359; GFX1250-NEXT:    s_wait_kmcnt 0x02360; GFX1250-NEXT:    s_load_b128 s[4:7], s[2:3], 0x02361; GFX1250-NEXT:    s_wait_kmcnt 0x02362; GFX1250-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s62363; GFX1250-NEXT:    s_delay_alu instid0(VALU_DEP_1)2364; GFX1250-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_mov_b32 v2, s72365; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[0:1] offset:162366; GFX1250-NEXT:    s_wait_xcnt 0x02367; GFX1250-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v2, s52368; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[0:1]2369; GFX1250-NEXT:    s_endpgm2370  %ld = load <4 x i32>, ptr addrspace(4) %in2371  %ext = zext <4 x i32> %ld to <4 x i64>2372  store <4 x i64> %ext, ptr addrspace(1) %out2373  ret void2374}2375 2376define amdgpu_kernel void @constant_sextload_v4i32_to_v4i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2377; GFX6-NOHSA-LABEL: constant_sextload_v4i32_to_v4i64:2378; GFX6-NOHSA:       ; %bb.0:2379; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x92380; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2381; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02382; GFX6-NOHSA-NEXT:    s_mov_b32 s3, 0xf0002383; GFX6-NOHSA-NEXT:    s_mov_b32 s2, -12384; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2385; GFX6-NOHSA-NEXT:    s_ashr_i32 s8, s5, 312386; GFX6-NOHSA-NEXT:    s_ashr_i32 s9, s7, 312387; GFX6-NOHSA-NEXT:    s_ashr_i32 s10, s6, 312388; GFX6-NOHSA-NEXT:    s_ashr_i32 s11, s4, 312389; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s62390; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s72391; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s42392; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s52393; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s102394; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s92395; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:162396; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s112397; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s82398; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[0:3], 02399; GFX6-NOHSA-NEXT:    s_endpgm2400;2401; GFX7-HSA-LABEL: constant_sextload_v4i32_to_v4i64:2402; GFX7-HSA:       ; %bb.0:2403; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02404; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172405; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82406; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132407; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2408; GFX7-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02409; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2410; GFX7-HSA-NEXT:    s_ashr_i32 s8, s5, 312411; GFX7-HSA-NEXT:    s_ashr_i32 s9, s4, 312412; GFX7-HSA-NEXT:    s_ashr_i32 s2, s7, 312413; GFX7-HSA-NEXT:    s_ashr_i32 s3, s6, 312414; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s22415; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 162416; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s32417; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02418; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s32419; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s62420; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s72421; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s22422; GFX7-HSA-NEXT:    flat_store_dwordx4 v[5:6], v[0:3]2423; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s42424; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s02425; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s92426; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s52427; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s82428; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s12429; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]2430; GFX7-HSA-NEXT:    s_endpgm2431;2432; GFX8-NOHSA-LABEL: constant_sextload_v4i32_to_v4i64:2433; GFX8-NOHSA:       ; %bb.0:2434; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x242435; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2436; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02437; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2438; GFX8-NOHSA-NEXT:    s_ashr_i32 s8, s5, 312439; GFX8-NOHSA-NEXT:    s_ashr_i32 s9, s4, 312440; GFX8-NOHSA-NEXT:    s_ashr_i32 s2, s7, 312441; GFX8-NOHSA-NEXT:    s_ashr_i32 s3, s6, 312442; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s22443; GFX8-NOHSA-NEXT:    s_add_u32 s2, s0, 162444; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s32445; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s1, 02446; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s32447; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s62448; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s72449; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s22450; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[5:6], v[0:3]2451; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s42452; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s02453; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s92454; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s52455; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s82456; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s12457; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]2458; GFX8-NOHSA-NEXT:    s_endpgm2459;2460; EG-LABEL: constant_sextload_v4i32_to_v4i64:2461; EG:       ; %bb.0:2462; EG-NEXT:    ALU 0, @8, KC0[CB0:0-32], KC1[]2463; EG-NEXT:    TEX 0 @62464; EG-NEXT:    ALU 15, @9, KC0[CB0:0-32], KC1[]2465; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T3.XYZW, T0.X, 02466; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T1.XYZW, T2.X, 12467; EG-NEXT:    CF_END2468; EG-NEXT:    Fetch clause starting at 6:2469; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #12470; EG-NEXT:    ALU clause starting at 8:2471; EG-NEXT:     MOV * T0.X, KC0[2].Z,2472; EG-NEXT:    ALU clause starting at 9:2473; EG-NEXT:     ASHR * T1.W, T0.Y, literal.x,2474; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2475; EG-NEXT:     LSHR T2.X, KC0[2].Y, literal.x,2476; EG-NEXT:     ASHR T1.Y, T0.X, literal.y,2477; EG-NEXT:     ASHR T3.W, T0.W, literal.y,2478; EG-NEXT:     MOV * T1.X, T0.X,2479; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)2480; EG-NEXT:     ASHR * T3.Y, T0.Z, literal.x,2481; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2482; EG-NEXT:     MOV T3.X, T0.Z,2483; EG-NEXT:     MOV T1.Z, T0.Y,2484; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.x,2485; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2486; EG-NEXT:     LSHR T0.X, PV.W, literal.x,2487; EG-NEXT:     MOV * T3.Z, T0.W,2488; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2489;2490; GFX9-HSA-LABEL: constant_sextload_v4i32_to_v4i64:2491; GFX9-HSA:       ; %bb.0:2492; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02493; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 02494; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2495; GFX9-HSA-NEXT:    s_load_dwordx4 s[4:7], s[2:3], 0x02496; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2497; GFX9-HSA-NEXT:    s_ashr_i32 s2, s5, 312498; GFX9-HSA-NEXT:    s_ashr_i32 s3, s4, 312499; GFX9-HSA-NEXT:    s_ashr_i32 s8, s7, 312500; GFX9-HSA-NEXT:    s_ashr_i32 s9, s6, 312501; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s62502; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s72503; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s42504; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s92505; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s82506; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s32507; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s52508; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s22509; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[0:1] offset:162510; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[0:1]2511; GFX9-HSA-NEXT:    s_endpgm2512;2513; GFX12-LABEL: constant_sextload_v4i32_to_v4i64:2514; GFX12:       ; %bb.0:2515; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242516; GFX12-NEXT:    s_wait_kmcnt 0x02517; GFX12-NEXT:    s_load_b128 s[4:7], s[2:3], 0x02518; GFX12-NEXT:    s_wait_kmcnt 0x02519; GFX12-NEXT:    s_ashr_i32 s8, s7, 312520; GFX12-NEXT:    s_ashr_i32 s9, s6, 312521; GFX12-NEXT:    s_ashr_i32 s2, s5, 312522; GFX12-NEXT:    s_ashr_i32 s3, s4, 312523; GFX12-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v1, s92524; GFX12-NEXT:    v_dual_mov_b32 v0, s6 :: v_dual_mov_b32 v3, s82525; GFX12-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v5, s32526; GFX12-NEXT:    v_dual_mov_b32 v4, s4 :: v_dual_mov_b32 v7, s22527; GFX12-NEXT:    v_mov_b32_e32 v6, s52528; GFX12-NEXT:    s_clause 0x12529; GFX12-NEXT:    global_store_b128 v8, v[0:3], s[0:1] offset:162530; GFX12-NEXT:    global_store_b128 v8, v[4:7], s[0:1]2531; GFX12-NEXT:    s_endpgm2532;2533; GFX1250-LABEL: constant_sextload_v4i32_to_v4i64:2534; GFX1250:       ; %bb.0:2535; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 12536; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x242537; GFX1250-NEXT:    s_wait_kmcnt 0x02538; GFX1250-NEXT:    s_load_b128 s[4:7], s[2:3], 0x02539; GFX1250-NEXT:    s_wait_kmcnt 0x02540; GFX1250-NEXT:    v_dual_mov_b32 v8, 0 :: v_dual_mov_b32 v0, s62541; GFX1250-NEXT:    s_ashr_i32 s8, s7, 312542; GFX1250-NEXT:    s_ashr_i32 s9, s6, 312543; GFX1250-NEXT:    s_ashr_i32 s2, s5, 312544; GFX1250-NEXT:    s_ashr_i32 s3, s4, 312545; GFX1250-NEXT:    v_dual_mov_b32 v2, s7 :: v_dual_mov_b32 v4, s42546; GFX1250-NEXT:    v_dual_mov_b32 v6, s5 :: v_dual_mov_b32 v1, s92547; GFX1250-NEXT:    v_dual_mov_b32 v3, s8 :: v_dual_mov_b32 v5, s32548; GFX1250-NEXT:    v_mov_b32_e32 v7, s22549; GFX1250-NEXT:    s_clause 0x12550; GFX1250-NEXT:    global_store_b128 v8, v[0:3], s[0:1] offset:162551; GFX1250-NEXT:    global_store_b128 v8, v[4:7], s[0:1]2552; GFX1250-NEXT:    s_endpgm2553  %ld = load <4 x i32>, ptr addrspace(4) %in2554  %ext = sext <4 x i32> %ld to <4 x i64>2555  store <4 x i64> %ext, ptr addrspace(1) %out2556  ret void2557}2558 2559define amdgpu_kernel void @constant_zextload_v8i32_to_v8i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2560; GFX6-NOHSA-LABEL: constant_zextload_v8i32_to_v8i64:2561; GFX6-NOHSA:       ; %bb.0:2562; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x92563; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2564; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x02565; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf0002566; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 02567; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -12568; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v12569; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2570; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s62571; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s72572; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:482573; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2574; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s42575; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s52576; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:322577; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2578; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s22579; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s32580; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:162581; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)2582; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s02583; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s12584; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 02585; GFX6-NOHSA-NEXT:    s_endpgm2586;2587; GFX7-HSA-LABEL: constant_zextload_v8i32_to_v8i64:2588; GFX7-HSA:       ; %bb.0:2589; GFX7-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02590; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172591; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82592; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 02593; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132594; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2595; GFX7-HSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02596; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 482597; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02598; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32599; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22600; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 322601; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v12602; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2603; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s102604; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s112605; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02606; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2607; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32608; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22609; GFX7-HSA-NEXT:    s_add_u32 s2, s0, 162610; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s82611; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s92612; GFX7-HSA-NEXT:    s_addc_u32 s3, s1, 02613; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2614; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32615; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s62616; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s72617; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22618; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2619; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s12620; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s42621; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s52622; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s02623; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2624; GFX7-HSA-NEXT:    s_endpgm2625;2626; GFX8-NOHSA-LABEL: constant_zextload_v8i32_to_v8i64:2627; GFX8-NOHSA:       ; %bb.0:2628; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x242629; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 02630; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v12631; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2632; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x02633; GFX8-NOHSA-NEXT:    s_add_u32 s10, s8, 482634; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s9, 02635; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s102636; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s112637; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2638; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s62639; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s72640; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2641; GFX8-NOHSA-NEXT:    s_nop 02642; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s42643; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 322644; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s52645; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 02646; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s42647; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s52648; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2649; GFX8-NOHSA-NEXT:    s_nop 02650; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s22651; GFX8-NOHSA-NEXT:    s_add_u32 s2, s8, 162652; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s32653; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s9, 02654; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32655; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22656; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2657; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s82658; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s02659; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s12660; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s92661; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2662; GFX8-NOHSA-NEXT:    s_endpgm2663;2664; EG-LABEL: constant_zextload_v8i32_to_v8i64:2665; EG:       ; %bb.0:2666; EG-NEXT:    ALU 0, @12, KC0[CB0:0-32], KC1[]2667; EG-NEXT:    TEX 1 @82668; EG-NEXT:    ALU 26, @13, KC0[CB0:0-32], KC1[]2669; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T2.XYZW, T7.X, 02670; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T3.XYZW, T6.X, 02671; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T1.X, 02672; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T0.X, 12673; EG-NEXT:    CF_END2674; EG-NEXT:    Fetch clause starting at 8:2675; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 16, #12676; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #12677; EG-NEXT:    ALU clause starting at 12:2678; EG-NEXT:     MOV * T0.X, KC0[2].Z,2679; EG-NEXT:    ALU clause starting at 13:2680; EG-NEXT:     MOV T2.X, T1.Z,2681; EG-NEXT:     MOV T2.Y, 0.0,2682; EG-NEXT:     MOV * T3.X, T1.X,2683; EG-NEXT:     MOV * T3.Y, 0.0,2684; EG-NEXT:     MOV T4.X, T0.Z,2685; EG-NEXT:     MOV T4.Y, 0.0,2686; EG-NEXT:     MOV * T5.X, T0.X,2687; EG-NEXT:     MOV T5.Y, 0.0,2688; EG-NEXT:     MOV T2.Z, T1.W,2689; EG-NEXT:     MOV T2.W, 0.0,2690; EG-NEXT:     MOV * T3.Z, T1.Y,2691; EG-NEXT:     MOV * T3.W, 0.0,2692; EG-NEXT:     MOV T4.Z, T0.W,2693; EG-NEXT:     MOV T4.W, 0.0,2694; EG-NEXT:     MOV * T5.Z, T0.Y,2695; EG-NEXT:     MOV * T5.W, 0.0,2696; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,2697; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,2698; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2699; EG-NEXT:     LSHR T1.X, PV.W, literal.x,2700; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,2701; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)2702; EG-NEXT:     LSHR T6.X, PV.W, literal.x,2703; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,2704; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)2705; EG-NEXT:     LSHR * T7.X, PV.W, literal.x,2706; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2707;2708; GFX9-HSA-LABEL: constant_zextload_v8i32_to_v8i64:2709; GFX9-HSA:       ; %bb.0:2710; GFX9-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x02711; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 02712; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, v12713; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2714; GFX9-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x02715; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2716; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s62717; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s72718; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[8:9] offset:482719; GFX9-HSA-NEXT:    s_nop 02720; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s42721; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s52722; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[8:9] offset:322723; GFX9-HSA-NEXT:    s_nop 02724; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s22725; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s32726; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[8:9] offset:162727; GFX9-HSA-NEXT:    s_nop 02728; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s02729; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s12730; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[8:9]2731; GFX9-HSA-NEXT:    s_endpgm2732;2733; GFX12-LABEL: constant_zextload_v8i32_to_v8i64:2734; GFX12:       ; %bb.0:2735; GFX12-NEXT:    s_load_b128 s[8:11], s[4:5], 0x242736; GFX12-NEXT:    s_wait_kmcnt 0x02737; GFX12-NEXT:    s_load_b256 s[0:7], s[10:11], 0x02738; GFX12-NEXT:    s_wait_kmcnt 0x02739; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s62740; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)2741; GFX12-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_mov_b32 v2, s72742; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:482743; GFX12-NEXT:    v_mov_b32_e32 v0, s42744; GFX12-NEXT:    v_mov_b32_e32 v2, s52745; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:322746; GFX12-NEXT:    v_mov_b32_e32 v0, s22747; GFX12-NEXT:    v_mov_b32_e32 v2, s32748; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:162749; GFX12-NEXT:    v_mov_b32_e32 v0, s02750; GFX12-NEXT:    v_mov_b32_e32 v2, s12751; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[8:9]2752; GFX12-NEXT:    s_endpgm2753;2754; GFX1250-LABEL: constant_zextload_v8i32_to_v8i64:2755; GFX1250:       ; %bb.0:2756; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 12757; GFX1250-NEXT:    s_load_b128 s[8:11], s[4:5], 0x242758; GFX1250-NEXT:    s_wait_kmcnt 0x02759; GFX1250-NEXT:    s_load_b256 s[0:7], s[10:11], 0x02760; GFX1250-NEXT:    s_wait_kmcnt 0x02761; GFX1250-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s62762; GFX1250-NEXT:    s_delay_alu instid0(VALU_DEP_1)2763; GFX1250-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_mov_b32 v2, s72764; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:482765; GFX1250-NEXT:    s_wait_xcnt 0x02766; GFX1250-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v2, s52767; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:322768; GFX1250-NEXT:    s_wait_xcnt 0x02769; GFX1250-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v2, s32770; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[8:9] offset:162771; GFX1250-NEXT:    s_wait_xcnt 0x02772; GFX1250-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v2, s12773; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[8:9]2774; GFX1250-NEXT:    s_endpgm2775  %ld = load <8 x i32>, ptr addrspace(4) %in2776  %ext = zext <8 x i32> %ld to <8 x i64>2777  store <8 x i64> %ext, ptr addrspace(1) %out2778  ret void2779}2780 2781define amdgpu_kernel void @constant_sextload_v8i32_to_v8i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {2782; GFX6-NOHSA-LABEL: constant_sextload_v8i32_to_v8i64:2783; GFX6-NOHSA:       ; %bb.0:2784; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x92785; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2786; GFX6-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x02787; GFX6-NOHSA-NEXT:    s_mov_b32 s11, 0xf0002788; GFX6-NOHSA-NEXT:    s_mov_b32 s10, -12789; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2790; GFX6-NOHSA-NEXT:    s_ashr_i32 s12, s1, 312791; GFX6-NOHSA-NEXT:    s_ashr_i32 s13, s0, 312792; GFX6-NOHSA-NEXT:    s_ashr_i32 s14, s3, 312793; GFX6-NOHSA-NEXT:    s_ashr_i32 s15, s2, 312794; GFX6-NOHSA-NEXT:    s_ashr_i32 s16, s5, 312795; GFX6-NOHSA-NEXT:    s_ashr_i32 s17, s7, 312796; GFX6-NOHSA-NEXT:    s_ashr_i32 s18, s6, 312797; GFX6-NOHSA-NEXT:    s_ashr_i32 s19, s4, 312798; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s62799; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s72800; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s42801; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s52802; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s22803; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s32804; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s02805; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s12806; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s182807; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s172808; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[8:11], 0 offset:482809; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s192810; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s162811; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[8:11], 0 offset:322812; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s152813; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s142814; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[8:11], 0 offset:162815; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s132816; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s122817; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[8:11], 02818; GFX6-NOHSA-NEXT:    s_endpgm2819;2820; GFX7-HSA-LABEL: constant_sextload_v8i32_to_v8i64:2821; GFX7-HSA:       ; %bb.0:2822; GFX7-HSA-NEXT:    s_load_dwordx4 s[8:11], s[8:9], 0x02823; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s172824; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s132825; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 82826; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2827; GFX7-HSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x02828; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)2829; GFX7-HSA-NEXT:    s_ashr_i32 s10, s1, 312830; GFX7-HSA-NEXT:    s_ashr_i32 s11, s0, 312831; GFX7-HSA-NEXT:    s_ashr_i32 s12, s3, 312832; GFX7-HSA-NEXT:    s_ashr_i32 s13, s2, 312833; GFX7-HSA-NEXT:    s_ashr_i32 s14, s5, 312834; GFX7-HSA-NEXT:    s_ashr_i32 s15, s4, 312835; GFX7-HSA-NEXT:    s_ashr_i32 s16, s7, 312836; GFX7-HSA-NEXT:    s_ashr_i32 s17, s6, 312837; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s62838; GFX7-HSA-NEXT:    s_add_u32 s6, s8, 482839; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s72840; GFX7-HSA-NEXT:    s_addc_u32 s7, s9, 02841; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s62842; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s172843; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s162844; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s72845; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2846; GFX7-HSA-NEXT:    s_nop 02847; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s42848; GFX7-HSA-NEXT:    s_add_u32 s4, s8, 322849; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s52850; GFX7-HSA-NEXT:    s_addc_u32 s5, s9, 02851; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s42852; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s152853; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s142854; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s52855; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2856; GFX7-HSA-NEXT:    s_nop 02857; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s22858; GFX7-HSA-NEXT:    s_add_u32 s2, s8, 162859; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s32860; GFX7-HSA-NEXT:    s_addc_u32 s3, s9, 02861; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s32862; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s132863; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s122864; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s22865; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2866; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s82867; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s02868; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s112869; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s12870; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s102871; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s92872; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2873; GFX7-HSA-NEXT:    s_endpgm2874;2875; GFX8-NOHSA-LABEL: constant_sextload_v8i32_to_v8i64:2876; GFX8-NOHSA:       ; %bb.0:2877; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[8:11], s[4:5], 0x242878; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2879; GFX8-NOHSA-NEXT:    s_load_dwordx8 s[0:7], s[10:11], 0x02880; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)2881; GFX8-NOHSA-NEXT:    s_ashr_i32 s10, s1, 312882; GFX8-NOHSA-NEXT:    s_ashr_i32 s11, s0, 312883; GFX8-NOHSA-NEXT:    s_ashr_i32 s12, s3, 312884; GFX8-NOHSA-NEXT:    s_ashr_i32 s13, s2, 312885; GFX8-NOHSA-NEXT:    s_ashr_i32 s14, s5, 312886; GFX8-NOHSA-NEXT:    s_ashr_i32 s15, s4, 312887; GFX8-NOHSA-NEXT:    s_ashr_i32 s16, s7, 312888; GFX8-NOHSA-NEXT:    s_ashr_i32 s17, s6, 312889; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s62890; GFX8-NOHSA-NEXT:    s_add_u32 s6, s8, 482891; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s72892; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s9, 02893; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s62894; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s172895; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s162896; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s72897; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2898; GFX8-NOHSA-NEXT:    s_nop 02899; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s42900; GFX8-NOHSA-NEXT:    s_add_u32 s4, s8, 322901; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s52902; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s9, 02903; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s42904; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s152905; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s142906; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s52907; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2908; GFX8-NOHSA-NEXT:    s_nop 02909; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s22910; GFX8-NOHSA-NEXT:    s_add_u32 s2, s8, 162911; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s32912; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s9, 02913; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s32914; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s132915; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s122916; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s22917; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2918; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s82919; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s02920; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s112921; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s12922; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s102923; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s92924; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]2925; GFX8-NOHSA-NEXT:    s_endpgm2926;2927; EG-LABEL: constant_sextload_v8i32_to_v8i64:2928; EG:       ; %bb.0:2929; EG-NEXT:    ALU 0, @12, KC0[CB0:0-32], KC1[]2930; EG-NEXT:    TEX 1 @82931; EG-NEXT:    ALU 31, @13, KC0[CB0:0-32], KC1[]2932; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T0.X, 02933; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T5.X, 02934; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T3.X, 02935; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T2.X, 12936; EG-NEXT:    CF_END2937; EG-NEXT:    Fetch clause starting at 8:2938; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 16, #12939; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #12940; EG-NEXT:    ALU clause starting at 12:2941; EG-NEXT:     MOV * T0.X, KC0[2].Z,2942; EG-NEXT:    ALU clause starting at 13:2943; EG-NEXT:     LSHR T2.X, KC0[2].Y, literal.x,2944; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2945; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)2946; EG-NEXT:     LSHR T3.X, PV.W, literal.x,2947; EG-NEXT:     ADD_INT T2.W, KC0[2].Y, literal.y,2948; EG-NEXT:     ASHR * T4.W, T0.Y, literal.z,2949; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)2950; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2951; EG-NEXT:     LSHR T5.X, PV.W, literal.x,2952; EG-NEXT:     ASHR T4.Y, T0.X, literal.y,2953; EG-NEXT:     ASHR T6.W, T0.W, literal.y,2954; EG-NEXT:     MOV * T4.X, T0.X,2955; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)2956; EG-NEXT:     ASHR T6.Y, T0.Z, literal.x,2957; EG-NEXT:     ASHR * T7.W, T1.Y, literal.x,2958; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2959; EG-NEXT:     MOV T6.X, T0.Z,2960; EG-NEXT:     ASHR T7.Y, T1.X, literal.x,2961; EG-NEXT:     MOV T4.Z, T0.Y,2962; EG-NEXT:     ASHR T8.W, T1.W, literal.x,2963; EG-NEXT:     MOV * T7.X, T1.X,2964; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2965; EG-NEXT:     ASHR T8.Y, T1.Z, literal.x,2966; EG-NEXT:     MOV * T6.Z, T0.W,2967; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)2968; EG-NEXT:     MOV T8.X, T1.Z,2969; EG-NEXT:     MOV T7.Z, T1.Y,2970; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,2971; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)2972; EG-NEXT:     LSHR T0.X, PV.W, literal.x,2973; EG-NEXT:     MOV * T8.Z, T1.W,2974; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)2975;2976; GFX9-HSA-LABEL: constant_sextload_v8i32_to_v8i64:2977; GFX9-HSA:       ; %bb.0:2978; GFX9-HSA-NEXT:    s_load_dwordx4 s[0:3], s[8:9], 0x02979; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, 02980; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2981; GFX9-HSA-NEXT:    s_load_dwordx8 s[4:11], s[2:3], 0x02982; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)2983; GFX9-HSA-NEXT:    s_ashr_i32 s16, s11, 312984; GFX9-HSA-NEXT:    s_ashr_i32 s17, s10, 312985; GFX9-HSA-NEXT:    s_ashr_i32 s14, s9, 312986; GFX9-HSA-NEXT:    s_ashr_i32 s15, s8, 312987; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s102988; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s172989; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s112990; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s162991; GFX9-HSA-NEXT:    s_ashr_i32 s12, s7, 312992; GFX9-HSA-NEXT:    s_ashr_i32 s13, s6, 312993; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1] offset:482994; GFX9-HSA-NEXT:    s_ashr_i32 s2, s5, 312995; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s82996; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s152997; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s92998; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s142999; GFX9-HSA-NEXT:    s_ashr_i32 s3, s4, 313000; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1] offset:323001; GFX9-HSA-NEXT:    s_nop 03002; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s63003; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s133004; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s73005; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s123006; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1] offset:163007; GFX9-HSA-NEXT:    s_nop 03008; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s43009; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s33010; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s53011; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s23012; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1]3013; GFX9-HSA-NEXT:    s_endpgm3014;3015; GFX12-LABEL: constant_sextload_v8i32_to_v8i64:3016; GFX12:       ; %bb.0:3017; GFX12-NEXT:    s_load_b128 s[0:3], s[4:5], 0x243018; GFX12-NEXT:    s_wait_kmcnt 0x03019; GFX12-NEXT:    s_load_b256 s[4:11], s[2:3], 0x03020; GFX12-NEXT:    s_wait_kmcnt 0x03021; GFX12-NEXT:    s_ashr_i32 s16, s11, 313022; GFX12-NEXT:    s_ashr_i32 s17, s10, 313023; GFX12-NEXT:    s_ashr_i32 s14, s9, 313024; GFX12-NEXT:    s_ashr_i32 s15, s8, 313025; GFX12-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v1, s173026; GFX12-NEXT:    s_ashr_i32 s12, s7, 313027; GFX12-NEXT:    s_ashr_i32 s13, s6, 313028; GFX12-NEXT:    v_dual_mov_b32 v0, s10 :: v_dual_mov_b32 v3, s163029; GFX12-NEXT:    v_dual_mov_b32 v2, s11 :: v_dual_mov_b32 v5, s153030; GFX12-NEXT:    s_ashr_i32 s2, s5, 313031; GFX12-NEXT:    s_ashr_i32 s3, s4, 313032; GFX12-NEXT:    v_dual_mov_b32 v4, s8 :: v_dual_mov_b32 v7, s143033; GFX12-NEXT:    v_dual_mov_b32 v6, s9 :: v_dual_mov_b32 v9, s133034; GFX12-NEXT:    v_dual_mov_b32 v8, s6 :: v_dual_mov_b32 v11, s123035; GFX12-NEXT:    v_dual_mov_b32 v10, s7 :: v_dual_mov_b32 v13, s33036; GFX12-NEXT:    v_dual_mov_b32 v12, s4 :: v_dual_mov_b32 v15, s23037; GFX12-NEXT:    v_mov_b32_e32 v14, s53038; GFX12-NEXT:    s_clause 0x33039; GFX12-NEXT:    global_store_b128 v16, v[0:3], s[0:1] offset:483040; GFX12-NEXT:    global_store_b128 v16, v[4:7], s[0:1] offset:323041; GFX12-NEXT:    global_store_b128 v16, v[8:11], s[0:1] offset:163042; GFX12-NEXT:    global_store_b128 v16, v[12:15], s[0:1]3043; GFX12-NEXT:    s_endpgm3044;3045; GFX1250-LABEL: constant_sextload_v8i32_to_v8i64:3046; GFX1250:       ; %bb.0:3047; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 13048; GFX1250-NEXT:    s_load_b128 s[0:3], s[4:5], 0x243049; GFX1250-NEXT:    s_wait_kmcnt 0x03050; GFX1250-NEXT:    s_load_b256 s[4:11], s[2:3], 0x03051; GFX1250-NEXT:    s_wait_kmcnt 0x03052; GFX1250-NEXT:    v_dual_mov_b32 v16, 0 :: v_dual_mov_b32 v0, s103053; GFX1250-NEXT:    s_ashr_i32 s16, s11, 313054; GFX1250-NEXT:    s_ashr_i32 s17, s10, 313055; GFX1250-NEXT:    s_ashr_i32 s14, s9, 313056; GFX1250-NEXT:    s_ashr_i32 s15, s8, 313057; GFX1250-NEXT:    s_ashr_i32 s12, s7, 313058; GFX1250-NEXT:    s_ashr_i32 s13, s6, 313059; GFX1250-NEXT:    v_dual_mov_b32 v2, s11 :: v_dual_mov_b32 v4, s83060; GFX1250-NEXT:    v_dual_mov_b32 v14, s5 :: v_dual_mov_b32 v1, s173061; GFX1250-NEXT:    v_dual_mov_b32 v3, s16 :: v_dual_mov_b32 v5, s153062; GFX1250-NEXT:    s_ashr_i32 s2, s5, 313063; GFX1250-NEXT:    s_ashr_i32 s3, s4, 313064; GFX1250-NEXT:    v_dual_mov_b32 v6, s9 :: v_dual_mov_b32 v8, s63065; GFX1250-NEXT:    v_dual_mov_b32 v7, s14 :: v_dual_mov_b32 v9, s133066; GFX1250-NEXT:    v_dual_mov_b32 v10, s7 :: v_dual_mov_b32 v12, s43067; GFX1250-NEXT:    v_dual_mov_b32 v11, s12 :: v_dual_mov_b32 v13, s33068; GFX1250-NEXT:    v_mov_b32_e32 v15, s23069; GFX1250-NEXT:    s_clause 0x33070; GFX1250-NEXT:    global_store_b128 v16, v[0:3], s[0:1] offset:483071; GFX1250-NEXT:    global_store_b128 v16, v[4:7], s[0:1] offset:323072; GFX1250-NEXT:    global_store_b128 v16, v[8:11], s[0:1] offset:163073; GFX1250-NEXT:    global_store_b128 v16, v[12:15], s[0:1]3074; GFX1250-NEXT:    s_endpgm3075  %ld = load <8 x i32>, ptr addrspace(4) %in3076  %ext = sext <8 x i32> %ld to <8 x i64>3077  store <8 x i64> %ext, ptr addrspace(1) %out3078  ret void3079}3080 3081define amdgpu_kernel void @constant_sextload_v16i32_to_v16i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {3082; GFX6-NOHSA-LABEL: constant_sextload_v16i32_to_v16i64:3083; GFX6-NOHSA:       ; %bb.0:3084; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x93085; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3086; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03087; GFX6-NOHSA-NEXT:    s_mov_b32 s19, 0xf0003088; GFX6-NOHSA-NEXT:    s_mov_b32 s18, -13089; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3090; GFX6-NOHSA-NEXT:    s_ashr_i32 s20, s1, 313091; GFX6-NOHSA-NEXT:    s_ashr_i32 s21, s0, 313092; GFX6-NOHSA-NEXT:    s_ashr_i32 s22, s3, 313093; GFX6-NOHSA-NEXT:    s_ashr_i32 s23, s2, 313094; GFX6-NOHSA-NEXT:    s_ashr_i32 s24, s5, 313095; GFX6-NOHSA-NEXT:    s_ashr_i32 s25, s4, 313096; GFX6-NOHSA-NEXT:    s_ashr_i32 s26, s7, 313097; GFX6-NOHSA-NEXT:    s_ashr_i32 s27, s6, 313098; GFX6-NOHSA-NEXT:    s_ashr_i32 s28, s9, 313099; GFX6-NOHSA-NEXT:    s_ashr_i32 s29, s8, 313100; GFX6-NOHSA-NEXT:    s_ashr_i32 s30, s11, 313101; GFX6-NOHSA-NEXT:    s_ashr_i32 s31, s10, 313102; GFX6-NOHSA-NEXT:    s_ashr_i32 s33, s13, 313103; GFX6-NOHSA-NEXT:    s_ashr_i32 s34, s15, 313104; GFX6-NOHSA-NEXT:    s_ashr_i32 s35, s14, 313105; GFX6-NOHSA-NEXT:    s_ashr_i32 s36, s12, 313106; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s143107; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s153108; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s123109; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s133110; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s103111; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s113112; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s83113; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s93114; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v16, s63115; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s73116; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s353117; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s343118; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:1123119; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3120; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s43121; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s53122; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s363123; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s333124; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[16:19], 0 offset:963125; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3126; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s23127; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s33128; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s313129; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s303130; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[16:19], 0 offset:803131; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3132; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s03133; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s13134; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s293135; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s283136; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[16:19], 0 offset:643137; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v17, s273138; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s263139; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[16:19], off, s[16:19], 0 offset:483140; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s253141; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s243142; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:323143; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s233144; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s223145; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[16:19], 0 offset:163146; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s213147; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s203148; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[16:19], 03149; GFX6-NOHSA-NEXT:    s_endpgm3150;3151; GFX7-HSA-LABEL: constant_sextload_v16i32_to_v16i64:3152; GFX7-HSA:       ; %bb.0:3153; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s173154; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x03155; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s133156; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 83157; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)3158; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03159; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)3160; GFX7-HSA-NEXT:    s_ashr_i32 s20, s1, 313161; GFX7-HSA-NEXT:    s_ashr_i32 s21, s0, 313162; GFX7-HSA-NEXT:    s_ashr_i32 s22, s3, 313163; GFX7-HSA-NEXT:    s_ashr_i32 s23, s2, 313164; GFX7-HSA-NEXT:    s_ashr_i32 s24, s5, 313165; GFX7-HSA-NEXT:    s_ashr_i32 s25, s4, 313166; GFX7-HSA-NEXT:    s_ashr_i32 s26, s7, 313167; GFX7-HSA-NEXT:    s_ashr_i32 s27, s6, 313168; GFX7-HSA-NEXT:    s_ashr_i32 s28, s9, 313169; GFX7-HSA-NEXT:    s_ashr_i32 s29, s8, 313170; GFX7-HSA-NEXT:    s_ashr_i32 s30, s11, 313171; GFX7-HSA-NEXT:    s_ashr_i32 s31, s10, 313172; GFX7-HSA-NEXT:    s_ashr_i32 s33, s13, 313173; GFX7-HSA-NEXT:    s_ashr_i32 s34, s12, 313174; GFX7-HSA-NEXT:    s_ashr_i32 s35, s15, 313175; GFX7-HSA-NEXT:    s_ashr_i32 s36, s14, 313176; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x703177; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 03178; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s183179; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s193180; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x603181; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 03182; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s183183; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s193184; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x503185; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 03186; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s143187; GFX7-HSA-NEXT:    s_add_u32 s14, s16, 643188; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s363189; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s353190; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s153191; GFX7-HSA-NEXT:    s_addc_u32 s15, s17, 03192; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s343193; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s333194; GFX7-HSA-NEXT:    flat_store_dwordx4 v[13:14], v[0:3]3195; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s133196; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s123197; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s63198; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 483199; GFX7-HSA-NEXT:    flat_store_dwordx4 v[15:16], v[3:6]3200; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s73201; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 03202; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s63203; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s273204; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s263205; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s73206; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3207; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s183208; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s43209; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 323210; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s53211; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 03212; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s43213; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s253214; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s243215; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s53216; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3217; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s193218; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s23219; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 163220; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s33221; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 03222; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33223; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s233224; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s223225; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23226; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s313227; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s303228; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s153229; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s103230; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s113231; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3232; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s163233; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s293234; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s283235; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s143236; GFX7-HSA-NEXT:    flat_store_dwordx4 v[17:18], v[6:9]3237; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s93238; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s83239; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s03240; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s213241; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s13242; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s203243; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s173244; GFX7-HSA-NEXT:    flat_store_dwordx4 v[19:20], v[9:12]3245; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3246; GFX7-HSA-NEXT:    s_endpgm3247;3248; GFX8-NOHSA-LABEL: constant_sextload_v16i32_to_v16i64:3249; GFX8-NOHSA:       ; %bb.0:3250; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x243251; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3252; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03253; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3254; GFX8-NOHSA-NEXT:    s_ashr_i32 s18, s1, 313255; GFX8-NOHSA-NEXT:    s_ashr_i32 s19, s0, 313256; GFX8-NOHSA-NEXT:    s_ashr_i32 s20, s3, 313257; GFX8-NOHSA-NEXT:    s_ashr_i32 s21, s2, 313258; GFX8-NOHSA-NEXT:    s_ashr_i32 s22, s5, 313259; GFX8-NOHSA-NEXT:    s_ashr_i32 s23, s4, 313260; GFX8-NOHSA-NEXT:    s_ashr_i32 s24, s7, 313261; GFX8-NOHSA-NEXT:    s_ashr_i32 s25, s6, 313262; GFX8-NOHSA-NEXT:    s_ashr_i32 s26, s9, 313263; GFX8-NOHSA-NEXT:    s_ashr_i32 s27, s8, 313264; GFX8-NOHSA-NEXT:    s_ashr_i32 s28, s11, 313265; GFX8-NOHSA-NEXT:    s_ashr_i32 s29, s10, 313266; GFX8-NOHSA-NEXT:    s_ashr_i32 s30, s13, 313267; GFX8-NOHSA-NEXT:    s_ashr_i32 s31, s12, 313268; GFX8-NOHSA-NEXT:    s_ashr_i32 s33, s15, 313269; GFX8-NOHSA-NEXT:    s_ashr_i32 s34, s14, 313270; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s143271; GFX8-NOHSA-NEXT:    s_add_u32 s14, s16, 0x703272; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s153273; GFX8-NOHSA-NEXT:    s_addc_u32 s15, s17, 03274; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s143275; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s343276; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s333277; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s153278; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3279; GFX8-NOHSA-NEXT:    s_nop 03280; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s123281; GFX8-NOHSA-NEXT:    s_add_u32 s12, s16, 0x603282; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s133283; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s17, 03284; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s123285; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s313286; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s303287; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s133288; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3289; GFX8-NOHSA-NEXT:    s_nop 03290; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s103291; GFX8-NOHSA-NEXT:    s_add_u32 s10, s16, 0x503292; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s113293; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s17, 03294; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s103295; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s293296; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s283297; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s113298; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3299; GFX8-NOHSA-NEXT:    s_nop 03300; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s83301; GFX8-NOHSA-NEXT:    s_add_u32 s8, s16, 643302; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s93303; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s17, 03304; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s83305; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s273306; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s263307; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s93308; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3309; GFX8-NOHSA-NEXT:    s_nop 03310; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s63311; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 483312; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s73313; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03314; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63315; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s253316; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s243317; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73318; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3319; GFX8-NOHSA-NEXT:    s_nop 03320; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s43321; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 323322; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s53323; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 03324; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s43325; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s233326; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s223327; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s53328; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3329; GFX8-NOHSA-NEXT:    s_nop 03330; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s23331; GFX8-NOHSA-NEXT:    s_add_u32 s2, s16, 163332; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s33333; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s17, 03334; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33335; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s213336; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s203337; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23338; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3339; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s163340; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s03341; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s193342; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s13343; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s183344; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s173345; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3346; GFX8-NOHSA-NEXT:    s_endpgm3347;3348; EG-LABEL: constant_sextload_v16i32_to_v16i64:3349; EG:       ; %bb.0:3350; EG-NEXT:    ALU 0, @20, KC0[CB0:0-32], KC1[]3351; EG-NEXT:    TEX 3 @123352; EG-NEXT:    ALU 63, @21, KC0[CB0:0-32], KC1[]3353; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T16.XYZW, T1.X, 03354; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T3.XYZW, T11.X, 03355; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T15.XYZW, T9.X, 03356; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T0.XYZW, T8.X, 03357; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T7.X, 03358; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T13.XYZW, T6.X, 03359; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T5.X, 03360; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T4.X, 13361; EG-NEXT:    CF_END3362; EG-NEXT:    Fetch clause starting at 12:3363; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 48, #13364; EG-NEXT:     VTX_READ_128 T2.XYZW, T0.X, 32, #13365; EG-NEXT:     VTX_READ_128 T3.XYZW, T0.X, 16, #13366; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 0, #13367; EG-NEXT:    ALU clause starting at 20:3368; EG-NEXT:     MOV * T0.X, KC0[2].Z,3369; EG-NEXT:    ALU clause starting at 21:3370; EG-NEXT:     LSHR T4.X, KC0[2].Y, literal.x,3371; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3372; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)3373; EG-NEXT:     LSHR T5.X, PV.W, literal.x,3374; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3375; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)3376; EG-NEXT:     LSHR T6.X, PV.W, literal.x,3377; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3378; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)3379; EG-NEXT:     LSHR T7.X, PV.W, literal.x,3380; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3381; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)3382; EG-NEXT:     LSHR T8.X, PV.W, literal.x,3383; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3384; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)3385; EG-NEXT:     LSHR T9.X, PV.W, literal.x,3386; EG-NEXT:     ADD_INT T4.W, KC0[2].Y, literal.y,3387; EG-NEXT:     ASHR * T10.W, T0.Y, literal.z,3388; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)3389; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3390; EG-NEXT:     LSHR T11.X, PV.W, literal.x,3391; EG-NEXT:     ASHR T10.Y, T0.X, literal.y,3392; EG-NEXT:     ASHR T12.W, T0.W, literal.y,3393; EG-NEXT:     MOV * T10.X, T0.X,3394; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)3395; EG-NEXT:     ASHR T12.Y, T0.Z, literal.x,3396; EG-NEXT:     ASHR * T13.W, T3.Y, literal.x,3397; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3398; EG-NEXT:     MOV T12.X, T0.Z,3399; EG-NEXT:     ASHR T13.Y, T3.X, literal.x,3400; EG-NEXT:     MOV T10.Z, T0.Y,3401; EG-NEXT:     ASHR T14.W, T3.W, literal.x,3402; EG-NEXT:     MOV * T13.X, T3.X,3403; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3404; EG-NEXT:     ASHR T14.Y, T3.Z, literal.x,3405; EG-NEXT:     MOV T12.Z, T0.W,3406; EG-NEXT:     ASHR * T0.W, T2.Y, literal.x,3407; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3408; EG-NEXT:     MOV T14.X, T3.Z,3409; EG-NEXT:     ASHR T0.Y, T2.X, literal.x,3410; EG-NEXT:     MOV T13.Z, T3.Y,3411; EG-NEXT:     ASHR T15.W, T2.W, literal.x,3412; EG-NEXT:     MOV * T0.X, T2.X,3413; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3414; EG-NEXT:     ASHR T15.Y, T2.Z, literal.x,3415; EG-NEXT:     MOV T14.Z, T3.W,3416; EG-NEXT:     ASHR * T3.W, T1.Y, literal.x,3417; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3418; EG-NEXT:     MOV T15.X, T2.Z,3419; EG-NEXT:     ASHR T3.Y, T1.X, literal.x,3420; EG-NEXT:     MOV T0.Z, T2.Y,3421; EG-NEXT:     ASHR T16.W, T1.W, literal.x,3422; EG-NEXT:     MOV * T3.X, T1.X,3423; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3424; EG-NEXT:     ASHR T16.Y, T1.Z, literal.x,3425; EG-NEXT:     MOV * T15.Z, T2.W,3426; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)3427; EG-NEXT:     MOV T16.X, T1.Z,3428; EG-NEXT:     MOV T3.Z, T1.Y,3429; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.x,3430; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)3431; EG-NEXT:     LSHR T1.X, PV.W, literal.x,3432; EG-NEXT:     MOV * T16.Z, T1.W,3433; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)3434;3435; GFX9-HSA-LABEL: constant_sextload_v16i32_to_v16i64:3436; GFX9-HSA:       ; %bb.0:3437; GFX9-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x03438; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, 03439; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)3440; GFX9-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03441; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)3442; GFX9-HSA-NEXT:    s_ashr_i32 s33, s15, 313443; GFX9-HSA-NEXT:    s_ashr_i32 s34, s14, 313444; GFX9-HSA-NEXT:    s_ashr_i32 s30, s13, 313445; GFX9-HSA-NEXT:    s_ashr_i32 s31, s12, 313446; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s143447; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s343448; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s153449; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s333450; GFX9-HSA-NEXT:    s_ashr_i32 s28, s11, 313451; GFX9-HSA-NEXT:    s_ashr_i32 s29, s10, 313452; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:1123453; GFX9-HSA-NEXT:    s_ashr_i32 s26, s9, 313454; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s123455; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s313456; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s133457; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s303458; GFX9-HSA-NEXT:    s_ashr_i32 s27, s8, 313459; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:963460; GFX9-HSA-NEXT:    s_ashr_i32 s24, s7, 313461; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s103462; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s293463; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s113464; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s283465; GFX9-HSA-NEXT:    s_ashr_i32 s25, s6, 313466; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:803467; GFX9-HSA-NEXT:    s_ashr_i32 s22, s5, 313468; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s83469; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s273470; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s93471; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s263472; GFX9-HSA-NEXT:    s_ashr_i32 s23, s4, 313473; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:643474; GFX9-HSA-NEXT:    s_ashr_i32 s20, s3, 313475; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s63476; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s253477; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s73478; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s243479; GFX9-HSA-NEXT:    s_ashr_i32 s21, s2, 313480; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:483481; GFX9-HSA-NEXT:    s_ashr_i32 s18, s1, 313482; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s43483; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s233484; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s53485; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s223486; GFX9-HSA-NEXT:    s_ashr_i32 s19, s0, 313487; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:323488; GFX9-HSA-NEXT:    s_nop 03489; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s23490; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s213491; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s33492; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s203493; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17] offset:163494; GFX9-HSA-NEXT:    s_nop 03495; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s03496; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s193497; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s13498; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s183499; GFX9-HSA-NEXT:    global_store_dwordx4 v4, v[0:3], s[16:17]3500; GFX9-HSA-NEXT:    s_endpgm3501;3502; GFX12-LABEL: constant_sextload_v16i32_to_v16i64:3503; GFX12:       ; %bb.0:3504; GFX12-NEXT:    s_load_b128 s[16:19], s[4:5], 0x243505; GFX12-NEXT:    s_wait_kmcnt 0x03506; GFX12-NEXT:    s_load_b512 s[0:15], s[18:19], 0x03507; GFX12-NEXT:    s_wait_kmcnt 0x03508; GFX12-NEXT:    s_ashr_i32 s28, s11, 313509; GFX12-NEXT:    s_ashr_i32 s29, s10, 313510; GFX12-NEXT:    s_ashr_i32 s33, s15, 313511; GFX12-NEXT:    s_ashr_i32 s34, s14, 313512; GFX12-NEXT:    s_ashr_i32 s26, s9, 313513; GFX12-NEXT:    s_ashr_i32 s27, s8, 313514; GFX12-NEXT:    s_ashr_i32 s30, s13, 313515; GFX12-NEXT:    s_ashr_i32 s31, s12, 313516; GFX12-NEXT:    v_dual_mov_b32 v28, 0 :: v_dual_mov_b32 v1, s343517; GFX12-NEXT:    s_ashr_i32 s24, s7, 313518; GFX12-NEXT:    s_ashr_i32 s25, s6, 313519; GFX12-NEXT:    v_dual_mov_b32 v0, s14 :: v_dual_mov_b32 v3, s333520; GFX12-NEXT:    v_dual_mov_b32 v2, s15 :: v_dual_mov_b32 v5, s313521; GFX12-NEXT:    v_dual_mov_b32 v6, s13 :: v_dual_mov_b32 v9, s293522; GFX12-NEXT:    v_dual_mov_b32 v8, s10 :: v_dual_mov_b32 v11, s283523; GFX12-NEXT:    v_dual_mov_b32 v10, s11 :: v_dual_mov_b32 v13, s273524; GFX12-NEXT:    s_ashr_i32 s22, s5, 313525; GFX12-NEXT:    s_ashr_i32 s23, s4, 313526; GFX12-NEXT:    v_dual_mov_b32 v4, s12 :: v_dual_mov_b32 v7, s303527; GFX12-NEXT:    v_dual_mov_b32 v12, s8 :: v_dual_mov_b32 v15, s263528; GFX12-NEXT:    v_dual_mov_b32 v14, s9 :: v_dual_mov_b32 v17, s253529; GFX12-NEXT:    s_ashr_i32 s20, s3, 313530; GFX12-NEXT:    s_ashr_i32 s21, s2, 313531; GFX12-NEXT:    v_dual_mov_b32 v16, s6 :: v_dual_mov_b32 v19, s243532; GFX12-NEXT:    v_dual_mov_b32 v18, s7 :: v_dual_mov_b32 v21, s233533; GFX12-NEXT:    s_ashr_i32 s18, s1, 313534; GFX12-NEXT:    s_ashr_i32 s19, s0, 313535; GFX12-NEXT:    v_dual_mov_b32 v20, s4 :: v_dual_mov_b32 v23, s223536; GFX12-NEXT:    v_dual_mov_b32 v22, s5 :: v_dual_mov_b32 v25, s213537; GFX12-NEXT:    v_dual_mov_b32 v24, s2 :: v_dual_mov_b32 v27, s203538; GFX12-NEXT:    v_mov_b32_e32 v26, s33539; GFX12-NEXT:    s_clause 0x13540; GFX12-NEXT:    global_store_b128 v28, v[0:3], s[16:17] offset:1123541; GFX12-NEXT:    global_store_b128 v28, v[4:7], s[16:17] offset:963542; GFX12-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s183543; GFX12-NEXT:    v_dual_mov_b32 v1, s19 :: v_dual_mov_b32 v2, s13544; GFX12-NEXT:    s_clause 0x53545; GFX12-NEXT:    global_store_b128 v28, v[8:11], s[16:17] offset:803546; GFX12-NEXT:    global_store_b128 v28, v[12:15], s[16:17] offset:643547; GFX12-NEXT:    global_store_b128 v28, v[16:19], s[16:17] offset:483548; GFX12-NEXT:    global_store_b128 v28, v[20:23], s[16:17] offset:323549; GFX12-NEXT:    global_store_b128 v28, v[24:27], s[16:17] offset:163550; GFX12-NEXT:    global_store_b128 v28, v[0:3], s[16:17]3551; GFX12-NEXT:    s_endpgm3552;3553; GFX1250-LABEL: constant_sextload_v16i32_to_v16i64:3554; GFX1250:       ; %bb.0:3555; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 13556; GFX1250-NEXT:    s_load_b128 s[16:19], s[4:5], 0x243557; GFX1250-NEXT:    s_wait_kmcnt 0x03558; GFX1250-NEXT:    s_load_b512 s[0:15], s[18:19], 0x03559; GFX1250-NEXT:    s_wait_kmcnt 0x03560; GFX1250-NEXT:    v_dual_mov_b32 v28, 0 :: v_dual_mov_b32 v0, s143561; GFX1250-NEXT:    s_ashr_i32 s28, s11, 313562; GFX1250-NEXT:    s_ashr_i32 s29, s10, 313563; GFX1250-NEXT:    s_ashr_i32 s30, s13, 313564; GFX1250-NEXT:    s_ashr_i32 s33, s15, 313565; GFX1250-NEXT:    s_ashr_i32 s34, s14, 313566; GFX1250-NEXT:    s_ashr_i32 s26, s9, 313567; GFX1250-NEXT:    s_ashr_i32 s27, s8, 313568; GFX1250-NEXT:    s_ashr_i32 s31, s12, 313569; GFX1250-NEXT:    s_ashr_i32 s24, s7, 313570; GFX1250-NEXT:    s_ashr_i32 s25, s6, 313571; GFX1250-NEXT:    v_dual_mov_b32 v2, s15 :: v_dual_mov_b32 v4, s123572; GFX1250-NEXT:    v_dual_mov_b32 v6, s13 :: v_dual_mov_b32 v8, s103573; GFX1250-NEXT:    v_dual_mov_b32 v10, s11 :: v_dual_mov_b32 v12, s83574; GFX1250-NEXT:    v_dual_mov_b32 v26, s3 :: v_dual_mov_b32 v1, s343575; GFX1250-NEXT:    v_dual_mov_b32 v3, s33 :: v_dual_mov_b32 v5, s313576; GFX1250-NEXT:    v_dual_mov_b32 v7, s30 :: v_dual_mov_b32 v9, s293577; GFX1250-NEXT:    v_dual_mov_b32 v11, s28 :: v_dual_mov_b32 v13, s273578; GFX1250-NEXT:    s_ashr_i32 s22, s5, 313579; GFX1250-NEXT:    s_ashr_i32 s23, s4, 313580; GFX1250-NEXT:    v_dual_mov_b32 v14, s9 :: v_dual_mov_b32 v16, s63581; GFX1250-NEXT:    v_dual_mov_b32 v15, s26 :: v_dual_mov_b32 v17, s253582; GFX1250-NEXT:    s_ashr_i32 s20, s3, 313583; GFX1250-NEXT:    s_ashr_i32 s21, s2, 313584; GFX1250-NEXT:    v_dual_mov_b32 v18, s7 :: v_dual_mov_b32 v20, s43585; GFX1250-NEXT:    v_dual_mov_b32 v19, s24 :: v_dual_mov_b32 v21, s233586; GFX1250-NEXT:    s_ashr_i32 s18, s1, 313587; GFX1250-NEXT:    s_ashr_i32 s19, s0, 313588; GFX1250-NEXT:    v_dual_mov_b32 v22, s5 :: v_dual_mov_b32 v24, s23589; GFX1250-NEXT:    v_dual_mov_b32 v23, s22 :: v_dual_mov_b32 v25, s213590; GFX1250-NEXT:    v_mov_b32_e32 v27, s203591; GFX1250-NEXT:    s_clause 0x13592; GFX1250-NEXT:    global_store_b128 v28, v[0:3], s[16:17] offset:1123593; GFX1250-NEXT:    global_store_b128 v28, v[4:7], s[16:17] offset:963594; GFX1250-NEXT:    s_wait_xcnt 0x13595; GFX1250-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s193596; GFX1250-NEXT:    v_dual_mov_b32 v2, s1 :: v_dual_mov_b32 v3, s183597; GFX1250-NEXT:    s_clause 0x53598; GFX1250-NEXT:    global_store_b128 v28, v[8:11], s[16:17] offset:803599; GFX1250-NEXT:    global_store_b128 v28, v[12:15], s[16:17] offset:643600; GFX1250-NEXT:    global_store_b128 v28, v[16:19], s[16:17] offset:483601; GFX1250-NEXT:    global_store_b128 v28, v[20:23], s[16:17] offset:323602; GFX1250-NEXT:    global_store_b128 v28, v[24:27], s[16:17] offset:163603; GFX1250-NEXT:    global_store_b128 v28, v[0:3], s[16:17]3604; GFX1250-NEXT:    s_endpgm3605  %ld = load <16 x i32>, ptr addrspace(4) %in3606  %ext = sext <16 x i32> %ld to <16 x i64>3607  store <16 x i64> %ext, ptr addrspace(1) %out3608  ret void3609}3610 3611define amdgpu_kernel void @constant_zextload_v16i32_to_v16i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {3612; GFX6-NOHSA-LABEL: constant_zextload_v16i32_to_v16i64:3613; GFX6-NOHSA:       ; %bb.0:3614; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x93615; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3616; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03617; GFX6-NOHSA-NEXT:    s_mov_b32 s19, 0xf0003618; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 03619; GFX6-NOHSA-NEXT:    s_mov_b32 s18, -13620; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v13621; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3622; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s143623; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s153624; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:1123625; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3626; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s123627; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s133628; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:963629; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3630; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s103631; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s113632; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:803633; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3634; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s83635; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s93636; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:643637; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3638; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s63639; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s73640; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:483641; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3642; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s43643; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s53644; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:323645; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3646; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s23647; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s33648; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 0 offset:163649; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)3650; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s03651; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s13652; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[16:19], 03653; GFX6-NOHSA-NEXT:    s_endpgm3654;3655; GFX7-HSA-LABEL: constant_zextload_v16i32_to_v16i64:3656; GFX7-HSA:       ; %bb.0:3657; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s173658; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x03659; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s133660; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 83661; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 03662; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v13663; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)3664; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03665; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x703666; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 03667; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s183668; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s193669; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)3670; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s143671; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s153672; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3673; GFX7-HSA-NEXT:    s_nop 03674; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s123675; GFX7-HSA-NEXT:    s_add_u32 s12, s16, 0x603676; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s133677; GFX7-HSA-NEXT:    s_addc_u32 s13, s17, 03678; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s123679; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s133680; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3681; GFX7-HSA-NEXT:    s_nop 03682; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s103683; GFX7-HSA-NEXT:    s_add_u32 s10, s16, 0x503684; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s113685; GFX7-HSA-NEXT:    s_addc_u32 s11, s17, 03686; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s103687; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s113688; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3689; GFX7-HSA-NEXT:    s_nop 03690; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s83691; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 643692; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s93693; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 03694; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s83695; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s93696; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3697; GFX7-HSA-NEXT:    s_nop 03698; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s63699; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 483700; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s73701; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 03702; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s63703; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s73704; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3705; GFX7-HSA-NEXT:    s_nop 03706; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s43707; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 323708; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s53709; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 03710; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s43711; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s53712; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3713; GFX7-HSA-NEXT:    s_nop 03714; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s23715; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 163716; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s33717; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 03718; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s33719; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s23720; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3721; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s163722; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s03723; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s13724; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s173725; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3726; GFX7-HSA-NEXT:    s_endpgm3727;3728; GFX8-NOHSA-LABEL: constant_zextload_v16i32_to_v16i64:3729; GFX8-NOHSA:       ; %bb.0:3730; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[16:19], s[4:5], 0x243731; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 03732; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v13733; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3734; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03735; GFX8-NOHSA-NEXT:    s_add_u32 s18, s16, 0x703736; GFX8-NOHSA-NEXT:    s_addc_u32 s19, s17, 03737; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s183738; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s193739; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3740; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s143741; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s153742; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3743; GFX8-NOHSA-NEXT:    s_nop 03744; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s123745; GFX8-NOHSA-NEXT:    s_add_u32 s12, s16, 0x603746; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s133747; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s17, 03748; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s123749; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s133750; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3751; GFX8-NOHSA-NEXT:    s_nop 03752; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s103753; GFX8-NOHSA-NEXT:    s_add_u32 s10, s16, 0x503754; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s113755; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s17, 03756; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s103757; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s113758; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3759; GFX8-NOHSA-NEXT:    s_nop 03760; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s83761; GFX8-NOHSA-NEXT:    s_add_u32 s8, s16, 643762; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s93763; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s17, 03764; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s83765; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s93766; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3767; GFX8-NOHSA-NEXT:    s_nop 03768; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s63769; GFX8-NOHSA-NEXT:    s_add_u32 s6, s16, 483770; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s73771; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s17, 03772; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s63773; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s73774; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3775; GFX8-NOHSA-NEXT:    s_nop 03776; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s43777; GFX8-NOHSA-NEXT:    s_add_u32 s4, s16, 323778; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s53779; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s17, 03780; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s43781; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s53782; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3783; GFX8-NOHSA-NEXT:    s_nop 03784; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s23785; GFX8-NOHSA-NEXT:    s_add_u32 s2, s16, 163786; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s33787; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s17, 03788; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s33789; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s23790; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3791; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s163792; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s03793; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s13794; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s173795; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]3796; GFX8-NOHSA-NEXT:    s_endpgm3797;3798; EG-LABEL: constant_zextload_v16i32_to_v16i64:3799; EG:       ; %bb.0:3800; EG-NEXT:    ALU 0, @20, KC0[CB0:0-32], KC1[]3801; EG-NEXT:    TEX 3 @123802; EG-NEXT:    ALU 54, @21, KC0[CB0:0-32], KC1[]3803; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T15.X, 03804; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T14.X, 03805; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T13.X, 03806; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T12.X, 03807; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T3.X, 03808; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T9.XYZW, T2.X, 03809; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T1.X, 03810; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T0.X, 13811; EG-NEXT:    CF_END3812; EG-NEXT:    Fetch clause starting at 12:3813; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 48, #13814; EG-NEXT:     VTX_READ_128 T2.XYZW, T0.X, 0, #13815; EG-NEXT:     VTX_READ_128 T3.XYZW, T0.X, 16, #13816; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 32, #13817; EG-NEXT:    ALU clause starting at 20:3818; EG-NEXT:     MOV * T0.X, KC0[2].Z,3819; EG-NEXT:    ALU clause starting at 21:3820; EG-NEXT:     MOV T4.X, T1.Z,3821; EG-NEXT:     MOV T4.Y, 0.0,3822; EG-NEXT:     MOV * T5.X, T1.X,3823; EG-NEXT:     MOV * T5.Y, 0.0,3824; EG-NEXT:     MOV T6.X, T0.Z,3825; EG-NEXT:     MOV T6.Y, 0.0,3826; EG-NEXT:     MOV * T7.X, T0.X,3827; EG-NEXT:     MOV * T7.Y, 0.0,3828; EG-NEXT:     MOV T8.X, T3.Z,3829; EG-NEXT:     MOV T8.Y, 0.0,3830; EG-NEXT:     MOV * T9.X, T3.X,3831; EG-NEXT:     MOV * T9.Y, 0.0,3832; EG-NEXT:     MOV T10.X, T2.Z,3833; EG-NEXT:     MOV T10.Y, 0.0,3834; EG-NEXT:     MOV * T11.X, T2.X,3835; EG-NEXT:     MOV T11.Y, 0.0,3836; EG-NEXT:     MOV T4.Z, T1.W,3837; EG-NEXT:     MOV T4.W, 0.0,3838; EG-NEXT:     MOV * T5.Z, T1.Y,3839; EG-NEXT:     MOV * T5.W, 0.0,3840; EG-NEXT:     MOV T6.Z, T0.W,3841; EG-NEXT:     MOV T6.W, 0.0,3842; EG-NEXT:     MOV * T7.Z, T0.Y,3843; EG-NEXT:     MOV * T7.W, 0.0,3844; EG-NEXT:     MOV T8.Z, T3.W,3845; EG-NEXT:     MOV T8.W, 0.0,3846; EG-NEXT:     MOV * T9.Z, T3.Y,3847; EG-NEXT:     MOV * T9.W, 0.0,3848; EG-NEXT:     MOV T10.Z, T2.W,3849; EG-NEXT:     MOV T10.W, 0.0,3850; EG-NEXT:     MOV * T11.Z, T2.Y,3851; EG-NEXT:     MOV * T11.W, 0.0,3852; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,3853; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3854; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)3855; EG-NEXT:     LSHR T1.X, PV.W, literal.x,3856; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3857; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)3858; EG-NEXT:     LSHR T2.X, PV.W, literal.x,3859; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3860; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)3861; EG-NEXT:     LSHR T3.X, PV.W, literal.x,3862; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3863; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)3864; EG-NEXT:     LSHR T12.X, PV.W, literal.x,3865; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3866; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)3867; EG-NEXT:     LSHR T13.X, PV.W, literal.x,3868; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3869; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)3870; EG-NEXT:     LSHR T14.X, PV.W, literal.x,3871; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,3872; EG-NEXT:    2(2.802597e-45), 112(1.569454e-43)3873; EG-NEXT:     LSHR * T15.X, PV.W, literal.x,3874; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)3875;3876; GFX9-HSA-LABEL: constant_zextload_v16i32_to_v16i64:3877; GFX9-HSA:       ; %bb.0:3878; GFX9-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x03879; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 03880; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, v13881; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)3882; GFX9-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x03883; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)3884; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s143885; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s153886; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:1123887; GFX9-HSA-NEXT:    s_nop 03888; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s123889; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s133890; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:963891; GFX9-HSA-NEXT:    s_nop 03892; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s103893; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s113894; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:803895; GFX9-HSA-NEXT:    s_nop 03896; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s83897; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s93898; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:643899; GFX9-HSA-NEXT:    s_nop 03900; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s63901; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s73902; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:483903; GFX9-HSA-NEXT:    s_nop 03904; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s43905; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s53906; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:323907; GFX9-HSA-NEXT:    s_nop 03908; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s23909; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s33910; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17] offset:163911; GFX9-HSA-NEXT:    s_nop 03912; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s03913; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s13914; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[16:17]3915; GFX9-HSA-NEXT:    s_endpgm3916;3917; GFX12-LABEL: constant_zextload_v16i32_to_v16i64:3918; GFX12:       ; %bb.0:3919; GFX12-NEXT:    s_load_b128 s[16:19], s[4:5], 0x243920; GFX12-NEXT:    s_wait_kmcnt 0x03921; GFX12-NEXT:    s_load_b512 s[0:15], s[18:19], 0x03922; GFX12-NEXT:    s_wait_kmcnt 0x03923; GFX12-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s143924; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)3925; GFX12-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_mov_b32 v2, s153926; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:1123927; GFX12-NEXT:    v_mov_b32_e32 v0, s123928; GFX12-NEXT:    v_mov_b32_e32 v2, s133929; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:963930; GFX12-NEXT:    v_mov_b32_e32 v0, s103931; GFX12-NEXT:    v_mov_b32_e32 v2, s113932; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:803933; GFX12-NEXT:    v_mov_b32_e32 v0, s83934; GFX12-NEXT:    v_mov_b32_e32 v2, s93935; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:643936; GFX12-NEXT:    v_mov_b32_e32 v0, s63937; GFX12-NEXT:    v_mov_b32_e32 v2, s73938; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:483939; GFX12-NEXT:    v_mov_b32_e32 v0, s43940; GFX12-NEXT:    v_mov_b32_e32 v2, s53941; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:323942; GFX12-NEXT:    v_mov_b32_e32 v0, s23943; GFX12-NEXT:    v_mov_b32_e32 v2, s33944; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:163945; GFX12-NEXT:    v_mov_b32_e32 v0, s03946; GFX12-NEXT:    v_mov_b32_e32 v2, s13947; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[16:17]3948; GFX12-NEXT:    s_endpgm3949;3950; GFX1250-LABEL: constant_zextload_v16i32_to_v16i64:3951; GFX1250:       ; %bb.0:3952; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 13953; GFX1250-NEXT:    s_load_b128 s[16:19], s[4:5], 0x243954; GFX1250-NEXT:    s_wait_kmcnt 0x03955; GFX1250-NEXT:    s_load_b512 s[0:15], s[18:19], 0x03956; GFX1250-NEXT:    s_wait_kmcnt 0x03957; GFX1250-NEXT:    v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, s143958; GFX1250-NEXT:    s_delay_alu instid0(VALU_DEP_1)3959; GFX1250-NEXT:    v_dual_mov_b32 v3, v1 :: v_dual_mov_b32 v2, s153960; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:1123961; GFX1250-NEXT:    s_wait_xcnt 0x03962; GFX1250-NEXT:    v_dual_mov_b32 v0, s12 :: v_dual_mov_b32 v2, s133963; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:963964; GFX1250-NEXT:    s_wait_xcnt 0x03965; GFX1250-NEXT:    v_dual_mov_b32 v0, s10 :: v_dual_mov_b32 v2, s113966; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:803967; GFX1250-NEXT:    s_wait_xcnt 0x03968; GFX1250-NEXT:    v_dual_mov_b32 v0, s8 :: v_dual_mov_b32 v2, s93969; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:643970; GFX1250-NEXT:    s_wait_xcnt 0x03971; GFX1250-NEXT:    v_dual_mov_b32 v0, s6 :: v_dual_mov_b32 v2, s73972; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:483973; GFX1250-NEXT:    s_wait_xcnt 0x03974; GFX1250-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v2, s53975; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:323976; GFX1250-NEXT:    s_wait_xcnt 0x03977; GFX1250-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v2, s33978; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17] offset:163979; GFX1250-NEXT:    s_wait_xcnt 0x03980; GFX1250-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v2, s13981; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[16:17]3982; GFX1250-NEXT:    s_endpgm3983  %ld = load <16 x i32>, ptr addrspace(4) %in3984  %ext = zext <16 x i32> %ld to <16 x i64>3985  store <16 x i64> %ext, ptr addrspace(1) %out3986  ret void3987}3988 3989define amdgpu_kernel void @constant_sextload_v32i32_to_v32i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {3990; GFX6-NOHSA-LABEL: constant_sextload_v32i32_to_v32i64:3991; GFX6-NOHSA:       ; %bb.0:3992; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x93993; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)3994; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[16:31], s[2:3], 0x103995; GFX6-NOHSA-NEXT:    s_mov_b32 s39, 0xf0003996; GFX6-NOHSA-NEXT:    s_mov_b32 s38, -13997; GFX6-NOHSA-NEXT:    s_mov_b32 s36, s03998; GFX6-NOHSA-NEXT:    s_mov_b32 s37, s13999; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[2:3], 0x04000; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4001; GFX6-NOHSA-NEXT:    s_ashr_i32 s33, s17, 314002; GFX6-NOHSA-NEXT:    s_ashr_i32 s34, s16, 314003; GFX6-NOHSA-NEXT:    s_ashr_i32 s35, s19, 314004; GFX6-NOHSA-NEXT:    s_ashr_i32 s40, s18, 314005; GFX6-NOHSA-NEXT:    s_ashr_i32 s41, s21, 314006; GFX6-NOHSA-NEXT:    s_ashr_i32 s42, s20, 314007; GFX6-NOHSA-NEXT:    s_ashr_i32 s43, s30, 314008; GFX6-NOHSA-NEXT:    s_ashr_i32 s44, s31, 314009; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s434010; GFX6-NOHSA-NEXT:    s_ashr_i32 s43, s28, 314011; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s444012; GFX6-NOHSA-NEXT:    s_ashr_i32 s44, s29, 314013; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s434014; GFX6-NOHSA-NEXT:    s_ashr_i32 s43, s23, 314015; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s444016; GFX6-NOHSA-NEXT:    s_ashr_i32 s44, s22, 314017; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s304018; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s314019; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s284020; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s294021; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s264022; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s244023; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v16, s224024; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:2404025; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4026; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s204027; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[36:39], 0 offset:2244028; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4029; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s184030; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v20, s164031; GFX6-NOHSA-NEXT:    s_ashr_i32 s16, s25, 314032; GFX6-NOHSA-NEXT:    s_ashr_i32 s18, s27, 314033; GFX6-NOHSA-NEXT:    s_ashr_i32 s20, s26, 314034; GFX6-NOHSA-NEXT:    s_ashr_i32 s22, s24, 314035; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s274036; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s254037; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s234038; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s214039; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s194040; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v22, s174041; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s204042; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s184043; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[36:39], 0 offset:2084044; GFX6-NOHSA-NEXT:    s_ashr_i32 s17, s1, 314045; GFX6-NOHSA-NEXT:    s_ashr_i32 s18, s0, 314046; GFX6-NOHSA-NEXT:    s_ashr_i32 s19, s3, 314047; GFX6-NOHSA-NEXT:    s_ashr_i32 s20, s2, 314048; GFX6-NOHSA-NEXT:    s_ashr_i32 s21, s5, 314049; GFX6-NOHSA-NEXT:    s_ashr_i32 s23, s4, 314050; GFX6-NOHSA-NEXT:    s_ashr_i32 s24, s7, 314051; GFX6-NOHSA-NEXT:    s_ashr_i32 s25, s6, 314052; GFX6-NOHSA-NEXT:    s_ashr_i32 s26, s9, 314053; GFX6-NOHSA-NEXT:    s_ashr_i32 s27, s8, 314054; GFX6-NOHSA-NEXT:    s_ashr_i32 s28, s11, 314055; GFX6-NOHSA-NEXT:    s_ashr_i32 s29, s10, 314056; GFX6-NOHSA-NEXT:    s_ashr_i32 s30, s13, 314057; GFX6-NOHSA-NEXT:    s_ashr_i32 s31, s12, 314058; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s224059; GFX6-NOHSA-NEXT:    s_ashr_i32 s22, s15, 314060; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s164061; GFX6-NOHSA-NEXT:    s_ashr_i32 s16, s14, 314062; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[36:39], 0 offset:1924063; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(1)4064; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s144065; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s154066; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v17, s444067; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s434068; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[16:19], off, s[36:39], 0 offset:1764069; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(1)4070; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s124071; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s134072; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s424073; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s414074; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1604075; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4076; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s104077; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s114078; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s404079; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s354080; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[36:39], 0 offset:1444081; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4082; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v4, s84083; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v6, s94084; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v21, s344085; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v23, s334086; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[20:23], off, s[36:39], 0 offset:1284087; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v16, s64088; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v18, s74089; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s164090; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s224091; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[36:39], 0 offset:1124092; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4093; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v8, s44094; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v10, s54095; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s314096; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s304097; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[36:39], 0 offset:964098; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4099; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v12, s24100; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v14, s34101; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s294102; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s284103; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:804104; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)4105; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s04106; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s14107; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v5, s274108; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v7, s264109; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[4:7], off, s[36:39], 0 offset:644110; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v17, s254111; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v19, s244112; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[16:19], off, s[36:39], 0 offset:484113; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v9, s234114; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v11, s214115; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[8:11], off, s[36:39], 0 offset:324116; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v13, s204117; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v15, s194118; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[12:15], off, s[36:39], 0 offset:164119; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s184120; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s174121; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 04122; GFX6-NOHSA-NEXT:    s_endpgm4123;4124; GFX7-HSA-LABEL: constant_sextload_v32i32_to_v32i64:4125; GFX7-HSA:       ; %bb.0:4126; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s174127; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x04128; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s134129; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 84130; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)4131; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x104132; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)4133; GFX7-HSA-NEXT:    s_ashr_i32 s20, s1, 314134; GFX7-HSA-NEXT:    s_ashr_i32 s21, s0, 314135; GFX7-HSA-NEXT:    s_ashr_i32 s22, s3, 314136; GFX7-HSA-NEXT:    s_ashr_i32 s23, s2, 314137; GFX7-HSA-NEXT:    s_ashr_i32 s24, s5, 314138; GFX7-HSA-NEXT:    s_ashr_i32 s25, s4, 314139; GFX7-HSA-NEXT:    s_ashr_i32 s28, s7, 314140; GFX7-HSA-NEXT:    s_ashr_i32 s29, s6, 314141; GFX7-HSA-NEXT:    v_mov_b32_e32 v27, s144142; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s124143; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s104144; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s84145; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s64146; GFX7-HSA-NEXT:    s_ashr_i32 s36, s9, 314147; GFX7-HSA-NEXT:    s_ashr_i32 s37, s8, 314148; GFX7-HSA-NEXT:    s_ashr_i32 s38, s11, 314149; GFX7-HSA-NEXT:    s_ashr_i32 s39, s10, 314150; GFX7-HSA-NEXT:    s_ashr_i32 s40, s13, 314151; GFX7-HSA-NEXT:    s_ashr_i32 s41, s12, 314152; GFX7-HSA-NEXT:    s_ashr_i32 s42, s15, 314153; GFX7-HSA-NEXT:    s_ashr_i32 s43, s14, 314154; GFX7-HSA-NEXT:    v_mov_b32_e32 v29, s154155; GFX7-HSA-NEXT:    v_mov_b32_e32 v25, s134156; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s114157; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s94158; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s74159; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s44160; GFX7-HSA-NEXT:    v_mov_b32_e32 v18, s54161; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s24162; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s34163; GFX7-HSA-NEXT:    v_mov_b32_e32 v20, s04164; GFX7-HSA-NEXT:    v_mov_b32_e32 v22, s14165; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x04166; GFX7-HSA-NEXT:    v_mov_b32_e32 v28, s434167; GFX7-HSA-NEXT:    v_mov_b32_e32 v30, s424168; GFX7-HSA-NEXT:    v_mov_b32_e32 v24, s414169; GFX7-HSA-NEXT:    v_mov_b32_e32 v26, s404170; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)4171; GFX7-HSA-NEXT:    s_ashr_i32 s18, s1, 314172; GFX7-HSA-NEXT:    s_ashr_i32 s19, s0, 314173; GFX7-HSA-NEXT:    s_ashr_i32 s26, s3, 314174; GFX7-HSA-NEXT:    s_ashr_i32 s27, s2, 314175; GFX7-HSA-NEXT:    s_ashr_i32 s30, s5, 314176; GFX7-HSA-NEXT:    s_ashr_i32 s31, s4, 314177; GFX7-HSA-NEXT:    s_ashr_i32 s33, s7, 314178; GFX7-HSA-NEXT:    s_ashr_i32 s44, s6, 314179; GFX7-HSA-NEXT:    s_ashr_i32 s45, s9, 314180; GFX7-HSA-NEXT:    s_ashr_i32 s46, s8, 314181; GFX7-HSA-NEXT:    s_ashr_i32 s47, s11, 314182; GFX7-HSA-NEXT:    s_ashr_i32 s48, s10, 314183; GFX7-HSA-NEXT:    s_ashr_i32 s49, s13, 314184; GFX7-HSA-NEXT:    s_ashr_i32 s50, s12, 314185; GFX7-HSA-NEXT:    s_ashr_i32 s51, s15, 314186; GFX7-HSA-NEXT:    s_ashr_i32 s52, s14, 314187; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0xf04188; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04189; GFX7-HSA-NEXT:    v_mov_b32_e32 v31, s344190; GFX7-HSA-NEXT:    v_mov_b32_e32 v32, s354191; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0xe04192; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04193; GFX7-HSA-NEXT:    v_mov_b32_e32 v33, s344194; GFX7-HSA-NEXT:    v_mov_b32_e32 v34, s354195; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0xd04196; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04197; GFX7-HSA-NEXT:    v_mov_b32_e32 v36, s354198; GFX7-HSA-NEXT:    v_mov_b32_e32 v35, s344199; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0xc04200; GFX7-HSA-NEXT:    flat_store_dwordx4 v[31:32], v[27:30]4201; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04202; GFX7-HSA-NEXT:    v_mov_b32_e32 v27, s344203; GFX7-HSA-NEXT:    v_mov_b32_e32 v28, s354204; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0xb04205; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04206; GFX7-HSA-NEXT:    v_mov_b32_e32 v29, s344207; GFX7-HSA-NEXT:    v_mov_b32_e32 v30, s354208; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0xa04209; GFX7-HSA-NEXT:    flat_store_dwordx4 v[33:34], v[23:26]4210; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04211; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s344212; GFX7-HSA-NEXT:    v_mov_b32_e32 v24, s354213; GFX7-HSA-NEXT:    s_add_u32 s34, s16, 0x904214; GFX7-HSA-NEXT:    s_addc_u32 s35, s17, 04215; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s374216; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s364217; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s284218; GFX7-HSA-NEXT:    s_add_u32 s28, s16, 0x804219; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s294220; GFX7-HSA-NEXT:    s_addc_u32 s29, s17, 04221; GFX7-HSA-NEXT:    flat_store_dwordx4 v[27:28], v[4:7]4222; GFX7-HSA-NEXT:    v_mov_b32_e32 v19, s244223; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s284224; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s294225; GFX7-HSA-NEXT:    s_add_u32 s28, s16, 0x704226; GFX7-HSA-NEXT:    s_addc_u32 s29, s17, 04227; GFX7-HSA-NEXT:    s_add_u32 s24, s16, 0x604228; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s254229; GFX7-HSA-NEXT:    s_addc_u32 s25, s17, 04230; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s394231; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s384232; GFX7-HSA-NEXT:    v_mov_b32_e32 v28, s254233; GFX7-HSA-NEXT:    v_mov_b32_e32 v25, s344234; GFX7-HSA-NEXT:    flat_store_dwordx4 v[35:36], v[8:11]4235; GFX7-HSA-NEXT:    v_mov_b32_e32 v27, s244236; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s284237; GFX7-HSA-NEXT:    s_add_u32 s24, s16, 0x504238; GFX7-HSA-NEXT:    v_mov_b32_e32 v26, s354239; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s294240; GFX7-HSA-NEXT:    s_addc_u32 s25, s17, 04241; GFX7-HSA-NEXT:    flat_store_dwordx4 v[29:30], v[0:3]4242; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s234243; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s224244; GFX7-HSA-NEXT:    v_mov_b32_e32 v21, s214245; GFX7-HSA-NEXT:    flat_store_dwordx4 v[23:24], v[16:19]4246; GFX7-HSA-NEXT:    flat_store_dwordx4 v[25:26], v[12:15]4247; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s524248; GFX7-HSA-NEXT:    v_mov_b32_e32 v23, s204249; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s514250; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s144251; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s154252; GFX7-HSA-NEXT:    v_mov_b32_e32 v30, s254253; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s504254; GFX7-HSA-NEXT:    flat_store_dwordx4 v[5:6], v[20:23]4255; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s494256; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]4257; GFX7-HSA-NEXT:    s_add_u32 s14, s16, 644258; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s124259; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s134260; GFX7-HSA-NEXT:    v_mov_b32_e32 v29, s244261; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s484262; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s474263; GFX7-HSA-NEXT:    s_addc_u32 s15, s17, 04264; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s144265; GFX7-HSA-NEXT:    flat_store_dwordx4 v[27:28], v[3:6]4266; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s114267; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s104268; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s464269; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s454270; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s154271; GFX7-HSA-NEXT:    flat_store_dwordx4 v[29:30], v[6:9]4272; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s94273; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s84274; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[9:12]4275; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s64276; GFX7-HSA-NEXT:    s_add_u32 s6, s16, 484277; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s74278; GFX7-HSA-NEXT:    s_addc_u32 s7, s17, 04279; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s64280; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s444281; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s334282; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s74283; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4284; GFX7-HSA-NEXT:    s_nop 04285; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s44286; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 324287; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s54288; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 04289; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s44290; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s314291; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s304292; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s54293; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4294; GFX7-HSA-NEXT:    s_nop 04295; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s24296; GFX7-HSA-NEXT:    s_add_u32 s2, s16, 164297; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s34298; GFX7-HSA-NEXT:    s_addc_u32 s3, s17, 04299; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s34300; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s274301; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s264302; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s24303; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4304; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s164305; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s04306; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s194307; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s14308; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s184309; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s174310; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4311; GFX7-HSA-NEXT:    s_endpgm4312;4313; GFX8-NOHSA-LABEL: constant_sextload_v32i32_to_v32i64:4314; GFX8-NOHSA:       ; %bb.0:4315; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[36:39], s[4:5], 0x244316; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4317; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x04318; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x404319; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)4320; GFX8-NOHSA-NEXT:    s_ashr_i32 s33, s1, 314321; GFX8-NOHSA-NEXT:    s_ashr_i32 s34, s0, 314322; GFX8-NOHSA-NEXT:    s_ashr_i32 s35, s3, 314323; GFX8-NOHSA-NEXT:    s_ashr_i32 s38, s2, 314324; GFX8-NOHSA-NEXT:    s_ashr_i32 s39, s5, 314325; GFX8-NOHSA-NEXT:    s_ashr_i32 s40, s4, 314326; GFX8-NOHSA-NEXT:    s_ashr_i32 s41, s7, 314327; GFX8-NOHSA-NEXT:    s_ashr_i32 s42, s6, 314328; GFX8-NOHSA-NEXT:    s_ashr_i32 s43, s9, 314329; GFX8-NOHSA-NEXT:    s_ashr_i32 s44, s8, 314330; GFX8-NOHSA-NEXT:    s_ashr_i32 s45, s11, 314331; GFX8-NOHSA-NEXT:    s_ashr_i32 s46, s10, 314332; GFX8-NOHSA-NEXT:    s_ashr_i32 s47, s13, 314333; GFX8-NOHSA-NEXT:    s_ashr_i32 s48, s12, 314334; GFX8-NOHSA-NEXT:    s_ashr_i32 s49, s15, 314335; GFX8-NOHSA-NEXT:    s_ashr_i32 s50, s14, 314336; GFX8-NOHSA-NEXT:    s_ashr_i32 s51, s17, 314337; GFX8-NOHSA-NEXT:    s_ashr_i32 s52, s16, 314338; GFX8-NOHSA-NEXT:    s_ashr_i32 s53, s19, 314339; GFX8-NOHSA-NEXT:    s_ashr_i32 s54, s18, 314340; GFX8-NOHSA-NEXT:    s_ashr_i32 s55, s21, 314341; GFX8-NOHSA-NEXT:    s_ashr_i32 s56, s20, 314342; GFX8-NOHSA-NEXT:    s_ashr_i32 s57, s23, 314343; GFX8-NOHSA-NEXT:    s_ashr_i32 s58, s22, 314344; GFX8-NOHSA-NEXT:    s_ashr_i32 s59, s25, 314345; GFX8-NOHSA-NEXT:    s_ashr_i32 s60, s24, 314346; GFX8-NOHSA-NEXT:    s_ashr_i32 s61, s27, 314347; GFX8-NOHSA-NEXT:    s_ashr_i32 s62, s26, 314348; GFX8-NOHSA-NEXT:    s_ashr_i32 s63, s29, 314349; GFX8-NOHSA-NEXT:    s_ashr_i32 s64, s28, 314350; GFX8-NOHSA-NEXT:    s_ashr_i32 s65, s31, 314351; GFX8-NOHSA-NEXT:    s_ashr_i32 s66, s30, 314352; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s304353; GFX8-NOHSA-NEXT:    s_add_u32 s30, s36, 0xf04354; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s314355; GFX8-NOHSA-NEXT:    s_addc_u32 s31, s37, 04356; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s304357; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s664358; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s654359; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s314360; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4361; GFX8-NOHSA-NEXT:    s_nop 04362; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s284363; GFX8-NOHSA-NEXT:    s_add_u32 s28, s36, 0xe04364; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s294365; GFX8-NOHSA-NEXT:    s_addc_u32 s29, s37, 04366; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s284367; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s644368; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s634369; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s294370; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4371; GFX8-NOHSA-NEXT:    s_nop 04372; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s264373; GFX8-NOHSA-NEXT:    s_add_u32 s26, s36, 0xd04374; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s274375; GFX8-NOHSA-NEXT:    s_addc_u32 s27, s37, 04376; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s264377; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s624378; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s614379; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s274380; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4381; GFX8-NOHSA-NEXT:    s_nop 04382; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s244383; GFX8-NOHSA-NEXT:    s_add_u32 s24, s36, 0xc04384; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s254385; GFX8-NOHSA-NEXT:    s_addc_u32 s25, s37, 04386; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s244387; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s604388; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s594389; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s254390; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4391; GFX8-NOHSA-NEXT:    s_nop 04392; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s224393; GFX8-NOHSA-NEXT:    s_add_u32 s22, s36, 0xb04394; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s234395; GFX8-NOHSA-NEXT:    s_addc_u32 s23, s37, 04396; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s224397; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s584398; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s574399; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s234400; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4401; GFX8-NOHSA-NEXT:    s_nop 04402; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s204403; GFX8-NOHSA-NEXT:    s_add_u32 s20, s36, 0xa04404; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s214405; GFX8-NOHSA-NEXT:    s_addc_u32 s21, s37, 04406; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s204407; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s564408; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s554409; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s214410; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4411; GFX8-NOHSA-NEXT:    s_nop 04412; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s184413; GFX8-NOHSA-NEXT:    s_add_u32 s18, s36, 0x904414; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s194415; GFX8-NOHSA-NEXT:    s_addc_u32 s19, s37, 04416; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s184417; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s544418; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s534419; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s194420; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4421; GFX8-NOHSA-NEXT:    s_nop 04422; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s164423; GFX8-NOHSA-NEXT:    s_add_u32 s16, s36, 0x804424; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s174425; GFX8-NOHSA-NEXT:    s_addc_u32 s17, s37, 04426; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s164427; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s524428; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s514429; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s174430; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4431; GFX8-NOHSA-NEXT:    s_nop 04432; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s144433; GFX8-NOHSA-NEXT:    s_add_u32 s14, s36, 0x704434; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s154435; GFX8-NOHSA-NEXT:    s_addc_u32 s15, s37, 04436; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s144437; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s504438; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s494439; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s154440; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4441; GFX8-NOHSA-NEXT:    s_nop 04442; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s124443; GFX8-NOHSA-NEXT:    s_add_u32 s12, s36, 0x604444; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s134445; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s37, 04446; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s124447; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s484448; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s474449; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s134450; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4451; GFX8-NOHSA-NEXT:    s_nop 04452; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s104453; GFX8-NOHSA-NEXT:    s_add_u32 s10, s36, 0x504454; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s114455; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s37, 04456; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s104457; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s464458; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s454459; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s114460; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4461; GFX8-NOHSA-NEXT:    s_nop 04462; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s84463; GFX8-NOHSA-NEXT:    s_add_u32 s8, s36, 644464; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s94465; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s37, 04466; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s84467; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s444468; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s434469; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s94470; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4471; GFX8-NOHSA-NEXT:    s_nop 04472; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s64473; GFX8-NOHSA-NEXT:    s_add_u32 s6, s36, 484474; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s74475; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s37, 04476; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s64477; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s424478; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s414479; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s74480; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4481; GFX8-NOHSA-NEXT:    s_nop 04482; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s44483; GFX8-NOHSA-NEXT:    s_add_u32 s4, s36, 324484; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s54485; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s37, 04486; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s44487; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s404488; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s394489; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s54490; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4491; GFX8-NOHSA-NEXT:    s_nop 04492; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s24493; GFX8-NOHSA-NEXT:    s_add_u32 s2, s36, 164494; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s34495; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s37, 04496; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s34497; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s384498; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s354499; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s24500; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4501; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s364502; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s04503; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s344504; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s14505; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s334506; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s374507; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]4508; GFX8-NOHSA-NEXT:    s_endpgm4509;4510; EG-LABEL: constant_sextload_v32i32_to_v32i64:4511; EG:       ; %bb.0:4512; EG-NEXT:    ALU 32, @36, KC0[CB0:0-32], KC1[]4513; EG-NEXT:    TEX 7 @204514; EG-NEXT:    ALU 96, @69, KC0[CB0:0-32], KC1[]4515; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T32.XYZW, T12.X, 04516; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T23.X, 04517; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T31.XYZW, T21.X, 04518; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T15.XYZW, T20.X, 04519; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T30.XYZW, T19.X, 04520; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T16.XYZW, T10.X, 04521; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T29.XYZW, T9.X, 04522; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T17.XYZW, T8.X, 04523; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T28.XYZW, T7.X, 04524; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T18.XYZW, T6.X, 04525; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T27.XYZW, T5.X, 04526; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T4.X, 04527; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T26.XYZW, T3.X, 04528; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T25.XYZW, T2.X, 04529; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T24.XYZW, T1.X, 04530; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T22.XYZW, T0.X, 14531; EG-NEXT:    CF_END4532; EG-NEXT:    Fetch clause starting at 20:4533; EG-NEXT:     VTX_READ_128 T12.XYZW, T11.X, 112, #14534; EG-NEXT:     VTX_READ_128 T13.XYZW, T11.X, 96, #14535; EG-NEXT:     VTX_READ_128 T14.XYZW, T11.X, 80, #14536; EG-NEXT:     VTX_READ_128 T15.XYZW, T11.X, 64, #14537; EG-NEXT:     VTX_READ_128 T16.XYZW, T11.X, 48, #14538; EG-NEXT:     VTX_READ_128 T17.XYZW, T11.X, 32, #14539; EG-NEXT:     VTX_READ_128 T18.XYZW, T11.X, 16, #14540; EG-NEXT:     VTX_READ_128 T11.XYZW, T11.X, 0, #14541; EG-NEXT:    ALU clause starting at 36:4542; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,4543; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4544; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)4545; EG-NEXT:     LSHR T1.X, PV.W, literal.x,4546; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4547; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)4548; EG-NEXT:     LSHR T2.X, PV.W, literal.x,4549; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4550; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)4551; EG-NEXT:     LSHR T3.X, PV.W, literal.x,4552; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4553; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)4554; EG-NEXT:     LSHR T4.X, PV.W, literal.x,4555; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4556; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)4557; EG-NEXT:     LSHR T5.X, PV.W, literal.x,4558; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4559; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)4560; EG-NEXT:     LSHR T6.X, PV.W, literal.x,4561; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4562; EG-NEXT:    2(2.802597e-45), 112(1.569454e-43)4563; EG-NEXT:     LSHR T7.X, PV.W, literal.x,4564; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4565; EG-NEXT:    2(2.802597e-45), 128(1.793662e-43)4566; EG-NEXT:     LSHR T8.X, PV.W, literal.x,4567; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4568; EG-NEXT:    2(2.802597e-45), 144(2.017870e-43)4569; EG-NEXT:     LSHR T9.X, PV.W, literal.x,4570; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4571; EG-NEXT:    2(2.802597e-45), 160(2.242078e-43)4572; EG-NEXT:     LSHR T10.X, PV.W, literal.x,4573; EG-NEXT:     MOV * T11.X, KC0[2].Z,4574; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)4575; EG-NEXT:    ALU clause starting at 69:4576; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,4577; EG-NEXT:    176(2.466285e-43), 0(0.000000e+00)4578; EG-NEXT:     LSHR T19.X, PV.W, literal.x,4579; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4580; EG-NEXT:    2(2.802597e-45), 192(2.690493e-43)4581; EG-NEXT:     LSHR T20.X, PV.W, literal.x,4582; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,4583; EG-NEXT:    2(2.802597e-45), 208(2.914701e-43)4584; EG-NEXT:     LSHR T21.X, PV.W, literal.x,4585; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.y,4586; EG-NEXT:     ASHR * T22.W, T11.Y, literal.z,4587; EG-NEXT:    2(2.802597e-45), 224(3.138909e-43)4588; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4589; EG-NEXT:     LSHR T23.X, PV.W, literal.x,4590; EG-NEXT:     ASHR T22.Y, T11.X, literal.y,4591; EG-NEXT:     ASHR T24.W, T11.W, literal.y,4592; EG-NEXT:     MOV * T22.X, T11.X,4593; EG-NEXT:    2(2.802597e-45), 31(4.344025e-44)4594; EG-NEXT:     ASHR T24.Y, T11.Z, literal.x,4595; EG-NEXT:     ASHR * T25.W, T18.Y, literal.x,4596; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4597; EG-NEXT:     MOV T24.X, T11.Z,4598; EG-NEXT:     ASHR T25.Y, T18.X, literal.x,4599; EG-NEXT:     MOV T22.Z, T11.Y,4600; EG-NEXT:     ASHR T26.W, T18.W, literal.x,4601; EG-NEXT:     MOV * T25.X, T18.X,4602; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4603; EG-NEXT:     ASHR T26.Y, T18.Z, literal.x,4604; EG-NEXT:     MOV T24.Z, T11.W,4605; EG-NEXT:     ASHR * T11.W, T17.Y, literal.x,4606; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4607; EG-NEXT:     MOV T26.X, T18.Z,4608; EG-NEXT:     ASHR T11.Y, T17.X, literal.x,4609; EG-NEXT:     MOV T25.Z, T18.Y,4610; EG-NEXT:     ASHR T27.W, T17.W, literal.x,4611; EG-NEXT:     MOV * T11.X, T17.X,4612; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4613; EG-NEXT:     ASHR T27.Y, T17.Z, literal.x,4614; EG-NEXT:     MOV T26.Z, T18.W,4615; EG-NEXT:     ASHR * T18.W, T16.Y, literal.x,4616; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4617; EG-NEXT:     MOV T27.X, T17.Z,4618; EG-NEXT:     ASHR T18.Y, T16.X, literal.x,4619; EG-NEXT:     MOV T11.Z, T17.Y,4620; EG-NEXT:     ASHR T28.W, T16.W, literal.x,4621; EG-NEXT:     MOV * T18.X, T16.X,4622; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4623; EG-NEXT:     ASHR T28.Y, T16.Z, literal.x,4624; EG-NEXT:     MOV T27.Z, T17.W,4625; EG-NEXT:     ASHR * T17.W, T15.Y, literal.x,4626; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4627; EG-NEXT:     MOV T28.X, T16.Z,4628; EG-NEXT:     ASHR T17.Y, T15.X, literal.x,4629; EG-NEXT:     MOV T18.Z, T16.Y,4630; EG-NEXT:     ASHR T29.W, T15.W, literal.x,4631; EG-NEXT:     MOV * T17.X, T15.X,4632; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4633; EG-NEXT:     ASHR T29.Y, T15.Z, literal.x,4634; EG-NEXT:     MOV T28.Z, T16.W,4635; EG-NEXT:     ASHR * T16.W, T14.Y, literal.x,4636; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4637; EG-NEXT:     MOV T29.X, T15.Z,4638; EG-NEXT:     ASHR T16.Y, T14.X, literal.x,4639; EG-NEXT:     MOV T17.Z, T15.Y,4640; EG-NEXT:     ASHR T30.W, T14.W, literal.x,4641; EG-NEXT:     MOV * T16.X, T14.X,4642; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4643; EG-NEXT:     ASHR T30.Y, T14.Z, literal.x,4644; EG-NEXT:     MOV T29.Z, T15.W,4645; EG-NEXT:     ASHR * T15.W, T13.Y, literal.x,4646; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4647; EG-NEXT:     MOV T30.X, T14.Z,4648; EG-NEXT:     ASHR T15.Y, T13.X, literal.x,4649; EG-NEXT:     MOV T16.Z, T14.Y,4650; EG-NEXT:     ASHR T31.W, T13.W, literal.x,4651; EG-NEXT:     MOV * T15.X, T13.X,4652; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4653; EG-NEXT:     ASHR T31.Y, T13.Z, literal.x,4654; EG-NEXT:     MOV T30.Z, T14.W,4655; EG-NEXT:     ASHR * T14.W, T12.Y, literal.x,4656; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4657; EG-NEXT:     MOV T31.X, T13.Z,4658; EG-NEXT:     ASHR T14.Y, T12.X, literal.x,4659; EG-NEXT:     MOV T15.Z, T13.Y,4660; EG-NEXT:     ASHR T32.W, T12.W, literal.x,4661; EG-NEXT:     MOV * T14.X, T12.X,4662; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4663; EG-NEXT:     ASHR T32.Y, T12.Z, literal.x,4664; EG-NEXT:     MOV * T31.Z, T13.W,4665; EG-NEXT:    31(4.344025e-44), 0(0.000000e+00)4666; EG-NEXT:     MOV T32.X, T12.Z,4667; EG-NEXT:     MOV T14.Z, T12.Y,4668; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,4669; EG-NEXT:    240(3.363116e-43), 0(0.000000e+00)4670; EG-NEXT:     LSHR T12.X, PV.W, literal.x,4671; EG-NEXT:     MOV * T32.Z, T12.W,4672; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)4673;4674; GFX9-HSA-LABEL: constant_sextload_v32i32_to_v32i64:4675; GFX9-HSA:       ; %bb.0:4676; GFX9-HSA-NEXT:    s_load_dwordx4 s[36:39], s[8:9], 0x04677; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, 04678; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)4679; GFX9-HSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x404680; GFX9-HSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x04681; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)4682; GFX9-HSA-NEXT:    s_ashr_i32 s58, s30, 314683; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s584684; GFX9-HSA-NEXT:    s_ashr_i32 s58, s31, 314685; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s584686; GFX9-HSA-NEXT:    s_ashr_i32 s58, s28, 314687; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s584688; GFX9-HSA-NEXT:    s_ashr_i32 s58, s29, 314689; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s584690; GFX9-HSA-NEXT:    s_ashr_i32 s58, s26, 314691; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, s584692; GFX9-HSA-NEXT:    s_ashr_i32 s58, s27, 314693; GFX9-HSA-NEXT:    v_mov_b32_e32 v10, s584694; GFX9-HSA-NEXT:    s_ashr_i32 s58, s24, 314695; GFX9-HSA-NEXT:    v_mov_b32_e32 v11, s584696; GFX9-HSA-NEXT:    s_ashr_i32 s58, s25, 314697; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s304698; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s314699; GFX9-HSA-NEXT:    s_ashr_i32 s57, s23, 314700; GFX9-HSA-NEXT:    v_mov_b32_e32 v13, s584701; GFX9-HSA-NEXT:    s_ashr_i32 s58, s22, 314702; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:2404703; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s294704; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s284705; GFX9-HSA-NEXT:    s_ashr_i32 s55, s21, 314706; GFX9-HSA-NEXT:    s_ashr_i32 s56, s20, 314707; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[4:7], s[36:37] offset:2244708; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s224709; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s584710; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s234711; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s574712; GFX9-HSA-NEXT:    s_ashr_i32 s53, s19, 314713; GFX9-HSA-NEXT:    s_ashr_i32 s54, s18, 314714; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:1764715; GFX9-HSA-NEXT:    s_ashr_i32 s51, s17, 314716; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s204717; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s564718; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s214719; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s554720; GFX9-HSA-NEXT:    s_ashr_i32 s52, s16, 314721; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:1604722; GFX9-HSA-NEXT:    s_ashr_i32 s49, s15, 314723; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s184724; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s544725; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s194726; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s534727; GFX9-HSA-NEXT:    s_ashr_i32 s50, s14, 314728; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:1444729; GFX9-HSA-NEXT:    s_ashr_i32 s47, s13, 314730; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s164731; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s524732; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s174733; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s514734; GFX9-HSA-NEXT:    s_ashr_i32 s48, s12, 314735; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:1284736; GFX9-HSA-NEXT:    s_ashr_i32 s45, s11, 314737; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s144738; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s504739; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s154740; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s494741; GFX9-HSA-NEXT:    s_ashr_i32 s46, s10, 314742; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:1124743; GFX9-HSA-NEXT:    s_ashr_i32 s43, s9, 314744; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s124745; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s484746; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s134747; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s474748; GFX9-HSA-NEXT:    s_ashr_i32 s44, s8, 314749; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:964750; GFX9-HSA-NEXT:    s_ashr_i32 s41, s7, 314751; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s104752; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s464753; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s114754; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s454755; GFX9-HSA-NEXT:    s_ashr_i32 s42, s6, 314756; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:804757; GFX9-HSA-NEXT:    s_ashr_i32 s39, s5, 314758; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s84759; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s444760; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s94761; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s434762; GFX9-HSA-NEXT:    s_ashr_i32 s40, s4, 314763; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:644764; GFX9-HSA-NEXT:    s_ashr_i32 s35, s3, 314765; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s64766; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s424767; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s74768; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s414769; GFX9-HSA-NEXT:    s_ashr_i32 s38, s2, 314770; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:484771; GFX9-HSA-NEXT:    s_ashr_i32 s33, s1, 314772; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s44773; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s404774; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s54775; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s394776; GFX9-HSA-NEXT:    s_ashr_i32 s34, s0, 314777; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s264778; GFX9-HSA-NEXT:    v_mov_b32_e32 v9, s274779; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:324780; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[7:10], s[36:37] offset:2084781; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s24782; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s384783; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s34784; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s354785; GFX9-HSA-NEXT:    v_mov_b32_e32 v10, s244786; GFX9-HSA-NEXT:    v_mov_b32_e32 v12, s254787; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37] offset:164788; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[10:13], s[36:37] offset:1924789; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s04790; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s344791; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s14792; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s334793; GFX9-HSA-NEXT:    global_store_dwordx4 v0, v[1:4], s[36:37]4794; GFX9-HSA-NEXT:    s_endpgm4795;4796; GFX12-LABEL: constant_sextload_v32i32_to_v32i64:4797; GFX12:       ; %bb.0:4798; GFX12-NEXT:    s_load_b128 s[36:39], s[4:5], 0x244799; GFX12-NEXT:    s_wait_kmcnt 0x04800; GFX12-NEXT:    s_clause 0x14801; GFX12-NEXT:    s_load_b512 s[0:15], s[38:39], 0x04802; GFX12-NEXT:    s_load_b512 s[16:31], s[38:39], 0x404803; GFX12-NEXT:    s_wait_kmcnt 0x04804; GFX12-NEXT:    s_ashr_i32 s49, s15, 314805; GFX12-NEXT:    s_ashr_i32 s64, s31, 314806; GFX12-NEXT:    s_ashr_i32 s65, s30, 314807; GFX12-NEXT:    s_ashr_i32 s62, s29, 314808; GFX12-NEXT:    s_ashr_i32 s63, s28, 314809; GFX12-NEXT:    v_dual_mov_b32 v24, 0 :: v_dual_mov_b32 v1, s654810; GFX12-NEXT:    s_ashr_i32 s60, s27, 314811; GFX12-NEXT:    s_ashr_i32 s61, s26, 314812; GFX12-NEXT:    v_dual_mov_b32 v0, s30 :: v_dual_mov_b32 v3, s644813; GFX12-NEXT:    v_dual_mov_b32 v2, s31 :: v_dual_mov_b32 v5, s634814; GFX12-NEXT:    s_ashr_i32 s58, s25, 314815; GFX12-NEXT:    s_ashr_i32 s59, s24, 314816; GFX12-NEXT:    v_dual_mov_b32 v4, s28 :: v_dual_mov_b32 v7, s624817; GFX12-NEXT:    v_dual_mov_b32 v6, s29 :: v_dual_mov_b32 v9, s614818; GFX12-NEXT:    v_dual_mov_b32 v8, s26 :: v_dual_mov_b32 v11, s604819; GFX12-NEXT:    v_dual_mov_b32 v10, s27 :: v_dual_mov_b32 v13, s594820; GFX12-NEXT:    s_ashr_i32 s57, s23, 314821; GFX12-NEXT:    v_dual_mov_b32 v12, s24 :: v_dual_mov_b32 v15, s584822; GFX12-NEXT:    s_ashr_i32 s24, s22, 314823; GFX12-NEXT:    v_mov_b32_e32 v14, s254824; GFX12-NEXT:    s_ashr_i32 s55, s21, 314825; GFX12-NEXT:    s_ashr_i32 s56, s20, 314826; GFX12-NEXT:    s_ashr_i32 s53, s19, 314827; GFX12-NEXT:    s_ashr_i32 s54, s18, 314828; GFX12-NEXT:    s_clause 0x34829; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[36:37] offset:2404830; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[36:37] offset:2244831; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[36:37] offset:2084832; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[36:37] offset:1924833; GFX12-NEXT:    v_dual_mov_b32 v0, s22 :: v_dual_mov_b32 v3, s574834; GFX12-NEXT:    s_wait_alu depctr_sa_sdst(0)4835; GFX12-NEXT:    v_dual_mov_b32 v1, s24 :: v_dual_mov_b32 v2, s234836; GFX12-NEXT:    v_mov_b32_e32 v5, s564837; GFX12-NEXT:    s_ashr_i32 s51, s17, 314838; GFX12-NEXT:    s_ashr_i32 s52, s16, 314839; GFX12-NEXT:    v_dual_mov_b32 v4, s20 :: v_dual_mov_b32 v7, s554840; GFX12-NEXT:    v_dual_mov_b32 v6, s21 :: v_dual_mov_b32 v9, s544841; GFX12-NEXT:    s_ashr_i32 s50, s14, 314842; GFX12-NEXT:    v_dual_mov_b32 v8, s18 :: v_dual_mov_b32 v11, s534843; GFX12-NEXT:    v_dual_mov_b32 v10, s19 :: v_dual_mov_b32 v13, s524844; GFX12-NEXT:    s_ashr_i32 s45, s11, 314845; GFX12-NEXT:    s_ashr_i32 s46, s10, 314846; GFX12-NEXT:    s_ashr_i32 s47, s13, 314847; GFX12-NEXT:    s_ashr_i32 s48, s12, 314848; GFX12-NEXT:    v_dual_mov_b32 v12, s16 :: v_dual_mov_b32 v15, s514849; GFX12-NEXT:    v_dual_mov_b32 v14, s17 :: v_dual_mov_b32 v17, s504850; GFX12-NEXT:    s_ashr_i32 s43, s9, 314851; GFX12-NEXT:    s_ashr_i32 s44, s8, 314852; GFX12-NEXT:    v_dual_mov_b32 v16, s14 :: v_dual_mov_b32 v19, s494853; GFX12-NEXT:    v_dual_mov_b32 v18, s15 :: v_dual_mov_b32 v21, s484854; GFX12-NEXT:    s_ashr_i32 s41, s7, 314855; GFX12-NEXT:    s_ashr_i32 s42, s6, 314856; GFX12-NEXT:    v_dual_mov_b32 v20, s12 :: v_dual_mov_b32 v23, s474857; GFX12-NEXT:    v_mov_b32_e32 v22, s134858; GFX12-NEXT:    s_clause 0x54859; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[36:37] offset:1764860; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[36:37] offset:1604861; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[36:37] offset:1444862; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[36:37] offset:1284863; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[36:37] offset:1124864; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[36:37] offset:964865; GFX12-NEXT:    v_dual_mov_b32 v0, s10 :: v_dual_mov_b32 v3, s454866; GFX12-NEXT:    v_dual_mov_b32 v1, s46 :: v_dual_mov_b32 v2, s114867; GFX12-NEXT:    v_mov_b32_e32 v5, s444868; GFX12-NEXT:    s_ashr_i32 s39, s5, 314869; GFX12-NEXT:    s_ashr_i32 s40, s4, 314870; GFX12-NEXT:    v_dual_mov_b32 v4, s8 :: v_dual_mov_b32 v7, s434871; GFX12-NEXT:    v_dual_mov_b32 v6, s9 :: v_dual_mov_b32 v9, s424872; GFX12-NEXT:    s_ashr_i32 s35, s3, 314873; GFX12-NEXT:    s_ashr_i32 s38, s2, 314874; GFX12-NEXT:    v_dual_mov_b32 v8, s6 :: v_dual_mov_b32 v11, s414875; GFX12-NEXT:    v_dual_mov_b32 v10, s7 :: v_dual_mov_b32 v13, s404876; GFX12-NEXT:    s_ashr_i32 s33, s1, 314877; GFX12-NEXT:    s_ashr_i32 s34, s0, 314878; GFX12-NEXT:    v_dual_mov_b32 v12, s4 :: v_dual_mov_b32 v15, s394879; GFX12-NEXT:    v_dual_mov_b32 v14, s5 :: v_dual_mov_b32 v17, s384880; GFX12-NEXT:    v_dual_mov_b32 v16, s2 :: v_dual_mov_b32 v19, s354881; GFX12-NEXT:    v_dual_mov_b32 v18, s3 :: v_dual_mov_b32 v21, s344882; GFX12-NEXT:    v_dual_mov_b32 v20, s0 :: v_dual_mov_b32 v23, s334883; GFX12-NEXT:    v_mov_b32_e32 v22, s14884; GFX12-NEXT:    s_clause 0x54885; GFX12-NEXT:    global_store_b128 v24, v[0:3], s[36:37] offset:804886; GFX12-NEXT:    global_store_b128 v24, v[4:7], s[36:37] offset:644887; GFX12-NEXT:    global_store_b128 v24, v[8:11], s[36:37] offset:484888; GFX12-NEXT:    global_store_b128 v24, v[12:15], s[36:37] offset:324889; GFX12-NEXT:    global_store_b128 v24, v[16:19], s[36:37] offset:164890; GFX12-NEXT:    global_store_b128 v24, v[20:23], s[36:37]4891; GFX12-NEXT:    s_endpgm4892;4893; GFX1250-LABEL: constant_sextload_v32i32_to_v32i64:4894; GFX1250:       ; %bb.0:4895; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 14896; GFX1250-NEXT:    s_load_b128 s[36:39], s[4:5], 0x244897; GFX1250-NEXT:    s_wait_kmcnt 0x04898; GFX1250-NEXT:    s_clause 0x14899; GFX1250-NEXT:    s_load_b512 s[0:15], s[38:39], 0x04900; GFX1250-NEXT:    s_load_b512 s[16:31], s[38:39], 0x404901; GFX1250-NEXT:    v_mov_b32_e32 v24, 04902; GFX1250-NEXT:    s_wait_kmcnt 0x04903; GFX1250-NEXT:    s_ashr_i32 s49, s15, 314904; GFX1250-NEXT:    s_ashr_i32 s64, s31, 314905; GFX1250-NEXT:    s_ashr_i32 s65, s30, 314906; GFX1250-NEXT:    s_ashr_i32 s62, s29, 314907; GFX1250-NEXT:    s_ashr_i32 s63, s28, 314908; GFX1250-NEXT:    s_ashr_i32 s60, s27, 314909; GFX1250-NEXT:    s_ashr_i32 s61, s26, 314910; GFX1250-NEXT:    v_dual_mov_b32 v0, s30 :: v_dual_mov_b32 v2, s314911; GFX1250-NEXT:    v_dual_mov_b32 v4, s28 :: v_dual_mov_b32 v1, s654912; GFX1250-NEXT:    v_mov_b32_e32 v3, s644913; GFX1250-NEXT:    s_ashr_i32 s58, s25, 314914; GFX1250-NEXT:    s_ashr_i32 s59, s24, 314915; GFX1250-NEXT:    v_dual_mov_b32 v6, s29 :: v_dual_mov_b32 v8, s264916; GFX1250-NEXT:    v_dual_mov_b32 v5, s63 :: v_dual_mov_b32 v7, s624917; GFX1250-NEXT:    v_dual_mov_b32 v9, s61 :: v_dual_mov_b32 v10, s274918; GFX1250-NEXT:    v_dual_mov_b32 v11, s60 :: v_dual_mov_b32 v12, s244919; GFX1250-NEXT:    s_ashr_i32 s57, s23, 314920; GFX1250-NEXT:    v_dual_mov_b32 v13, s59 :: v_dual_mov_b32 v14, s254921; GFX1250-NEXT:    v_mov_b32_e32 v15, s584922; GFX1250-NEXT:    s_ashr_i32 s24, s22, 314923; GFX1250-NEXT:    s_ashr_i32 s55, s21, 314924; GFX1250-NEXT:    s_ashr_i32 s56, s20, 314925; GFX1250-NEXT:    s_ashr_i32 s53, s19, 314926; GFX1250-NEXT:    s_ashr_i32 s54, s18, 314927; GFX1250-NEXT:    s_clause 0x34928; GFX1250-NEXT:    global_store_b128 v24, v[0:3], s[36:37] offset:2404929; GFX1250-NEXT:    global_store_b128 v24, v[4:7], s[36:37] offset:2244930; GFX1250-NEXT:    global_store_b128 v24, v[8:11], s[36:37] offset:2084931; GFX1250-NEXT:    global_store_b128 v24, v[12:15], s[36:37] offset:1924932; GFX1250-NEXT:    s_wait_xcnt 0x34933; GFX1250-NEXT:    v_dual_mov_b32 v0, s22 :: v_dual_mov_b32 v1, s244934; GFX1250-NEXT:    v_dual_mov_b32 v2, s23 :: v_dual_mov_b32 v3, s574935; GFX1250-NEXT:    s_wait_xcnt 0x24936; GFX1250-NEXT:    v_mov_b32_e32 v4, s204937; GFX1250-NEXT:    s_ashr_i32 s51, s17, 314938; GFX1250-NEXT:    s_ashr_i32 s52, s16, 314939; GFX1250-NEXT:    v_dual_mov_b32 v5, s56 :: v_dual_mov_b32 v6, s214940; GFX1250-NEXT:    s_wait_xcnt 0x14941; GFX1250-NEXT:    v_dual_mov_b32 v7, s55 :: v_dual_mov_b32 v8, s184942; GFX1250-NEXT:    s_ashr_i32 s50, s14, 314943; GFX1250-NEXT:    v_dual_mov_b32 v9, s54 :: v_dual_mov_b32 v10, s194944; GFX1250-NEXT:    s_wait_xcnt 0x04945; GFX1250-NEXT:    v_dual_mov_b32 v11, s53 :: v_dual_mov_b32 v12, s164946; GFX1250-NEXT:    s_ashr_i32 s45, s11, 314947; GFX1250-NEXT:    s_ashr_i32 s46, s10, 314948; GFX1250-NEXT:    s_ashr_i32 s47, s13, 314949; GFX1250-NEXT:    s_ashr_i32 s48, s12, 314950; GFX1250-NEXT:    v_dual_mov_b32 v13, s52 :: v_dual_mov_b32 v14, s174951; GFX1250-NEXT:    v_dual_mov_b32 v15, s51 :: v_dual_mov_b32 v16, s144952; GFX1250-NEXT:    s_ashr_i32 s43, s9, 314953; GFX1250-NEXT:    s_ashr_i32 s44, s8, 314954; GFX1250-NEXT:    v_dual_mov_b32 v17, s50 :: v_dual_mov_b32 v18, s154955; GFX1250-NEXT:    v_dual_mov_b32 v19, s49 :: v_dual_mov_b32 v20, s124956; GFX1250-NEXT:    s_ashr_i32 s41, s7, 314957; GFX1250-NEXT:    s_ashr_i32 s42, s6, 314958; GFX1250-NEXT:    v_dual_mov_b32 v21, s48 :: v_dual_mov_b32 v22, s134959; GFX1250-NEXT:    v_mov_b32_e32 v23, s474960; GFX1250-NEXT:    s_clause 0x54961; GFX1250-NEXT:    global_store_b128 v24, v[0:3], s[36:37] offset:1764962; GFX1250-NEXT:    global_store_b128 v24, v[4:7], s[36:37] offset:1604963; GFX1250-NEXT:    global_store_b128 v24, v[8:11], s[36:37] offset:1444964; GFX1250-NEXT:    global_store_b128 v24, v[12:15], s[36:37] offset:1284965; GFX1250-NEXT:    global_store_b128 v24, v[16:19], s[36:37] offset:1124966; GFX1250-NEXT:    global_store_b128 v24, v[20:23], s[36:37] offset:964967; GFX1250-NEXT:    s_wait_xcnt 0x54968; GFX1250-NEXT:    v_dual_mov_b32 v0, s10 :: v_dual_mov_b32 v1, s464969; GFX1250-NEXT:    v_dual_mov_b32 v2, s11 :: v_dual_mov_b32 v3, s454970; GFX1250-NEXT:    s_wait_xcnt 0x44971; GFX1250-NEXT:    v_mov_b32_e32 v4, s84972; GFX1250-NEXT:    s_ashr_i32 s39, s5, 314973; GFX1250-NEXT:    s_ashr_i32 s40, s4, 314974; GFX1250-NEXT:    v_dual_mov_b32 v5, s44 :: v_dual_mov_b32 v6, s94975; GFX1250-NEXT:    s_wait_xcnt 0x34976; GFX1250-NEXT:    v_dual_mov_b32 v7, s43 :: v_dual_mov_b32 v8, s64977; GFX1250-NEXT:    s_ashr_i32 s35, s3, 314978; GFX1250-NEXT:    s_ashr_i32 s38, s2, 314979; GFX1250-NEXT:    v_dual_mov_b32 v9, s42 :: v_dual_mov_b32 v10, s74980; GFX1250-NEXT:    s_wait_xcnt 0x24981; GFX1250-NEXT:    v_dual_mov_b32 v11, s41 :: v_dual_mov_b32 v12, s44982; GFX1250-NEXT:    s_ashr_i32 s33, s1, 314983; GFX1250-NEXT:    s_ashr_i32 s34, s0, 314984; GFX1250-NEXT:    v_dual_mov_b32 v13, s40 :: v_dual_mov_b32 v14, s54985; GFX1250-NEXT:    s_wait_xcnt 0x14986; GFX1250-NEXT:    v_dual_mov_b32 v15, s39 :: v_dual_mov_b32 v16, s24987; GFX1250-NEXT:    v_dual_mov_b32 v17, s38 :: v_dual_mov_b32 v18, s34988; GFX1250-NEXT:    s_wait_xcnt 0x04989; GFX1250-NEXT:    v_dual_mov_b32 v19, s35 :: v_dual_mov_b32 v20, s04990; GFX1250-NEXT:    v_dual_mov_b32 v21, s34 :: v_dual_mov_b32 v22, s14991; GFX1250-NEXT:    v_mov_b32_e32 v23, s334992; GFX1250-NEXT:    s_clause 0x54993; GFX1250-NEXT:    global_store_b128 v24, v[0:3], s[36:37] offset:804994; GFX1250-NEXT:    global_store_b128 v24, v[4:7], s[36:37] offset:644995; GFX1250-NEXT:    global_store_b128 v24, v[8:11], s[36:37] offset:484996; GFX1250-NEXT:    global_store_b128 v24, v[12:15], s[36:37] offset:324997; GFX1250-NEXT:    global_store_b128 v24, v[16:19], s[36:37] offset:164998; GFX1250-NEXT:    global_store_b128 v24, v[20:23], s[36:37]4999; GFX1250-NEXT:    s_endpgm5000  %ld = load <32 x i32>, ptr addrspace(4) %in5001  %ext = sext <32 x i32> %ld to <32 x i64>5002  store <32 x i64> %ext, ptr addrspace(1) %out5003  ret void5004}5005 5006define amdgpu_kernel void @constant_zextload_v32i32_to_v32i64(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5007; GFX6-NOHSA-LABEL: constant_zextload_v32i32_to_v32i64:5008; GFX6-NOHSA:       ; %bb.0:5009; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95010; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5011; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[16:31], s[2:3], 0x105012; GFX6-NOHSA-NEXT:    s_mov_b32 s39, 0xf0005013; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, 05014; GFX6-NOHSA-NEXT:    s_mov_b32 s38, -15015; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, v15016; GFX6-NOHSA-NEXT:    s_mov_b32 s36, s05017; GFX6-NOHSA-NEXT:    s_mov_b32 s37, s15018; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[2:3], 0x05019; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5020; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s305021; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s315022; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:2405023; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5024; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s285025; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s295026; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:2245027; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5028; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s265029; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s275030; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:2085031; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5032; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s245033; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s255034; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1925035; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5036; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s225037; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s235038; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1765039; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5040; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s205041; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s215042; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1605043; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5044; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s185045; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s195046; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1445047; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5048; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s165049; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s175050; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1285051; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5052; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s145053; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s155054; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1125055; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5056; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s125057; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s135058; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:965059; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5060; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s105061; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s115062; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:805063; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5064; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s85065; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s95066; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:645067; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5068; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s65069; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s75070; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:485071; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5072; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s45073; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s55074; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:325075; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5076; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s25077; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s35078; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:165079; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5080; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s05081; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s15082; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 05083; GFX6-NOHSA-NEXT:    s_endpgm5084;5085; GFX7-HSA-LABEL: constant_zextload_v32i32_to_v32i64:5086; GFX7-HSA:       ; %bb.0:5087; GFX7-HSA-NEXT:    s_load_dwordx4 s[36:39], s[8:9], 0x05088; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175089; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85090; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, 05091; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135092; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5093; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0xf05094; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05095; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s15096; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s05097; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0xe05098; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05099; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s15100; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s05101; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0xd05102; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05103; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s15104; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s05105; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0xc05106; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05107; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s15108; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s05109; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0xb05110; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05111; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s15112; GFX7-HSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x105113; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s05114; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0xa05115; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05116; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s15117; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s05118; GFX7-HSA-NEXT:    s_add_u32 s0, s36, 0x905119; GFX7-HSA-NEXT:    s_addc_u32 s1, s37, 05120; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, v15121; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5122; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s305123; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s315124; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s15125; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s05126; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x05127; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5128; GFX7-HSA-NEXT:    s_nop 05129; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s285130; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s295131; GFX7-HSA-NEXT:    flat_store_dwordx4 v[6:7], v[0:3]5132; GFX7-HSA-NEXT:    s_nop 05133; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s265134; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s275135; GFX7-HSA-NEXT:    flat_store_dwordx4 v[8:9], v[0:3]5136; GFX7-HSA-NEXT:    s_nop 05137; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s245138; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s255139; GFX7-HSA-NEXT:    flat_store_dwordx4 v[10:11], v[0:3]5140; GFX7-HSA-NEXT:    s_nop 05141; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s225142; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s235143; GFX7-HSA-NEXT:    flat_store_dwordx4 v[12:13], v[0:3]5144; GFX7-HSA-NEXT:    s_nop 05145; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s205146; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s215147; GFX7-HSA-NEXT:    flat_store_dwordx4 v[14:15], v[0:3]5148; GFX7-HSA-NEXT:    s_nop 05149; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s185150; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s195151; GFX7-HSA-NEXT:    flat_store_dwordx4 v[16:17], v[0:3]5152; GFX7-HSA-NEXT:    s_nop 05153; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s165154; GFX7-HSA-NEXT:    s_add_u32 s16, s36, 0x805155; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s175156; GFX7-HSA-NEXT:    s_addc_u32 s17, s37, 05157; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s165158; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s175159; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5160; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5161; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s145162; GFX7-HSA-NEXT:    s_add_u32 s14, s36, 0x705163; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s155164; GFX7-HSA-NEXT:    s_addc_u32 s15, s37, 05165; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s145166; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s155167; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5168; GFX7-HSA-NEXT:    s_nop 05169; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s125170; GFX7-HSA-NEXT:    s_add_u32 s12, s36, 0x605171; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s135172; GFX7-HSA-NEXT:    s_addc_u32 s13, s37, 05173; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s125174; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s135175; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5176; GFX7-HSA-NEXT:    s_nop 05177; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s105178; GFX7-HSA-NEXT:    s_add_u32 s10, s36, 0x505179; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s115180; GFX7-HSA-NEXT:    s_addc_u32 s11, s37, 05181; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s105182; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s115183; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5184; GFX7-HSA-NEXT:    s_nop 05185; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s85186; GFX7-HSA-NEXT:    s_add_u32 s8, s36, 645187; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s95188; GFX7-HSA-NEXT:    s_addc_u32 s9, s37, 05189; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s85190; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s95191; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5192; GFX7-HSA-NEXT:    s_nop 05193; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s65194; GFX7-HSA-NEXT:    s_add_u32 s6, s36, 485195; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s75196; GFX7-HSA-NEXT:    s_addc_u32 s7, s37, 05197; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s65198; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s75199; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5200; GFX7-HSA-NEXT:    s_nop 05201; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s45202; GFX7-HSA-NEXT:    s_add_u32 s4, s36, 325203; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s55204; GFX7-HSA-NEXT:    s_addc_u32 s5, s37, 05205; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s45206; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s55207; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5208; GFX7-HSA-NEXT:    s_nop 05209; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s25210; GFX7-HSA-NEXT:    s_add_u32 s2, s36, 165211; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s35212; GFX7-HSA-NEXT:    s_addc_u32 s3, s37, 05213; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s35214; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s25215; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5216; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s365217; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s05218; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s15219; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s375220; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5221; GFX7-HSA-NEXT:    s_endpgm5222;5223; GFX8-NOHSA-LABEL: constant_zextload_v32i32_to_v32i64:5224; GFX8-NOHSA:       ; %bb.0:5225; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[36:39], s[4:5], 0x245226; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, 05227; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, v15228; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5229; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x405230; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x05231; GFX8-NOHSA-NEXT:    s_add_u32 s34, s36, 0xf05232; GFX8-NOHSA-NEXT:    s_addc_u32 s35, s37, 05233; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s345234; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s355235; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5236; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s305237; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s315238; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5239; GFX8-NOHSA-NEXT:    s_nop 05240; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s285241; GFX8-NOHSA-NEXT:    s_add_u32 s28, s36, 0xe05242; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s295243; GFX8-NOHSA-NEXT:    s_addc_u32 s29, s37, 05244; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s285245; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s295246; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5247; GFX8-NOHSA-NEXT:    s_nop 05248; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s265249; GFX8-NOHSA-NEXT:    s_add_u32 s26, s36, 0xd05250; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s275251; GFX8-NOHSA-NEXT:    s_addc_u32 s27, s37, 05252; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s265253; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s275254; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5255; GFX8-NOHSA-NEXT:    s_nop 05256; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s245257; GFX8-NOHSA-NEXT:    s_add_u32 s24, s36, 0xc05258; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s255259; GFX8-NOHSA-NEXT:    s_addc_u32 s25, s37, 05260; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s245261; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s255262; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5263; GFX8-NOHSA-NEXT:    s_nop 05264; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s225265; GFX8-NOHSA-NEXT:    s_add_u32 s22, s36, 0xb05266; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s235267; GFX8-NOHSA-NEXT:    s_addc_u32 s23, s37, 05268; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s225269; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s235270; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5271; GFX8-NOHSA-NEXT:    s_nop 05272; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s205273; GFX8-NOHSA-NEXT:    s_add_u32 s20, s36, 0xa05274; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s215275; GFX8-NOHSA-NEXT:    s_addc_u32 s21, s37, 05276; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s205277; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s215278; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5279; GFX8-NOHSA-NEXT:    s_nop 05280; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s185281; GFX8-NOHSA-NEXT:    s_add_u32 s18, s36, 0x905282; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s195283; GFX8-NOHSA-NEXT:    s_addc_u32 s19, s37, 05284; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s185285; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s195286; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5287; GFX8-NOHSA-NEXT:    s_nop 05288; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s165289; GFX8-NOHSA-NEXT:    s_add_u32 s16, s36, 0x805290; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s175291; GFX8-NOHSA-NEXT:    s_addc_u32 s17, s37, 05292; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s165293; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s175294; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5295; GFX8-NOHSA-NEXT:    s_nop 05296; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s145297; GFX8-NOHSA-NEXT:    s_add_u32 s14, s36, 0x705298; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s155299; GFX8-NOHSA-NEXT:    s_addc_u32 s15, s37, 05300; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s145301; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s155302; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5303; GFX8-NOHSA-NEXT:    s_nop 05304; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s125305; GFX8-NOHSA-NEXT:    s_add_u32 s12, s36, 0x605306; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s135307; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s37, 05308; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s125309; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s135310; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5311; GFX8-NOHSA-NEXT:    s_nop 05312; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s105313; GFX8-NOHSA-NEXT:    s_add_u32 s10, s36, 0x505314; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s115315; GFX8-NOHSA-NEXT:    s_addc_u32 s11, s37, 05316; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s105317; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s115318; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5319; GFX8-NOHSA-NEXT:    s_nop 05320; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s85321; GFX8-NOHSA-NEXT:    s_add_u32 s8, s36, 645322; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s95323; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s37, 05324; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s85325; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s95326; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5327; GFX8-NOHSA-NEXT:    s_nop 05328; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s65329; GFX8-NOHSA-NEXT:    s_add_u32 s6, s36, 485330; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s75331; GFX8-NOHSA-NEXT:    s_addc_u32 s7, s37, 05332; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s65333; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s75334; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5335; GFX8-NOHSA-NEXT:    s_nop 05336; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s45337; GFX8-NOHSA-NEXT:    s_add_u32 s4, s36, 325338; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s55339; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s37, 05340; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s45341; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s55342; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5343; GFX8-NOHSA-NEXT:    s_nop 05344; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s25345; GFX8-NOHSA-NEXT:    s_add_u32 s2, s36, 165346; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s35347; GFX8-NOHSA-NEXT:    s_addc_u32 s3, s37, 05348; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s35349; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s25350; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5351; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s365352; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s05353; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s15354; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s375355; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5356; GFX8-NOHSA-NEXT:    s_endpgm5357;5358; EG-LABEL: constant_zextload_v32i32_to_v32i64:5359; EG:       ; %bb.0:5360; EG-NEXT:    ALU 0, @38, KC0[CB0:0-32], KC1[]5361; EG-NEXT:    TEX 2 @225362; EG-NEXT:    ALU 10, @39, KC0[], KC1[]5363; EG-NEXT:    TEX 4 @285364; EG-NEXT:    ALU 99, @50, KC0[CB0:0-32], KC1[]5365; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T4.XYZW, T31.X, 05366; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T5.XYZW, T30.X, 05367; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T6.XYZW, T29.X, 05368; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T28.X, 05369; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T27.X, 05370; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T9.XYZW, T26.X, 05371; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T25.X, 05372; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T15.XYZW, T24.X, 05373; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T16.XYZW, T13.X, 05374; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T17.XYZW, T12.X, 05375; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T18.XYZW, T11.X, 05376; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T19.XYZW, T10.X, 05377; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T20.XYZW, T3.X, 05378; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T21.XYZW, T2.X, 05379; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T22.XYZW, T1.X, 05380; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T23.XYZW, T0.X, 15381; EG-NEXT:    CF_END5382; EG-NEXT:    Fetch clause starting at 22:5383; EG-NEXT:     VTX_READ_128 T1.XYZW, T0.X, 112, #15384; EG-NEXT:     VTX_READ_128 T2.XYZW, T0.X, 80, #15385; EG-NEXT:     VTX_READ_128 T3.XYZW, T0.X, 96, #15386; EG-NEXT:    Fetch clause starting at 28:5387; EG-NEXT:     VTX_READ_128 T10.XYZW, T0.X, 0, #15388; EG-NEXT:     VTX_READ_128 T11.XYZW, T0.X, 16, #15389; EG-NEXT:     VTX_READ_128 T12.XYZW, T0.X, 32, #15390; EG-NEXT:     VTX_READ_128 T13.XYZW, T0.X, 48, #15391; EG-NEXT:     VTX_READ_128 T0.XYZW, T0.X, 64, #15392; EG-NEXT:    ALU clause starting at 38:5393; EG-NEXT:     MOV * T0.X, KC0[2].Z,5394; EG-NEXT:    ALU clause starting at 39:5395; EG-NEXT:     MOV T4.X, T1.Z,5396; EG-NEXT:     MOV T4.Y, 0.0,5397; EG-NEXT:     MOV * T5.X, T1.X,5398; EG-NEXT:     MOV * T5.Y, 0.0,5399; EG-NEXT:     MOV T6.X, T3.Z,5400; EG-NEXT:     MOV T6.Y, 0.0,5401; EG-NEXT:     MOV * T7.X, T3.X,5402; EG-NEXT:     MOV * T7.Y, 0.0,5403; EG-NEXT:     MOV T8.X, T2.Z,5404; EG-NEXT:     MOV T8.Y, 0.0,5405; EG-NEXT:     MOV * T9.X, T2.X,5406; EG-NEXT:    ALU clause starting at 50:5407; EG-NEXT:     MOV * T9.Y, 0.0,5408; EG-NEXT:     MOV T14.X, T0.Z,5409; EG-NEXT:     MOV T14.Y, 0.0,5410; EG-NEXT:     MOV * T15.X, T0.X,5411; EG-NEXT:     MOV * T15.Y, 0.0,5412; EG-NEXT:     MOV T16.X, T13.Z,5413; EG-NEXT:     MOV T16.Y, 0.0,5414; EG-NEXT:     MOV * T17.X, T13.X,5415; EG-NEXT:     MOV * T17.Y, 0.0,5416; EG-NEXT:     MOV T18.X, T12.Z,5417; EG-NEXT:     MOV T18.Y, 0.0,5418; EG-NEXT:     MOV * T19.X, T12.X,5419; EG-NEXT:     MOV * T19.Y, 0.0,5420; EG-NEXT:     MOV T20.X, T11.Z,5421; EG-NEXT:     MOV T20.Y, 0.0,5422; EG-NEXT:     MOV * T21.X, T11.X,5423; EG-NEXT:     MOV * T21.Y, 0.0,5424; EG-NEXT:     MOV T22.X, T10.Z,5425; EG-NEXT:     MOV T22.Y, 0.0,5426; EG-NEXT:     MOV * T23.X, T10.X,5427; EG-NEXT:     MOV T23.Y, 0.0,5428; EG-NEXT:     MOV T4.Z, T1.W,5429; EG-NEXT:     MOV T4.W, 0.0,5430; EG-NEXT:     MOV * T5.Z, T1.Y,5431; EG-NEXT:     MOV * T5.W, 0.0,5432; EG-NEXT:     MOV T6.Z, T3.W,5433; EG-NEXT:     MOV T6.W, 0.0,5434; EG-NEXT:     MOV * T7.Z, T3.Y,5435; EG-NEXT:     MOV * T7.W, 0.0,5436; EG-NEXT:     MOV T8.Z, T2.W,5437; EG-NEXT:     MOV T8.W, 0.0,5438; EG-NEXT:     MOV * T9.Z, T2.Y,5439; EG-NEXT:     MOV * T9.W, 0.0,5440; EG-NEXT:     MOV T14.Z, T0.W,5441; EG-NEXT:     MOV T14.W, 0.0,5442; EG-NEXT:     MOV * T15.Z, T0.Y,5443; EG-NEXT:     MOV * T15.W, 0.0,5444; EG-NEXT:     MOV T16.Z, T13.W,5445; EG-NEXT:     MOV T16.W, 0.0,5446; EG-NEXT:     MOV * T17.Z, T13.Y,5447; EG-NEXT:     MOV * T17.W, 0.0,5448; EG-NEXT:     MOV T18.Z, T12.W,5449; EG-NEXT:     MOV T18.W, 0.0,5450; EG-NEXT:     MOV * T19.Z, T12.Y,5451; EG-NEXT:     MOV * T19.W, 0.0,5452; EG-NEXT:     MOV T20.Z, T11.W,5453; EG-NEXT:     MOV T20.W, 0.0,5454; EG-NEXT:     MOV * T21.Z, T11.Y,5455; EG-NEXT:     MOV * T21.W, 0.0,5456; EG-NEXT:     MOV T22.Z, T10.W,5457; EG-NEXT:     MOV T22.W, 0.0,5458; EG-NEXT:     MOV * T23.Z, T10.Y,5459; EG-NEXT:     MOV * T23.W, 0.0,5460; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,5461; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5462; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)5463; EG-NEXT:     LSHR T1.X, PV.W, literal.x,5464; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5465; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)5466; EG-NEXT:     LSHR T2.X, PV.W, literal.x,5467; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5468; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)5469; EG-NEXT:     LSHR T3.X, PV.W, literal.x,5470; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5471; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)5472; EG-NEXT:     LSHR T10.X, PV.W, literal.x,5473; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5474; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)5475; EG-NEXT:     LSHR T11.X, PV.W, literal.x,5476; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5477; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)5478; EG-NEXT:     LSHR T12.X, PV.W, literal.x,5479; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5480; EG-NEXT:    2(2.802597e-45), 112(1.569454e-43)5481; EG-NEXT:     LSHR T13.X, PV.W, literal.x,5482; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5483; EG-NEXT:    2(2.802597e-45), 128(1.793662e-43)5484; EG-NEXT:     LSHR T24.X, PV.W, literal.x,5485; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5486; EG-NEXT:    2(2.802597e-45), 144(2.017870e-43)5487; EG-NEXT:     LSHR T25.X, PV.W, literal.x,5488; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5489; EG-NEXT:    2(2.802597e-45), 160(2.242078e-43)5490; EG-NEXT:     LSHR T26.X, PV.W, literal.x,5491; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5492; EG-NEXT:    2(2.802597e-45), 176(2.466285e-43)5493; EG-NEXT:     LSHR T27.X, PV.W, literal.x,5494; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5495; EG-NEXT:    2(2.802597e-45), 192(2.690493e-43)5496; EG-NEXT:     LSHR T28.X, PV.W, literal.x,5497; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5498; EG-NEXT:    2(2.802597e-45), 208(2.914701e-43)5499; EG-NEXT:     LSHR T29.X, PV.W, literal.x,5500; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5501; EG-NEXT:    2(2.802597e-45), 224(3.138909e-43)5502; EG-NEXT:     LSHR T30.X, PV.W, literal.x,5503; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5504; EG-NEXT:    2(2.802597e-45), 240(3.363116e-43)5505; EG-NEXT:     LSHR * T31.X, PV.W, literal.x,5506; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)5507;5508; GFX9-HSA-LABEL: constant_zextload_v32i32_to_v32i64:5509; GFX9-HSA:       ; %bb.0:5510; GFX9-HSA-NEXT:    s_load_dwordx4 s[36:39], s[8:9], 0x05511; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, 05512; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, v15513; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)5514; GFX9-HSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x405515; GFX9-HSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x05516; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)5517; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s305518; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s315519; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:2405520; GFX9-HSA-NEXT:    s_nop 05521; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s285522; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s295523; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:2245524; GFX9-HSA-NEXT:    s_nop 05525; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s265526; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s275527; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:2085528; GFX9-HSA-NEXT:    s_nop 05529; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s245530; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s255531; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:1925532; GFX9-HSA-NEXT:    s_nop 05533; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s225534; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s235535; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:1765536; GFX9-HSA-NEXT:    s_nop 05537; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s205538; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s215539; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:1605540; GFX9-HSA-NEXT:    s_nop 05541; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s185542; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s195543; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:1445544; GFX9-HSA-NEXT:    s_nop 05545; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s165546; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s175547; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:1285548; GFX9-HSA-NEXT:    s_nop 05549; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s145550; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s155551; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:1125552; GFX9-HSA-NEXT:    s_nop 05553; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s125554; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s135555; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:965556; GFX9-HSA-NEXT:    s_nop 05557; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s105558; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s115559; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:805560; GFX9-HSA-NEXT:    s_nop 05561; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s85562; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s95563; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:645564; GFX9-HSA-NEXT:    s_nop 05565; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s65566; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s75567; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:485568; GFX9-HSA-NEXT:    s_nop 05569; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s45570; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s55571; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:325572; GFX9-HSA-NEXT:    s_nop 05573; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s25574; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s35575; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37] offset:165576; GFX9-HSA-NEXT:    s_nop 05577; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s05578; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s15579; GFX9-HSA-NEXT:    global_store_dwordx4 v1, v[0:3], s[36:37]5580; GFX9-HSA-NEXT:    s_endpgm5581;5582; GFX12-LABEL: constant_zextload_v32i32_to_v32i64:5583; GFX12:       ; %bb.0:5584; GFX12-NEXT:    s_load_b128 s[36:39], s[4:5], 0x245585; GFX12-NEXT:    s_wait_kmcnt 0x05586; GFX12-NEXT:    s_load_b512 s[16:31], s[38:39], 0x405587; GFX12-NEXT:    v_mov_b32_e32 v1, 05588; GFX12-NEXT:    s_load_b512 s[0:15], s[38:39], 0x05589; GFX12-NEXT:    s_wait_kmcnt 0x05590; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)5591; GFX12-NEXT:    v_dual_mov_b32 v0, s30 :: v_dual_mov_b32 v3, v15592; GFX12-NEXT:    v_mov_b32_e32 v2, s315593; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:2405594; GFX12-NEXT:    v_mov_b32_e32 v0, s285595; GFX12-NEXT:    v_mov_b32_e32 v2, s295596; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:2245597; GFX12-NEXT:    v_mov_b32_e32 v0, s265598; GFX12-NEXT:    v_mov_b32_e32 v2, s275599; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:2085600; GFX12-NEXT:    v_mov_b32_e32 v0, s245601; GFX12-NEXT:    v_mov_b32_e32 v2, s255602; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1925603; GFX12-NEXT:    v_mov_b32_e32 v0, s225604; GFX12-NEXT:    v_mov_b32_e32 v2, s235605; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1765606; GFX12-NEXT:    v_mov_b32_e32 v0, s205607; GFX12-NEXT:    v_mov_b32_e32 v2, s215608; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1605609; GFX12-NEXT:    v_mov_b32_e32 v0, s185610; GFX12-NEXT:    v_mov_b32_e32 v2, s195611; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1445612; GFX12-NEXT:    v_mov_b32_e32 v0, s165613; GFX12-NEXT:    v_mov_b32_e32 v2, s175614; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1285615; GFX12-NEXT:    v_mov_b32_e32 v0, s145616; GFX12-NEXT:    v_mov_b32_e32 v2, s155617; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1125618; GFX12-NEXT:    v_mov_b32_e32 v0, s125619; GFX12-NEXT:    v_mov_b32_e32 v2, s135620; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:965621; GFX12-NEXT:    v_mov_b32_e32 v0, s105622; GFX12-NEXT:    v_mov_b32_e32 v2, s115623; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:805624; GFX12-NEXT:    v_mov_b32_e32 v0, s85625; GFX12-NEXT:    v_mov_b32_e32 v2, s95626; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:645627; GFX12-NEXT:    v_mov_b32_e32 v0, s65628; GFX12-NEXT:    v_mov_b32_e32 v2, s75629; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:485630; GFX12-NEXT:    v_mov_b32_e32 v0, s45631; GFX12-NEXT:    v_mov_b32_e32 v2, s55632; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:325633; GFX12-NEXT:    v_mov_b32_e32 v0, s25634; GFX12-NEXT:    v_mov_b32_e32 v2, s35635; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:165636; GFX12-NEXT:    v_mov_b32_e32 v0, s05637; GFX12-NEXT:    v_mov_b32_e32 v2, s15638; GFX12-NEXT:    global_store_b128 v1, v[0:3], s[36:37]5639; GFX12-NEXT:    s_endpgm5640;5641; GFX1250-LABEL: constant_zextload_v32i32_to_v32i64:5642; GFX1250:       ; %bb.0:5643; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 15644; GFX1250-NEXT:    s_load_b128 s[36:39], s[4:5], 0x245645; GFX1250-NEXT:    s_wait_kmcnt 0x05646; GFX1250-NEXT:    s_load_b512 s[16:31], s[38:39], 0x405647; GFX1250-NEXT:    v_mov_b32_e32 v1, 05648; GFX1250-NEXT:    s_load_b512 s[0:15], s[38:39], 0x05649; GFX1250-NEXT:    s_wait_kmcnt 0x05650; GFX1250-NEXT:    s_delay_alu instid0(VALU_DEP_1)5651; GFX1250-NEXT:    v_dual_mov_b32 v0, s30 :: v_dual_mov_b32 v3, v15652; GFX1250-NEXT:    v_mov_b32_e32 v2, s315653; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:2405654; GFX1250-NEXT:    s_wait_xcnt 0x05655; GFX1250-NEXT:    v_dual_mov_b32 v0, s28 :: v_dual_mov_b32 v2, s295656; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:2245657; GFX1250-NEXT:    s_wait_xcnt 0x05658; GFX1250-NEXT:    v_dual_mov_b32 v0, s26 :: v_dual_mov_b32 v2, s275659; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:2085660; GFX1250-NEXT:    s_wait_xcnt 0x05661; GFX1250-NEXT:    v_dual_mov_b32 v0, s24 :: v_dual_mov_b32 v2, s255662; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1925663; GFX1250-NEXT:    s_wait_xcnt 0x05664; GFX1250-NEXT:    v_dual_mov_b32 v0, s22 :: v_dual_mov_b32 v2, s235665; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1765666; GFX1250-NEXT:    s_wait_xcnt 0x05667; GFX1250-NEXT:    v_dual_mov_b32 v0, s20 :: v_dual_mov_b32 v2, s215668; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1605669; GFX1250-NEXT:    s_wait_xcnt 0x05670; GFX1250-NEXT:    v_dual_mov_b32 v0, s18 :: v_dual_mov_b32 v2, s195671; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1445672; GFX1250-NEXT:    s_wait_xcnt 0x05673; GFX1250-NEXT:    v_dual_mov_b32 v0, s16 :: v_dual_mov_b32 v2, s175674; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1285675; GFX1250-NEXT:    s_wait_xcnt 0x05676; GFX1250-NEXT:    v_dual_mov_b32 v0, s14 :: v_dual_mov_b32 v2, s155677; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:1125678; GFX1250-NEXT:    s_wait_xcnt 0x05679; GFX1250-NEXT:    v_dual_mov_b32 v0, s12 :: v_dual_mov_b32 v2, s135680; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:965681; GFX1250-NEXT:    s_wait_xcnt 0x05682; GFX1250-NEXT:    v_dual_mov_b32 v0, s10 :: v_dual_mov_b32 v2, s115683; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:805684; GFX1250-NEXT:    s_wait_xcnt 0x05685; GFX1250-NEXT:    v_dual_mov_b32 v0, s8 :: v_dual_mov_b32 v2, s95686; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:645687; GFX1250-NEXT:    s_wait_xcnt 0x05688; GFX1250-NEXT:    v_dual_mov_b32 v0, s6 :: v_dual_mov_b32 v2, s75689; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:485690; GFX1250-NEXT:    s_wait_xcnt 0x05691; GFX1250-NEXT:    v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v2, s55692; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:325693; GFX1250-NEXT:    s_wait_xcnt 0x05694; GFX1250-NEXT:    v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v2, s35695; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37] offset:165696; GFX1250-NEXT:    s_wait_xcnt 0x05697; GFX1250-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v2, s15698; GFX1250-NEXT:    global_store_b128 v1, v[0:3], s[36:37]5699; GFX1250-NEXT:    s_endpgm5700  %ld = load <32 x i32>, ptr addrspace(4) %in5701  %ext = zext <32 x i32> %ld to <32 x i64>5702  store <32 x i64> %ext, ptr addrspace(1) %out5703  ret void5704}5705 5706define amdgpu_kernel void @constant_load_v32i32(ptr addrspace(1) %out, ptr addrspace(4) %in) #0 {5707; GFX6-NOHSA-LABEL: constant_load_v32i32:5708; GFX6-NOHSA:       ; %bb.0:5709; GFX6-NOHSA-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x95710; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5711; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[16:31], s[2:3], 0x105712; GFX6-NOHSA-NEXT:    s_mov_b32 s39, 0xf0005713; GFX6-NOHSA-NEXT:    s_mov_b32 s38, -15714; GFX6-NOHSA-NEXT:    s_mov_b32 s36, s05715; GFX6-NOHSA-NEXT:    s_mov_b32 s37, s15716; GFX6-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[2:3], 0x05717; GFX6-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5718; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s285719; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s295720; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s305721; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s315722; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:1125723; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5724; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s245725; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s255726; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s265727; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s275728; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:965729; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5730; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s205731; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s215732; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s225733; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s235734; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:805735; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5736; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s165737; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s175738; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s185739; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s195740; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:645741; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5742; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s125743; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s135744; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s145745; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s155746; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:485747; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5748; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s85749; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s95750; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s105751; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s115752; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:325753; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5754; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s45755; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s55756; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s65757; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s75758; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 0 offset:165759; GFX6-NOHSA-NEXT:    s_waitcnt expcnt(0)5760; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v0, s05761; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v1, s15762; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v2, s25763; GFX6-NOHSA-NEXT:    v_mov_b32_e32 v3, s35764; GFX6-NOHSA-NEXT:    buffer_store_dwordx4 v[0:3], off, s[36:39], 05765; GFX6-NOHSA-NEXT:    s_endpgm5766;5767; GFX7-HSA-LABEL: constant_load_v32i32:5768; GFX7-HSA:       ; %bb.0:5769; GFX7-HSA-NEXT:    s_add_i32 s12, s12, s175770; GFX7-HSA-NEXT:    s_load_dwordx4 s[16:19], s[8:9], 0x05771; GFX7-HSA-NEXT:    s_mov_b32 flat_scratch_lo, s135772; GFX7-HSA-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 85773; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5774; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x105775; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5776; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s125777; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s135778; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s145779; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s155780; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s85781; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s95782; GFX7-HSA-NEXT:    v_mov_b32_e32 v6, s105783; GFX7-HSA-NEXT:    v_mov_b32_e32 v7, s115784; GFX7-HSA-NEXT:    v_mov_b32_e32 v8, s45785; GFX7-HSA-NEXT:    v_mov_b32_e32 v9, s55786; GFX7-HSA-NEXT:    v_mov_b32_e32 v10, s65787; GFX7-HSA-NEXT:    v_mov_b32_e32 v11, s75788; GFX7-HSA-NEXT:    v_mov_b32_e32 v12, s05789; GFX7-HSA-NEXT:    v_mov_b32_e32 v13, s15790; GFX7-HSA-NEXT:    v_mov_b32_e32 v14, s25791; GFX7-HSA-NEXT:    v_mov_b32_e32 v15, s35792; GFX7-HSA-NEXT:    s_load_dwordx16 s[0:15], s[18:19], 0x05793; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x705794; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 05795; GFX7-HSA-NEXT:    v_mov_b32_e32 v16, s185796; GFX7-HSA-NEXT:    v_mov_b32_e32 v17, s195797; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x605798; GFX7-HSA-NEXT:    flat_store_dwordx4 v[16:17], v[0:3]5799; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 05800; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s185801; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s195802; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 0x505803; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]5804; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 05805; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s185806; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s195807; GFX7-HSA-NEXT:    s_add_u32 s18, s16, 645808; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[8:11]5809; GFX7-HSA-NEXT:    s_addc_u32 s19, s17, 05810; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s185811; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s195812; GFX7-HSA-NEXT:    flat_store_dwordx4 v[0:1], v[12:15]5813; GFX7-HSA-NEXT:    s_waitcnt lgkmcnt(0)5814; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s125815; GFX7-HSA-NEXT:    s_add_u32 s12, s16, 485816; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s135817; GFX7-HSA-NEXT:    s_addc_u32 s13, s17, 05818; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s125819; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s145820; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s155821; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s135822; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5823; GFX7-HSA-NEXT:    s_nop 05824; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s85825; GFX7-HSA-NEXT:    s_add_u32 s8, s16, 325826; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s95827; GFX7-HSA-NEXT:    s_addc_u32 s9, s17, 05828; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s85829; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s105830; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s115831; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s95832; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5833; GFX7-HSA-NEXT:    s_nop 05834; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s45835; GFX7-HSA-NEXT:    s_add_u32 s4, s16, 165836; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s55837; GFX7-HSA-NEXT:    s_addc_u32 s5, s17, 05838; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s45839; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s65840; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s75841; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s55842; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5843; GFX7-HSA-NEXT:    v_mov_b32_e32 v4, s165844; GFX7-HSA-NEXT:    v_mov_b32_e32 v0, s05845; GFX7-HSA-NEXT:    v_mov_b32_e32 v1, s15846; GFX7-HSA-NEXT:    v_mov_b32_e32 v2, s25847; GFX7-HSA-NEXT:    v_mov_b32_e32 v3, s35848; GFX7-HSA-NEXT:    v_mov_b32_e32 v5, s175849; GFX7-HSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5850; GFX7-HSA-NEXT:    s_endpgm5851;5852; GFX8-NOHSA-LABEL: constant_load_v32i32:5853; GFX8-NOHSA:       ; %bb.0:5854; GFX8-NOHSA-NEXT:    s_load_dwordx4 s[36:39], s[4:5], 0x245855; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5856; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x405857; GFX8-NOHSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x05858; GFX8-NOHSA-NEXT:    s_add_u32 s34, s36, 0x705859; GFX8-NOHSA-NEXT:    s_addc_u32 s35, s37, 05860; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s345861; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s355862; GFX8-NOHSA-NEXT:    s_waitcnt lgkmcnt(0)5863; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s285864; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s295865; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s305866; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s315867; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s245868; GFX8-NOHSA-NEXT:    s_add_u32 s24, s36, 0x605869; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[5:6], v[0:3]5870; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s255871; GFX8-NOHSA-NEXT:    s_addc_u32 s25, s37, 05872; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s245873; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v6, s265874; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v7, s275875; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s255876; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[0:1], v[4:7]5877; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s205878; GFX8-NOHSA-NEXT:    s_add_u32 s20, s36, 0x505879; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s215880; GFX8-NOHSA-NEXT:    s_addc_u32 s21, s37, 05881; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s205882; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s225883; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s235884; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s215885; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5886; GFX8-NOHSA-NEXT:    s_nop 05887; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s165888; GFX8-NOHSA-NEXT:    s_add_u32 s16, s36, 645889; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s175890; GFX8-NOHSA-NEXT:    s_addc_u32 s17, s37, 05891; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s165892; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s185893; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s195894; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s175895; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5896; GFX8-NOHSA-NEXT:    s_nop 05897; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s125898; GFX8-NOHSA-NEXT:    s_add_u32 s12, s36, 485899; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s135900; GFX8-NOHSA-NEXT:    s_addc_u32 s13, s37, 05901; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s125902; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s145903; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s155904; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s135905; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5906; GFX8-NOHSA-NEXT:    s_nop 05907; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s85908; GFX8-NOHSA-NEXT:    s_add_u32 s8, s36, 325909; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s95910; GFX8-NOHSA-NEXT:    s_addc_u32 s9, s37, 05911; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s85912; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s105913; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s115914; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s95915; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5916; GFX8-NOHSA-NEXT:    s_nop 05917; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s45918; GFX8-NOHSA-NEXT:    s_add_u32 s4, s36, 165919; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s55920; GFX8-NOHSA-NEXT:    s_addc_u32 s5, s37, 05921; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s45922; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s65923; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s75924; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s55925; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5926; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v4, s365927; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v0, s05928; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v1, s15929; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v2, s25930; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v3, s35931; GFX8-NOHSA-NEXT:    v_mov_b32_e32 v5, s375932; GFX8-NOHSA-NEXT:    flat_store_dwordx4 v[4:5], v[0:3]5933; GFX8-NOHSA-NEXT:    s_endpgm5934;5935; EG-LABEL: constant_load_v32i32:5936; EG:       ; %bb.0:5937; EG-NEXT:    ALU 22, @28, KC0[CB0:0-32], KC1[]5938; EG-NEXT:    TEX 7 @125939; EG-NEXT:    ALU 1, @51, KC0[], KC1[]5940; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T8.XYZW, T15.X, 05941; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T9.XYZW, T6.X, 05942; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T10.XYZW, T5.X, 05943; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T11.XYZW, T4.X, 05944; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T12.XYZW, T3.X, 05945; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T13.XYZW, T2.X, 05946; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T14.XYZW, T1.X, 05947; EG-NEXT:    MEM_RAT_CACHELESS STORE_RAW T7.XYZW, T0.X, 15948; EG-NEXT:    CF_END5949; EG-NEXT:    Fetch clause starting at 12:5950; EG-NEXT:     VTX_READ_128 T8.XYZW, T7.X, 112, #15951; EG-NEXT:     VTX_READ_128 T9.XYZW, T7.X, 96, #15952; EG-NEXT:     VTX_READ_128 T10.XYZW, T7.X, 80, #15953; EG-NEXT:     VTX_READ_128 T11.XYZW, T7.X, 64, #15954; EG-NEXT:     VTX_READ_128 T12.XYZW, T7.X, 48, #15955; EG-NEXT:     VTX_READ_128 T13.XYZW, T7.X, 32, #15956; EG-NEXT:     VTX_READ_128 T14.XYZW, T7.X, 16, #15957; EG-NEXT:     VTX_READ_128 T7.XYZW, T7.X, 0, #15958; EG-NEXT:    ALU clause starting at 28:5959; EG-NEXT:     LSHR T0.X, KC0[2].Y, literal.x,5960; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5961; EG-NEXT:    2(2.802597e-45), 16(2.242078e-44)5962; EG-NEXT:     LSHR T1.X, PV.W, literal.x,5963; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5964; EG-NEXT:    2(2.802597e-45), 32(4.484155e-44)5965; EG-NEXT:     LSHR T2.X, PV.W, literal.x,5966; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5967; EG-NEXT:    2(2.802597e-45), 48(6.726233e-44)5968; EG-NEXT:     LSHR T3.X, PV.W, literal.x,5969; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5970; EG-NEXT:    2(2.802597e-45), 64(8.968310e-44)5971; EG-NEXT:     LSHR T4.X, PV.W, literal.x,5972; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5973; EG-NEXT:    2(2.802597e-45), 80(1.121039e-43)5974; EG-NEXT:     LSHR T5.X, PV.W, literal.x,5975; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.y,5976; EG-NEXT:    2(2.802597e-45), 96(1.345247e-43)5977; EG-NEXT:     LSHR T6.X, PV.W, literal.x,5978; EG-NEXT:     MOV * T7.X, KC0[2].Z,5979; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)5980; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,5981; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)5982; EG-NEXT:    ALU clause starting at 51:5983; EG-NEXT:     LSHR * T15.X, T0.W, literal.x,5984; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)5985;5986; GFX9-HSA-LABEL: constant_load_v32i32:5987; GFX9-HSA:       ; %bb.0:5988; GFX9-HSA-NEXT:    s_load_dwordx4 s[36:39], s[8:9], 0x05989; GFX9-HSA-NEXT:    v_mov_b32_e32 v8, 05990; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)5991; GFX9-HSA-NEXT:    s_load_dwordx16 s[16:31], s[38:39], 0x405992; GFX9-HSA-NEXT:    s_load_dwordx16 s[0:15], s[38:39], 0x05993; GFX9-HSA-NEXT:    s_waitcnt lgkmcnt(0)5994; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s285995; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s295996; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s305997; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s315998; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37] offset:1125999; GFX9-HSA-NEXT:    v_mov_b32_e32 v4, s246000; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s206001; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s216002; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s226003; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s236004; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37] offset:806005; GFX9-HSA-NEXT:    v_mov_b32_e32 v5, s256006; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s166007; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s176008; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s186009; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s196010; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37] offset:646011; GFX9-HSA-NEXT:    v_mov_b32_e32 v6, s266012; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s126013; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s136014; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s146015; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s156016; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37] offset:486017; GFX9-HSA-NEXT:    v_mov_b32_e32 v7, s276018; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s86019; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s96020; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s106021; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s116022; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37] offset:326023; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[4:7], s[36:37] offset:966024; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s46025; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s56026; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s66027; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s76028; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37] offset:166029; GFX9-HSA-NEXT:    s_nop 06030; GFX9-HSA-NEXT:    v_mov_b32_e32 v0, s06031; GFX9-HSA-NEXT:    v_mov_b32_e32 v1, s16032; GFX9-HSA-NEXT:    v_mov_b32_e32 v2, s26033; GFX9-HSA-NEXT:    v_mov_b32_e32 v3, s36034; GFX9-HSA-NEXT:    global_store_dwordx4 v8, v[0:3], s[36:37]6035; GFX9-HSA-NEXT:    s_endpgm6036;6037; GFX12-LABEL: constant_load_v32i32:6038; GFX12:       ; %bb.0:6039; GFX12-NEXT:    s_load_b128 s[36:39], s[4:5], 0x246040; GFX12-NEXT:    s_wait_kmcnt 0x06041; GFX12-NEXT:    s_clause 0x16042; GFX12-NEXT:    s_load_b512 s[16:31], s[38:39], 0x406043; GFX12-NEXT:    s_load_b512 s[0:15], s[38:39], 0x06044; GFX12-NEXT:    s_wait_kmcnt 0x06045; GFX12-NEXT:    v_dual_mov_b32 v32, 0 :: v_dual_mov_b32 v1, s296046; GFX12-NEXT:    v_dual_mov_b32 v0, s28 :: v_dual_mov_b32 v3, s316047; GFX12-NEXT:    v_dual_mov_b32 v2, s30 :: v_dual_mov_b32 v5, s256048; GFX12-NEXT:    v_dual_mov_b32 v4, s24 :: v_dual_mov_b32 v7, s276049; GFX12-NEXT:    v_dual_mov_b32 v6, s26 :: v_dual_mov_b32 v9, s216050; GFX12-NEXT:    v_dual_mov_b32 v8, s20 :: v_dual_mov_b32 v11, s236051; GFX12-NEXT:    v_dual_mov_b32 v10, s22 :: v_dual_mov_b32 v13, s176052; GFX12-NEXT:    v_dual_mov_b32 v12, s16 :: v_dual_mov_b32 v15, s196053; GFX12-NEXT:    v_dual_mov_b32 v14, s18 :: v_dual_mov_b32 v17, s136054; GFX12-NEXT:    v_dual_mov_b32 v16, s12 :: v_dual_mov_b32 v19, s156055; GFX12-NEXT:    v_dual_mov_b32 v18, s14 :: v_dual_mov_b32 v21, s96056; GFX12-NEXT:    v_dual_mov_b32 v20, s8 :: v_dual_mov_b32 v23, s116057; GFX12-NEXT:    v_dual_mov_b32 v22, s10 :: v_dual_mov_b32 v25, s56058; GFX12-NEXT:    v_dual_mov_b32 v24, s4 :: v_dual_mov_b32 v27, s76059; GFX12-NEXT:    v_dual_mov_b32 v26, s6 :: v_dual_mov_b32 v29, s16060; GFX12-NEXT:    v_dual_mov_b32 v28, s0 :: v_dual_mov_b32 v31, s36061; GFX12-NEXT:    v_mov_b32_e32 v30, s26062; GFX12-NEXT:    s_clause 0x76063; GFX12-NEXT:    global_store_b128 v32, v[0:3], s[36:37] offset:1126064; GFX12-NEXT:    global_store_b128 v32, v[4:7], s[36:37] offset:966065; GFX12-NEXT:    global_store_b128 v32, v[8:11], s[36:37] offset:806066; GFX12-NEXT:    global_store_b128 v32, v[12:15], s[36:37] offset:646067; GFX12-NEXT:    global_store_b128 v32, v[16:19], s[36:37] offset:486068; GFX12-NEXT:    global_store_b128 v32, v[20:23], s[36:37] offset:326069; GFX12-NEXT:    global_store_b128 v32, v[24:27], s[36:37] offset:166070; GFX12-NEXT:    global_store_b128 v32, v[28:31], s[36:37]6071; GFX12-NEXT:    s_endpgm6072;6073; GFX1250-LABEL: constant_load_v32i32:6074; GFX1250:       ; %bb.0:6075; GFX1250-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 16076; GFX1250-NEXT:    s_load_b128 s[36:39], s[4:5], 0x246077; GFX1250-NEXT:    s_wait_kmcnt 0x06078; GFX1250-NEXT:    s_clause 0x16079; GFX1250-NEXT:    s_load_b512 s[16:31], s[38:39], 0x406080; GFX1250-NEXT:    s_load_b512 s[0:15], s[38:39], 0x06081; GFX1250-NEXT:    s_wait_kmcnt 0x06082; GFX1250-NEXT:    v_dual_mov_b32 v32, 0 :: v_dual_mov_b32 v0, s286083; GFX1250-NEXT:    v_dual_mov_b32 v1, s29 :: v_dual_mov_b32 v2, s306084; GFX1250-NEXT:    v_dual_mov_b32 v3, s31 :: v_dual_mov_b32 v4, s246085; GFX1250-NEXT:    v_dual_mov_b32 v5, s25 :: v_dual_mov_b32 v6, s266086; GFX1250-NEXT:    v_dual_mov_b32 v7, s27 :: v_dual_mov_b32 v8, s206087; GFX1250-NEXT:    v_dual_mov_b32 v9, s21 :: v_dual_mov_b32 v10, s226088; GFX1250-NEXT:    v_dual_mov_b32 v11, s23 :: v_dual_mov_b32 v12, s166089; GFX1250-NEXT:    v_dual_mov_b32 v13, s17 :: v_dual_mov_b32 v14, s186090; GFX1250-NEXT:    v_dual_mov_b32 v15, s19 :: v_dual_mov_b32 v16, s126091; GFX1250-NEXT:    v_dual_mov_b32 v17, s13 :: v_dual_mov_b32 v18, s146092; GFX1250-NEXT:    v_dual_mov_b32 v19, s15 :: v_dual_mov_b32 v20, s86093; GFX1250-NEXT:    v_dual_mov_b32 v21, s9 :: v_dual_mov_b32 v22, s106094; GFX1250-NEXT:    v_dual_mov_b32 v23, s11 :: v_dual_mov_b32 v24, s46095; GFX1250-NEXT:    v_dual_mov_b32 v25, s5 :: v_dual_mov_b32 v26, s66096; GFX1250-NEXT:    v_dual_mov_b32 v27, s7 :: v_dual_mov_b32 v28, s06097; GFX1250-NEXT:    v_dual_mov_b32 v29, s1 :: v_dual_mov_b32 v30, s26098; GFX1250-NEXT:    v_mov_b32_e32 v31, s36099; GFX1250-NEXT:    s_clause 0x76100; GFX1250-NEXT:    global_store_b128 v32, v[0:3], s[36:37] offset:1126101; GFX1250-NEXT:    global_store_b128 v32, v[4:7], s[36:37] offset:966102; GFX1250-NEXT:    global_store_b128 v32, v[8:11], s[36:37] offset:806103; GFX1250-NEXT:    global_store_b128 v32, v[12:15], s[36:37] offset:646104; GFX1250-NEXT:    global_store_b128 v32, v[16:19], s[36:37] offset:486105; GFX1250-NEXT:    global_store_b128 v32, v[20:23], s[36:37] offset:326106; GFX1250-NEXT:    global_store_b128 v32, v[24:27], s[36:37] offset:166107; GFX1250-NEXT:    global_store_b128 v32, v[28:31], s[36:37]6108; GFX1250-NEXT:    s_endpgm6109  %ld = load <32 x i32>, ptr addrspace(4) %in6110  store <32 x i32> %ld, ptr addrspace(1) %out6111  ret void6112}6113 6114attributes #0 = { nounwind }6115