brintos

brintos / llvm-project-archived public Read only

0
0
Text · 410.3 KiB · 04d906c Raw
9021 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=amdgcn < %s | FileCheck -allow-deprecated-dag-overlap -check-prefixes=SI %s3; RUN: llc -mtriple=amdgcn -mcpu=tonga -mattr=-enable-ds128 < %s | FileCheck -allow-deprecated-dag-overlap -check-prefixes=VI,VI-NO-DS128 %s4; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -mattr=-enable-ds128 < %s | FileCheck -allow-deprecated-dag-overlap -check-prefixes=GFX9,GFX9-NO-DS128 %s5; RUN: llc -mtriple=r600 -mcpu=redwood < %s | FileCheck -allow-deprecated-dag-overlap -check-prefix=EG %s6 7; Testing for ds_read/write_b1288; RUN: llc -mtriple=amdgcn -mcpu=tonga -mattr=+enable-ds128 < %s | FileCheck -allow-deprecated-dag-overlap -check-prefixes=VI,VI-DS128 %s9; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -mattr=+enable-ds128 < %s | FileCheck -allow-deprecated-dag-overlap -check-prefixes=GFX9,GFX9-DS128 %s10 11define amdgpu_kernel void @local_load_i16(ptr addrspace(3) %out, ptr addrspace(3) %in) {12; SI-LABEL: local_load_i16:13; SI:       ; %bb.0: ; %entry14; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x915; SI-NEXT:    s_waitcnt lgkmcnt(0)16; SI-NEXT:    v_mov_b32_e32 v0, s117; SI-NEXT:    s_mov_b32 m0, -118; SI-NEXT:    ds_read_u16 v0, v019; SI-NEXT:    v_mov_b32_e32 v1, s020; SI-NEXT:    s_waitcnt lgkmcnt(0)21; SI-NEXT:    ds_write_b16 v1, v022; SI-NEXT:    s_endpgm23;24; VI-LABEL: local_load_i16:25; VI:       ; %bb.0: ; %entry26; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x2427; VI-NEXT:    s_mov_b32 m0, -128; VI-NEXT:    s_waitcnt lgkmcnt(0)29; VI-NEXT:    v_mov_b32_e32 v0, s130; VI-NEXT:    ds_read_u16 v0, v031; VI-NEXT:    v_mov_b32_e32 v1, s032; VI-NEXT:    s_waitcnt lgkmcnt(0)33; VI-NEXT:    ds_write_b16 v1, v034; VI-NEXT:    s_endpgm35;36; GFX9-LABEL: local_load_i16:37; GFX9:       ; %bb.0: ; %entry38; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x2439; GFX9-NEXT:    s_waitcnt lgkmcnt(0)40; GFX9-NEXT:    v_mov_b32_e32 v0, s141; GFX9-NEXT:    ds_read_u16 v0, v042; GFX9-NEXT:    v_mov_b32_e32 v1, s043; GFX9-NEXT:    s_waitcnt lgkmcnt(0)44; GFX9-NEXT:    ds_write_b16 v1, v045; GFX9-NEXT:    s_endpgm46;47; EG-LABEL: local_load_i16:48; EG:       ; %bb.0: ; %entry49; EG-NEXT:    ALU 4, @0, KC0[CB0:0-32], KC1[]50; EG-NEXT:     MOV * T0.W, KC0[2].Z,51; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W52; EG-NEXT:     MOV T0.X, OQAP,53; EG-NEXT:     MOV * T0.W, KC0[2].Y,54; EG-NEXT:     LDS_SHORT_WRITE * T0.W, T0.X,55; EG-NEXT:    RETURN56entry:57  %ld = load i16, ptr addrspace(3) %in58  store i16 %ld, ptr addrspace(3) %out59  ret void60}61 62define amdgpu_kernel void @local_load_v2i16(ptr addrspace(3) %out, ptr addrspace(3) %in) {63; SI-LABEL: local_load_v2i16:64; SI:       ; %bb.0: ; %entry65; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x966; SI-NEXT:    s_waitcnt lgkmcnt(0)67; SI-NEXT:    v_mov_b32_e32 v0, s168; SI-NEXT:    s_mov_b32 m0, -169; SI-NEXT:    ds_read_b32 v0, v070; SI-NEXT:    v_mov_b32_e32 v1, s071; SI-NEXT:    s_waitcnt lgkmcnt(0)72; SI-NEXT:    ds_write_b32 v1, v073; SI-NEXT:    s_endpgm74;75; VI-LABEL: local_load_v2i16:76; VI:       ; %bb.0: ; %entry77; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x2478; VI-NEXT:    s_mov_b32 m0, -179; VI-NEXT:    s_waitcnt lgkmcnt(0)80; VI-NEXT:    v_mov_b32_e32 v0, s181; VI-NEXT:    ds_read_b32 v0, v082; VI-NEXT:    v_mov_b32_e32 v1, s083; VI-NEXT:    s_waitcnt lgkmcnt(0)84; VI-NEXT:    ds_write_b32 v1, v085; VI-NEXT:    s_endpgm86;87; GFX9-LABEL: local_load_v2i16:88; GFX9:       ; %bb.0: ; %entry89; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x2490; GFX9-NEXT:    s_waitcnt lgkmcnt(0)91; GFX9-NEXT:    v_mov_b32_e32 v0, s192; GFX9-NEXT:    ds_read_b32 v0, v093; GFX9-NEXT:    v_mov_b32_e32 v1, s094; GFX9-NEXT:    s_waitcnt lgkmcnt(0)95; GFX9-NEXT:    ds_write_b32 v1, v096; GFX9-NEXT:    s_endpgm97;98; EG-LABEL: local_load_v2i16:99; EG:       ; %bb.0: ; %entry100; EG-NEXT:    ALU 4, @1, KC0[CB0:0-32], KC1[]101; EG-NEXT:     MOV * T0.W, KC0[2].Z,102; EG-NEXT:     LDS_READ_RET * OQAP, T0.W103; EG-NEXT:     MOV T0.X, OQAP,104; EG-NEXT:     MOV * T0.W, KC0[2].Y,105; EG-NEXT:     LDS_WRITE * T0.W, T0.X,106; EG-NEXT:    RETURN107entry:108  %ld = load <2 x i16>, ptr addrspace(3) %in109  store <2 x i16> %ld, ptr addrspace(3) %out110  ret void111}112 113define amdgpu_kernel void @local_load_v3i16(ptr addrspace(3) %out, ptr addrspace(3) %in) {114; SI-LABEL: local_load_v3i16:115; SI:       ; %bb.0: ; %entry116; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9117; SI-NEXT:    s_waitcnt lgkmcnt(0)118; SI-NEXT:    v_mov_b32_e32 v0, s1119; SI-NEXT:    s_mov_b32 m0, -1120; SI-NEXT:    ds_read_b64 v[0:1], v0121; SI-NEXT:    v_mov_b32_e32 v2, s0122; SI-NEXT:    s_waitcnt lgkmcnt(0)123; SI-NEXT:    ds_write_b32 v2, v0124; SI-NEXT:    ds_write_b16 v2, v1 offset:4125; SI-NEXT:    s_endpgm126;127; VI-LABEL: local_load_v3i16:128; VI:       ; %bb.0: ; %entry129; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24130; VI-NEXT:    s_mov_b32 m0, -1131; VI-NEXT:    s_waitcnt lgkmcnt(0)132; VI-NEXT:    v_mov_b32_e32 v0, s1133; VI-NEXT:    ds_read_b64 v[0:1], v0134; VI-NEXT:    v_mov_b32_e32 v2, s0135; VI-NEXT:    s_waitcnt lgkmcnt(0)136; VI-NEXT:    ds_write_b16 v2, v1 offset:4137; VI-NEXT:    ds_write_b32 v2, v0138; VI-NEXT:    s_endpgm139;140; GFX9-LABEL: local_load_v3i16:141; GFX9:       ; %bb.0: ; %entry142; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24143; GFX9-NEXT:    s_waitcnt lgkmcnt(0)144; GFX9-NEXT:    v_mov_b32_e32 v0, s1145; GFX9-NEXT:    ds_read_b64 v[0:1], v0146; GFX9-NEXT:    v_mov_b32_e32 v2, s0147; GFX9-NEXT:    s_waitcnt lgkmcnt(0)148; GFX9-NEXT:    ds_write_b16 v2, v1 offset:4149; GFX9-NEXT:    ds_write_b32 v2, v0150; GFX9-NEXT:    s_endpgm151;152; EG-LABEL: local_load_v3i16:153; EG:       ; %bb.0: ; %entry154; EG-NEXT:    ALU 19, @2, KC0[CB0:0-32], KC1[]155; EG-NEXT:     MOV * T0.W, KC0[2].Z,156; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W157; EG-NEXT:     MOV T0.Y, OQAP,158; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,159; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)160; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W161; EG-NEXT:     MOV * T0.Z, OQAP,162; EG-NEXT:     LSHL T0.Z, PV.Z, literal.x,163; EG-NEXT:     AND_INT T0.W, T0.Y, literal.y,164; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.z,165; EG-NEXT:    16(2.242078e-44), 65535(9.183409e-41)166; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)167; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T1.W168; EG-NEXT:     MOV T0.Y, OQAP,169; EG-NEXT:     OR_INT T0.W, T0.Z, T0.W,170; EG-NEXT:     MOV * T1.W, KC0[2].Y,171; EG-NEXT:     LDS_WRITE * T1.W, T0.W,172; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,173; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)174; EG-NEXT:     LDS_SHORT_WRITE * T0.W, T0.Y,175; EG-NEXT:    RETURN176entry:177  %ld = load <3 x i16>, ptr addrspace(3) %in178  store <3 x i16> %ld, ptr addrspace(3) %out179  ret void180}181 182define amdgpu_kernel void @local_load_v4i16(ptr addrspace(3) %out, ptr addrspace(3) %in) {183; SI-LABEL: local_load_v4i16:184; SI:       ; %bb.0: ; %entry185; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9186; SI-NEXT:    s_waitcnt lgkmcnt(0)187; SI-NEXT:    v_mov_b32_e32 v0, s1188; SI-NEXT:    s_mov_b32 m0, -1189; SI-NEXT:    ds_read_b64 v[0:1], v0190; SI-NEXT:    v_mov_b32_e32 v2, s0191; SI-NEXT:    s_waitcnt lgkmcnt(0)192; SI-NEXT:    ds_write_b64 v2, v[0:1]193; SI-NEXT:    s_endpgm194;195; VI-LABEL: local_load_v4i16:196; VI:       ; %bb.0: ; %entry197; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24198; VI-NEXT:    s_mov_b32 m0, -1199; VI-NEXT:    s_waitcnt lgkmcnt(0)200; VI-NEXT:    v_mov_b32_e32 v0, s1201; VI-NEXT:    ds_read_b64 v[0:1], v0202; VI-NEXT:    v_mov_b32_e32 v2, s0203; VI-NEXT:    s_waitcnt lgkmcnt(0)204; VI-NEXT:    ds_write_b64 v2, v[0:1]205; VI-NEXT:    s_endpgm206;207; GFX9-LABEL: local_load_v4i16:208; GFX9:       ; %bb.0: ; %entry209; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24210; GFX9-NEXT:    s_waitcnt lgkmcnt(0)211; GFX9-NEXT:    v_mov_b32_e32 v0, s1212; GFX9-NEXT:    ds_read_b64 v[0:1], v0213; GFX9-NEXT:    v_mov_b32_e32 v2, s0214; GFX9-NEXT:    s_waitcnt lgkmcnt(0)215; GFX9-NEXT:    ds_write_b64 v2, v[0:1]216; GFX9-NEXT:    s_endpgm217;218; EG-LABEL: local_load_v4i16:219; EG:       ; %bb.0: ; %entry220; EG-NEXT:    ALU 11, @3, KC0[CB0:0-32], KC1[]221; EG-NEXT:     MOV * T0.W, KC0[2].Z,222; EG-NEXT:     LDS_READ_RET * OQAP, T0.W223; EG-NEXT:     MOV T0.X, OQAP,224; EG-NEXT:     MOV * T0.W, KC0[2].Y,225; EG-NEXT:     LDS_WRITE * T0.W, T0.X,226; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,227; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)228; EG-NEXT:     LDS_READ_RET * OQAP, T0.W229; EG-NEXT:     MOV T0.X, OQAP,230; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,231; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)232; EG-NEXT:     LDS_WRITE * T0.W, T0.X,233; EG-NEXT:    RETURN234entry:235  %ld = load <4 x i16>, ptr addrspace(3) %in236  store <4 x i16> %ld, ptr addrspace(3) %out237  ret void238}239 240define amdgpu_kernel void @local_load_v8i16(ptr addrspace(3) %out, ptr addrspace(3) %in) {241; SI-LABEL: local_load_v8i16:242; SI:       ; %bb.0: ; %entry243; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9244; SI-NEXT:    s_waitcnt lgkmcnt(0)245; SI-NEXT:    v_mov_b32_e32 v0, s1246; SI-NEXT:    s_mov_b32 m0, -1247; SI-NEXT:    ds_read2_b64 v[0:3], v0 offset1:1248; SI-NEXT:    v_mov_b32_e32 v4, s0249; SI-NEXT:    s_waitcnt lgkmcnt(0)250; SI-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:1251; SI-NEXT:    s_endpgm252;253; VI-NO-DS128-LABEL: local_load_v8i16:254; VI-NO-DS128:       ; %bb.0: ; %entry255; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24256; VI-NO-DS128-NEXT:    s_mov_b32 m0, -1257; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)258; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s1259; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:1260; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s0261; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)262; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:1263; VI-NO-DS128-NEXT:    s_endpgm264;265; GFX9-NO-DS128-LABEL: local_load_v8i16:266; GFX9-NO-DS128:       ; %bb.0: ; %entry267; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24268; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)269; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s1270; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:1271; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s0272; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)273; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:1274; GFX9-NO-DS128-NEXT:    s_endpgm275;276; EG-LABEL: local_load_v8i16:277; EG:       ; %bb.0: ; %entry278; EG-NEXT:    ALU 25, @4, KC0[CB0:0-32], KC1[]279; EG-NEXT:     MOV * T0.W, KC0[2].Z,280; EG-NEXT:     LDS_READ_RET * OQAP, T0.W281; EG-NEXT:     MOV T0.X, OQAP,282; EG-NEXT:     MOV * T0.W, KC0[2].Y,283; EG-NEXT:     LDS_WRITE * T0.W, T0.X,284; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,285; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)286; EG-NEXT:     LDS_READ_RET * OQAP, T0.W287; EG-NEXT:     MOV T0.X, OQAP,288; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,289; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)290; EG-NEXT:     LDS_WRITE * T0.W, T0.X,291; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,292; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)293; EG-NEXT:     LDS_READ_RET * OQAP, T0.W294; EG-NEXT:     MOV T0.X, OQAP,295; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,296; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)297; EG-NEXT:     LDS_WRITE * T0.W, T0.X,298; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,299; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)300; EG-NEXT:     LDS_READ_RET * OQAP, T0.W301; EG-NEXT:     MOV T0.X, OQAP,302; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,303; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)304; EG-NEXT:     LDS_WRITE * T0.W, T0.X,305; EG-NEXT:    RETURN306;307; VI-DS128-LABEL: local_load_v8i16:308; VI-DS128:       ; %bb.0: ; %entry309; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24310; VI-DS128-NEXT:    s_mov_b32 m0, -1311; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)312; VI-DS128-NEXT:    v_mov_b32_e32 v0, s1313; VI-DS128-NEXT:    ds_read_b128 v[0:3], v0314; VI-DS128-NEXT:    v_mov_b32_e32 v4, s0315; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)316; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3]317; VI-DS128-NEXT:    s_endpgm318;319; GFX9-DS128-LABEL: local_load_v8i16:320; GFX9-DS128:       ; %bb.0: ; %entry321; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24322; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)323; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s1324; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v0325; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s0326; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)327; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3]328; GFX9-DS128-NEXT:    s_endpgm329entry:330  %ld = load <8 x i16>, ptr addrspace(3) %in331  store <8 x i16> %ld, ptr addrspace(3) %out332  ret void333}334 335define amdgpu_kernel void @local_load_v16i16(ptr addrspace(3) %out, ptr addrspace(3) %in) {336; SI-LABEL: local_load_v16i16:337; SI:       ; %bb.0: ; %entry338; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9339; SI-NEXT:    s_waitcnt lgkmcnt(0)340; SI-NEXT:    v_mov_b32_e32 v4, s1341; SI-NEXT:    s_mov_b32 m0, -1342; SI-NEXT:    ds_read2_b64 v[0:3], v4 offset0:2 offset1:3343; SI-NEXT:    ds_read2_b64 v[4:7], v4 offset1:1344; SI-NEXT:    v_mov_b32_e32 v8, s0345; SI-NEXT:    s_waitcnt lgkmcnt(1)346; SI-NEXT:    ds_write2_b64 v8, v[0:1], v[2:3] offset0:2 offset1:3347; SI-NEXT:    s_waitcnt lgkmcnt(1)348; SI-NEXT:    ds_write2_b64 v8, v[4:5], v[6:7] offset1:1349; SI-NEXT:    s_endpgm350;351; VI-NO-DS128-LABEL: local_load_v16i16:352; VI-NO-DS128:       ; %bb.0: ; %entry353; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24354; VI-NO-DS128-NEXT:    s_mov_b32 m0, -1355; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)356; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s1357; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset0:2 offset1:3358; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset1:1359; VI-NO-DS128-NEXT:    v_mov_b32_e32 v8, s0360; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)361; VI-NO-DS128-NEXT:    ds_write2_b64 v8, v[0:1], v[2:3] offset0:2 offset1:3362; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)363; VI-NO-DS128-NEXT:    ds_write2_b64 v8, v[4:5], v[6:7] offset1:1364; VI-NO-DS128-NEXT:    s_endpgm365;366; GFX9-NO-DS128-LABEL: local_load_v16i16:367; GFX9-NO-DS128:       ; %bb.0: ; %entry368; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24369; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)370; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s1371; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset0:2 offset1:3372; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset1:1373; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v8, s0374; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)375; GFX9-NO-DS128-NEXT:    ds_write2_b64 v8, v[0:1], v[2:3] offset0:2 offset1:3376; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)377; GFX9-NO-DS128-NEXT:    ds_write2_b64 v8, v[4:5], v[6:7] offset1:1378; GFX9-NO-DS128-NEXT:    s_endpgm379;380; EG-LABEL: local_load_v16i16:381; EG:       ; %bb.0: ; %entry382; EG-NEXT:    ALU 53, @5, KC0[CB0:0-32], KC1[]383; EG-NEXT:     MOV * T0.W, KC0[2].Z,384; EG-NEXT:     LDS_READ_RET * OQAP, T0.W385; EG-NEXT:     MOV T0.X, OQAP,386; EG-NEXT:     MOV * T0.W, KC0[2].Y,387; EG-NEXT:     LDS_WRITE * T0.W, T0.X,388; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,389; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)390; EG-NEXT:     LDS_READ_RET * OQAP, T0.W391; EG-NEXT:     MOV T0.X, OQAP,392; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,393; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)394; EG-NEXT:     LDS_WRITE * T0.W, T0.X,395; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,396; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)397; EG-NEXT:     LDS_READ_RET * OQAP, T0.W398; EG-NEXT:     MOV T0.X, OQAP,399; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,400; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)401; EG-NEXT:     LDS_WRITE * T0.W, T0.X,402; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,403; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)404; EG-NEXT:     LDS_READ_RET * OQAP, T0.W405; EG-NEXT:     MOV T0.X, OQAP,406; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,407; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)408; EG-NEXT:     LDS_WRITE * T0.W, T0.X,409; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,410; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)411; EG-NEXT:     LDS_READ_RET * OQAP, T0.W412; EG-NEXT:     MOV T0.X, OQAP,413; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,414; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)415; EG-NEXT:     LDS_WRITE * T0.W, T0.X,416; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,417; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)418; EG-NEXT:     LDS_READ_RET * OQAP, T0.W419; EG-NEXT:     MOV T0.X, OQAP,420; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,421; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)422; EG-NEXT:     LDS_WRITE * T0.W, T0.X,423; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,424; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)425; EG-NEXT:     LDS_READ_RET * OQAP, T0.W426; EG-NEXT:     MOV T0.X, OQAP,427; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,428; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)429; EG-NEXT:     LDS_WRITE * T0.W, T0.X,430; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,431; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)432; EG-NEXT:     LDS_READ_RET * OQAP, T0.W433; EG-NEXT:     MOV T0.X, OQAP,434; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,435; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)436; EG-NEXT:     LDS_WRITE * T0.W, T0.X,437; EG-NEXT:    RETURN438;439; VI-DS128-LABEL: local_load_v16i16:440; VI-DS128:       ; %bb.0: ; %entry441; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24442; VI-DS128-NEXT:    s_mov_b32 m0, -1443; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)444; VI-DS128-NEXT:    v_mov_b32_e32 v4, s1445; VI-DS128-NEXT:    ds_read_b128 v[0:3], v4 offset:16446; VI-DS128-NEXT:    ds_read_b128 v[4:7], v4447; VI-DS128-NEXT:    v_mov_b32_e32 v8, s0448; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)449; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:16450; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)451; VI-DS128-NEXT:    ds_write_b128 v8, v[4:7]452; VI-DS128-NEXT:    s_endpgm453;454; GFX9-DS128-LABEL: local_load_v16i16:455; GFX9-DS128:       ; %bb.0: ; %entry456; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24457; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)458; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s1459; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v4 offset:16460; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v4461; GFX9-DS128-NEXT:    v_mov_b32_e32 v8, s0462; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)463; GFX9-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:16464; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)465; GFX9-DS128-NEXT:    ds_write_b128 v8, v[4:7]466; GFX9-DS128-NEXT:    s_endpgm467entry:468  %ld = load <16 x i16>, ptr addrspace(3) %in469  store <16 x i16> %ld, ptr addrspace(3) %out470  ret void471}472 473define amdgpu_kernel void @local_zextload_i16_to_i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {474; SI-LABEL: local_zextload_i16_to_i32:475; SI:       ; %bb.0:476; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9477; SI-NEXT:    s_waitcnt lgkmcnt(0)478; SI-NEXT:    v_mov_b32_e32 v0, s1479; SI-NEXT:    s_mov_b32 m0, -1480; SI-NEXT:    ds_read_u16 v0, v0481; SI-NEXT:    v_mov_b32_e32 v1, s0482; SI-NEXT:    s_waitcnt lgkmcnt(0)483; SI-NEXT:    ds_write_b32 v1, v0484; SI-NEXT:    s_endpgm485;486; VI-LABEL: local_zextload_i16_to_i32:487; VI:       ; %bb.0:488; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24489; VI-NEXT:    s_mov_b32 m0, -1490; VI-NEXT:    s_waitcnt lgkmcnt(0)491; VI-NEXT:    v_mov_b32_e32 v0, s1492; VI-NEXT:    ds_read_u16 v0, v0493; VI-NEXT:    v_mov_b32_e32 v1, s0494; VI-NEXT:    s_waitcnt lgkmcnt(0)495; VI-NEXT:    ds_write_b32 v1, v0496; VI-NEXT:    s_endpgm497;498; GFX9-LABEL: local_zextload_i16_to_i32:499; GFX9:       ; %bb.0:500; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24501; GFX9-NEXT:    s_waitcnt lgkmcnt(0)502; GFX9-NEXT:    v_mov_b32_e32 v0, s1503; GFX9-NEXT:    ds_read_u16 v0, v0504; GFX9-NEXT:    v_mov_b32_e32 v1, s0505; GFX9-NEXT:    s_waitcnt lgkmcnt(0)506; GFX9-NEXT:    ds_write_b32 v1, v0507; GFX9-NEXT:    s_endpgm508;509; EG-LABEL: local_zextload_i16_to_i32:510; EG:       ; %bb.0:511; EG-NEXT:    ALU 4, @6, KC0[CB0:0-32], KC1[]512; EG-NEXT:     MOV * T0.W, KC0[2].Z,513; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W514; EG-NEXT:     MOV T0.X, OQAP,515; EG-NEXT:     MOV * T0.W, KC0[2].Y,516; EG-NEXT:     LDS_WRITE * T0.W, T0.X,517; EG-NEXT:    RETURN518  %a = load i16, ptr addrspace(3) %in519  %ext = zext i16 %a to i32520  store i32 %ext, ptr addrspace(3) %out521  ret void522}523 524define amdgpu_kernel void @local_sextload_i16_to_i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {525; SI-LABEL: local_sextload_i16_to_i32:526; SI:       ; %bb.0:527; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9528; SI-NEXT:    s_waitcnt lgkmcnt(0)529; SI-NEXT:    v_mov_b32_e32 v0, s1530; SI-NEXT:    s_mov_b32 m0, -1531; SI-NEXT:    ds_read_i16 v0, v0532; SI-NEXT:    v_mov_b32_e32 v1, s0533; SI-NEXT:    s_waitcnt lgkmcnt(0)534; SI-NEXT:    ds_write_b32 v1, v0535; SI-NEXT:    s_endpgm536;537; VI-LABEL: local_sextload_i16_to_i32:538; VI:       ; %bb.0:539; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24540; VI-NEXT:    s_mov_b32 m0, -1541; VI-NEXT:    s_waitcnt lgkmcnt(0)542; VI-NEXT:    v_mov_b32_e32 v0, s1543; VI-NEXT:    ds_read_i16 v0, v0544; VI-NEXT:    v_mov_b32_e32 v1, s0545; VI-NEXT:    s_waitcnt lgkmcnt(0)546; VI-NEXT:    ds_write_b32 v1, v0547; VI-NEXT:    s_endpgm548;549; GFX9-LABEL: local_sextload_i16_to_i32:550; GFX9:       ; %bb.0:551; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24552; GFX9-NEXT:    s_waitcnt lgkmcnt(0)553; GFX9-NEXT:    v_mov_b32_e32 v0, s1554; GFX9-NEXT:    ds_read_i16 v0, v0555; GFX9-NEXT:    v_mov_b32_e32 v1, s0556; GFX9-NEXT:    s_waitcnt lgkmcnt(0)557; GFX9-NEXT:    ds_write_b32 v1, v0558; GFX9-NEXT:    s_endpgm559;560; EG-LABEL: local_sextload_i16_to_i32:561; EG:       ; %bb.0:562; EG-NEXT:    ALU 6, @7, KC0[CB0:0-32], KC1[]563; EG-NEXT:     MOV * T0.W, KC0[2].Z,564; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W565; EG-NEXT:     MOV * T0.X, OQAP,566; EG-NEXT:     BFE_INT T0.W, PV.X, 0.0, literal.x,567; EG-NEXT:     MOV * T1.W, KC0[2].Y,568; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)569; EG-NEXT:     LDS_WRITE * T1.W, T0.W,570; EG-NEXT:    RETURN571  %a = load i16, ptr addrspace(3) %in572  %ext = sext i16 %a to i32573  store i32 %ext, ptr addrspace(3) %out574  ret void575}576 577define amdgpu_kernel void @local_zextload_v1i16_to_v1i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {578; SI-LABEL: local_zextload_v1i16_to_v1i32:579; SI:       ; %bb.0:580; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9581; SI-NEXT:    s_waitcnt lgkmcnt(0)582; SI-NEXT:    v_mov_b32_e32 v0, s1583; SI-NEXT:    s_mov_b32 m0, -1584; SI-NEXT:    ds_read_u16 v0, v0585; SI-NEXT:    v_mov_b32_e32 v1, s0586; SI-NEXT:    s_waitcnt lgkmcnt(0)587; SI-NEXT:    ds_write_b32 v1, v0588; SI-NEXT:    s_endpgm589;590; VI-LABEL: local_zextload_v1i16_to_v1i32:591; VI:       ; %bb.0:592; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24593; VI-NEXT:    s_mov_b32 m0, -1594; VI-NEXT:    s_waitcnt lgkmcnt(0)595; VI-NEXT:    v_mov_b32_e32 v0, s1596; VI-NEXT:    ds_read_u16 v0, v0597; VI-NEXT:    v_mov_b32_e32 v1, s0598; VI-NEXT:    s_waitcnt lgkmcnt(0)599; VI-NEXT:    ds_write_b32 v1, v0600; VI-NEXT:    s_endpgm601;602; GFX9-LABEL: local_zextload_v1i16_to_v1i32:603; GFX9:       ; %bb.0:604; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24605; GFX9-NEXT:    s_waitcnt lgkmcnt(0)606; GFX9-NEXT:    v_mov_b32_e32 v0, s1607; GFX9-NEXT:    ds_read_u16 v0, v0608; GFX9-NEXT:    v_mov_b32_e32 v1, s0609; GFX9-NEXT:    s_waitcnt lgkmcnt(0)610; GFX9-NEXT:    ds_write_b32 v1, v0611; GFX9-NEXT:    s_endpgm612;613; EG-LABEL: local_zextload_v1i16_to_v1i32:614; EG:       ; %bb.0:615; EG-NEXT:    ALU 4, @8, KC0[CB0:0-32], KC1[]616; EG-NEXT:     MOV * T0.W, KC0[2].Z,617; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W618; EG-NEXT:     MOV T0.X, OQAP,619; EG-NEXT:     MOV * T0.W, KC0[2].Y,620; EG-NEXT:     LDS_WRITE * T0.W, T0.X,621; EG-NEXT:    RETURN622  %load = load <1 x i16>, ptr addrspace(3) %in623  %ext = zext <1 x i16> %load to <1 x i32>624  store <1 x i32> %ext, ptr addrspace(3) %out625  ret void626}627 628define amdgpu_kernel void @local_sextload_v1i16_to_v1i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {629; SI-LABEL: local_sextload_v1i16_to_v1i32:630; SI:       ; %bb.0:631; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9632; SI-NEXT:    s_waitcnt lgkmcnt(0)633; SI-NEXT:    v_mov_b32_e32 v0, s1634; SI-NEXT:    s_mov_b32 m0, -1635; SI-NEXT:    ds_read_i16 v0, v0636; SI-NEXT:    v_mov_b32_e32 v1, s0637; SI-NEXT:    s_waitcnt lgkmcnt(0)638; SI-NEXT:    ds_write_b32 v1, v0639; SI-NEXT:    s_endpgm640;641; VI-LABEL: local_sextload_v1i16_to_v1i32:642; VI:       ; %bb.0:643; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24644; VI-NEXT:    s_mov_b32 m0, -1645; VI-NEXT:    s_waitcnt lgkmcnt(0)646; VI-NEXT:    v_mov_b32_e32 v0, s1647; VI-NEXT:    ds_read_i16 v0, v0648; VI-NEXT:    v_mov_b32_e32 v1, s0649; VI-NEXT:    s_waitcnt lgkmcnt(0)650; VI-NEXT:    ds_write_b32 v1, v0651; VI-NEXT:    s_endpgm652;653; GFX9-LABEL: local_sextload_v1i16_to_v1i32:654; GFX9:       ; %bb.0:655; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24656; GFX9-NEXT:    s_waitcnt lgkmcnt(0)657; GFX9-NEXT:    v_mov_b32_e32 v0, s1658; GFX9-NEXT:    ds_read_i16 v0, v0659; GFX9-NEXT:    v_mov_b32_e32 v1, s0660; GFX9-NEXT:    s_waitcnt lgkmcnt(0)661; GFX9-NEXT:    ds_write_b32 v1, v0662; GFX9-NEXT:    s_endpgm663;664; EG-LABEL: local_sextload_v1i16_to_v1i32:665; EG:       ; %bb.0:666; EG-NEXT:    ALU 6, @9, KC0[CB0:0-32], KC1[]667; EG-NEXT:     MOV * T0.W, KC0[2].Z,668; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W669; EG-NEXT:     MOV * T0.X, OQAP,670; EG-NEXT:     BFE_INT T0.W, PV.X, 0.0, literal.x,671; EG-NEXT:     MOV * T1.W, KC0[2].Y,672; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)673; EG-NEXT:     LDS_WRITE * T1.W, T0.W,674; EG-NEXT:    RETURN675  %load = load <1 x i16>, ptr addrspace(3) %in676  %ext = sext <1 x i16> %load to <1 x i32>677  store <1 x i32> %ext, ptr addrspace(3) %out678  ret void679}680 681define amdgpu_kernel void @local_zextload_v2i16_to_v2i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {682; SI-LABEL: local_zextload_v2i16_to_v2i32:683; SI:       ; %bb.0:684; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9685; SI-NEXT:    s_waitcnt lgkmcnt(0)686; SI-NEXT:    v_mov_b32_e32 v0, s1687; SI-NEXT:    s_mov_b32 m0, -1688; SI-NEXT:    ds_read_b32 v0, v0689; SI-NEXT:    s_waitcnt lgkmcnt(0)690; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v0691; SI-NEXT:    v_and_b32_e32 v0, 0xffff, v0692; SI-NEXT:    v_mov_b32_e32 v2, s0693; SI-NEXT:    ds_write_b64 v2, v[0:1]694; SI-NEXT:    s_endpgm695;696; VI-LABEL: local_zextload_v2i16_to_v2i32:697; VI:       ; %bb.0:698; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24699; VI-NEXT:    s_mov_b32 m0, -1700; VI-NEXT:    s_waitcnt lgkmcnt(0)701; VI-NEXT:    v_mov_b32_e32 v0, s1702; VI-NEXT:    ds_read_b32 v0, v0703; VI-NEXT:    v_mov_b32_e32 v2, s0704; VI-NEXT:    s_waitcnt lgkmcnt(0)705; VI-NEXT:    v_lshrrev_b32_e32 v1, 16, v0706; VI-NEXT:    v_and_b32_e32 v0, 0xffff, v0707; VI-NEXT:    ds_write_b64 v2, v[0:1]708; VI-NEXT:    s_endpgm709;710; GFX9-LABEL: local_zextload_v2i16_to_v2i32:711; GFX9:       ; %bb.0:712; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24713; GFX9-NEXT:    s_waitcnt lgkmcnt(0)714; GFX9-NEXT:    v_mov_b32_e32 v0, s1715; GFX9-NEXT:    ds_read_b32 v0, v0716; GFX9-NEXT:    v_mov_b32_e32 v2, s0717; GFX9-NEXT:    s_waitcnt lgkmcnt(0)718; GFX9-NEXT:    v_lshrrev_b32_e32 v1, 16, v0719; GFX9-NEXT:    v_and_b32_e32 v0, 0xffff, v0720; GFX9-NEXT:    ds_write_b64 v2, v[0:1]721; GFX9-NEXT:    s_endpgm722;723; EG-LABEL: local_zextload_v2i16_to_v2i32:724; EG:       ; %bb.0:725; EG-NEXT:    ALU 10, @10, KC0[CB0:0-32], KC1[]726; EG-NEXT:     MOV * T0.W, KC0[2].Z,727; EG-NEXT:     LDS_READ_RET * OQAP, T0.W728; EG-NEXT:     MOV * T0.Y, OQAP,729; EG-NEXT:     AND_INT T0.W, PV.Y, literal.x,730; EG-NEXT:     MOV * T1.W, KC0[2].Y,731; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)732; EG-NEXT:     LDS_WRITE * T1.W, T0.W,733; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,734; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,735; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)736; EG-NEXT:     LDS_WRITE * T1.W, T0.W,737; EG-NEXT:    RETURN738  %load = load <2 x i16>, ptr addrspace(3) %in739  %ext = zext <2 x i16> %load to <2 x i32>740  store <2 x i32> %ext, ptr addrspace(3) %out741  ret void742}743 744define amdgpu_kernel void @local_sextload_v2i16_to_v2i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {745; SI-LABEL: local_sextload_v2i16_to_v2i32:746; SI:       ; %bb.0:747; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9748; SI-NEXT:    s_waitcnt lgkmcnt(0)749; SI-NEXT:    v_mov_b32_e32 v0, s1750; SI-NEXT:    s_mov_b32 m0, -1751; SI-NEXT:    ds_read_b32 v0, v0752; SI-NEXT:    s_waitcnt lgkmcnt(0)753; SI-NEXT:    v_ashrrev_i32_e32 v1, 16, v0754; SI-NEXT:    v_bfe_i32 v0, v0, 0, 16755; SI-NEXT:    v_mov_b32_e32 v2, s0756; SI-NEXT:    ds_write_b64 v2, v[0:1]757; SI-NEXT:    s_endpgm758;759; VI-LABEL: local_sextload_v2i16_to_v2i32:760; VI:       ; %bb.0:761; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24762; VI-NEXT:    s_mov_b32 m0, -1763; VI-NEXT:    s_waitcnt lgkmcnt(0)764; VI-NEXT:    v_mov_b32_e32 v0, s1765; VI-NEXT:    ds_read_b32 v0, v0766; VI-NEXT:    v_mov_b32_e32 v2, s0767; VI-NEXT:    s_waitcnt lgkmcnt(0)768; VI-NEXT:    v_ashrrev_i32_e32 v1, 16, v0769; VI-NEXT:    v_bfe_i32 v0, v0, 0, 16770; VI-NEXT:    ds_write_b64 v2, v[0:1]771; VI-NEXT:    s_endpgm772;773; GFX9-LABEL: local_sextload_v2i16_to_v2i32:774; GFX9:       ; %bb.0:775; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24776; GFX9-NEXT:    s_waitcnt lgkmcnt(0)777; GFX9-NEXT:    v_mov_b32_e32 v0, s1778; GFX9-NEXT:    ds_read_b32 v0, v0779; GFX9-NEXT:    v_mov_b32_e32 v2, s0780; GFX9-NEXT:    s_waitcnt lgkmcnt(0)781; GFX9-NEXT:    v_ashrrev_i32_e32 v1, 16, v0782; GFX9-NEXT:    v_bfe_i32 v0, v0, 0, 16783; GFX9-NEXT:    ds_write_b64 v2, v[0:1]784; GFX9-NEXT:    s_endpgm785;786; EG-LABEL: local_sextload_v2i16_to_v2i32:787; EG:       ; %bb.0:788; EG-NEXT:    ALU 12, @11, KC0[CB0:0-32], KC1[]789; EG-NEXT:     MOV * T0.W, KC0[2].Z,790; EG-NEXT:     LDS_READ_RET * OQAP, T0.W791; EG-NEXT:     MOV * T0.Y, OQAP,792; EG-NEXT:     LSHR * T0.W, PV.Y, literal.x,793; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)794; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,795; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,796; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)797; EG-NEXT:     LDS_WRITE * T1.W, T0.W,798; EG-NEXT:     BFE_INT T0.W, T0.Y, 0.0, literal.x,799; EG-NEXT:     MOV * T1.W, KC0[2].Y,800; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)801; EG-NEXT:     LDS_WRITE * T1.W, T0.W,802; EG-NEXT:    RETURN803  %load = load <2 x i16>, ptr addrspace(3) %in804  %ext = sext <2 x i16> %load to <2 x i32>805  store <2 x i32> %ext, ptr addrspace(3) %out806  ret void807}808 809define amdgpu_kernel void @local_local_zextload_v3i16_to_v3i32(ptr addrspace(3) %out, ptr addrspace(3) %in) {810; SI-LABEL: local_local_zextload_v3i16_to_v3i32:811; SI:       ; %bb.0: ; %entry812; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9813; SI-NEXT:    s_waitcnt lgkmcnt(0)814; SI-NEXT:    v_mov_b32_e32 v0, s1815; SI-NEXT:    s_mov_b32 m0, -1816; SI-NEXT:    ds_read_b64 v[0:1], v0817; SI-NEXT:    v_mov_b32_e32 v4, s0818; SI-NEXT:    s_waitcnt lgkmcnt(0)819; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v0820; SI-NEXT:    v_and_b32_e32 v2, 0xffff, v0821; SI-NEXT:    v_and_b32_e32 v0, 0xffff, v1822; SI-NEXT:    ds_write_b32 v4, v0 offset:8823; SI-NEXT:    ds_write_b64 v4, v[2:3]824; SI-NEXT:    s_endpgm825;826; VI-LABEL: local_local_zextload_v3i16_to_v3i32:827; VI:       ; %bb.0: ; %entry828; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24829; VI-NEXT:    s_mov_b32 m0, -1830; VI-NEXT:    s_waitcnt lgkmcnt(0)831; VI-NEXT:    v_mov_b32_e32 v0, s1832; VI-NEXT:    ds_read_b64 v[0:1], v0833; VI-NEXT:    v_mov_b32_e32 v3, s0834; VI-NEXT:    s_waitcnt lgkmcnt(0)835; VI-NEXT:    v_and_b32_e32 v2, 0xffff, v1836; VI-NEXT:    v_lshrrev_b32_e32 v1, 16, v0837; VI-NEXT:    v_and_b32_e32 v0, 0xffff, v0838; VI-NEXT:    ds_write_b96 v3, v[0:2]839; VI-NEXT:    s_endpgm840;841; GFX9-LABEL: local_local_zextload_v3i16_to_v3i32:842; GFX9:       ; %bb.0: ; %entry843; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24844; GFX9-NEXT:    s_waitcnt lgkmcnt(0)845; GFX9-NEXT:    v_mov_b32_e32 v0, s1846; GFX9-NEXT:    ds_read_b64 v[0:1], v0847; GFX9-NEXT:    v_mov_b32_e32 v3, s0848; GFX9-NEXT:    s_waitcnt lgkmcnt(0)849; GFX9-NEXT:    v_and_b32_e32 v2, 0xffff, v1850; GFX9-NEXT:    v_lshrrev_b32_e32 v1, 16, v0851; GFX9-NEXT:    v_and_b32_e32 v0, 0xffff, v0852; GFX9-NEXT:    ds_write_b96 v3, v[0:2]853; GFX9-NEXT:    s_endpgm854;855; EG-LABEL: local_local_zextload_v3i16_to_v3i32:856; EG:       ; %bb.0: ; %entry857; EG-NEXT:    ALU 18, @12, KC0[CB0:0-32], KC1[]858; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,859; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)860; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W861; EG-NEXT:     MOV T0.X, OQAP,862; EG-NEXT:     MOV * T0.W, KC0[2].Z,863; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W864; EG-NEXT:     MOV T0.Y, OQAP,865; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,866; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)867; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W868; EG-NEXT:     MOV T0.Z, OQAP,869; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,870; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)871; EG-NEXT:     LDS_WRITE * T0.W, T0.Z,872; EG-NEXT:     MOV * T0.W, KC0[2].Y,873; EG-NEXT:     LDS_WRITE * T0.W, T0.Y,874; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,875; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)876; EG-NEXT:     LDS_WRITE * T0.W, T0.X,877; EG-NEXT:    RETURN878entry:879  %ld = load <3 x i16>, ptr addrspace(3) %in880  %ext = zext <3 x i16> %ld to <3 x i32>881  store <3 x i32> %ext, ptr addrspace(3) %out882  ret void883}884 885define amdgpu_kernel void @local_local_sextload_v3i16_to_v3i32(ptr addrspace(3) %out, ptr addrspace(3) %in) {886; SI-LABEL: local_local_sextload_v3i16_to_v3i32:887; SI:       ; %bb.0: ; %entry888; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9889; SI-NEXT:    s_waitcnt lgkmcnt(0)890; SI-NEXT:    v_mov_b32_e32 v0, s1891; SI-NEXT:    s_mov_b32 m0, -1892; SI-NEXT:    ds_read_b64 v[0:1], v0893; SI-NEXT:    v_mov_b32_e32 v4, s0894; SI-NEXT:    s_waitcnt lgkmcnt(0)895; SI-NEXT:    v_ashrrev_i32_e32 v3, 16, v0896; SI-NEXT:    v_bfe_i32 v2, v0, 0, 16897; SI-NEXT:    v_bfe_i32 v0, v1, 0, 16898; SI-NEXT:    ds_write_b32 v4, v0 offset:8899; SI-NEXT:    ds_write_b64 v4, v[2:3]900; SI-NEXT:    s_endpgm901;902; VI-LABEL: local_local_sextload_v3i16_to_v3i32:903; VI:       ; %bb.0: ; %entry904; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24905; VI-NEXT:    s_mov_b32 m0, -1906; VI-NEXT:    s_waitcnt lgkmcnt(0)907; VI-NEXT:    v_mov_b32_e32 v0, s1908; VI-NEXT:    ds_read_b64 v[3:4], v0909; VI-NEXT:    s_waitcnt lgkmcnt(0)910; VI-NEXT:    v_ashrrev_i32_e32 v1, 16, v3911; VI-NEXT:    v_bfe_i32 v2, v4, 0, 16912; VI-NEXT:    v_bfe_i32 v0, v3, 0, 16913; VI-NEXT:    v_mov_b32_e32 v3, s0914; VI-NEXT:    ds_write_b96 v3, v[0:2]915; VI-NEXT:    s_endpgm916;917; GFX9-LABEL: local_local_sextload_v3i16_to_v3i32:918; GFX9:       ; %bb.0: ; %entry919; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24920; GFX9-NEXT:    s_waitcnt lgkmcnt(0)921; GFX9-NEXT:    v_mov_b32_e32 v0, s1922; GFX9-NEXT:    ds_read_b64 v[3:4], v0923; GFX9-NEXT:    s_waitcnt lgkmcnt(0)924; GFX9-NEXT:    v_ashrrev_i32_e32 v1, 16, v3925; GFX9-NEXT:    v_bfe_i32 v2, v4, 0, 16926; GFX9-NEXT:    v_bfe_i32 v0, v3, 0, 16927; GFX9-NEXT:    v_mov_b32_e32 v3, s0928; GFX9-NEXT:    ds_write_b96 v3, v[0:2]929; GFX9-NEXT:    s_endpgm930;931; EG-LABEL: local_local_sextload_v3i16_to_v3i32:932; EG:       ; %bb.0: ; %entry933; EG-NEXT:    ALU 22, @13, KC0[CB0:0-32], KC1[]934; EG-NEXT:     MOV * T0.W, KC0[2].Z,935; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W936; EG-NEXT:     MOV T0.X, OQAP,937; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,938; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)939; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W940; EG-NEXT:     MOV T0.Y, OQAP,941; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,942; EG-NEXT:    2(2.802597e-45), 0(0.000000e+00)943; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W944; EG-NEXT:     MOV T0.Z, OQAP,945; EG-NEXT:     BFE_INT T0.W, T0.Y, 0.0, literal.x,946; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,947; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)948; EG-NEXT:     LDS_WRITE * T1.W, T0.W,949; EG-NEXT:     BFE_INT T0.W, T0.Z, 0.0, literal.x,950; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,951; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)952; EG-NEXT:     LDS_WRITE * T1.W, T0.W,953; EG-NEXT:     BFE_INT T0.W, T0.X, 0.0, literal.x,954; EG-NEXT:     MOV * T1.W, KC0[2].Y,955; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)956; EG-NEXT:     LDS_WRITE * T1.W, T0.W,957; EG-NEXT:    RETURN958entry:959  %ld = load <3 x i16>, ptr addrspace(3) %in960  %ext = sext <3 x i16> %ld to <3 x i32>961  store <3 x i32> %ext, ptr addrspace(3) %out962  ret void963}964 965define amdgpu_kernel void @local_local_zextload_v4i16_to_v4i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {966; SI-LABEL: local_local_zextload_v4i16_to_v4i32:967; SI:       ; %bb.0:968; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x9969; SI-NEXT:    s_waitcnt lgkmcnt(0)970; SI-NEXT:    v_mov_b32_e32 v0, s1971; SI-NEXT:    s_mov_b32 m0, -1972; SI-NEXT:    ds_read_b64 v[0:1], v0973; SI-NEXT:    s_waitcnt lgkmcnt(0)974; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v0975; SI-NEXT:    v_lshrrev_b32_e32 v5, 16, v1976; SI-NEXT:    v_and_b32_e32 v2, 0xffff, v0977; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v1978; SI-NEXT:    v_mov_b32_e32 v0, s0979; SI-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:1980; SI-NEXT:    s_endpgm981;982; VI-NO-DS128-LABEL: local_local_zextload_v4i16_to_v4i32:983; VI-NO-DS128:       ; %bb.0:984; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x24985; VI-NO-DS128-NEXT:    s_mov_b32 m0, -1986; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)987; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s1988; VI-NO-DS128-NEXT:    ds_read_b64 v[0:1], v0989; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)990; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v0991; VI-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v0992; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v1993; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v1994; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s0995; VI-NO-DS128-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:1996; VI-NO-DS128-NEXT:    s_endpgm997;998; GFX9-NO-DS128-LABEL: local_local_zextload_v4i16_to_v4i32:999; GFX9-NO-DS128:       ; %bb.0:1000; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241001; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1002; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11003; GFX9-NO-DS128-NEXT:    ds_read_b64 v[0:1], v01004; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1005; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v01006; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v01007; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v11008; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v11009; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s01010; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:11011; GFX9-NO-DS128-NEXT:    s_endpgm1012;1013; EG-LABEL: local_local_zextload_v4i16_to_v4i32:1014; EG:       ; %bb.0:1015; EG-NEXT:    ALU 22, @14, KC0[CB0:0-32], KC1[]1016; EG-NEXT:     MOV * T0.W, KC0[2].Z,1017; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1018; EG-NEXT:     MOV T0.Y, OQAP,1019; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1020; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)1021; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1022; EG-NEXT:     MOV T0.Z, OQAP,1023; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,1024; EG-NEXT:     MOV * T1.W, KC0[2].Y,1025; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)1026; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1027; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,1028; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1029; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)1030; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1031; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,1032; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1033; EG-NEXT:    65535(9.183409e-41), 8(1.121039e-44)1034; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1035; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,1036; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1037; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)1038; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1039; EG-NEXT:    RETURN1040;1041; VI-DS128-LABEL: local_local_zextload_v4i16_to_v4i32:1042; VI-DS128:       ; %bb.0:1043; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241044; VI-DS128-NEXT:    s_mov_b32 m0, -11045; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1046; VI-DS128-NEXT:    v_mov_b32_e32 v0, s11047; VI-DS128-NEXT:    ds_read_b64 v[0:1], v01048; VI-DS128-NEXT:    v_mov_b32_e32 v4, s01049; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1050; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v11051; VI-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v11052; VI-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v01053; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v01054; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3]1055; VI-DS128-NEXT:    s_endpgm1056;1057; GFX9-DS128-LABEL: local_local_zextload_v4i16_to_v4i32:1058; GFX9-DS128:       ; %bb.0:1059; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241060; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1061; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s11062; GFX9-DS128-NEXT:    ds_read_b64 v[0:1], v01063; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s01064; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1065; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v11066; GFX9-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v11067; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v01068; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v01069; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3]1070; GFX9-DS128-NEXT:    s_endpgm1071  %load = load <4 x i16>, ptr addrspace(3) %in1072  %ext = zext <4 x i16> %load to <4 x i32>1073  store <4 x i32> %ext, ptr addrspace(3) %out1074  ret void1075}1076 1077define amdgpu_kernel void @local_sextload_v4i16_to_v4i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {1078; SI-LABEL: local_sextload_v4i16_to_v4i32:1079; SI:       ; %bb.0:1080; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x91081; SI-NEXT:    s_waitcnt lgkmcnt(0)1082; SI-NEXT:    v_mov_b32_e32 v0, s11083; SI-NEXT:    s_mov_b32 m0, -11084; SI-NEXT:    ds_read_b64 v[0:1], v01085; SI-NEXT:    s_waitcnt lgkmcnt(0)1086; SI-NEXT:    v_ashrrev_i32_e32 v3, 16, v01087; SI-NEXT:    v_ashrrev_i32_e32 v5, 16, v11088; SI-NEXT:    v_bfe_i32 v2, v0, 0, 161089; SI-NEXT:    v_bfe_i32 v4, v1, 0, 161090; SI-NEXT:    v_mov_b32_e32 v0, s01091; SI-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:11092; SI-NEXT:    s_endpgm1093;1094; VI-NO-DS128-LABEL: local_sextload_v4i16_to_v4i32:1095; VI-NO-DS128:       ; %bb.0:1096; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241097; VI-NO-DS128-NEXT:    s_mov_b32 m0, -11098; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1099; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11100; VI-NO-DS128-NEXT:    ds_read_b64 v[0:1], v01101; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1102; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v01103; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v11104; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v0, 0, 161105; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v1, 0, 161106; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s01107; VI-NO-DS128-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:11108; VI-NO-DS128-NEXT:    s_endpgm1109;1110; GFX9-NO-DS128-LABEL: local_sextload_v4i16_to_v4i32:1111; GFX9-NO-DS128:       ; %bb.0:1112; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241113; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1114; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11115; GFX9-NO-DS128-NEXT:    ds_read_b64 v[0:1], v01116; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1117; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v01118; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v11119; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v0, 0, 161120; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v1, 0, 161121; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s01122; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:11123; GFX9-NO-DS128-NEXT:    s_endpgm1124;1125; EG-LABEL: local_sextload_v4i16_to_v4i32:1126; EG:       ; %bb.0:1127; EG-NEXT:    ALU 25, @15, KC0[CB0:0-32], KC1[]1128; EG-NEXT:     MOV * T0.W, KC0[2].Z,1129; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1130; EG-NEXT:     MOV T0.Y, OQAP,1131; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1132; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)1133; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1134; EG-NEXT:     MOV T0.Z, OQAP,1135; EG-NEXT:     LSHR * T0.W, T0.Y, literal.x,1136; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1137; EG-NEXT:     LSHR T1.Z, PV.Z, literal.x,1138; EG-NEXT:     BFE_INT T0.W, PV.W, 0.0, literal.x,1139; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1140; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)1141; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1142; EG-NEXT:     BFE_INT T0.W, T1.Z, 0.0, literal.x,1143; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1144; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)1145; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1146; EG-NEXT:     BFE_INT T0.W, T0.Y, 0.0, literal.x,1147; EG-NEXT:     MOV * T1.W, KC0[2].Y,1148; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1149; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1150; EG-NEXT:     BFE_INT T0.W, T0.Z, 0.0, literal.x,1151; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1152; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)1153; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1154; EG-NEXT:    RETURN1155;1156; VI-DS128-LABEL: local_sextload_v4i16_to_v4i32:1157; VI-DS128:       ; %bb.0:1158; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241159; VI-DS128-NEXT:    s_mov_b32 m0, -11160; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1161; VI-DS128-NEXT:    v_mov_b32_e32 v0, s11162; VI-DS128-NEXT:    ds_read_b64 v[4:5], v01163; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1164; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v51165; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v41166; VI-DS128-NEXT:    v_bfe_i32 v2, v5, 0, 161167; VI-DS128-NEXT:    v_bfe_i32 v0, v4, 0, 161168; VI-DS128-NEXT:    v_mov_b32_e32 v4, s01169; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3]1170; VI-DS128-NEXT:    s_endpgm1171;1172; GFX9-DS128-LABEL: local_sextload_v4i16_to_v4i32:1173; GFX9-DS128:       ; %bb.0:1174; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241175; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1176; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s11177; GFX9-DS128-NEXT:    ds_read_b64 v[4:5], v01178; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1179; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v51180; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v41181; GFX9-DS128-NEXT:    v_bfe_i32 v2, v5, 0, 161182; GFX9-DS128-NEXT:    v_bfe_i32 v0, v4, 0, 161183; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s01184; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3]1185; GFX9-DS128-NEXT:    s_endpgm1186  %load = load <4 x i16>, ptr addrspace(3) %in1187  %ext = sext <4 x i16> %load to <4 x i32>1188  store <4 x i32> %ext, ptr addrspace(3) %out1189  ret void1190}1191 1192define amdgpu_kernel void @local_zextload_v8i16_to_v8i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {1193; SI-LABEL: local_zextload_v8i16_to_v8i32:1194; SI:       ; %bb.0:1195; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x91196; SI-NEXT:    s_waitcnt lgkmcnt(0)1197; SI-NEXT:    v_mov_b32_e32 v0, s11198; SI-NEXT:    s_mov_b32 m0, -11199; SI-NEXT:    ds_read2_b64 v[0:3], v0 offset1:11200; SI-NEXT:    v_mov_b32_e32 v12, s01201; SI-NEXT:    s_waitcnt lgkmcnt(0)1202; SI-NEXT:    v_lshrrev_b32_e32 v5, 16, v01203; SI-NEXT:    v_lshrrev_b32_e32 v7, 16, v11204; SI-NEXT:    v_lshrrev_b32_e32 v9, 16, v21205; SI-NEXT:    v_lshrrev_b32_e32 v11, 16, v31206; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v01207; SI-NEXT:    v_and_b32_e32 v6, 0xffff, v11208; SI-NEXT:    v_and_b32_e32 v8, 0xffff, v21209; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v31210; SI-NEXT:    ds_write2_b64 v12, v[8:9], v[10:11] offset0:2 offset1:31211; SI-NEXT:    ds_write2_b64 v12, v[4:5], v[6:7] offset1:11212; SI-NEXT:    s_endpgm1213;1214; VI-NO-DS128-LABEL: local_zextload_v8i16_to_v8i32:1215; VI-NO-DS128:       ; %bb.0:1216; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241217; VI-NO-DS128-NEXT:    s_mov_b32 m0, -11218; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1219; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11220; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:11221; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1222; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v01223; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v01224; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v11225; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v11226; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v21227; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v21228; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v31229; VI-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v31230; VI-NO-DS128-NEXT:    v_mov_b32_e32 v2, s01231; VI-NO-DS128-NEXT:    ds_write2_b64 v2, v[0:1], v[8:9] offset0:2 offset1:31232; VI-NO-DS128-NEXT:    ds_write2_b64 v2, v[4:5], v[6:7] offset1:11233; VI-NO-DS128-NEXT:    s_endpgm1234;1235; GFX9-NO-DS128-LABEL: local_zextload_v8i16_to_v8i32:1236; GFX9-NO-DS128:       ; %bb.0:1237; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241238; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1239; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11240; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:11241; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v10, s01242; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1243; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v01244; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v01245; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v11246; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v11247; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v21248; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v21249; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v31250; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v31251; GFX9-NO-DS128-NEXT:    ds_write2_b64 v10, v[0:1], v[8:9] offset0:2 offset1:31252; GFX9-NO-DS128-NEXT:    ds_write2_b64 v10, v[4:5], v[6:7] offset1:11253; GFX9-NO-DS128-NEXT:    s_endpgm1254;1255; EG-LABEL: local_zextload_v8i16_to_v8i32:1256; EG:       ; %bb.0:1257; EG-NEXT:    ALU 46, @16, KC0[CB0:0-32], KC1[]1258; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1259; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1260; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1261; EG-NEXT:     MOV T0.Y, OQAP,1262; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1263; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)1264; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1265; EG-NEXT:     MOV T0.Z, OQAP,1266; EG-NEXT:     MOV * T0.W, KC0[2].Z,1267; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1268; EG-NEXT:     MOV T0.W, OQAP,1269; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1270; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)1271; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1272; EG-NEXT:     MOV T1.Y, OQAP,1273; EG-NEXT:     AND_INT T1.W, T0.W, literal.x,1274; EG-NEXT:     MOV * T2.W, KC0[2].Y,1275; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)1276; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1277; EG-NEXT:     LSHR T0.W, T0.W, literal.x,1278; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1279; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)1280; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1281; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,1282; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1283; EG-NEXT:    65535(9.183409e-41), 8(1.121039e-44)1284; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1285; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,1286; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1287; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)1288; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1289; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,1290; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1291; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)1292; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1293; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,1294; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1295; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)1296; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1297; EG-NEXT:     AND_INT T0.W, T1.Y, literal.x,1298; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1299; EG-NEXT:    65535(9.183409e-41), 24(3.363116e-44)1300; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1301; EG-NEXT:     LSHR T0.W, T1.Y, literal.x,1302; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1303; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)1304; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1305; EG-NEXT:    RETURN1306;1307; VI-DS128-LABEL: local_zextload_v8i16_to_v8i32:1308; VI-DS128:       ; %bb.0:1309; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241310; VI-DS128-NEXT:    s_mov_b32 m0, -11311; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1312; VI-DS128-NEXT:    v_mov_b32_e32 v0, s11313; VI-DS128-NEXT:    ds_read_b128 v[0:3], v01314; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1315; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v01316; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v01317; VI-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v31318; VI-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v31319; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v21320; VI-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v21321; VI-DS128-NEXT:    v_mov_b32_e32 v0, s01322; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v11323; VI-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v11324; VI-DS128-NEXT:    ds_write_b128 v0, v[8:11] offset:161325; VI-DS128-NEXT:    ds_write_b128 v0, v[4:7]1326; VI-DS128-NEXT:    s_endpgm1327;1328; GFX9-DS128-LABEL: local_zextload_v8i16_to_v8i32:1329; GFX9-DS128:       ; %bb.0:1330; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241331; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1332; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s11333; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v01334; GFX9-DS128-NEXT:    v_mov_b32_e32 v12, s01335; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1336; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v31337; GFX9-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v31338; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v21339; GFX9-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v21340; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v11341; GFX9-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v11342; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v01343; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v01344; GFX9-DS128-NEXT:    ds_write_b128 v12, v[8:11] offset:161345; GFX9-DS128-NEXT:    ds_write_b128 v12, v[4:7]1346; GFX9-DS128-NEXT:    s_endpgm1347  %load = load <8 x i16>, ptr addrspace(3) %in1348  %ext = zext <8 x i16> %load to <8 x i32>1349  store <8 x i32> %ext, ptr addrspace(3) %out1350  ret void1351}1352 1353define amdgpu_kernel void @local_sextload_v8i16_to_v8i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {1354; SI-LABEL: local_sextload_v8i16_to_v8i32:1355; SI:       ; %bb.0:1356; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x91357; SI-NEXT:    s_waitcnt lgkmcnt(0)1358; SI-NEXT:    v_mov_b32_e32 v0, s11359; SI-NEXT:    s_mov_b32 m0, -11360; SI-NEXT:    ds_read2_b64 v[0:3], v0 offset1:11361; SI-NEXT:    v_mov_b32_e32 v12, s01362; SI-NEXT:    s_waitcnt lgkmcnt(0)1363; SI-NEXT:    v_ashrrev_i32_e32 v5, 16, v01364; SI-NEXT:    v_ashrrev_i32_e32 v7, 16, v11365; SI-NEXT:    v_ashrrev_i32_e32 v9, 16, v21366; SI-NEXT:    v_ashrrev_i32_e32 v11, 16, v31367; SI-NEXT:    v_bfe_i32 v4, v0, 0, 161368; SI-NEXT:    v_bfe_i32 v6, v1, 0, 161369; SI-NEXT:    v_bfe_i32 v8, v2, 0, 161370; SI-NEXT:    v_bfe_i32 v10, v3, 0, 161371; SI-NEXT:    ds_write2_b64 v12, v[8:9], v[10:11] offset0:2 offset1:31372; SI-NEXT:    ds_write2_b64 v12, v[4:5], v[6:7] offset1:11373; SI-NEXT:    s_endpgm1374;1375; VI-NO-DS128-LABEL: local_sextload_v8i16_to_v8i32:1376; VI-NO-DS128:       ; %bb.0:1377; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241378; VI-NO-DS128-NEXT:    s_mov_b32 m0, -11379; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1380; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11381; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:11382; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1383; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v01384; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v21385; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v31386; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 161387; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v2, 0, 161388; VI-NO-DS128-NEXT:    v_bfe_i32 v10, v3, 0, 161389; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s01390; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v11391; VI-NO-DS128-NEXT:    v_bfe_i32 v6, v1, 0, 161392; VI-NO-DS128-NEXT:    ds_write2_b64 v0, v[8:9], v[10:11] offset0:2 offset1:31393; VI-NO-DS128-NEXT:    ds_write2_b64 v0, v[4:5], v[6:7] offset1:11394; VI-NO-DS128-NEXT:    s_endpgm1395;1396; GFX9-NO-DS128-LABEL: local_sextload_v8i16_to_v8i32:1397; GFX9-NO-DS128:       ; %bb.0:1398; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241399; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1400; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s11401; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:11402; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v12, s01403; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1404; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v21405; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v31406; GFX9-NO-DS128-NEXT:    v_bfe_i32 v8, v2, 0, 161407; GFX9-NO-DS128-NEXT:    v_bfe_i32 v10, v3, 0, 161408; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v01409; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v11410; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 161411; GFX9-NO-DS128-NEXT:    v_bfe_i32 v6, v1, 0, 161412; GFX9-NO-DS128-NEXT:    ds_write2_b64 v12, v[8:9], v[10:11] offset0:2 offset1:31413; GFX9-NO-DS128-NEXT:    ds_write2_b64 v12, v[4:5], v[6:7] offset1:11414; GFX9-NO-DS128-NEXT:    s_endpgm1415;1416; EG-LABEL: local_sextload_v8i16_to_v8i32:1417; EG:       ; %bb.0:1418; EG-NEXT:    ALU 51, @17, KC0[CB0:0-32], KC1[]1419; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1420; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1421; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1422; EG-NEXT:     MOV T0.Y, OQAP,1423; EG-NEXT:     MOV * T0.W, KC0[2].Z,1424; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1425; EG-NEXT:     MOV T0.Z, OQAP,1426; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1427; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)1428; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1429; EG-NEXT:     MOV T0.W, OQAP,1430; EG-NEXT:     LSHR * T1.W, T0.Z, literal.x,1431; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1432; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,1433; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)1434; EG-NEXT:     LDS_READ_RET * OQAP, T2.W1435; EG-NEXT:     MOV T1.Y, OQAP,1436; EG-NEXT:     LSHR T1.Z, T0.W, literal.x,1437; EG-NEXT:     BFE_INT T1.W, T1.W, 0.0, literal.x, BS:VEC_120/SCL_2121438; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1439; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)1440; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1441; EG-NEXT:     LSHR T2.Z, T0.Y, literal.x,1442; EG-NEXT:     BFE_INT T1.W, T1.Z, 0.0, literal.x,1443; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1444; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)1445; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1446; EG-NEXT:     LSHR T1.Z, T1.Y, literal.x,1447; EG-NEXT:     BFE_INT T1.W, T2.Z, 0.0, literal.x,1448; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1449; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)1450; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1451; EG-NEXT:     BFE_INT T1.W, T1.Z, 0.0, literal.x,1452; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1453; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)1454; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1455; EG-NEXT:     BFE_INT T1.W, T0.Z, 0.0, literal.x,1456; EG-NEXT:     MOV * T2.W, KC0[2].Y,1457; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1458; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1459; EG-NEXT:     BFE_INT T0.W, T0.W, 0.0, literal.x,1460; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1461; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)1462; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1463; EG-NEXT:     BFE_INT T0.W, T0.Y, 0.0, literal.x,1464; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,1465; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1466; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1467; EG-NEXT:     BFE_INT T0.W, T1.Y, 0.0, literal.x,1468; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1469; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)1470; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1471; EG-NEXT:    RETURN1472;1473; VI-DS128-LABEL: local_sextload_v8i16_to_v8i32:1474; VI-DS128:       ; %bb.0:1475; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241476; VI-DS128-NEXT:    s_mov_b32 m0, -11477; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1478; VI-DS128-NEXT:    v_mov_b32_e32 v0, s11479; VI-DS128-NEXT:    ds_read_b128 v[0:3], v01480; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1481; VI-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v01482; VI-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v31483; VI-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v21484; VI-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 161485; VI-DS128-NEXT:    v_bfe_i32 v10, v3, 0, 161486; VI-DS128-NEXT:    v_bfe_i32 v8, v2, 0, 161487; VI-DS128-NEXT:    v_mov_b32_e32 v0, s01488; VI-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v11489; VI-DS128-NEXT:    v_bfe_i32 v6, v1, 0, 161490; VI-DS128-NEXT:    ds_write_b128 v0, v[8:11] offset:161491; VI-DS128-NEXT:    ds_write_b128 v0, v[4:7]1492; VI-DS128-NEXT:    s_endpgm1493;1494; GFX9-DS128-LABEL: local_sextload_v8i16_to_v8i32:1495; GFX9-DS128:       ; %bb.0:1496; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241497; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1498; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s11499; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v01500; GFX9-DS128-NEXT:    v_mov_b32_e32 v12, s01501; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1502; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v31503; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v21504; GFX9-DS128-NEXT:    v_bfe_i32 v10, v3, 0, 161505; GFX9-DS128-NEXT:    v_bfe_i32 v8, v2, 0, 161506; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v11507; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v01508; GFX9-DS128-NEXT:    v_bfe_i32 v6, v1, 0, 161509; GFX9-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 161510; GFX9-DS128-NEXT:    ds_write_b128 v12, v[8:11] offset:161511; GFX9-DS128-NEXT:    ds_write_b128 v12, v[4:7]1512; GFX9-DS128-NEXT:    s_endpgm1513  %load = load <8 x i16>, ptr addrspace(3) %in1514  %ext = sext <8 x i16> %load to <8 x i32>1515  store <8 x i32> %ext, ptr addrspace(3) %out1516  ret void1517}1518 1519define amdgpu_kernel void @local_zextload_v16i16_to_v16i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {1520; SI-LABEL: local_zextload_v16i16_to_v16i32:1521; SI:       ; %bb.0:1522; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x91523; SI-NEXT:    s_waitcnt lgkmcnt(0)1524; SI-NEXT:    v_mov_b32_e32 v4, s11525; SI-NEXT:    s_mov_b32 m0, -11526; SI-NEXT:    ds_read2_b64 v[0:3], v4 offset1:11527; SI-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:31528; SI-NEXT:    s_waitcnt lgkmcnt(1)1529; SI-NEXT:    v_lshrrev_b32_e32 v9, 16, v11530; SI-NEXT:    v_lshrrev_b32_e32 v11, 16, v01531; SI-NEXT:    v_lshrrev_b32_e32 v13, 16, v31532; SI-NEXT:    v_lshrrev_b32_e32 v15, 16, v21533; SI-NEXT:    s_waitcnt lgkmcnt(0)1534; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v51535; SI-NEXT:    v_lshrrev_b32_e32 v19, 16, v41536; SI-NEXT:    v_and_b32_e32 v8, 0xffff, v11537; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v01538; SI-NEXT:    v_and_b32_e32 v12, 0xffff, v31539; SI-NEXT:    v_and_b32_e32 v14, 0xffff, v21540; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v71541; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v61542; SI-NEXT:    v_and_b32_e32 v16, 0xffff, v51543; SI-NEXT:    v_and_b32_e32 v18, 0xffff, v41544; SI-NEXT:    v_and_b32_e32 v0, 0xffff, v71545; SI-NEXT:    v_and_b32_e32 v2, 0xffff, v61546; SI-NEXT:    v_mov_b32_e32 v4, s01547; SI-NEXT:    ds_write2_b64 v4, v[2:3], v[0:1] offset0:6 offset1:71548; SI-NEXT:    ds_write2_b64 v4, v[18:19], v[16:17] offset0:4 offset1:51549; SI-NEXT:    ds_write2_b64 v4, v[14:15], v[12:13] offset0:2 offset1:31550; SI-NEXT:    ds_write2_b64 v4, v[10:11], v[8:9] offset1:11551; SI-NEXT:    s_endpgm1552;1553; VI-NO-DS128-LABEL: local_zextload_v16i16_to_v16i32:1554; VI-NO-DS128:       ; %bb.0:1555; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241556; VI-NO-DS128-NEXT:    s_mov_b32 m0, -11557; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1558; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s11559; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:11560; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:31561; VI-NO-DS128-NEXT:    v_mov_b32_e32 v16, s01562; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)1563; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v11564; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1565; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v71566; VI-NO-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v71567; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v61568; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v61569; VI-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v11570; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v01571; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v01572; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v31573; VI-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v31574; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v21575; VI-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v21576; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v51577; VI-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v51578; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v41579; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v41580; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[6:7], v[14:15] offset0:6 offset1:71581; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[4:5], v[12:13] offset0:4 offset1:51582; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[2:3], v[10:11] offset0:2 offset1:31583; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[0:1], v[8:9] offset1:11584; VI-NO-DS128-NEXT:    s_endpgm1585;1586; GFX9-NO-DS128-LABEL: local_zextload_v16i16_to_v16i32:1587; GFX9-NO-DS128:       ; %bb.0:1588; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241589; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1590; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s11591; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:11592; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:31593; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v16, s01594; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)1595; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v11596; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1597; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v71598; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v71599; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v61600; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v61601; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v11602; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v01603; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v01604; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v31605; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v31606; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v21607; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v21608; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v51609; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v51610; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v41611; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v41612; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[6:7], v[14:15] offset0:6 offset1:71613; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[4:5], v[12:13] offset0:4 offset1:51614; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[2:3], v[10:11] offset0:2 offset1:31615; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[0:1], v[8:9] offset1:11616; GFX9-NO-DS128-NEXT:    s_endpgm1617;1618; EG-LABEL: local_zextload_v16i16_to_v16i32:1619; EG:       ; %bb.0:1620; EG-NEXT:    ALU 94, @18, KC0[CB0:0-32], KC1[]1621; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1622; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)1623; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1624; EG-NEXT:     MOV T0.Y, OQAP,1625; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1626; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)1627; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1628; EG-NEXT:     MOV T0.Z, OQAP,1629; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1630; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1631; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1632; EG-NEXT:     MOV T0.W, OQAP,1633; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1634; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)1635; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1636; EG-NEXT:     MOV T1.Y, OQAP,1637; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1638; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1639; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1640; EG-NEXT:     MOV T1.Z, OQAP,1641; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1642; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)1643; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1644; EG-NEXT:     MOV T1.W, OQAP,1645; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,1646; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)1647; EG-NEXT:     LDS_READ_RET * OQAP, T2.W1648; EG-NEXT:     MOV T2.Y, OQAP,1649; EG-NEXT:     MOV * T2.W, KC0[2].Z,1650; EG-NEXT:     LDS_READ_RET * OQAP, T2.W1651; EG-NEXT:     MOV T2.Z, OQAP,1652; EG-NEXT:     LSHR T2.W, T2.Y, literal.x,1653; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1654; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)1655; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1656; EG-NEXT:     AND_INT T2.W, T2.Y, literal.x,1657; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1658; EG-NEXT:    65535(9.183409e-41), 8(1.121039e-44)1659; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1660; EG-NEXT:     LSHR T2.W, T2.Z, literal.x,1661; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1662; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)1663; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1664; EG-NEXT:     AND_INT T2.W, T2.Z, literal.x,1665; EG-NEXT:     MOV * T3.W, KC0[2].Y,1666; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)1667; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1668; EG-NEXT:     LSHR T2.W, T1.W, literal.x,1669; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1670; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)1671; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1672; EG-NEXT:     AND_INT T1.W, T1.W, literal.x,1673; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1674; EG-NEXT:    65535(9.183409e-41), 24(3.363116e-44)1675; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1676; EG-NEXT:     LSHR T1.W, T1.Z, literal.x,1677; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1678; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)1679; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1680; EG-NEXT:     AND_INT T1.W, T1.Z, literal.x,1681; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1682; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)1683; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1684; EG-NEXT:     LSHR T1.W, T1.Y, literal.x,1685; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1686; EG-NEXT:    16(2.242078e-44), 44(6.165713e-44)1687; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1688; EG-NEXT:     AND_INT T1.W, T1.Y, literal.x,1689; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1690; EG-NEXT:    65535(9.183409e-41), 40(5.605194e-44)1691; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1692; EG-NEXT:     LSHR T1.W, T0.W, literal.x,1693; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1694; EG-NEXT:    16(2.242078e-44), 36(5.044674e-44)1695; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1696; EG-NEXT:     AND_INT T0.W, T0.W, literal.x,1697; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1698; EG-NEXT:    65535(9.183409e-41), 32(4.484155e-44)1699; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1700; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,1701; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1702; EG-NEXT:    16(2.242078e-44), 60(8.407791e-44)1703; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1704; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,1705; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1706; EG-NEXT:    65535(9.183409e-41), 56(7.847271e-44)1707; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1708; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,1709; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1710; EG-NEXT:    16(2.242078e-44), 52(7.286752e-44)1711; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1712; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,1713; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1714; EG-NEXT:    65535(9.183409e-41), 48(6.726233e-44)1715; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1716; EG-NEXT:    RETURN1717;1718; VI-DS128-LABEL: local_zextload_v16i16_to_v16i32:1719; VI-DS128:       ; %bb.0:1720; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241721; VI-DS128-NEXT:    s_mov_b32 m0, -11722; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1723; VI-DS128-NEXT:    v_mov_b32_e32 v4, s11724; VI-DS128-NEXT:    ds_read_b128 v[0:3], v41725; VI-DS128-NEXT:    ds_read_b128 v[4:7], v4 offset:161726; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)1727; VI-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v11728; VI-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v11729; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v01730; VI-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v01731; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)1732; VI-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v41733; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v41734; VI-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v71735; VI-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v71736; VI-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v61737; VI-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v61738; VI-DS128-NEXT:    v_mov_b32_e32 v4, s01739; VI-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v31740; VI-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v31741; VI-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v21742; VI-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v21743; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v51744; VI-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v51745; VI-DS128-NEXT:    ds_write_b128 v4, v[16:19] offset:481746; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3] offset:321747; VI-DS128-NEXT:    ds_write_b128 v4, v[12:15] offset:161748; VI-DS128-NEXT:    ds_write_b128 v4, v[8:11]1749; VI-DS128-NEXT:    s_endpgm1750;1751; GFX9-DS128-LABEL: local_zextload_v16i16_to_v16i32:1752; GFX9-DS128:       ; %bb.0:1753; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241754; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1755; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s11756; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v41757; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v4 offset:161758; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)1759; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v11760; GFX9-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v11761; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v01762; GFX9-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v01763; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)1764; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v41765; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v41766; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v71767; GFX9-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v71768; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v61769; GFX9-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v61770; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s01771; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v31772; GFX9-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v31773; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v21774; GFX9-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v21775; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v51776; GFX9-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v51777; GFX9-DS128-NEXT:    ds_write_b128 v4, v[16:19] offset:481778; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3] offset:321779; GFX9-DS128-NEXT:    ds_write_b128 v4, v[12:15] offset:161780; GFX9-DS128-NEXT:    ds_write_b128 v4, v[8:11]1781; GFX9-DS128-NEXT:    s_endpgm1782  %load = load <16 x i16>, ptr addrspace(3) %in1783  %ext = zext <16 x i16> %load to <16 x i32>1784  store <16 x i32> %ext, ptr addrspace(3) %out1785  ret void1786}1787 1788define amdgpu_kernel void @local_sextload_v16i16_to_v16i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {1789; SI-LABEL: local_sextload_v16i16_to_v16i32:1790; SI:       ; %bb.0:1791; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x91792; SI-NEXT:    s_waitcnt lgkmcnt(0)1793; SI-NEXT:    v_mov_b32_e32 v4, s11794; SI-NEXT:    s_mov_b32 m0, -11795; SI-NEXT:    ds_read2_b64 v[0:3], v4 offset1:11796; SI-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:31797; SI-NEXT:    s_waitcnt lgkmcnt(1)1798; SI-NEXT:    v_ashrrev_i32_e32 v9, 16, v11799; SI-NEXT:    v_ashrrev_i32_e32 v11, 16, v01800; SI-NEXT:    v_ashrrev_i32_e32 v13, 16, v31801; SI-NEXT:    v_ashrrev_i32_e32 v15, 16, v21802; SI-NEXT:    s_waitcnt lgkmcnt(0)1803; SI-NEXT:    v_ashrrev_i32_e32 v17, 16, v51804; SI-NEXT:    v_ashrrev_i32_e32 v19, 16, v41805; SI-NEXT:    v_bfe_i32 v8, v1, 0, 161806; SI-NEXT:    v_bfe_i32 v10, v0, 0, 161807; SI-NEXT:    v_bfe_i32 v12, v3, 0, 161808; SI-NEXT:    v_bfe_i32 v14, v2, 0, 161809; SI-NEXT:    v_ashrrev_i32_e32 v1, 16, v71810; SI-NEXT:    v_ashrrev_i32_e32 v3, 16, v61811; SI-NEXT:    v_bfe_i32 v16, v5, 0, 161812; SI-NEXT:    v_bfe_i32 v18, v4, 0, 161813; SI-NEXT:    v_bfe_i32 v0, v7, 0, 161814; SI-NEXT:    v_bfe_i32 v2, v6, 0, 161815; SI-NEXT:    v_mov_b32_e32 v4, s01816; SI-NEXT:    ds_write2_b64 v4, v[2:3], v[0:1] offset0:6 offset1:71817; SI-NEXT:    ds_write2_b64 v4, v[18:19], v[16:17] offset0:4 offset1:51818; SI-NEXT:    ds_write2_b64 v4, v[14:15], v[12:13] offset0:2 offset1:31819; SI-NEXT:    ds_write2_b64 v4, v[10:11], v[8:9] offset1:11820; SI-NEXT:    s_endpgm1821;1822; VI-NO-DS128-LABEL: local_sextload_v16i16_to_v16i32:1823; VI-NO-DS128:       ; %bb.0:1824; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241825; VI-NO-DS128-NEXT:    s_mov_b32 m0, -11826; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1827; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s11828; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:11829; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:31830; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)1831; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v11832; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v01833; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v31834; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v21835; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1836; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v41837; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v1, 0, 161838; VI-NO-DS128-NEXT:    v_bfe_i32 v10, v0, 0, 161839; VI-NO-DS128-NEXT:    v_bfe_i32 v12, v3, 0, 161840; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v2, 0, 161841; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v71842; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v61843; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v4, 0, 161844; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v7, 0, 161845; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v6, 0, 161846; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s01847; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v51848; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v5, 0, 161849; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[2:3], v[0:1] offset0:6 offset1:71850; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[18:19], v[16:17] offset0:4 offset1:51851; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[14:15], v[12:13] offset0:2 offset1:31852; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[10:11], v[8:9] offset1:11853; VI-NO-DS128-NEXT:    s_endpgm1854;1855; GFX9-NO-DS128-LABEL: local_sextload_v16i16_to_v16i32:1856; GFX9-NO-DS128:       ; %bb.0:1857; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x241858; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1859; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s11860; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:11861; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:31862; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)1863; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v11864; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v01865; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v31866; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v21867; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)1868; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v41869; GFX9-NO-DS128-NEXT:    v_bfe_i32 v8, v1, 0, 161870; GFX9-NO-DS128-NEXT:    v_bfe_i32 v10, v0, 0, 161871; GFX9-NO-DS128-NEXT:    v_bfe_i32 v12, v3, 0, 161872; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v2, 0, 161873; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v71874; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v61875; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v4, 0, 161876; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v7, 0, 161877; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v6, 0, 161878; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s01879; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v51880; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v5, 0, 161881; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[2:3], v[0:1] offset0:6 offset1:71882; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[18:19], v[16:17] offset0:4 offset1:51883; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[14:15], v[12:13] offset0:2 offset1:31884; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[10:11], v[8:9] offset1:11885; GFX9-NO-DS128-NEXT:    s_endpgm1886;1887; EG-LABEL: local_sextload_v16i16_to_v16i32:1888; EG:       ; %bb.0:1889; EG-NEXT:    ALU 95, @19, KC0[CB0:0-32], KC1[]1890; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1891; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)1892; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1893; EG-NEXT:     MOV T0.Y, OQAP,1894; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1895; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)1896; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1897; EG-NEXT:     MOV T0.Z, OQAP,1898; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,1899; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)1900; EG-NEXT:     LDS_READ_RET * OQAP, T0.W1901; EG-NEXT:     MOV T0.W, OQAP,1902; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1903; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1904; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1905; EG-NEXT:     MOV T1.Y, OQAP,1906; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1907; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)1908; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1909; EG-NEXT:     MOV T1.Z, OQAP,1910; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,1911; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)1912; EG-NEXT:     LDS_READ_RET * OQAP, T1.W1913; EG-NEXT:     MOV T1.W, OQAP,1914; EG-NEXT:     MOV * T2.W, KC0[2].Z,1915; EG-NEXT:     LDS_READ_RET * OQAP, T2.W1916; EG-NEXT:     MOV T2.Y, OQAP,1917; EG-NEXT:     LSHR T2.W, T1.W, literal.x,1918; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.y,1919; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)1920; EG-NEXT:     LDS_READ_RET * OQAP, T3.W1921; EG-NEXT:     MOV T2.Z, OQAP,1922; EG-NEXT:     LSHR * T3.Z, T2.Y, literal.x,1923; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1924; EG-NEXT:     BFE_INT T2.W, T2.W, 0.0, literal.x,1925; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1926; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)1927; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1928; EG-NEXT:     LSHR T4.Z, T0.Y, literal.x,1929; EG-NEXT:     BFE_INT T2.W, T3.Z, 0.0, literal.x,1930; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1931; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)1932; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1933; EG-NEXT:     LSHR T3.Z, T0.Z, literal.x,1934; EG-NEXT:     BFE_INT T2.W, T4.Z, 0.0, literal.x, BS:VEC_120/SCL_2121935; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1936; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)1937; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1938; EG-NEXT:     LSHR T4.Z, T0.W, literal.x,1939; EG-NEXT:     BFE_INT T2.W, T3.Z, 0.0, literal.x,1940; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1941; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)1942; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1943; EG-NEXT:     LSHR T3.Z, T1.Y, literal.x,1944; EG-NEXT:     BFE_INT T2.W, T4.Z, 0.0, literal.x,1945; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1946; EG-NEXT:    16(2.242078e-44), 44(6.165713e-44)1947; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1948; EG-NEXT:     LSHR T4.Z, T1.Z, literal.x,1949; EG-NEXT:     BFE_INT T2.W, T3.Z, 0.0, literal.x, BS:VEC_120/SCL_2121950; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1951; EG-NEXT:    16(2.242078e-44), 36(5.044674e-44)1952; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1953; EG-NEXT:     LSHR T3.Z, T2.Z, literal.x,1954; EG-NEXT:     BFE_INT T2.W, T4.Z, 0.0, literal.x, BS:VEC_120/SCL_2121955; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1956; EG-NEXT:    16(2.242078e-44), 60(8.407791e-44)1957; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1958; EG-NEXT:     BFE_INT T2.W, T3.Z, 0.0, literal.x,1959; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,1960; EG-NEXT:    16(2.242078e-44), 52(7.286752e-44)1961; EG-NEXT:     LDS_WRITE * T3.W, T2.W,1962; EG-NEXT:     BFE_INT T1.W, T1.W, 0.0, literal.x,1963; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1964; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)1965; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1966; EG-NEXT:     BFE_INT T1.W, T2.Y, 0.0, literal.x,1967; EG-NEXT:     MOV * T2.W, KC0[2].Y,1968; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1969; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1970; EG-NEXT:     BFE_INT T1.W, T0.Y, 0.0, literal.x,1971; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,1972; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)1973; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1974; EG-NEXT:     BFE_INT T1.W, T0.Z, 0.0, literal.x,1975; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.x,1976; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)1977; EG-NEXT:     LDS_WRITE * T2.W, T1.W,1978; EG-NEXT:     BFE_INT T0.W, T0.W, 0.0, literal.x,1979; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1980; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)1981; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1982; EG-NEXT:     BFE_INT T0.W, T1.Y, 0.0, literal.x,1983; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1984; EG-NEXT:    16(2.242078e-44), 32(4.484155e-44)1985; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1986; EG-NEXT:    ALU 7, @20, KC0[CB0:0-32], KC1[]1987; EG-NEXT:     BFE_INT T0.W, T1.Z, 0.0, literal.x,1988; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1989; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)1990; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1991; EG-NEXT:     BFE_INT T0.W, T2.Z, 0.0, literal.x,1992; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,1993; EG-NEXT:    16(2.242078e-44), 48(6.726233e-44)1994; EG-NEXT:     LDS_WRITE * T1.W, T0.W,1995; EG-NEXT:    RETURN1996;1997; VI-DS128-LABEL: local_sextload_v16i16_to_v16i32:1998; VI-DS128:       ; %bb.0:1999; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242000; VI-DS128-NEXT:    s_mov_b32 m0, -12001; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)2002; VI-DS128-NEXT:    v_mov_b32_e32 v4, s12003; VI-DS128-NEXT:    ds_read_b128 v[0:3], v42004; VI-DS128-NEXT:    ds_read_b128 v[4:7], v4 offset:162005; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)2006; VI-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v12007; VI-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v02008; VI-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v32009; VI-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v22010; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)2011; VI-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v42012; VI-DS128-NEXT:    v_bfe_i32 v10, v1, 0, 162013; VI-DS128-NEXT:    v_bfe_i32 v8, v0, 0, 162014; VI-DS128-NEXT:    v_bfe_i32 v14, v3, 0, 162015; VI-DS128-NEXT:    v_bfe_i32 v12, v2, 0, 162016; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v72017; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v62018; VI-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 162019; VI-DS128-NEXT:    v_bfe_i32 v2, v7, 0, 162020; VI-DS128-NEXT:    v_bfe_i32 v0, v6, 0, 162021; VI-DS128-NEXT:    v_mov_b32_e32 v4, s02022; VI-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v52023; VI-DS128-NEXT:    v_bfe_i32 v18, v5, 0, 162024; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3] offset:482025; VI-DS128-NEXT:    ds_write_b128 v4, v[16:19] offset:322026; VI-DS128-NEXT:    ds_write_b128 v4, v[12:15] offset:162027; VI-DS128-NEXT:    ds_write_b128 v4, v[8:11]2028; VI-DS128-NEXT:    s_endpgm2029;2030; GFX9-DS128-LABEL: local_sextload_v16i16_to_v16i32:2031; GFX9-DS128:       ; %bb.0:2032; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242033; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)2034; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s12035; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v42036; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v4 offset:162037; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)2038; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v12039; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v02040; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v32041; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v22042; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)2043; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v42044; GFX9-DS128-NEXT:    v_bfe_i32 v10, v1, 0, 162045; GFX9-DS128-NEXT:    v_bfe_i32 v8, v0, 0, 162046; GFX9-DS128-NEXT:    v_bfe_i32 v14, v3, 0, 162047; GFX9-DS128-NEXT:    v_bfe_i32 v12, v2, 0, 162048; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v72049; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v62050; GFX9-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 162051; GFX9-DS128-NEXT:    v_bfe_i32 v2, v7, 0, 162052; GFX9-DS128-NEXT:    v_bfe_i32 v0, v6, 0, 162053; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s02054; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v52055; GFX9-DS128-NEXT:    v_bfe_i32 v18, v5, 0, 162056; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3] offset:482057; GFX9-DS128-NEXT:    ds_write_b128 v4, v[16:19] offset:322058; GFX9-DS128-NEXT:    ds_write_b128 v4, v[12:15] offset:162059; GFX9-DS128-NEXT:    ds_write_b128 v4, v[8:11]2060; GFX9-DS128-NEXT:    s_endpgm2061  %load = load <16 x i16>, ptr addrspace(3) %in2062  %ext = sext <16 x i16> %load to <16 x i32>2063  store <16 x i32> %ext, ptr addrspace(3) %out2064  ret void2065}2066 2067define amdgpu_kernel void @local_zextload_v32i16_to_v32i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {2068; SI-LABEL: local_zextload_v32i16_to_v32i32:2069; SI:       ; %bb.0:2070; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x92071; SI-NEXT:    s_waitcnt lgkmcnt(0)2072; SI-NEXT:    v_mov_b32_e32 v12, s12073; SI-NEXT:    s_mov_b32 m0, -12074; SI-NEXT:    ds_read2_b64 v[0:3], v12 offset1:12075; SI-NEXT:    ds_read2_b64 v[4:7], v12 offset0:2 offset1:32076; SI-NEXT:    ds_read2_b64 v[8:11], v12 offset0:4 offset1:52077; SI-NEXT:    ds_read2_b64 v[12:15], v12 offset0:6 offset1:72078; SI-NEXT:    s_waitcnt lgkmcnt(3)2079; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v12080; SI-NEXT:    v_lshrrev_b32_e32 v19, 16, v02081; SI-NEXT:    v_lshrrev_b32_e32 v21, 16, v32082; SI-NEXT:    v_lshrrev_b32_e32 v23, 16, v22083; SI-NEXT:    v_and_b32_e32 v16, 0xffff, v12084; SI-NEXT:    v_and_b32_e32 v18, 0xffff, v02085; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v32086; SI-NEXT:    v_and_b32_e32 v22, 0xffff, v22087; SI-NEXT:    s_waitcnt lgkmcnt(2)2088; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v52089; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v42090; SI-NEXT:    v_and_b32_e32 v0, 0xffff, v52091; SI-NEXT:    v_and_b32_e32 v2, 0xffff, v42092; SI-NEXT:    v_lshrrev_b32_e32 v5, 16, v72093; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v72094; SI-NEXT:    v_lshrrev_b32_e32 v7, 16, v62095; SI-NEXT:    v_and_b32_e32 v6, 0xffff, v62096; SI-NEXT:    s_waitcnt lgkmcnt(1)2097; SI-NEXT:    v_lshrrev_b32_e32 v25, 16, v92098; SI-NEXT:    v_and_b32_e32 v24, 0xffff, v92099; SI-NEXT:    v_lshrrev_b32_e32 v9, 16, v82100; SI-NEXT:    v_and_b32_e32 v8, 0xffff, v82101; SI-NEXT:    v_lshrrev_b32_e32 v27, 16, v112102; SI-NEXT:    v_and_b32_e32 v26, 0xffff, v112103; SI-NEXT:    v_lshrrev_b32_e32 v11, 16, v102104; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v102105; SI-NEXT:    s_waitcnt lgkmcnt(0)2106; SI-NEXT:    v_lshrrev_b32_e32 v29, 16, v132107; SI-NEXT:    v_and_b32_e32 v28, 0xffff, v132108; SI-NEXT:    v_lshrrev_b32_e32 v13, 16, v122109; SI-NEXT:    v_and_b32_e32 v12, 0xffff, v122110; SI-NEXT:    v_lshrrev_b32_e32 v31, 16, v152111; SI-NEXT:    v_and_b32_e32 v30, 0xffff, v152112; SI-NEXT:    v_lshrrev_b32_e32 v15, 16, v142113; SI-NEXT:    v_and_b32_e32 v14, 0xffff, v142114; SI-NEXT:    v_mov_b32_e32 v32, s02115; SI-NEXT:    ds_write2_b64 v32, v[14:15], v[30:31] offset0:14 offset1:152116; SI-NEXT:    ds_write2_b64 v32, v[12:13], v[28:29] offset0:12 offset1:132117; SI-NEXT:    ds_write2_b64 v32, v[10:11], v[26:27] offset0:10 offset1:112118; SI-NEXT:    ds_write2_b64 v32, v[8:9], v[24:25] offset0:8 offset1:92119; SI-NEXT:    ds_write2_b64 v32, v[6:7], v[4:5] offset0:6 offset1:72120; SI-NEXT:    ds_write2_b64 v32, v[2:3], v[0:1] offset0:4 offset1:52121; SI-NEXT:    ds_write2_b64 v32, v[22:23], v[20:21] offset0:2 offset1:32122; SI-NEXT:    ds_write2_b64 v32, v[18:19], v[16:17] offset1:12123; SI-NEXT:    s_endpgm2124;2125; VI-NO-DS128-LABEL: local_zextload_v32i16_to_v32i32:2126; VI-NO-DS128:       ; %bb.0:2127; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242128; VI-NO-DS128-NEXT:    s_mov_b32 m0, -12129; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2130; VI-NO-DS128-NEXT:    v_mov_b32_e32 v24, s12131; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset1:12132; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:2 offset1:32133; VI-NO-DS128-NEXT:    v_mov_b32_e32 v32, s02134; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2135; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v32136; VI-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v32137; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v22138; VI-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v22139; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v12140; VI-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v12141; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v02142; VI-NO-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v02143; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2144; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v72145; VI-NO-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v72146; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v62147; VI-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v62148; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v52149; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset0:4 offset1:52150; VI-NO-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v52151; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v42152; VI-NO-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v42153; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:6 offset1:72154; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2155; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v12156; VI-NO-DS128-NEXT:    v_and_b32_e32 v24, 0xffff, v12157; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v02158; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v02159; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2160; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v52161; VI-NO-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v52162; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v42163; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v42164; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v27, 16, v32165; VI-NO-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v32166; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v22167; VI-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v22168; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v72169; VI-NO-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v72170; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v62171; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v62172; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[4:5], v[30:31] offset0:12 offset1:132173; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[6:7], v[28:29] offset0:14 offset1:152174; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[2:3], v[26:27] offset0:10 offset1:112175; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[0:1], v[24:25] offset0:8 offset1:92176; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[22:23], v[20:21] offset0:4 offset1:52177; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[18:19], v[16:17] offset0:6 offset1:72178; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[14:15], v[12:13] offset1:12179; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[10:11], v[8:9] offset0:2 offset1:32180; VI-NO-DS128-NEXT:    s_endpgm2181;2182; GFX9-NO-DS128-LABEL: local_zextload_v32i16_to_v32i32:2183; GFX9-NO-DS128:       ; %bb.0:2184; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242185; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2186; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v24, s12187; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset1:12188; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:2 offset1:32189; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v32, s02190; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2191; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v32192; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v32193; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v22194; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v22195; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v12196; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v12197; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v02198; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v02199; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2200; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v72201; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v72202; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v62203; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v62204; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v52205; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset0:4 offset1:52206; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v52207; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v42208; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v42209; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:6 offset1:72210; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2211; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v12212; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v24, 0xffff, v12213; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v02214; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v02215; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2216; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v52217; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v52218; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v42219; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v42220; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v27, 16, v32221; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v32222; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v22223; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v22224; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v72225; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v72226; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v62227; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v62228; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[4:5], v[30:31] offset0:12 offset1:132229; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[6:7], v[28:29] offset0:14 offset1:152230; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[2:3], v[26:27] offset0:10 offset1:112231; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[0:1], v[24:25] offset0:8 offset1:92232; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[22:23], v[20:21] offset0:4 offset1:52233; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[18:19], v[16:17] offset0:6 offset1:72234; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[14:15], v[12:13] offset1:12235; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[10:11], v[8:9] offset0:2 offset1:32236; GFX9-NO-DS128-NEXT:    s_endpgm2237;2238; EG-LABEL: local_zextload_v32i16_to_v32i32:2239; EG:       ; %bb.0:2240; EG-NEXT:    ALU 105, @21, KC0[CB0:0-32], KC1[]2241; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,2242; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)2243; EG-NEXT:     LDS_READ_RET * OQAP, T0.W2244; EG-NEXT:     MOV T0.Y, OQAP,2245; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,2246; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)2247; EG-NEXT:     LDS_READ_RET * OQAP, T0.W2248; EG-NEXT:     MOV T0.Z, OQAP,2249; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,2250; EG-NEXT:    56(7.847271e-44), 0(0.000000e+00)2251; EG-NEXT:     LDS_READ_RET * OQAP, T0.W2252; EG-NEXT:     MOV T0.W, OQAP,2253; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,2254; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)2255; EG-NEXT:     LDS_READ_RET * OQAP, T1.W2256; EG-NEXT:     MOV T1.Y, OQAP,2257; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,2258; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)2259; EG-NEXT:     LDS_READ_RET * OQAP, T1.W2260; EG-NEXT:     MOV T1.Z, OQAP,2261; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,2262; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)2263; EG-NEXT:     LDS_READ_RET * OQAP, T1.W2264; EG-NEXT:     MOV T1.W, OQAP,2265; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,2266; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)2267; EG-NEXT:     LDS_READ_RET * OQAP, T2.W2268; EG-NEXT:     MOV T2.Y, OQAP,2269; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,2270; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)2271; EG-NEXT:     LDS_READ_RET * OQAP, T2.W2272; EG-NEXT:     MOV T2.Z, OQAP,2273; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,2274; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2275; EG-NEXT:     LDS_READ_RET * OQAP, T2.W2276; EG-NEXT:     MOV T2.W, OQAP,2277; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,2278; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)2279; EG-NEXT:     LDS_READ_RET * OQAP, T3.W2280; EG-NEXT:     MOV T3.Y, OQAP,2281; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,2282; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)2283; EG-NEXT:     LDS_READ_RET * OQAP, T3.W2284; EG-NEXT:     MOV T3.Z, OQAP,2285; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,2286; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)2287; EG-NEXT:     LDS_READ_RET * OQAP, T3.W2288; EG-NEXT:     MOV T3.W, OQAP,2289; EG-NEXT:     MOV * T4.W, KC0[2].Z,2290; EG-NEXT:     LDS_READ_RET * OQAP, T4.W2291; EG-NEXT:     MOV T4.Y, OQAP,2292; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,2293; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)2294; EG-NEXT:     LDS_READ_RET * OQAP, T4.W2295; EG-NEXT:     MOV T4.Z, OQAP,2296; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,2297; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)2298; EG-NEXT:     LDS_READ_RET * OQAP, T4.W2299; EG-NEXT:     MOV T4.W, OQAP,2300; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,2301; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)2302; EG-NEXT:     LDS_READ_RET * OQAP, T5.W2303; EG-NEXT:     MOV T5.Y, OQAP,2304; EG-NEXT:     LSHR T5.W, T4.W, literal.x,2305; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2306; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)2307; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2308; EG-NEXT:     AND_INT T4.W, T4.W, literal.x,2309; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2310; EG-NEXT:    65535(9.183409e-41), 24(3.363116e-44)2311; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2312; EG-NEXT:     LSHR T4.W, T5.Y, literal.x,2313; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2314; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)2315; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2316; EG-NEXT:     AND_INT T4.W, T5.Y, literal.x,2317; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2318; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)2319; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2320; EG-NEXT:     LSHR T4.W, T4.Z, literal.x,2321; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2322; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)2323; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2324; EG-NEXT:     AND_INT T4.W, T4.Z, literal.x,2325; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2326; EG-NEXT:    65535(9.183409e-41), 8(1.121039e-44)2327; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2328; EG-NEXT:     LSHR T4.W, T4.Y, literal.x,2329; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2330; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)2331; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2332; EG-NEXT:     AND_INT T4.W, T4.Y, literal.x,2333; EG-NEXT:     MOV * T5.W, KC0[2].Y,2334; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)2335; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2336; EG-NEXT:     LSHR T4.W, T3.W, literal.x,2337; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2338; EG-NEXT:    16(2.242078e-44), 60(8.407791e-44)2339; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2340; EG-NEXT:     AND_INT T3.W, T3.W, literal.x,2341; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2342; EG-NEXT:    65535(9.183409e-41), 56(7.847271e-44)2343; EG-NEXT:     LDS_WRITE * T4.W, T3.W,2344; EG-NEXT:     LSHR T3.W, T3.Z, literal.x,2345; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2346; EG-NEXT:    16(2.242078e-44), 52(7.286752e-44)2347; EG-NEXT:    ALU 84, @22, KC0[CB0:0-32], KC1[]2348; EG-NEXT:     LDS_WRITE * T4.W, T3.W,2349; EG-NEXT:     AND_INT T3.W, T3.Z, literal.x,2350; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2351; EG-NEXT:    65535(9.183409e-41), 48(6.726233e-44)2352; EG-NEXT:     LDS_WRITE * T4.W, T3.W,2353; EG-NEXT:     LSHR T3.W, T3.Y, literal.x,2354; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2355; EG-NEXT:    16(2.242078e-44), 44(6.165713e-44)2356; EG-NEXT:     LDS_WRITE * T4.W, T3.W,2357; EG-NEXT:     AND_INT T3.W, T3.Y, literal.x,2358; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2359; EG-NEXT:    65535(9.183409e-41), 40(5.605194e-44)2360; EG-NEXT:     LDS_WRITE * T4.W, T3.W,2361; EG-NEXT:     LSHR T3.W, T2.W, literal.x,2362; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2363; EG-NEXT:    16(2.242078e-44), 36(5.044674e-44)2364; EG-NEXT:     LDS_WRITE * T4.W, T3.W,2365; EG-NEXT:     AND_INT T2.W, T2.W, literal.x,2366; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2367; EG-NEXT:    65535(9.183409e-41), 32(4.484155e-44)2368; EG-NEXT:     LDS_WRITE * T3.W, T2.W,2369; EG-NEXT:     LSHR T2.W, T2.Z, literal.x,2370; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2371; EG-NEXT:    16(2.242078e-44), 92(1.289195e-43)2372; EG-NEXT:     LDS_WRITE * T3.W, T2.W,2373; EG-NEXT:     AND_INT T2.W, T2.Z, literal.x,2374; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2375; EG-NEXT:    65535(9.183409e-41), 88(1.233143e-43)2376; EG-NEXT:     LDS_WRITE * T3.W, T2.W,2377; EG-NEXT:     LSHR T2.W, T2.Y, literal.x,2378; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2379; EG-NEXT:    16(2.242078e-44), 84(1.177091e-43)2380; EG-NEXT:     LDS_WRITE * T3.W, T2.W,2381; EG-NEXT:     AND_INT T2.W, T2.Y, literal.x,2382; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2383; EG-NEXT:    65535(9.183409e-41), 80(1.121039e-43)2384; EG-NEXT:     LDS_WRITE * T3.W, T2.W,2385; EG-NEXT:     LSHR T2.W, T1.W, literal.x,2386; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,2387; EG-NEXT:    16(2.242078e-44), 76(1.064987e-43)2388; EG-NEXT:     LDS_WRITE * T3.W, T2.W,2389; EG-NEXT:     AND_INT T1.W, T1.W, literal.x,2390; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2391; EG-NEXT:    65535(9.183409e-41), 72(1.008935e-43)2392; EG-NEXT:     LDS_WRITE * T2.W, T1.W,2393; EG-NEXT:     LSHR T1.W, T1.Z, literal.x,2394; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2395; EG-NEXT:    16(2.242078e-44), 68(9.528830e-44)2396; EG-NEXT:     LDS_WRITE * T2.W, T1.W,2397; EG-NEXT:     AND_INT T1.W, T1.Z, literal.x,2398; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2399; EG-NEXT:    65535(9.183409e-41), 64(8.968310e-44)2400; EG-NEXT:     LDS_WRITE * T2.W, T1.W,2401; EG-NEXT:     LSHR T1.W, T1.Y, literal.x,2402; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2403; EG-NEXT:    16(2.242078e-44), 124(1.737610e-43)2404; EG-NEXT:     LDS_WRITE * T2.W, T1.W,2405; EG-NEXT:     AND_INT T1.W, T1.Y, literal.x,2406; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2407; EG-NEXT:    65535(9.183409e-41), 120(1.681558e-43)2408; EG-NEXT:     LDS_WRITE * T2.W, T1.W,2409; EG-NEXT:     LSHR T1.W, T0.W, literal.x,2410; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,2411; EG-NEXT:    16(2.242078e-44), 116(1.625506e-43)2412; EG-NEXT:     LDS_WRITE * T2.W, T1.W,2413; EG-NEXT:     AND_INT T0.W, T0.W, literal.x,2414; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2415; EG-NEXT:    65535(9.183409e-41), 112(1.569454e-43)2416; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2417; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,2418; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2419; EG-NEXT:    16(2.242078e-44), 108(1.513402e-43)2420; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2421; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,2422; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2423; EG-NEXT:    65535(9.183409e-41), 104(1.457350e-43)2424; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2425; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,2426; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2427; EG-NEXT:    16(2.242078e-44), 100(1.401298e-43)2428; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2429; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,2430; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2431; EG-NEXT:    65535(9.183409e-41), 96(1.345247e-43)2432; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2433; EG-NEXT:    RETURN2434;2435; VI-DS128-LABEL: local_zextload_v32i16_to_v32i32:2436; VI-DS128:       ; %bb.0:2437; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242438; VI-DS128-NEXT:    s_mov_b32 m0, -12439; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)2440; VI-DS128-NEXT:    v_mov_b32_e32 v20, s12441; VI-DS128-NEXT:    ds_read_b128 v[0:3], v202442; VI-DS128-NEXT:    ds_read_b128 v[4:7], v20 offset:162443; VI-DS128-NEXT:    ds_read_b128 v[16:19], v20 offset:322444; VI-DS128-NEXT:    ds_read_b128 v[20:23], v20 offset:482445; VI-DS128-NEXT:    v_mov_b32_e32 v32, s02446; VI-DS128-NEXT:    s_waitcnt lgkmcnt(3)2447; VI-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v32448; VI-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v32449; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v22450; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)2451; VI-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v232452; VI-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v232453; VI-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v222454; VI-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v222455; VI-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v212456; VI-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v212457; VI-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v202458; VI-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v202459; VI-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v22460; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v12461; VI-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v12462; VI-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v02463; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v02464; VI-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v72465; VI-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v72466; VI-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v62467; VI-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v62468; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v52469; VI-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v52470; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v42471; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v42472; VI-DS128-NEXT:    v_lshrrev_b32_e32 v27, 16, v192473; VI-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v192474; VI-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v182475; VI-DS128-NEXT:    v_and_b32_e32 v24, 0xffff, v182476; VI-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v172477; VI-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v172478; VI-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v162479; VI-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v162480; VI-DS128-NEXT:    ds_write_b128 v32, v[20:23] offset:962481; VI-DS128-NEXT:    ds_write_b128 v32, v[28:31] offset:1122482; VI-DS128-NEXT:    ds_write_b128 v32, v[16:19] offset:642483; VI-DS128-NEXT:    ds_write_b128 v32, v[24:27] offset:802484; VI-DS128-NEXT:    ds_write_b128 v32, v[4:7] offset:322485; VI-DS128-NEXT:    ds_write_b128 v32, v[12:15] offset:482486; VI-DS128-NEXT:    ds_write_b128 v32, v[0:3]2487; VI-DS128-NEXT:    ds_write_b128 v32, v[8:11] offset:162488; VI-DS128-NEXT:    s_endpgm2489;2490; GFX9-DS128-LABEL: local_zextload_v32i16_to_v32i32:2491; GFX9-DS128:       ; %bb.0:2492; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242493; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)2494; GFX9-DS128-NEXT:    v_mov_b32_e32 v20, s12495; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v202496; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v20 offset:162497; GFX9-DS128-NEXT:    ds_read_b128 v[16:19], v20 offset:322498; GFX9-DS128-NEXT:    ds_read_b128 v[20:23], v20 offset:482499; GFX9-DS128-NEXT:    v_mov_b32_e32 v32, s02500; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(3)2501; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v32502; GFX9-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v32503; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v22504; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)2505; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v232506; GFX9-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v232507; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v222508; GFX9-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v222509; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v212510; GFX9-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v212511; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v202512; GFX9-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v202513; GFX9-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v22514; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v12515; GFX9-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v12516; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v02517; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v02518; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v72519; GFX9-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v72520; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v62521; GFX9-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v62522; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v52523; GFX9-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v52524; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v42525; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v42526; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v27, 16, v192527; GFX9-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v192528; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v182529; GFX9-DS128-NEXT:    v_and_b32_e32 v24, 0xffff, v182530; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v172531; GFX9-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v172532; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v162533; GFX9-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v162534; GFX9-DS128-NEXT:    ds_write_b128 v32, v[20:23] offset:962535; GFX9-DS128-NEXT:    ds_write_b128 v32, v[28:31] offset:1122536; GFX9-DS128-NEXT:    ds_write_b128 v32, v[16:19] offset:642537; GFX9-DS128-NEXT:    ds_write_b128 v32, v[24:27] offset:802538; GFX9-DS128-NEXT:    ds_write_b128 v32, v[4:7] offset:322539; GFX9-DS128-NEXT:    ds_write_b128 v32, v[12:15] offset:482540; GFX9-DS128-NEXT:    ds_write_b128 v32, v[0:3]2541; GFX9-DS128-NEXT:    ds_write_b128 v32, v[8:11] offset:162542; GFX9-DS128-NEXT:    s_endpgm2543  %load = load <32 x i16>, ptr addrspace(3) %in2544  %ext = zext <32 x i16> %load to <32 x i32>2545  store <32 x i32> %ext, ptr addrspace(3) %out2546  ret void2547}2548 2549define amdgpu_kernel void @local_sextload_v32i16_to_v32i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {2550; SI-LABEL: local_sextload_v32i16_to_v32i32:2551; SI:       ; %bb.0:2552; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x92553; SI-NEXT:    s_waitcnt lgkmcnt(0)2554; SI-NEXT:    v_mov_b32_e32 v12, s12555; SI-NEXT:    s_mov_b32 m0, -12556; SI-NEXT:    ds_read2_b64 v[0:3], v12 offset1:12557; SI-NEXT:    ds_read2_b64 v[4:7], v12 offset0:2 offset1:32558; SI-NEXT:    ds_read2_b64 v[8:11], v12 offset0:4 offset1:52559; SI-NEXT:    ds_read2_b64 v[12:15], v12 offset0:6 offset1:72560; SI-NEXT:    s_waitcnt lgkmcnt(3)2561; SI-NEXT:    v_ashrrev_i32_e32 v17, 16, v12562; SI-NEXT:    v_ashrrev_i32_e32 v19, 16, v02563; SI-NEXT:    v_ashrrev_i32_e32 v21, 16, v32564; SI-NEXT:    v_ashrrev_i32_e32 v23, 16, v22565; SI-NEXT:    v_bfe_i32 v16, v1, 0, 162566; SI-NEXT:    v_bfe_i32 v18, v0, 0, 162567; SI-NEXT:    v_bfe_i32 v20, v3, 0, 162568; SI-NEXT:    v_bfe_i32 v22, v2, 0, 162569; SI-NEXT:    s_waitcnt lgkmcnt(2)2570; SI-NEXT:    v_ashrrev_i32_e32 v1, 16, v52571; SI-NEXT:    v_ashrrev_i32_e32 v3, 16, v42572; SI-NEXT:    v_bfe_i32 v0, v5, 0, 162573; SI-NEXT:    v_bfe_i32 v2, v4, 0, 162574; SI-NEXT:    v_ashrrev_i32_e32 v5, 16, v72575; SI-NEXT:    v_bfe_i32 v4, v7, 0, 162576; SI-NEXT:    v_ashrrev_i32_e32 v7, 16, v62577; SI-NEXT:    v_bfe_i32 v6, v6, 0, 162578; SI-NEXT:    s_waitcnt lgkmcnt(1)2579; SI-NEXT:    v_ashrrev_i32_e32 v25, 16, v92580; SI-NEXT:    v_bfe_i32 v24, v9, 0, 162581; SI-NEXT:    v_ashrrev_i32_e32 v9, 16, v82582; SI-NEXT:    v_bfe_i32 v8, v8, 0, 162583; SI-NEXT:    v_ashrrev_i32_e32 v27, 16, v112584; SI-NEXT:    v_bfe_i32 v26, v11, 0, 162585; SI-NEXT:    v_ashrrev_i32_e32 v11, 16, v102586; SI-NEXT:    v_bfe_i32 v10, v10, 0, 162587; SI-NEXT:    s_waitcnt lgkmcnt(0)2588; SI-NEXT:    v_ashrrev_i32_e32 v29, 16, v132589; SI-NEXT:    v_bfe_i32 v28, v13, 0, 162590; SI-NEXT:    v_ashrrev_i32_e32 v13, 16, v122591; SI-NEXT:    v_bfe_i32 v12, v12, 0, 162592; SI-NEXT:    v_ashrrev_i32_e32 v31, 16, v152593; SI-NEXT:    v_bfe_i32 v30, v15, 0, 162594; SI-NEXT:    v_ashrrev_i32_e32 v15, 16, v142595; SI-NEXT:    v_bfe_i32 v14, v14, 0, 162596; SI-NEXT:    v_mov_b32_e32 v32, s02597; SI-NEXT:    ds_write2_b64 v32, v[14:15], v[30:31] offset0:14 offset1:152598; SI-NEXT:    ds_write2_b64 v32, v[12:13], v[28:29] offset0:12 offset1:132599; SI-NEXT:    ds_write2_b64 v32, v[10:11], v[26:27] offset0:10 offset1:112600; SI-NEXT:    ds_write2_b64 v32, v[8:9], v[24:25] offset0:8 offset1:92601; SI-NEXT:    ds_write2_b64 v32, v[6:7], v[4:5] offset0:6 offset1:72602; SI-NEXT:    ds_write2_b64 v32, v[2:3], v[0:1] offset0:4 offset1:52603; SI-NEXT:    ds_write2_b64 v32, v[22:23], v[20:21] offset0:2 offset1:32604; SI-NEXT:    ds_write2_b64 v32, v[18:19], v[16:17] offset1:12605; SI-NEXT:    s_endpgm2606;2607; VI-NO-DS128-LABEL: local_sextload_v32i16_to_v32i32:2608; VI-NO-DS128:       ; %bb.0:2609; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242610; VI-NO-DS128-NEXT:    s_mov_b32 m0, -12611; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2612; VI-NO-DS128-NEXT:    v_mov_b32_e32 v24, s12613; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset1:12614; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:2 offset1:32615; VI-NO-DS128-NEXT:    v_mov_b32_e32 v32, s02616; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2617; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v32618; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v22619; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v12620; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v02621; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2622; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v72623; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v3, 0, 162624; VI-NO-DS128-NEXT:    v_bfe_i32 v10, v2, 0, 162625; VI-NO-DS128-NEXT:    v_bfe_i32 v12, v1, 0, 162626; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v0, 0, 162627; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v62628; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v21, 16, v52629; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v7, 0, 162630; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v6, 0, 162631; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset0:4 offset1:52632; VI-NO-DS128-NEXT:    v_bfe_i32 v20, v5, 0, 162633; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v23, 16, v42634; VI-NO-DS128-NEXT:    v_bfe_i32 v22, v4, 0, 162635; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:6 offset1:72636; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2637; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v25, 16, v12638; VI-NO-DS128-NEXT:    v_bfe_i32 v24, v1, 0, 162639; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v02640; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v0, 0, 162641; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2642; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v31, 16, v52643; VI-NO-DS128-NEXT:    v_bfe_i32 v30, v5, 0, 162644; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v42645; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v4, 0, 162646; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v27, 16, v32647; VI-NO-DS128-NEXT:    v_bfe_i32 v26, v3, 0, 162648; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v22649; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 162650; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v29, 16, v72651; VI-NO-DS128-NEXT:    v_bfe_i32 v28, v7, 0, 162652; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v62653; VI-NO-DS128-NEXT:    v_bfe_i32 v6, v6, 0, 162654; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[4:5], v[30:31] offset0:12 offset1:132655; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[6:7], v[28:29] offset0:14 offset1:152656; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[2:3], v[26:27] offset0:10 offset1:112657; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[0:1], v[24:25] offset0:8 offset1:92658; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[22:23], v[20:21] offset0:4 offset1:52659; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[18:19], v[16:17] offset0:6 offset1:72660; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[14:15], v[12:13] offset1:12661; VI-NO-DS128-NEXT:    ds_write2_b64 v32, v[10:11], v[8:9] offset0:2 offset1:32662; VI-NO-DS128-NEXT:    s_endpgm2663;2664; GFX9-NO-DS128-LABEL: local_sextload_v32i16_to_v32i32:2665; GFX9-NO-DS128:       ; %bb.0:2666; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242667; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2668; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v24, s12669; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset1:12670; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:2 offset1:32671; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v32, s02672; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2673; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v32674; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v22675; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v12676; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v02677; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2678; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v72679; GFX9-NO-DS128-NEXT:    v_bfe_i32 v8, v3, 0, 162680; GFX9-NO-DS128-NEXT:    v_bfe_i32 v10, v2, 0, 162681; GFX9-NO-DS128-NEXT:    v_bfe_i32 v12, v1, 0, 162682; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v0, 0, 162683; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v62684; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v21, 16, v52685; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v7, 0, 162686; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v6, 0, 162687; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v24 offset0:4 offset1:52688; GFX9-NO-DS128-NEXT:    v_bfe_i32 v20, v5, 0, 162689; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v23, 16, v42690; GFX9-NO-DS128-NEXT:    v_bfe_i32 v22, v4, 0, 162691; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v24 offset0:6 offset1:72692; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)2693; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v25, 16, v12694; GFX9-NO-DS128-NEXT:    v_bfe_i32 v24, v1, 0, 162695; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v02696; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v0, 0, 162697; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)2698; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v31, 16, v52699; GFX9-NO-DS128-NEXT:    v_bfe_i32 v30, v5, 0, 162700; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v42701; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v4, 0, 162702; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v27, 16, v32703; GFX9-NO-DS128-NEXT:    v_bfe_i32 v26, v3, 0, 162704; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v22705; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 162706; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v29, 16, v72707; GFX9-NO-DS128-NEXT:    v_bfe_i32 v28, v7, 0, 162708; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v62709; GFX9-NO-DS128-NEXT:    v_bfe_i32 v6, v6, 0, 162710; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[4:5], v[30:31] offset0:12 offset1:132711; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[6:7], v[28:29] offset0:14 offset1:152712; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[2:3], v[26:27] offset0:10 offset1:112713; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[0:1], v[24:25] offset0:8 offset1:92714; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[22:23], v[20:21] offset0:4 offset1:52715; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[18:19], v[16:17] offset0:6 offset1:72716; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[14:15], v[12:13] offset1:12717; GFX9-NO-DS128-NEXT:    ds_write2_b64 v32, v[10:11], v[8:9] offset0:2 offset1:32718; GFX9-NO-DS128-NEXT:    s_endpgm2719;2720; EG-LABEL: local_sextload_v32i16_to_v32i32:2721; EG:       ; %bb.0:2722; EG-NEXT:    ALU 101, @23, KC0[CB0:0-32], KC1[]2723; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,2724; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)2725; EG-NEXT:     LDS_READ_RET * OQAP, T0.W2726; EG-NEXT:     MOV T0.Y, OQAP,2727; EG-NEXT:     MOV * T0.W, KC0[2].Z,2728; EG-NEXT:     LDS_READ_RET * OQAP, T0.W2729; EG-NEXT:     MOV T0.Z, OQAP,2730; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,2731; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)2732; EG-NEXT:     LDS_READ_RET * OQAP, T0.W2733; EG-NEXT:     MOV T0.W, OQAP,2734; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,2735; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)2736; EG-NEXT:     LDS_READ_RET * OQAP, T1.W2737; EG-NEXT:     MOV T1.Y, OQAP,2738; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,2739; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)2740; EG-NEXT:     LDS_READ_RET * OQAP, T1.W2741; EG-NEXT:     MOV T1.Z, OQAP,2742; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,2743; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2744; EG-NEXT:     LDS_READ_RET * OQAP, T1.W2745; EG-NEXT:     MOV T1.W, OQAP,2746; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,2747; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)2748; EG-NEXT:     LDS_READ_RET * OQAP, T2.W2749; EG-NEXT:     MOV T2.Y, OQAP,2750; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,2751; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)2752; EG-NEXT:     LDS_READ_RET * OQAP, T2.W2753; EG-NEXT:     MOV T2.Z, OQAP,2754; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,2755; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)2756; EG-NEXT:     LDS_READ_RET * OQAP, T2.W2757; EG-NEXT:     MOV T2.W, OQAP,2758; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,2759; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)2760; EG-NEXT:     LDS_READ_RET * OQAP, T3.W2761; EG-NEXT:     MOV T3.Y, OQAP,2762; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,2763; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)2764; EG-NEXT:     LDS_READ_RET * OQAP, T3.W2765; EG-NEXT:     MOV T3.Z, OQAP,2766; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,2767; EG-NEXT:    56(7.847271e-44), 0(0.000000e+00)2768; EG-NEXT:     LDS_READ_RET * OQAP, T3.W2769; EG-NEXT:     MOV T3.W, OQAP,2770; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,2771; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)2772; EG-NEXT:     LDS_READ_RET * OQAP, T4.W2773; EG-NEXT:     MOV T4.Y, OQAP,2774; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,2775; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)2776; EG-NEXT:     LDS_READ_RET * OQAP, T4.W2777; EG-NEXT:     MOV T4.Z, OQAP,2778; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,2779; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)2780; EG-NEXT:     LDS_READ_RET * OQAP, T4.W2781; EG-NEXT:     MOV T4.W, OQAP,2782; EG-NEXT:     LSHR * T5.W, T4.Z, literal.x,2783; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2784; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,2785; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)2786; EG-NEXT:     LDS_READ_RET * OQAP, T6.W2787; EG-NEXT:     MOV T5.Y, OQAP,2788; EG-NEXT:     LSHR T5.Z, T4.W, literal.x,2789; EG-NEXT:     BFE_INT T5.W, T5.W, 0.0, literal.x, BS:VEC_120/SCL_2122790; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2791; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)2792; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2793; EG-NEXT:     LSHR T6.Z, T0.Y, literal.x,2794; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x,2795; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2796; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)2797; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2798; EG-NEXT:     LSHR T5.Z, T0.Z, literal.x,2799; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x, BS:VEC_120/SCL_2122800; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2801; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)2802; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2803; EG-NEXT:     LSHR T6.Z, T0.W, literal.x,2804; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x,2805; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2806; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)2807; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2808; EG-NEXT:     LSHR T5.Z, T1.Y, literal.x,2809; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x,2810; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2811; EG-NEXT:    16(2.242078e-44), 60(8.407791e-44)2812; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2813; EG-NEXT:     LSHR T6.Z, T1.Z, literal.x,2814; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x, BS:VEC_120/SCL_2122815; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2816; EG-NEXT:    16(2.242078e-44), 52(7.286752e-44)2817; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2818; EG-NEXT:     LSHR T5.Z, T1.W, literal.x,2819; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x,2820; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2821; EG-NEXT:    16(2.242078e-44), 44(6.165713e-44)2822; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2823; EG-NEXT:     LSHR * T6.Z, T2.Y, literal.x,2824; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2825; EG-NEXT:    ALU 89, @24, KC0[CB0:0-32], KC1[]2826; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x,2827; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2828; EG-NEXT:    16(2.242078e-44), 36(5.044674e-44)2829; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2830; EG-NEXT:     LSHR T5.Z, T2.Z, literal.x,2831; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x, BS:VEC_120/SCL_2122832; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2833; EG-NEXT:    16(2.242078e-44), 92(1.289195e-43)2834; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2835; EG-NEXT:     LSHR T6.Z, T2.W, literal.x,2836; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x,2837; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2838; EG-NEXT:    16(2.242078e-44), 84(1.177091e-43)2839; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2840; EG-NEXT:     LSHR T5.Z, T3.Y, literal.x,2841; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x,2842; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2843; EG-NEXT:    16(2.242078e-44), 76(1.064987e-43)2844; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2845; EG-NEXT:     LSHR T6.Z, T3.Z, literal.x,2846; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x, BS:VEC_120/SCL_2122847; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2848; EG-NEXT:    16(2.242078e-44), 68(9.528830e-44)2849; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2850; EG-NEXT:     LSHR T5.Z, T3.W, literal.x,2851; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x,2852; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2853; EG-NEXT:    16(2.242078e-44), 124(1.737610e-43)2854; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2855; EG-NEXT:     LSHR T6.Z, T4.Y, literal.x,2856; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x,2857; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2858; EG-NEXT:    16(2.242078e-44), 116(1.625506e-43)2859; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2860; EG-NEXT:     LSHR T5.Z, T5.Y, literal.x,2861; EG-NEXT:     BFE_INT T5.W, T6.Z, 0.0, literal.x,2862; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2863; EG-NEXT:    16(2.242078e-44), 108(1.513402e-43)2864; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2865; EG-NEXT:     BFE_INT T5.W, T5.Z, 0.0, literal.x,2866; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2867; EG-NEXT:    16(2.242078e-44), 100(1.401298e-43)2868; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2869; EG-NEXT:     BFE_INT T5.W, T4.Z, 0.0, literal.x,2870; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,2871; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)2872; EG-NEXT:     LDS_WRITE * T6.W, T5.W,2873; EG-NEXT:     BFE_INT T4.W, T4.W, 0.0, literal.x,2874; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.x,2875; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2876; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2877; EG-NEXT:     BFE_INT T4.W, T0.Y, 0.0, literal.x,2878; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,2879; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)2880; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2881; EG-NEXT:     BFE_INT T4.W, T0.Z, 0.0, literal.x,2882; EG-NEXT:     MOV * T5.W, KC0[2].Y,2883; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)2884; EG-NEXT:     LDS_WRITE * T5.W, T4.W,2885; EG-NEXT:     BFE_INT T0.W, T0.W, 0.0, literal.x,2886; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2887; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)2888; EG-NEXT:     LDS_WRITE * T4.W, T0.W,2889; EG-NEXT:     BFE_INT T0.W, T1.Y, 0.0, literal.x,2890; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2891; EG-NEXT:    16(2.242078e-44), 48(6.726233e-44)2892; EG-NEXT:     LDS_WRITE * T4.W, T0.W,2893; EG-NEXT:     BFE_INT T0.W, T1.Z, 0.0, literal.x,2894; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,2895; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)2896; EG-NEXT:     LDS_WRITE * T4.W, T0.W,2897; EG-NEXT:     BFE_INT T0.W, T1.W, 0.0, literal.x,2898; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2899; EG-NEXT:    16(2.242078e-44), 32(4.484155e-44)2900; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2901; EG-NEXT:     BFE_INT T0.W, T2.Y, 0.0, literal.x,2902; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2903; EG-NEXT:    16(2.242078e-44), 88(1.233143e-43)2904; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2905; EG-NEXT:     BFE_INT T0.W, T2.Z, 0.0, literal.x,2906; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2907; EG-NEXT:    16(2.242078e-44), 80(1.121039e-43)2908; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2909; EG-NEXT:     BFE_INT T0.W, T2.W, 0.0, literal.x,2910; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2911; EG-NEXT:    16(2.242078e-44), 72(1.008935e-43)2912; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2913; EG-NEXT:     BFE_INT T0.W, T3.Y, 0.0, literal.x,2914; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2915; EG-NEXT:    16(2.242078e-44), 64(8.968310e-44)2916; EG-NEXT:    ALU 16, @25, KC0[CB0:0-32], KC1[]2917; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2918; EG-NEXT:     BFE_INT T0.W, T3.Z, 0.0, literal.x,2919; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2920; EG-NEXT:    16(2.242078e-44), 120(1.681558e-43)2921; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2922; EG-NEXT:     BFE_INT T0.W, T3.W, 0.0, literal.x,2923; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2924; EG-NEXT:    16(2.242078e-44), 112(1.569454e-43)2925; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2926; EG-NEXT:     BFE_INT T0.W, T4.Y, 0.0, literal.x,2927; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2928; EG-NEXT:    16(2.242078e-44), 104(1.457350e-43)2929; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2930; EG-NEXT:     BFE_INT T0.W, T5.Y, 0.0, literal.x,2931; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,2932; EG-NEXT:    16(2.242078e-44), 96(1.345247e-43)2933; EG-NEXT:     LDS_WRITE * T1.W, T0.W,2934; EG-NEXT:    RETURN2935;2936; VI-DS128-LABEL: local_sextload_v32i16_to_v32i32:2937; VI-DS128:       ; %bb.0:2938; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242939; VI-DS128-NEXT:    s_mov_b32 m0, -12940; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)2941; VI-DS128-NEXT:    v_mov_b32_e32 v24, s12942; VI-DS128-NEXT:    ds_read_b128 v[0:3], v242943; VI-DS128-NEXT:    ds_read_b128 v[4:7], v24 offset:162944; VI-DS128-NEXT:    ds_read_b128 v[20:23], v24 offset:322945; VI-DS128-NEXT:    s_waitcnt lgkmcnt(2)2946; VI-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v32947; VI-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v22948; VI-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v12949; VI-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v02950; VI-DS128-NEXT:    v_bfe_i32 v10, v3, 0, 162951; VI-DS128-NEXT:    v_bfe_i32 v8, v2, 0, 162952; VI-DS128-NEXT:    v_bfe_i32 v14, v1, 0, 162953; VI-DS128-NEXT:    v_bfe_i32 v12, v0, 0, 162954; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)2955; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v72956; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v62957; VI-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v52958; VI-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v42959; VI-DS128-NEXT:    v_bfe_i32 v2, v7, 0, 162960; VI-DS128-NEXT:    v_bfe_i32 v0, v6, 0, 162961; VI-DS128-NEXT:    v_bfe_i32 v18, v5, 0, 162962; VI-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 162963; VI-DS128-NEXT:    ds_read_b128 v[4:7], v24 offset:482964; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)2965; VI-DS128-NEXT:    v_ashrrev_i32_e32 v26, 16, v232966; VI-DS128-NEXT:    v_ashrrev_i32_e32 v24, 16, v222967; VI-DS128-NEXT:    v_ashrrev_i32_e32 v30, 16, v212968; VI-DS128-NEXT:    v_ashrrev_i32_e32 v28, 16, v202969; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)2970; VI-DS128-NEXT:    v_ashrrev_i32_e32 v38, 16, v52971; VI-DS128-NEXT:    v_ashrrev_i32_e32 v36, 16, v42972; VI-DS128-NEXT:    v_bfe_i32 v37, v5, 0, 162973; VI-DS128-NEXT:    v_bfe_i32 v35, v4, 0, 162974; VI-DS128-NEXT:    v_mov_b32_e32 v4, s02975; VI-DS128-NEXT:    v_bfe_i32 v25, v23, 0, 162976; VI-DS128-NEXT:    v_bfe_i32 v23, v22, 0, 162977; VI-DS128-NEXT:    v_bfe_i32 v29, v21, 0, 162978; VI-DS128-NEXT:    v_bfe_i32 v27, v20, 0, 162979; VI-DS128-NEXT:    v_ashrrev_i32_e32 v34, 16, v72980; VI-DS128-NEXT:    v_ashrrev_i32_e32 v32, 16, v62981; VI-DS128-NEXT:    v_bfe_i32 v33, v7, 0, 162982; VI-DS128-NEXT:    v_bfe_i32 v31, v6, 0, 162983; VI-DS128-NEXT:    ds_write_b128 v4, v[35:38] offset:962984; VI-DS128-NEXT:    ds_write_b128 v4, v[31:34] offset:1122985; VI-DS128-NEXT:    ds_write_b128 v4, v[27:30] offset:642986; VI-DS128-NEXT:    ds_write_b128 v4, v[23:26] offset:802987; VI-DS128-NEXT:    ds_write_b128 v4, v[16:19] offset:322988; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3] offset:482989; VI-DS128-NEXT:    ds_write_b128 v4, v[12:15]2990; VI-DS128-NEXT:    ds_write_b128 v4, v[8:11] offset:162991; VI-DS128-NEXT:    s_endpgm2992;2993; GFX9-DS128-LABEL: local_sextload_v32i16_to_v32i32:2994; GFX9-DS128:       ; %bb.0:2995; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x242996; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)2997; GFX9-DS128-NEXT:    v_mov_b32_e32 v24, s12998; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v242999; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v24 offset:163000; GFX9-DS128-NEXT:    ds_read_b128 v[20:23], v24 offset:323001; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(2)3002; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v33003; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v23004; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v13005; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v03006; GFX9-DS128-NEXT:    v_bfe_i32 v10, v3, 0, 163007; GFX9-DS128-NEXT:    v_bfe_i32 v8, v2, 0, 163008; GFX9-DS128-NEXT:    v_bfe_i32 v14, v1, 0, 163009; GFX9-DS128-NEXT:    v_bfe_i32 v12, v0, 0, 163010; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)3011; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v73012; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v63013; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v53014; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v43015; GFX9-DS128-NEXT:    v_bfe_i32 v2, v7, 0, 163016; GFX9-DS128-NEXT:    v_bfe_i32 v0, v6, 0, 163017; GFX9-DS128-NEXT:    v_bfe_i32 v18, v5, 0, 163018; GFX9-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 163019; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v24 offset:483020; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)3021; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v26, 16, v233022; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v24, 16, v223023; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v30, 16, v213024; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v28, 16, v203025; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)3026; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v38, 16, v53027; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v36, 16, v43028; GFX9-DS128-NEXT:    v_bfe_i32 v37, v5, 0, 163029; GFX9-DS128-NEXT:    v_bfe_i32 v35, v4, 0, 163030; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s03031; GFX9-DS128-NEXT:    v_bfe_i32 v25, v23, 0, 163032; GFX9-DS128-NEXT:    v_bfe_i32 v23, v22, 0, 163033; GFX9-DS128-NEXT:    v_bfe_i32 v29, v21, 0, 163034; GFX9-DS128-NEXT:    v_bfe_i32 v27, v20, 0, 163035; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v34, 16, v73036; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v32, 16, v63037; GFX9-DS128-NEXT:    v_bfe_i32 v33, v7, 0, 163038; GFX9-DS128-NEXT:    v_bfe_i32 v31, v6, 0, 163039; GFX9-DS128-NEXT:    ds_write_b128 v4, v[35:38] offset:963040; GFX9-DS128-NEXT:    ds_write_b128 v4, v[31:34] offset:1123041; GFX9-DS128-NEXT:    ds_write_b128 v4, v[27:30] offset:643042; GFX9-DS128-NEXT:    ds_write_b128 v4, v[23:26] offset:803043; GFX9-DS128-NEXT:    ds_write_b128 v4, v[16:19] offset:323044; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3] offset:483045; GFX9-DS128-NEXT:    ds_write_b128 v4, v[12:15]3046; GFX9-DS128-NEXT:    ds_write_b128 v4, v[8:11] offset:163047; GFX9-DS128-NEXT:    s_endpgm3048  %load = load <32 x i16>, ptr addrspace(3) %in3049  %ext = sext <32 x i16> %load to <32 x i32>3050  store <32 x i32> %ext, ptr addrspace(3) %out3051  ret void3052}3053 3054define amdgpu_kernel void @local_zextload_v64i16_to_v64i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {3055; SI-LABEL: local_zextload_v64i16_to_v64i32:3056; SI:       ; %bb.0:3057; SI-NEXT:    s_mov_b32 s12, SCRATCH_RSRC_DWORD03058; SI-NEXT:    s_mov_b32 s13, SCRATCH_RSRC_DWORD13059; SI-NEXT:    s_mov_b32 s14, -13060; SI-NEXT:    s_mov_b32 s15, 0xe8f0003061; SI-NEXT:    s_add_u32 s12, s12, s113062; SI-NEXT:    s_addc_u32 s13, s13, 03063; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x93064; SI-NEXT:    s_waitcnt lgkmcnt(0)3065; SI-NEXT:    v_mov_b32_e32 v24, s13066; SI-NEXT:    s_mov_b32 m0, -13067; SI-NEXT:    ds_read2_b64 v[0:3], v24 offset0:8 offset1:93068; SI-NEXT:    ds_read2_b64 v[4:7], v24 offset0:10 offset1:113069; SI-NEXT:    ds_read2_b64 v[12:15], v24 offset0:12 offset1:133070; SI-NEXT:    ds_read2_b64 v[8:11], v24 offset0:14 offset1:153071; SI-NEXT:    ds_read2_b64 v[20:23], v24 offset1:13072; SI-NEXT:    ds_read2_b64 v[16:19], v24 offset0:2 offset1:33073; SI-NEXT:    ds_read2_b64 v[34:37], v24 offset0:4 offset1:53074; SI-NEXT:    ds_read2_b64 v[38:41], v24 offset0:6 offset1:73075; SI-NEXT:    s_waitcnt lgkmcnt(7)3076; SI-NEXT:    v_lshrrev_b32_e32 v25, 16, v13077; SI-NEXT:    v_lshrrev_b32_e32 v27, 16, v03078; SI-NEXT:    v_lshrrev_b32_e32 v29, 16, v33079; SI-NEXT:    v_lshrrev_b32_e32 v31, 16, v23080; SI-NEXT:    s_waitcnt lgkmcnt(6)3081; SI-NEXT:    v_lshrrev_b32_e32 v33, 16, v53082; SI-NEXT:    v_and_b32_e32 v24, 0xffff, v13083; SI-NEXT:    buffer_store_dword v24, off, s[12:15], 0 ; 4-byte Folded Spill3084; SI-NEXT:    buffer_store_dword v25, off, s[12:15], 0 offset:4 ; 4-byte Folded Spill3085; SI-NEXT:    v_and_b32_e32 v26, 0xffff, v03086; SI-NEXT:    v_and_b32_e32 v28, 0xffff, v33087; SI-NEXT:    v_and_b32_e32 v30, 0xffff, v23088; SI-NEXT:    s_waitcnt expcnt(0)3089; SI-NEXT:    v_lshrrev_b32_e32 v25, 16, v43090; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v73091; SI-NEXT:    v_and_b32_e32 v32, 0xffff, v53092; SI-NEXT:    v_and_b32_e32 v24, 0xffff, v43093; SI-NEXT:    v_and_b32_e32 v2, 0xffff, v73094; SI-NEXT:    v_lshrrev_b32_e32 v5, 16, v63095; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v63096; SI-NEXT:    s_waitcnt lgkmcnt(5)3097; SI-NEXT:    v_lshrrev_b32_e32 v7, 16, v133098; SI-NEXT:    v_and_b32_e32 v6, 0xffff, v133099; SI-NEXT:    v_lshrrev_b32_e32 v13, 16, v123100; SI-NEXT:    v_and_b32_e32 v12, 0xffff, v123101; SI-NEXT:    v_lshrrev_b32_e32 v43, 16, v153102; SI-NEXT:    v_and_b32_e32 v42, 0xffff, v153103; SI-NEXT:    v_lshrrev_b32_e32 v15, 16, v143104; SI-NEXT:    v_and_b32_e32 v14, 0xffff, v143105; SI-NEXT:    s_waitcnt lgkmcnt(4)3106; SI-NEXT:    v_lshrrev_b32_e32 v45, 16, v93107; SI-NEXT:    v_and_b32_e32 v44, 0xffff, v93108; SI-NEXT:    v_lshrrev_b32_e32 v9, 16, v83109; SI-NEXT:    v_and_b32_e32 v8, 0xffff, v83110; SI-NEXT:    v_lshrrev_b32_e32 v47, 16, v113111; SI-NEXT:    v_and_b32_e32 v46, 0xffff, v113112; SI-NEXT:    v_lshrrev_b32_e32 v11, 16, v103113; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v103114; SI-NEXT:    s_waitcnt lgkmcnt(3)3115; SI-NEXT:    v_lshrrev_b32_e32 v49, 16, v213116; SI-NEXT:    v_and_b32_e32 v48, 0xffff, v213117; SI-NEXT:    v_lshrrev_b32_e32 v21, 16, v203118; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v203119; SI-NEXT:    v_lshrrev_b32_e32 v51, 16, v233120; SI-NEXT:    v_and_b32_e32 v50, 0xffff, v233121; SI-NEXT:    v_lshrrev_b32_e32 v23, 16, v223122; SI-NEXT:    v_and_b32_e32 v22, 0xffff, v223123; SI-NEXT:    s_waitcnt lgkmcnt(2)3124; SI-NEXT:    v_lshrrev_b32_e32 v53, 16, v173125; SI-NEXT:    v_and_b32_e32 v52, 0xffff, v173126; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v163127; SI-NEXT:    v_and_b32_e32 v16, 0xffff, v163128; SI-NEXT:    v_lshrrev_b32_e32 v55, 16, v193129; SI-NEXT:    v_and_b32_e32 v54, 0xffff, v193130; SI-NEXT:    v_lshrrev_b32_e32 v19, 16, v183131; SI-NEXT:    v_and_b32_e32 v18, 0xffff, v183132; SI-NEXT:    s_waitcnt lgkmcnt(1)3133; SI-NEXT:    v_lshrrev_b32_e32 v57, 16, v353134; SI-NEXT:    v_and_b32_e32 v56, 0xffff, v353135; SI-NEXT:    v_lshrrev_b32_e32 v35, 16, v343136; SI-NEXT:    v_and_b32_e32 v34, 0xffff, v343137; SI-NEXT:    v_lshrrev_b32_e32 v59, 16, v373138; SI-NEXT:    v_and_b32_e32 v58, 0xffff, v373139; SI-NEXT:    v_lshrrev_b32_e32 v37, 16, v363140; SI-NEXT:    v_and_b32_e32 v36, 0xffff, v363141; SI-NEXT:    s_waitcnt lgkmcnt(0)3142; SI-NEXT:    v_lshrrev_b32_e32 v61, 16, v393143; SI-NEXT:    v_and_b32_e32 v60, 0xffff, v393144; SI-NEXT:    v_lshrrev_b32_e32 v39, 16, v383145; SI-NEXT:    v_and_b32_e32 v38, 0xffff, v383146; SI-NEXT:    v_lshrrev_b32_e32 v63, 16, v413147; SI-NEXT:    v_and_b32_e32 v62, 0xffff, v413148; SI-NEXT:    v_lshrrev_b32_e32 v41, 16, v403149; SI-NEXT:    v_and_b32_e32 v40, 0xffff, v403150; SI-NEXT:    v_mov_b32_e32 v0, s03151; SI-NEXT:    ds_write2_b64 v0, v[40:41], v[62:63] offset0:14 offset1:153152; SI-NEXT:    ds_write2_b64 v0, v[38:39], v[60:61] offset0:12 offset1:133153; SI-NEXT:    ds_write2_b64 v0, v[36:37], v[58:59] offset0:10 offset1:113154; SI-NEXT:    ds_write2_b64 v0, v[34:35], v[56:57] offset0:8 offset1:93155; SI-NEXT:    ds_write2_b64 v0, v[18:19], v[54:55] offset0:6 offset1:73156; SI-NEXT:    ds_write2_b64 v0, v[16:17], v[52:53] offset0:4 offset1:53157; SI-NEXT:    ds_write2_b64 v0, v[22:23], v[50:51] offset0:2 offset1:33158; SI-NEXT:    ds_write2_b64 v0, v[20:21], v[48:49] offset1:13159; SI-NEXT:    ds_write2_b64 v0, v[10:11], v[46:47] offset0:30 offset1:313160; SI-NEXT:    ds_write2_b64 v0, v[8:9], v[44:45] offset0:28 offset1:293161; SI-NEXT:    ds_write2_b64 v0, v[14:15], v[42:43] offset0:26 offset1:273162; SI-NEXT:    ds_write2_b64 v0, v[12:13], v[6:7] offset0:24 offset1:253163; SI-NEXT:    ds_write2_b64 v0, v[4:5], v[2:3] offset0:22 offset1:233164; SI-NEXT:    ds_write2_b64 v0, v[24:25], v[32:33] offset0:20 offset1:213165; SI-NEXT:    ds_write2_b64 v0, v[30:31], v[28:29] offset0:18 offset1:193166; SI-NEXT:    buffer_load_dword v1, off, s[12:15], 0 ; 4-byte Folded Reload3167; SI-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:4 ; 4-byte Folded Reload3168; SI-NEXT:    s_waitcnt vmcnt(0)3169; SI-NEXT:    ds_write2_b64 v0, v[26:27], v[1:2] offset0:16 offset1:173170; SI-NEXT:    s_endpgm3171;3172; VI-NO-DS128-LABEL: local_zextload_v64i16_to_v64i32:3173; VI-NO-DS128:       ; %bb.0:3174; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x243175; VI-NO-DS128-NEXT:    s_mov_b32 m0, -13176; VI-NO-DS128-NEXT:    s_mov_b32 s88, SCRATCH_RSRC_DWORD03177; VI-NO-DS128-NEXT:    s_mov_b32 s89, SCRATCH_RSRC_DWORD13178; VI-NO-DS128-NEXT:    s_mov_b32 s90, -13179; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3180; VI-NO-DS128-NEXT:    v_mov_b32_e32 v16, s13181; VI-NO-DS128-NEXT:    ds_read2_b64 v[10:13], v16 offset1:13182; VI-NO-DS128-NEXT:    ds_read2_b64 v[17:20], v16 offset0:2 offset1:33183; VI-NO-DS128-NEXT:    ds_read2_b64 v[21:24], v16 offset0:4 offset1:53184; VI-NO-DS128-NEXT:    s_mov_b32 s91, 0xe800003185; VI-NO-DS128-NEXT:    s_add_u32 s88, s88, s113186; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(2)3187; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v113188; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v103189; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v133190; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v123191; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)3192; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v183193; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v113194; VI-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v103195; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v133196; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v123197; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v173198; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v203199; VI-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v183200; VI-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v173201; VI-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v203202; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v193203; VI-NO-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v193204; VI-NO-DS128-NEXT:    ds_read2_b64 v[17:20], v16 offset0:6 offset1:73205; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)3206; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v26, 16, v223207; VI-NO-DS128-NEXT:    v_and_b32_e32 v25, 0xffff, v223208; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v28, 16, v213209; VI-NO-DS128-NEXT:    v_and_b32_e32 v27, 0xffff, v213210; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v30, 16, v243211; VI-NO-DS128-NEXT:    v_and_b32_e32 v29, 0xffff, v243212; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v32, 16, v233213; VI-NO-DS128-NEXT:    v_and_b32_e32 v31, 0xffff, v233214; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3215; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v34, 16, v183216; VI-NO-DS128-NEXT:    v_and_b32_e32 v33, 0xffff, v183217; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v36, 16, v173218; VI-NO-DS128-NEXT:    v_and_b32_e32 v35, 0xffff, v173219; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v38, 16, v203220; VI-NO-DS128-NEXT:    ds_read2_b64 v[21:24], v16 offset0:8 offset1:93221; VI-NO-DS128-NEXT:    v_and_b32_e32 v37, 0xffff, v203222; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v40, 16, v193223; VI-NO-DS128-NEXT:    v_and_b32_e32 v39, 0xffff, v193224; VI-NO-DS128-NEXT:    ds_read2_b64 v[17:20], v16 offset0:10 offset1:113225; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)3226; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v42, 16, v223227; VI-NO-DS128-NEXT:    v_and_b32_e32 v41, 0xffff, v223228; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v44, 16, v213229; VI-NO-DS128-NEXT:    v_and_b32_e32 v43, 0xffff, v213230; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v46, 16, v243231; VI-NO-DS128-NEXT:    v_and_b32_e32 v45, 0xffff, v243232; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v48, 16, v233233; VI-NO-DS128-NEXT:    v_and_b32_e32 v47, 0xffff, v233234; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3235; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v50, 16, v183236; VI-NO-DS128-NEXT:    v_and_b32_e32 v49, 0xffff, v183237; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v52, 16, v173238; VI-NO-DS128-NEXT:    v_and_b32_e32 v51, 0xffff, v173239; VI-NO-DS128-NEXT:    ds_read2_b64 v[21:24], v16 offset0:12 offset1:133240; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v56, 16, v193241; VI-NO-DS128-NEXT:    v_and_b32_e32 v55, 0xffff, v193242; VI-NO-DS128-NEXT:    ds_read2_b64 v[16:19], v16 offset0:14 offset1:153243; VI-NO-DS128-NEXT:    s_addc_u32 s89, s89, 03244; VI-NO-DS128-NEXT:    buffer_store_dword v0, off, s[88:91], 0 ; 4-byte Folded Spill3245; VI-NO-DS128-NEXT:    buffer_store_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Spill3246; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v54, 16, v203247; VI-NO-DS128-NEXT:    v_and_b32_e32 v53, 0xffff, v203248; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3249; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v20, 16, v193250; VI-NO-DS128-NEXT:    v_and_b32_e32 v19, 0xffff, v193251; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v183252; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v183253; VI-NO-DS128-NEXT:    v_mov_b32_e32 v18, s03254; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v58, 16, v223255; VI-NO-DS128-NEXT:    v_and_b32_e32 v57, 0xffff, v223256; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v22, 16, v213257; VI-NO-DS128-NEXT:    v_and_b32_e32 v21, 0xffff, v213258; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v60, 16, v243259; VI-NO-DS128-NEXT:    v_and_b32_e32 v59, 0xffff, v243260; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v24, 16, v233261; VI-NO-DS128-NEXT:    v_and_b32_e32 v23, 0xffff, v233262; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v62, 16, v173263; VI-NO-DS128-NEXT:    v_and_b32_e32 v61, 0xffff, v173264; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v163265; VI-NO-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v163266; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[0:1], v[19:20] offset0:30 offset1:313267; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[16:17], v[61:62] offset0:28 offset1:293268; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[23:24], v[59:60] offset0:26 offset1:273269; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[21:22], v[57:58] offset0:24 offset1:253270; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[55:56], v[53:54] offset0:22 offset1:233271; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[51:52], v[49:50] offset0:20 offset1:213272; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[47:48], v[45:46] offset0:18 offset1:193273; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[43:44], v[41:42] offset0:16 offset1:173274; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[39:40], v[37:38] offset0:14 offset1:153275; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[35:36], v[33:34] offset0:12 offset1:133276; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[31:32], v[29:30] offset0:10 offset1:113277; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[27:28], v[25:26] offset0:8 offset1:93278; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[14:15], v[12:13] offset0:6 offset1:73279; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[10:11], v[8:9] offset0:4 offset1:53280; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[6:7], v[4:5] offset0:2 offset1:33281; VI-NO-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 ; 4-byte Folded Reload3282; VI-NO-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Reload3283; VI-NO-DS128-NEXT:    s_waitcnt vmcnt(0)3284; VI-NO-DS128-NEXT:    ds_write2_b64 v18, v[2:3], v[0:1] offset1:13285; VI-NO-DS128-NEXT:    s_endpgm3286;3287; GFX9-NO-DS128-LABEL: local_zextload_v64i16_to_v64i32:3288; GFX9-NO-DS128:       ; %bb.0:3289; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x243290; GFX9-NO-DS128-NEXT:    s_mov_b32 s12, SCRATCH_RSRC_DWORD03291; GFX9-NO-DS128-NEXT:    s_mov_b32 s13, SCRATCH_RSRC_DWORD13292; GFX9-NO-DS128-NEXT:    s_mov_b32 s14, -13293; GFX9-NO-DS128-NEXT:    s_mov_b32 s15, 0xe000003294; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3295; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v56, s13296; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[10:13], v56 offset1:13297; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[14:17], v56 offset0:2 offset1:33298; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[18:21], v56 offset0:4 offset1:53299; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[22:25], v56 offset0:6 offset1:73300; GFX9-NO-DS128-NEXT:    s_add_u32 s12, s12, s113301; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(3)3302; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v113303; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v103304; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v133305; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v123306; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(2)3307; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v153308; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v113309; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v103310; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v133311; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v123312; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v143313; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v173314; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v153315; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v143316; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v173317; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v163318; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v163319; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)3320; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v27, 16, v193321; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v193322; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v183323; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v183324; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v213325; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v213326; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v33, 16, v203327; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v32, 0xffff, v203328; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3329; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v35, 16, v233330; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v34, 0xffff, v233331; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v37, 16, v223332; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v36, 0xffff, v223333; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[16:19], v56 offset0:8 offset1:93334; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[20:23], v56 offset0:10 offset1:113335; GFX9-NO-DS128-NEXT:    s_addc_u32 s13, s13, 03336; GFX9-NO-DS128-NEXT:    buffer_store_dword v0, off, s[12:15], 0 ; 4-byte Folded Spill3337; GFX9-NO-DS128-NEXT:    s_nop 03338; GFX9-NO-DS128-NEXT:    buffer_store_dword v1, off, s[12:15], 0 offset:4 ; 4-byte Folded Spill3339; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s03340; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)3341; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v41, 16, v173342; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v40, 0xffff, v173343; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v43, 16, v163344; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v42, 0xffff, v163345; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v45, 16, v193346; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v44, 0xffff, v193347; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v47, 16, v183348; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v46, 0xffff, v183349; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3350; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v49, 16, v213351; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v48, 0xffff, v213352; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v51, 16, v203353; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v50, 0xffff, v203354; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v53, 16, v233355; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[16:19], v56 offset0:12 offset1:133356; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v52, 0xffff, v233357; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v55, 16, v223358; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v54, 0xffff, v223359; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[20:23], v56 offset0:14 offset1:153360; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v39, 16, v253361; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v38, 0xffff, v253362; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v243363; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v24, 0xffff, v243364; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)3365; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v63, 16, v233366; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v62, 0xffff, v233367; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v223368; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v223369; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v57, 16, v173370; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v56, 0xffff, v173371; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v163372; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v163373; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v59, 16, v193374; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v58, 0xffff, v193375; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v183376; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v183377; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v61, 16, v213378; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v60, 0xffff, v213379; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v203380; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v203381; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[22:23], v[62:63] offset0:30 offset1:313382; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[20:21], v[60:61] offset0:28 offset1:293383; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[18:19], v[58:59] offset0:26 offset1:273384; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[16:17], v[56:57] offset0:24 offset1:253385; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[54:55], v[52:53] offset0:22 offset1:233386; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[50:51], v[48:49] offset0:20 offset1:213387; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[46:47], v[44:45] offset0:18 offset1:193388; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[42:43], v[40:41] offset0:16 offset1:173389; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[24:25], v[38:39] offset0:14 offset1:153390; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[36:37], v[34:35] offset0:12 offset1:133391; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[32:33], v[30:31] offset0:10 offset1:113392; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[28:29], v[26:27] offset0:8 offset1:93393; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[14:15], v[12:13] offset0:6 offset1:73394; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[10:11], v[8:9] offset0:4 offset1:53395; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[6:7], v[4:5] offset0:2 offset1:33396; GFX9-NO-DS128-NEXT:    buffer_load_dword v4, off, s[12:15], 0 ; 4-byte Folded Reload3397; GFX9-NO-DS128-NEXT:    buffer_load_dword v5, off, s[12:15], 0 offset:4 ; 4-byte Folded Reload3398; GFX9-NO-DS128-NEXT:    s_waitcnt vmcnt(0)3399; GFX9-NO-DS128-NEXT:    ds_write2_b64 v0, v[2:3], v[4:5] offset1:13400; GFX9-NO-DS128-NEXT:    s_endpgm3401;3402; EG-LABEL: local_zextload_v64i16_to_v64i32:3403; EG:       ; %bb.0:3404; EG-NEXT:    ALU 116, @26, KC0[CB0:0-32], KC1[]3405; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,3406; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)3407; EG-NEXT:     LDS_READ_RET * OQAP, T0.W3408; EG-NEXT:     MOV T0.Y, OQAP,3409; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,3410; EG-NEXT:    116(1.625506e-43), 0(0.000000e+00)3411; EG-NEXT:     LDS_READ_RET * OQAP, T0.W3412; EG-NEXT:     MOV T0.Z, OQAP,3413; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,3414; EG-NEXT:    120(1.681558e-43), 0(0.000000e+00)3415; EG-NEXT:     LDS_READ_RET * OQAP, T0.W3416; EG-NEXT:     MOV T0.W, OQAP,3417; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,3418; EG-NEXT:    124(1.737610e-43), 0(0.000000e+00)3419; EG-NEXT:     LDS_READ_RET * OQAP, T1.W3420; EG-NEXT:     MOV T1.Y, OQAP,3421; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,3422; EG-NEXT:    96(1.345247e-43), 0(0.000000e+00)3423; EG-NEXT:     LDS_READ_RET * OQAP, T1.W3424; EG-NEXT:     MOV T1.Z, OQAP,3425; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,3426; EG-NEXT:    100(1.401298e-43), 0(0.000000e+00)3427; EG-NEXT:     LDS_READ_RET * OQAP, T1.W3428; EG-NEXT:     MOV T1.W, OQAP,3429; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,3430; EG-NEXT:    104(1.457350e-43), 0(0.000000e+00)3431; EG-NEXT:     LDS_READ_RET * OQAP, T2.W3432; EG-NEXT:     MOV T2.Y, OQAP,3433; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,3434; EG-NEXT:    108(1.513402e-43), 0(0.000000e+00)3435; EG-NEXT:     LDS_READ_RET * OQAP, T2.W3436; EG-NEXT:     MOV T2.Z, OQAP,3437; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,3438; EG-NEXT:    80(1.121039e-43), 0(0.000000e+00)3439; EG-NEXT:     LDS_READ_RET * OQAP, T2.W3440; EG-NEXT:     MOV T2.W, OQAP,3441; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,3442; EG-NEXT:    84(1.177091e-43), 0(0.000000e+00)3443; EG-NEXT:     LDS_READ_RET * OQAP, T3.W3444; EG-NEXT:     MOV T3.Y, OQAP,3445; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,3446; EG-NEXT:    88(1.233143e-43), 0(0.000000e+00)3447; EG-NEXT:     LDS_READ_RET * OQAP, T3.W3448; EG-NEXT:     MOV T3.Z, OQAP,3449; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,3450; EG-NEXT:    92(1.289195e-43), 0(0.000000e+00)3451; EG-NEXT:     LDS_READ_RET * OQAP, T3.W3452; EG-NEXT:     MOV T3.W, OQAP,3453; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,3454; EG-NEXT:    64(8.968310e-44), 0(0.000000e+00)3455; EG-NEXT:     LDS_READ_RET * OQAP, T4.W3456; EG-NEXT:     MOV T4.Y, OQAP,3457; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,3458; EG-NEXT:    68(9.528830e-44), 0(0.000000e+00)3459; EG-NEXT:     LDS_READ_RET * OQAP, T4.W3460; EG-NEXT:     MOV T4.Z, OQAP,3461; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,3462; EG-NEXT:    72(1.008935e-43), 0(0.000000e+00)3463; EG-NEXT:     LDS_READ_RET * OQAP, T4.W3464; EG-NEXT:     MOV T4.W, OQAP,3465; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,3466; EG-NEXT:    76(1.064987e-43), 0(0.000000e+00)3467; EG-NEXT:     LDS_READ_RET * OQAP, T5.W3468; EG-NEXT:     MOV T5.Y, OQAP,3469; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,3470; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)3471; EG-NEXT:     LDS_READ_RET * OQAP, T5.W3472; EG-NEXT:     MOV T5.Z, OQAP,3473; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,3474; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)3475; EG-NEXT:     LDS_READ_RET * OQAP, T5.W3476; EG-NEXT:     MOV T5.W, OQAP,3477; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,3478; EG-NEXT:    56(7.847271e-44), 0(0.000000e+00)3479; EG-NEXT:     LDS_READ_RET * OQAP, T6.W3480; EG-NEXT:     MOV T6.Y, OQAP,3481; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,3482; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)3483; EG-NEXT:     LDS_READ_RET * OQAP, T6.W3484; EG-NEXT:     MOV T6.Z, OQAP,3485; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,3486; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)3487; EG-NEXT:     LDS_READ_RET * OQAP, T6.W3488; EG-NEXT:     MOV T6.W, OQAP,3489; EG-NEXT:     ADD_INT * T7.W, KC0[2].Z, literal.x,3490; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)3491; EG-NEXT:     LDS_READ_RET * OQAP, T7.W3492; EG-NEXT:     MOV T7.Y, OQAP,3493; EG-NEXT:     ADD_INT * T7.W, KC0[2].Z, literal.x,3494; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)3495; EG-NEXT:     LDS_READ_RET * OQAP, T7.W3496; EG-NEXT:     MOV T7.Z, OQAP,3497; EG-NEXT:     ADD_INT * T7.W, KC0[2].Z, literal.x,3498; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)3499; EG-NEXT:     LDS_READ_RET * OQAP, T7.W3500; EG-NEXT:     MOV T7.W, OQAP,3501; EG-NEXT:     ADD_INT * T8.W, KC0[2].Z, literal.x,3502; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)3503; EG-NEXT:     LDS_READ_RET * OQAP, T8.W3504; EG-NEXT:     MOV T8.Y, OQAP,3505; EG-NEXT:     ADD_INT * T8.W, KC0[2].Z, literal.x,3506; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)3507; EG-NEXT:     LDS_READ_RET * OQAP, T8.W3508; EG-NEXT:     MOV T8.Z, OQAP,3509; EG-NEXT:     ADD_INT * T8.W, KC0[2].Z, literal.x,3510; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)3511; EG-NEXT:     LDS_READ_RET * OQAP, T8.W3512; EG-NEXT:     MOV T8.W, OQAP,3513; EG-NEXT:     ADD_INT * T9.W, KC0[2].Z, literal.x,3514; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)3515; EG-NEXT:     LDS_READ_RET * OQAP, T9.W3516; EG-NEXT:     MOV T9.Y, OQAP,3517; EG-NEXT:     MOV * T9.W, KC0[2].Z,3518; EG-NEXT:     LDS_READ_RET * OQAP, T9.W3519; EG-NEXT:     MOV T9.Z, OQAP,3520; EG-NEXT:     ADD_INT * T9.W, KC0[2].Z, literal.x,3521; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)3522; EG-NEXT:    ALU 95, @27, KC0[CB0:0-32], KC1[]3523; EG-NEXT:     LDS_READ_RET * OQAP, T9.W3524; EG-NEXT:     MOV T9.W, OQAP,3525; EG-NEXT:     ADD_INT * T10.W, KC0[2].Z, literal.x,3526; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)3527; EG-NEXT:     LDS_READ_RET * OQAP, T10.W3528; EG-NEXT:     MOV T10.Y, OQAP,3529; EG-NEXT:     ADD_INT * T10.W, KC0[2].Z, literal.x,3530; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)3531; EG-NEXT:     LDS_READ_RET * OQAP, T10.W3532; EG-NEXT:     MOV T10.Z, OQAP,3533; EG-NEXT:     LSHR T10.W, T10.Y, literal.x,3534; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,3535; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)3536; EG-NEXT:     LDS_WRITE * T11.W, T10.W,3537; EG-NEXT:     AND_INT T10.W, T10.Y, literal.x,3538; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,3539; EG-NEXT:    65535(9.183409e-41), 24(3.363116e-44)3540; EG-NEXT:     LDS_WRITE * T11.W, T10.W,3541; EG-NEXT:     LSHR T10.W, T10.Z, literal.x,3542; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,3543; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)3544; EG-NEXT:     LDS_WRITE * T11.W, T10.W,3545; EG-NEXT:     AND_INT T10.W, T10.Z, literal.x,3546; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,3547; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)3548; EG-NEXT:     LDS_WRITE * T11.W, T10.W,3549; EG-NEXT:     LSHR T10.W, T9.W, literal.x,3550; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,3551; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)3552; EG-NEXT:     LDS_WRITE * T11.W, T10.W,3553; EG-NEXT:     AND_INT T9.W, T9.W, literal.x,3554; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,3555; EG-NEXT:    65535(9.183409e-41), 8(1.121039e-44)3556; EG-NEXT:     LDS_WRITE * T10.W, T9.W,3557; EG-NEXT:     LSHR T9.W, T9.Z, literal.x,3558; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,3559; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)3560; EG-NEXT:     LDS_WRITE * T10.W, T9.W,3561; EG-NEXT:     AND_INT T9.W, T9.Z, literal.x,3562; EG-NEXT:     MOV * T10.W, KC0[2].Y,3563; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)3564; EG-NEXT:     LDS_WRITE * T10.W, T9.W,3565; EG-NEXT:     LSHR T9.W, T9.Y, literal.x,3566; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,3567; EG-NEXT:    16(2.242078e-44), 60(8.407791e-44)3568; EG-NEXT:     LDS_WRITE * T10.W, T9.W,3569; EG-NEXT:     AND_INT T9.W, T9.Y, literal.x,3570; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,3571; EG-NEXT:    65535(9.183409e-41), 56(7.847271e-44)3572; EG-NEXT:     LDS_WRITE * T10.W, T9.W,3573; EG-NEXT:     LSHR T9.W, T8.W, literal.x,3574; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,3575; EG-NEXT:    16(2.242078e-44), 52(7.286752e-44)3576; EG-NEXT:     LDS_WRITE * T10.W, T9.W,3577; EG-NEXT:     AND_INT T8.W, T8.W, literal.x,3578; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,3579; EG-NEXT:    65535(9.183409e-41), 48(6.726233e-44)3580; EG-NEXT:     LDS_WRITE * T9.W, T8.W,3581; EG-NEXT:     LSHR T8.W, T8.Z, literal.x,3582; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,3583; EG-NEXT:    16(2.242078e-44), 44(6.165713e-44)3584; EG-NEXT:     LDS_WRITE * T9.W, T8.W,3585; EG-NEXT:     AND_INT T8.W, T8.Z, literal.x,3586; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,3587; EG-NEXT:    65535(9.183409e-41), 40(5.605194e-44)3588; EG-NEXT:     LDS_WRITE * T9.W, T8.W,3589; EG-NEXT:     LSHR T8.W, T8.Y, literal.x,3590; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,3591; EG-NEXT:    16(2.242078e-44), 36(5.044674e-44)3592; EG-NEXT:     LDS_WRITE * T9.W, T8.W,3593; EG-NEXT:     AND_INT T8.W, T8.Y, literal.x,3594; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,3595; EG-NEXT:    65535(9.183409e-41), 32(4.484155e-44)3596; EG-NEXT:     LDS_WRITE * T9.W, T8.W,3597; EG-NEXT:     LSHR T8.W, T7.W, literal.x,3598; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,3599; EG-NEXT:    16(2.242078e-44), 92(1.289195e-43)3600; EG-NEXT:     LDS_WRITE * T9.W, T8.W,3601; EG-NEXT:     AND_INT T7.W, T7.W, literal.x,3602; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.y,3603; EG-NEXT:    65535(9.183409e-41), 88(1.233143e-43)3604; EG-NEXT:     LDS_WRITE * T8.W, T7.W,3605; EG-NEXT:     LSHR T7.W, T7.Z, literal.x,3606; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.y,3607; EG-NEXT:    16(2.242078e-44), 84(1.177091e-43)3608; EG-NEXT:     LDS_WRITE * T8.W, T7.W,3609; EG-NEXT:     AND_INT T7.W, T7.Z, literal.x,3610; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.y,3611; EG-NEXT:    65535(9.183409e-41), 80(1.121039e-43)3612; EG-NEXT:     LDS_WRITE * T8.W, T7.W,3613; EG-NEXT:     LSHR T7.W, T7.Y, literal.x,3614; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.y,3615; EG-NEXT:    16(2.242078e-44), 76(1.064987e-43)3616; EG-NEXT:     LDS_WRITE * T8.W, T7.W,3617; EG-NEXT:     AND_INT * T7.W, T7.Y, literal.x,3618; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)3619; EG-NEXT:    ALU 93, @28, KC0[CB0:0-32], KC1[]3620; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.x,3621; EG-NEXT:    72(1.008935e-43), 0(0.000000e+00)3622; EG-NEXT:     LDS_WRITE * T8.W, T7.W,3623; EG-NEXT:     LSHR T7.W, T6.W, literal.x,3624; EG-NEXT:     ADD_INT * T8.W, KC0[2].Y, literal.y,3625; EG-NEXT:    16(2.242078e-44), 68(9.528830e-44)3626; EG-NEXT:     LDS_WRITE * T8.W, T7.W,3627; EG-NEXT:     AND_INT T6.W, T6.W, literal.x,3628; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,3629; EG-NEXT:    65535(9.183409e-41), 64(8.968310e-44)3630; EG-NEXT:     LDS_WRITE * T7.W, T6.W,3631; EG-NEXT:     LSHR T6.W, T6.Z, literal.x,3632; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,3633; EG-NEXT:    16(2.242078e-44), 124(1.737610e-43)3634; EG-NEXT:     LDS_WRITE * T7.W, T6.W,3635; EG-NEXT:     AND_INT T6.W, T6.Z, literal.x,3636; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,3637; EG-NEXT:    65535(9.183409e-41), 120(1.681558e-43)3638; EG-NEXT:     LDS_WRITE * T7.W, T6.W,3639; EG-NEXT:     LSHR T6.W, T6.Y, literal.x,3640; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,3641; EG-NEXT:    16(2.242078e-44), 116(1.625506e-43)3642; EG-NEXT:     LDS_WRITE * T7.W, T6.W,3643; EG-NEXT:     AND_INT T6.W, T6.Y, literal.x,3644; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,3645; EG-NEXT:    65535(9.183409e-41), 112(1.569454e-43)3646; EG-NEXT:     LDS_WRITE * T7.W, T6.W,3647; EG-NEXT:     LSHR T6.W, T5.W, literal.x,3648; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,3649; EG-NEXT:    16(2.242078e-44), 108(1.513402e-43)3650; EG-NEXT:     LDS_WRITE * T7.W, T6.W,3651; EG-NEXT:     AND_INT T5.W, T5.W, literal.x,3652; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,3653; EG-NEXT:    65535(9.183409e-41), 104(1.457350e-43)3654; EG-NEXT:     LDS_WRITE * T6.W, T5.W,3655; EG-NEXT:     LSHR T5.W, T5.Z, literal.x,3656; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,3657; EG-NEXT:    16(2.242078e-44), 100(1.401298e-43)3658; EG-NEXT:     LDS_WRITE * T6.W, T5.W,3659; EG-NEXT:     AND_INT T5.W, T5.Z, literal.x,3660; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,3661; EG-NEXT:    65535(9.183409e-41), 96(1.345247e-43)3662; EG-NEXT:     LDS_WRITE * T6.W, T5.W,3663; EG-NEXT:     LSHR T5.W, T5.Y, literal.x,3664; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,3665; EG-NEXT:    16(2.242078e-44), 156(2.186026e-43)3666; EG-NEXT:     LDS_WRITE * T6.W, T5.W,3667; EG-NEXT:     AND_INT T5.W, T5.Y, literal.x,3668; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,3669; EG-NEXT:    65535(9.183409e-41), 152(2.129974e-43)3670; EG-NEXT:     LDS_WRITE * T6.W, T5.W,3671; EG-NEXT:     LSHR T5.W, T4.W, literal.x,3672; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,3673; EG-NEXT:    16(2.242078e-44), 148(2.073922e-43)3674; EG-NEXT:     LDS_WRITE * T6.W, T5.W,3675; EG-NEXT:     AND_INT T4.W, T4.W, literal.x,3676; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,3677; EG-NEXT:    65535(9.183409e-41), 144(2.017870e-43)3678; EG-NEXT:     LDS_WRITE * T5.W, T4.W,3679; EG-NEXT:     LSHR T4.W, T4.Z, literal.x,3680; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,3681; EG-NEXT:    16(2.242078e-44), 140(1.961818e-43)3682; EG-NEXT:     LDS_WRITE * T5.W, T4.W,3683; EG-NEXT:     AND_INT T4.W, T4.Z, literal.x,3684; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,3685; EG-NEXT:    65535(9.183409e-41), 136(1.905766e-43)3686; EG-NEXT:     LDS_WRITE * T5.W, T4.W,3687; EG-NEXT:     LSHR T4.W, T4.Y, literal.x,3688; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,3689; EG-NEXT:    16(2.242078e-44), 132(1.849714e-43)3690; EG-NEXT:     LDS_WRITE * T5.W, T4.W,3691; EG-NEXT:     AND_INT T4.W, T4.Y, literal.x,3692; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,3693; EG-NEXT:    65535(9.183409e-41), 128(1.793662e-43)3694; EG-NEXT:     LDS_WRITE * T5.W, T4.W,3695; EG-NEXT:     LSHR T4.W, T3.W, literal.x,3696; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,3697; EG-NEXT:    16(2.242078e-44), 188(2.634441e-43)3698; EG-NEXT:     LDS_WRITE * T5.W, T4.W,3699; EG-NEXT:     AND_INT T3.W, T3.W, literal.x,3700; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3701; EG-NEXT:    65535(9.183409e-41), 184(2.578389e-43)3702; EG-NEXT:     LDS_WRITE * T4.W, T3.W,3703; EG-NEXT:     LSHR T3.W, T3.Z, literal.x,3704; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3705; EG-NEXT:    16(2.242078e-44), 180(2.522337e-43)3706; EG-NEXT:     LDS_WRITE * T4.W, T3.W,3707; EG-NEXT:     AND_INT T3.W, T3.Z, literal.x,3708; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3709; EG-NEXT:    65535(9.183409e-41), 176(2.466285e-43)3710; EG-NEXT:     LDS_WRITE * T4.W, T3.W,3711; EG-NEXT:     LSHR T3.W, T3.Y, literal.x,3712; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3713; EG-NEXT:    16(2.242078e-44), 172(2.410233e-43)3714; EG-NEXT:    ALU 76, @29, KC0[CB0:0-32], KC1[]3715; EG-NEXT:     LDS_WRITE * T4.W, T3.W,3716; EG-NEXT:     AND_INT T3.W, T3.Y, literal.x,3717; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3718; EG-NEXT:    65535(9.183409e-41), 168(2.354181e-43)3719; EG-NEXT:     LDS_WRITE * T4.W, T3.W,3720; EG-NEXT:     LSHR T3.W, T2.W, literal.x,3721; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,3722; EG-NEXT:    16(2.242078e-44), 164(2.298129e-43)3723; EG-NEXT:     LDS_WRITE * T4.W, T3.W,3724; EG-NEXT:     AND_INT T2.W, T2.W, literal.x,3725; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,3726; EG-NEXT:    65535(9.183409e-41), 160(2.242078e-43)3727; EG-NEXT:     LDS_WRITE * T3.W, T2.W,3728; EG-NEXT:     LSHR T2.W, T2.Z, literal.x,3729; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,3730; EG-NEXT:    16(2.242078e-44), 220(3.082857e-43)3731; EG-NEXT:     LDS_WRITE * T3.W, T2.W,3732; EG-NEXT:     AND_INT T2.W, T2.Z, literal.x,3733; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,3734; EG-NEXT:    65535(9.183409e-41), 216(3.026805e-43)3735; EG-NEXT:     LDS_WRITE * T3.W, T2.W,3736; EG-NEXT:     LSHR T2.W, T2.Y, literal.x,3737; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,3738; EG-NEXT:    16(2.242078e-44), 212(2.970753e-43)3739; EG-NEXT:     LDS_WRITE * T3.W, T2.W,3740; EG-NEXT:     AND_INT T2.W, T2.Y, literal.x,3741; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,3742; EG-NEXT:    65535(9.183409e-41), 208(2.914701e-43)3743; EG-NEXT:     LDS_WRITE * T3.W, T2.W,3744; EG-NEXT:     LSHR T2.W, T1.W, literal.x,3745; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,3746; EG-NEXT:    16(2.242078e-44), 204(2.858649e-43)3747; EG-NEXT:     LDS_WRITE * T3.W, T2.W,3748; EG-NEXT:     AND_INT T1.W, T1.W, literal.x,3749; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3750; EG-NEXT:    65535(9.183409e-41), 200(2.802597e-43)3751; EG-NEXT:     LDS_WRITE * T2.W, T1.W,3752; EG-NEXT:     LSHR T1.W, T1.Z, literal.x,3753; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3754; EG-NEXT:    16(2.242078e-44), 196(2.746545e-43)3755; EG-NEXT:     LDS_WRITE * T2.W, T1.W,3756; EG-NEXT:     AND_INT T1.W, T1.Z, literal.x,3757; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3758; EG-NEXT:    65535(9.183409e-41), 192(2.690493e-43)3759; EG-NEXT:     LDS_WRITE * T2.W, T1.W,3760; EG-NEXT:     LSHR T1.W, T1.Y, literal.x,3761; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3762; EG-NEXT:    16(2.242078e-44), 252(3.531272e-43)3763; EG-NEXT:     LDS_WRITE * T2.W, T1.W,3764; EG-NEXT:     AND_INT T1.W, T1.Y, literal.x,3765; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3766; EG-NEXT:    65535(9.183409e-41), 248(3.475220e-43)3767; EG-NEXT:     LDS_WRITE * T2.W, T1.W,3768; EG-NEXT:     LSHR T1.W, T0.W, literal.x,3769; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,3770; EG-NEXT:    16(2.242078e-44), 244(3.419168e-43)3771; EG-NEXT:     LDS_WRITE * T2.W, T1.W,3772; EG-NEXT:     AND_INT T0.W, T0.W, literal.x,3773; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,3774; EG-NEXT:    65535(9.183409e-41), 240(3.363116e-43)3775; EG-NEXT:     LDS_WRITE * T1.W, T0.W,3776; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,3777; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,3778; EG-NEXT:    16(2.242078e-44), 236(3.307064e-43)3779; EG-NEXT:     LDS_WRITE * T1.W, T0.W,3780; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,3781; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,3782; EG-NEXT:    65535(9.183409e-41), 232(3.251012e-43)3783; EG-NEXT:     LDS_WRITE * T1.W, T0.W,3784; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,3785; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,3786; EG-NEXT:    16(2.242078e-44), 228(3.194960e-43)3787; EG-NEXT:     LDS_WRITE * T1.W, T0.W,3788; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,3789; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,3790; EG-NEXT:    65535(9.183409e-41), 224(3.138909e-43)3791; EG-NEXT:     LDS_WRITE * T1.W, T0.W,3792; EG-NEXT:    RETURN3793;3794; VI-DS128-LABEL: local_zextload_v64i16_to_v64i32:3795; VI-DS128:       ; %bb.0:3796; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x243797; VI-DS128-NEXT:    s_mov_b32 m0, -13798; VI-DS128-NEXT:    s_mov_b32 s88, SCRATCH_RSRC_DWORD03799; VI-DS128-NEXT:    s_mov_b32 s89, SCRATCH_RSRC_DWORD13800; VI-DS128-NEXT:    s_mov_b32 s90, -13801; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)3802; VI-DS128-NEXT:    v_mov_b32_e32 v0, s13803; VI-DS128-NEXT:    ds_read_b128 v[8:11], v03804; VI-DS128-NEXT:    ds_read_b128 v[16:19], v0 offset:163805; VI-DS128-NEXT:    s_mov_b32 s91, 0xe800003806; VI-DS128-NEXT:    s_add_u32 s88, s88, s113807; VI-DS128-NEXT:    ds_read_b128 v[20:23], v0 offset:323808; VI-DS128-NEXT:    ds_read_b128 v[24:27], v0 offset:483809; VI-DS128-NEXT:    s_waitcnt lgkmcnt(3)3810; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v113811; VI-DS128-NEXT:    s_addc_u32 s89, s89, 03812; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v103813; VI-DS128-NEXT:    v_mov_b32_e32 v4, v33814; VI-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v113815; VI-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v103816; VI-DS128-NEXT:    buffer_store_dword v1, off, s[88:91], 0 ; 4-byte Folded Spill3817; VI-DS128-NEXT:    buffer_store_dword v2, off, s[88:91], 0 offset:4 ; 4-byte Folded Spill3818; VI-DS128-NEXT:    buffer_store_dword v3, off, s[88:91], 0 offset:8 ; 4-byte Folded Spill3819; VI-DS128-NEXT:    buffer_store_dword v4, off, s[88:91], 0 offset:12 ; 4-byte Folded Spill3820; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v93821; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v83822; VI-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v93823; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v83824; VI-DS128-NEXT:    buffer_store_dword v4, off, s[88:91], 0 offset:16 ; 4-byte Folded Spill3825; VI-DS128-NEXT:    buffer_store_dword v5, off, s[88:91], 0 offset:20 ; 4-byte Folded Spill3826; VI-DS128-NEXT:    buffer_store_dword v6, off, s[88:91], 0 offset:24 ; 4-byte Folded Spill3827; VI-DS128-NEXT:    buffer_store_dword v7, off, s[88:91], 0 offset:28 ; 4-byte Folded Spill3828; VI-DS128-NEXT:    s_waitcnt lgkmcnt(2)3829; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v193830; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v183831; VI-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v173832; VI-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v163833; VI-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v193834; VI-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v183835; VI-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v173836; VI-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v163837; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)3838; VI-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v233839; VI-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v223840; VI-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v213841; VI-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v203842; VI-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v233843; VI-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v223844; VI-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v213845; VI-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v203846; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)3847; VI-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v273848; VI-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v263849; VI-DS128-NEXT:    v_lshrrev_b32_e32 v35, 16, v253850; VI-DS128-NEXT:    v_lshrrev_b32_e32 v33, 16, v243851; VI-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v273852; VI-DS128-NEXT:    ds_read_b128 v[36:39], v0 offset:643853; VI-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v263854; VI-DS128-NEXT:    v_and_b32_e32 v34, 0xffff, v253855; VI-DS128-NEXT:    v_and_b32_e32 v32, 0xffff, v243856; VI-DS128-NEXT:    ds_read_b128 v[24:27], v0 offset:803857; VI-DS128-NEXT:    ds_read_b128 v[55:58], v0 offset:963858; VI-DS128-NEXT:    buffer_store_dword v1, off, s[88:91], 0 offset:32 ; 4-byte Folded Spill3859; VI-DS128-NEXT:    buffer_store_dword v2, off, s[88:91], 0 offset:36 ; 4-byte Folded Spill3860; VI-DS128-NEXT:    buffer_store_dword v3, off, s[88:91], 0 offset:40 ; 4-byte Folded Spill3861; VI-DS128-NEXT:    buffer_store_dword v4, off, s[88:91], 0 offset:44 ; 4-byte Folded Spill3862; VI-DS128-NEXT:    s_waitcnt lgkmcnt(2)3863; VI-DS128-NEXT:    v_lshrrev_b32_e32 v42, 16, v393864; VI-DS128-NEXT:    v_lshrrev_b32_e32 v40, 16, v383865; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)3866; VI-DS128-NEXT:    v_lshrrev_b32_e32 v50, 16, v273867; VI-DS128-NEXT:    v_lshrrev_b32_e32 v48, 16, v263868; VI-DS128-NEXT:    v_lshrrev_b32_e32 v54, 16, v253869; VI-DS128-NEXT:    v_lshrrev_b32_e32 v52, 16, v243870; VI-DS128-NEXT:    v_and_b32_e32 v49, 0xffff, v273871; VI-DS128-NEXT:    v_and_b32_e32 v47, 0xffff, v263872; VI-DS128-NEXT:    v_and_b32_e32 v53, 0xffff, v253873; VI-DS128-NEXT:    v_and_b32_e32 v51, 0xffff, v243874; VI-DS128-NEXT:    ds_read_b128 v[24:27], v0 offset:1123875; VI-DS128-NEXT:    v_lshrrev_b32_e32 v46, 16, v373876; VI-DS128-NEXT:    v_lshrrev_b32_e32 v44, 16, v363877; VI-DS128-NEXT:    v_and_b32_e32 v41, 0xffff, v393878; VI-DS128-NEXT:    v_and_b32_e32 v39, 0xffff, v383879; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)3880; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v253881; VI-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v243882; VI-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v253883; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v243884; VI-DS128-NEXT:    v_mov_b32_e32 v24, s03885; VI-DS128-NEXT:    v_and_b32_e32 v45, 0xffff, v373886; VI-DS128-NEXT:    v_and_b32_e32 v43, 0xffff, v363887; VI-DS128-NEXT:    v_lshrrev_b32_e32 v61, 16, v583888; VI-DS128-NEXT:    v_lshrrev_b32_e32 v59, 16, v573889; VI-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v563890; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v553891; VI-DS128-NEXT:    v_and_b32_e32 v60, 0xffff, v583892; VI-DS128-NEXT:    v_and_b32_e32 v58, 0xffff, v573893; VI-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v563894; VI-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v553895; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v273896; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v263897; VI-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v273898; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v263899; VI-DS128-NEXT:    ds_write_b128 v24, v[0:3] offset:2243900; VI-DS128-NEXT:    ds_write_b128 v24, v[4:7] offset:2403901; VI-DS128-NEXT:    ds_write_b128 v24, v[8:11] offset:1923902; VI-DS128-NEXT:    ds_write_b128 v24, v[58:61] offset:2083903; VI-DS128-NEXT:    ds_write_b128 v24, v[51:54] offset:1603904; VI-DS128-NEXT:    ds_write_b128 v24, v[47:50] offset:1763905; VI-DS128-NEXT:    ds_write_b128 v24, v[43:46] offset:1283906; VI-DS128-NEXT:    ds_write_b128 v24, v[39:42] offset:1443907; VI-DS128-NEXT:    ds_write_b128 v24, v[32:35] offset:963908; VI-DS128-NEXT:    ds_write_b128 v24, v[20:23] offset:1123909; VI-DS128-NEXT:    ds_write_b128 v24, v[28:31] offset:643910; VI-DS128-NEXT:    ds_write_b128 v24, v[16:19] offset:803911; VI-DS128-NEXT:    ds_write_b128 v24, v[12:15] offset:323912; VI-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 offset:32 ; 4-byte Folded Reload3913; VI-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:36 ; 4-byte Folded Reload3914; VI-DS128-NEXT:    buffer_load_dword v2, off, s[88:91], 0 offset:40 ; 4-byte Folded Reload3915; VI-DS128-NEXT:    buffer_load_dword v3, off, s[88:91], 0 offset:44 ; 4-byte Folded Reload3916; VI-DS128-NEXT:    s_waitcnt vmcnt(0)3917; VI-DS128-NEXT:    ds_write_b128 v24, v[0:3] offset:483918; VI-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 offset:16 ; 4-byte Folded Reload3919; VI-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:20 ; 4-byte Folded Reload3920; VI-DS128-NEXT:    buffer_load_dword v2, off, s[88:91], 0 offset:24 ; 4-byte Folded Reload3921; VI-DS128-NEXT:    buffer_load_dword v3, off, s[88:91], 0 offset:28 ; 4-byte Folded Reload3922; VI-DS128-NEXT:    s_waitcnt vmcnt(0)3923; VI-DS128-NEXT:    ds_write_b128 v24, v[0:3]3924; VI-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 ; 4-byte Folded Reload3925; VI-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Reload3926; VI-DS128-NEXT:    buffer_load_dword v2, off, s[88:91], 0 offset:8 ; 4-byte Folded Reload3927; VI-DS128-NEXT:    buffer_load_dword v3, off, s[88:91], 0 offset:12 ; 4-byte Folded Reload3928; VI-DS128-NEXT:    s_waitcnt vmcnt(0)3929; VI-DS128-NEXT:    ds_write_b128 v24, v[0:3] offset:163930; VI-DS128-NEXT:    s_endpgm3931;3932; GFX9-DS128-LABEL: local_zextload_v64i16_to_v64i32:3933; GFX9-DS128:       ; %bb.0:3934; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x243935; GFX9-DS128-NEXT:    s_mov_b32 s12, SCRATCH_RSRC_DWORD03936; GFX9-DS128-NEXT:    s_mov_b32 s13, SCRATCH_RSRC_DWORD13937; GFX9-DS128-NEXT:    s_mov_b32 s14, -13938; GFX9-DS128-NEXT:    s_mov_b32 s15, 0xe000003939; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)3940; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s13941; GFX9-DS128-NEXT:    ds_read_b128 v[8:11], v03942; GFX9-DS128-NEXT:    ds_read_b128 v[16:19], v0 offset:163943; GFX9-DS128-NEXT:    s_add_u32 s12, s12, s113944; GFX9-DS128-NEXT:    ds_read_b128 v[20:23], v0 offset:323945; GFX9-DS128-NEXT:    ds_read_b128 v[24:27], v0 offset:483946; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(3)3947; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v113948; GFX9-DS128-NEXT:    s_addc_u32 s13, s13, 03949; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v103950; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, v33951; GFX9-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v113952; GFX9-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v103953; GFX9-DS128-NEXT:    buffer_store_dword v1, off, s[12:15], 0 ; 4-byte Folded Spill3954; GFX9-DS128-NEXT:    s_nop 03955; GFX9-DS128-NEXT:    buffer_store_dword v2, off, s[12:15], 0 offset:4 ; 4-byte Folded Spill3956; GFX9-DS128-NEXT:    buffer_store_dword v3, off, s[12:15], 0 offset:8 ; 4-byte Folded Spill3957; GFX9-DS128-NEXT:    buffer_store_dword v4, off, s[12:15], 0 offset:12 ; 4-byte Folded Spill3958; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v93959; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v83960; GFX9-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v93961; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v83962; GFX9-DS128-NEXT:    buffer_store_dword v4, off, s[12:15], 0 offset:16 ; 4-byte Folded Spill3963; GFX9-DS128-NEXT:    s_nop 03964; GFX9-DS128-NEXT:    buffer_store_dword v5, off, s[12:15], 0 offset:20 ; 4-byte Folded Spill3965; GFX9-DS128-NEXT:    buffer_store_dword v6, off, s[12:15], 0 offset:24 ; 4-byte Folded Spill3966; GFX9-DS128-NEXT:    buffer_store_dword v7, off, s[12:15], 0 offset:28 ; 4-byte Folded Spill3967; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(2)3968; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v193969; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v183970; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v173971; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v163972; GFX9-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v193973; GFX9-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v183974; GFX9-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v173975; GFX9-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v163976; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)3977; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v233978; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v223979; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v31, 16, v213980; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v29, 16, v203981; GFX9-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v233982; GFX9-DS128-NEXT:    v_and_b32_e32 v16, 0xffff, v223983; GFX9-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v213984; GFX9-DS128-NEXT:    v_and_b32_e32 v28, 0xffff, v203985; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)3986; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v273987; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v21, 16, v263988; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v35, 16, v253989; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v33, 16, v243990; GFX9-DS128-NEXT:    v_and_b32_e32 v22, 0xffff, v273991; GFX9-DS128-NEXT:    ds_read_b128 v[36:39], v0 offset:643992; GFX9-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v263993; GFX9-DS128-NEXT:    v_and_b32_e32 v34, 0xffff, v253994; GFX9-DS128-NEXT:    v_and_b32_e32 v32, 0xffff, v243995; GFX9-DS128-NEXT:    ds_read_b128 v[24:27], v0 offset:803996; GFX9-DS128-NEXT:    ds_read_b128 v[55:58], v0 offset:963997; GFX9-DS128-NEXT:    buffer_store_dword v1, off, s[12:15], 0 offset:32 ; 4-byte Folded Spill3998; GFX9-DS128-NEXT:    s_nop 03999; GFX9-DS128-NEXT:    buffer_store_dword v2, off, s[12:15], 0 offset:36 ; 4-byte Folded Spill4000; GFX9-DS128-NEXT:    buffer_store_dword v3, off, s[12:15], 0 offset:40 ; 4-byte Folded Spill4001; GFX9-DS128-NEXT:    buffer_store_dword v4, off, s[12:15], 0 offset:44 ; 4-byte Folded Spill4002; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(2)4003; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v42, 16, v394004; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v40, 16, v384005; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)4006; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v50, 16, v274007; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v48, 16, v264008; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v54, 16, v254009; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v52, 16, v244010; GFX9-DS128-NEXT:    v_and_b32_e32 v49, 0xffff, v274011; GFX9-DS128-NEXT:    v_and_b32_e32 v47, 0xffff, v264012; GFX9-DS128-NEXT:    v_and_b32_e32 v53, 0xffff, v254013; GFX9-DS128-NEXT:    v_and_b32_e32 v51, 0xffff, v244014; GFX9-DS128-NEXT:    ds_read_b128 v[24:27], v0 offset:1124015; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v46, 16, v374016; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v44, 16, v364017; GFX9-DS128-NEXT:    v_and_b32_e32 v41, 0xffff, v394018; GFX9-DS128-NEXT:    v_and_b32_e32 v39, 0xffff, v384019; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)4020; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v254021; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v244022; GFX9-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v254023; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v244024; GFX9-DS128-NEXT:    v_mov_b32_e32 v24, s04025; GFX9-DS128-NEXT:    v_and_b32_e32 v45, 0xffff, v374026; GFX9-DS128-NEXT:    v_and_b32_e32 v43, 0xffff, v364027; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v61, 16, v584028; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v59, 16, v574029; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v564030; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v554031; GFX9-DS128-NEXT:    v_and_b32_e32 v60, 0xffff, v584032; GFX9-DS128-NEXT:    v_and_b32_e32 v58, 0xffff, v574033; GFX9-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v564034; GFX9-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v554035; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v274036; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v264037; GFX9-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v274038; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v264039; GFX9-DS128-NEXT:    ds_write_b128 v24, v[0:3] offset:2244040; GFX9-DS128-NEXT:    ds_write_b128 v24, v[4:7] offset:2404041; GFX9-DS128-NEXT:    ds_write_b128 v24, v[8:11] offset:1924042; GFX9-DS128-NEXT:    ds_write_b128 v24, v[58:61] offset:2084043; GFX9-DS128-NEXT:    ds_write_b128 v24, v[51:54] offset:1604044; GFX9-DS128-NEXT:    ds_write_b128 v24, v[47:50] offset:1764045; GFX9-DS128-NEXT:    ds_write_b128 v24, v[43:46] offset:1284046; GFX9-DS128-NEXT:    ds_write_b128 v24, v[39:42] offset:1444047; GFX9-DS128-NEXT:    ds_write_b128 v24, v[32:35] offset:964048; GFX9-DS128-NEXT:    ds_write_b128 v24, v[20:23] offset:1124049; GFX9-DS128-NEXT:    ds_write_b128 v24, v[28:31] offset:644050; GFX9-DS128-NEXT:    ds_write_b128 v24, v[16:19] offset:804051; GFX9-DS128-NEXT:    ds_write_b128 v24, v[12:15] offset:324052; GFX9-DS128-NEXT:    buffer_load_dword v0, off, s[12:15], 0 offset:32 ; 4-byte Folded Reload4053; GFX9-DS128-NEXT:    buffer_load_dword v1, off, s[12:15], 0 offset:36 ; 4-byte Folded Reload4054; GFX9-DS128-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:40 ; 4-byte Folded Reload4055; GFX9-DS128-NEXT:    buffer_load_dword v3, off, s[12:15], 0 offset:44 ; 4-byte Folded Reload4056; GFX9-DS128-NEXT:    s_waitcnt vmcnt(0)4057; GFX9-DS128-NEXT:    ds_write_b128 v24, v[0:3] offset:484058; GFX9-DS128-NEXT:    buffer_load_dword v0, off, s[12:15], 0 offset:16 ; 4-byte Folded Reload4059; GFX9-DS128-NEXT:    buffer_load_dword v1, off, s[12:15], 0 offset:20 ; 4-byte Folded Reload4060; GFX9-DS128-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:24 ; 4-byte Folded Reload4061; GFX9-DS128-NEXT:    buffer_load_dword v3, off, s[12:15], 0 offset:28 ; 4-byte Folded Reload4062; GFX9-DS128-NEXT:    s_waitcnt vmcnt(0)4063; GFX9-DS128-NEXT:    ds_write_b128 v24, v[0:3]4064; GFX9-DS128-NEXT:    buffer_load_dword v0, off, s[12:15], 0 ; 4-byte Folded Reload4065; GFX9-DS128-NEXT:    buffer_load_dword v1, off, s[12:15], 0 offset:4 ; 4-byte Folded Reload4066; GFX9-DS128-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:8 ; 4-byte Folded Reload4067; GFX9-DS128-NEXT:    buffer_load_dword v3, off, s[12:15], 0 offset:12 ; 4-byte Folded Reload4068; GFX9-DS128-NEXT:    s_waitcnt vmcnt(0)4069; GFX9-DS128-NEXT:    ds_write_b128 v24, v[0:3] offset:164070; GFX9-DS128-NEXT:    s_endpgm4071  %load = load <64 x i16>, ptr addrspace(3) %in4072  %ext = zext <64 x i16> %load to <64 x i32>4073  store <64 x i32> %ext, ptr addrspace(3) %out4074  ret void4075}4076 4077define amdgpu_kernel void @local_sextload_v64i16_to_v64i32(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {4078; SI-LABEL: local_sextload_v64i16_to_v64i32:4079; SI:       ; %bb.0:4080; SI-NEXT:    s_mov_b32 s12, SCRATCH_RSRC_DWORD04081; SI-NEXT:    s_mov_b32 s13, SCRATCH_RSRC_DWORD14082; SI-NEXT:    s_mov_b32 s14, -14083; SI-NEXT:    s_mov_b32 s15, 0xe8f0004084; SI-NEXT:    s_add_u32 s12, s12, s114085; SI-NEXT:    s_addc_u32 s13, s13, 04086; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x94087; SI-NEXT:    s_waitcnt lgkmcnt(0)4088; SI-NEXT:    v_mov_b32_e32 v20, s14089; SI-NEXT:    s_mov_b32 m0, -14090; SI-NEXT:    ds_read2_b64 v[4:7], v20 offset0:8 offset1:94091; SI-NEXT:    ds_read2_b64 v[0:3], v20 offset0:10 offset1:114092; SI-NEXT:    ds_read2_b64 v[8:11], v20 offset0:12 offset1:134093; SI-NEXT:    ds_read2_b64 v[12:15], v20 offset0:14 offset1:154094; SI-NEXT:    ds_read2_b64 v[16:19], v20 offset1:14095; SI-NEXT:    ds_read2_b64 v[30:33], v20 offset0:2 offset1:34096; SI-NEXT:    ds_read2_b64 v[34:37], v20 offset0:4 offset1:54097; SI-NEXT:    ds_read2_b64 v[38:41], v20 offset0:6 offset1:74098; SI-NEXT:    s_waitcnt lgkmcnt(7)4099; SI-NEXT:    v_ashrrev_i32_e32 v21, 16, v54100; SI-NEXT:    v_ashrrev_i32_e32 v23, 16, v44101; SI-NEXT:    v_ashrrev_i32_e32 v25, 16, v74102; SI-NEXT:    v_ashrrev_i32_e32 v27, 16, v64103; SI-NEXT:    s_waitcnt lgkmcnt(6)4104; SI-NEXT:    v_ashrrev_i32_e32 v29, 16, v14105; SI-NEXT:    v_bfe_i32 v20, v5, 0, 164106; SI-NEXT:    buffer_store_dword v20, off, s[12:15], 0 ; 4-byte Folded Spill4107; SI-NEXT:    buffer_store_dword v21, off, s[12:15], 0 offset:4 ; 4-byte Folded Spill4108; SI-NEXT:    v_bfe_i32 v22, v4, 0, 164109; SI-NEXT:    v_bfe_i32 v24, v7, 0, 164110; SI-NEXT:    v_bfe_i32 v26, v6, 0, 164111; SI-NEXT:    s_waitcnt expcnt(0)4112; SI-NEXT:    v_ashrrev_i32_e32 v21, 16, v04113; SI-NEXT:    v_ashrrev_i32_e32 v7, 16, v34114; SI-NEXT:    v_bfe_i32 v28, v1, 0, 164115; SI-NEXT:    v_bfe_i32 v20, v0, 0, 164116; SI-NEXT:    v_bfe_i32 v6, v3, 0, 164117; SI-NEXT:    v_ashrrev_i32_e32 v5, 16, v24118; SI-NEXT:    v_bfe_i32 v4, v2, 0, 164119; SI-NEXT:    s_waitcnt lgkmcnt(5)4120; SI-NEXT:    v_ashrrev_i32_e32 v3, 16, v94121; SI-NEXT:    v_bfe_i32 v2, v9, 0, 164122; SI-NEXT:    v_ashrrev_i32_e32 v9, 16, v84123; SI-NEXT:    v_bfe_i32 v8, v8, 0, 164124; SI-NEXT:    v_ashrrev_i32_e32 v43, 16, v114125; SI-NEXT:    v_bfe_i32 v42, v11, 0, 164126; SI-NEXT:    v_ashrrev_i32_e32 v11, 16, v104127; SI-NEXT:    v_bfe_i32 v10, v10, 0, 164128; SI-NEXT:    s_waitcnt lgkmcnt(4)4129; SI-NEXT:    v_ashrrev_i32_e32 v45, 16, v134130; SI-NEXT:    v_bfe_i32 v44, v13, 0, 164131; SI-NEXT:    v_ashrrev_i32_e32 v13, 16, v124132; SI-NEXT:    v_bfe_i32 v12, v12, 0, 164133; SI-NEXT:    v_ashrrev_i32_e32 v47, 16, v154134; SI-NEXT:    v_bfe_i32 v46, v15, 0, 164135; SI-NEXT:    v_ashrrev_i32_e32 v15, 16, v144136; SI-NEXT:    v_bfe_i32 v14, v14, 0, 164137; SI-NEXT:    s_waitcnt lgkmcnt(3)4138; SI-NEXT:    v_ashrrev_i32_e32 v49, 16, v174139; SI-NEXT:    v_bfe_i32 v48, v17, 0, 164140; SI-NEXT:    v_ashrrev_i32_e32 v17, 16, v164141; SI-NEXT:    v_bfe_i32 v16, v16, 0, 164142; SI-NEXT:    v_ashrrev_i32_e32 v51, 16, v194143; SI-NEXT:    v_bfe_i32 v50, v19, 0, 164144; SI-NEXT:    v_ashrrev_i32_e32 v19, 16, v184145; SI-NEXT:    v_bfe_i32 v18, v18, 0, 164146; SI-NEXT:    s_waitcnt lgkmcnt(2)4147; SI-NEXT:    v_ashrrev_i32_e32 v53, 16, v314148; SI-NEXT:    v_bfe_i32 v52, v31, 0, 164149; SI-NEXT:    v_ashrrev_i32_e32 v31, 16, v304150; SI-NEXT:    v_bfe_i32 v30, v30, 0, 164151; SI-NEXT:    v_ashrrev_i32_e32 v55, 16, v334152; SI-NEXT:    v_bfe_i32 v54, v33, 0, 164153; SI-NEXT:    v_ashrrev_i32_e32 v33, 16, v324154; SI-NEXT:    v_bfe_i32 v32, v32, 0, 164155; SI-NEXT:    s_waitcnt lgkmcnt(1)4156; SI-NEXT:    v_ashrrev_i32_e32 v57, 16, v354157; SI-NEXT:    v_bfe_i32 v56, v35, 0, 164158; SI-NEXT:    v_ashrrev_i32_e32 v35, 16, v344159; SI-NEXT:    v_bfe_i32 v34, v34, 0, 164160; SI-NEXT:    v_ashrrev_i32_e32 v59, 16, v374161; SI-NEXT:    v_bfe_i32 v58, v37, 0, 164162; SI-NEXT:    v_ashrrev_i32_e32 v37, 16, v364163; SI-NEXT:    v_bfe_i32 v36, v36, 0, 164164; SI-NEXT:    s_waitcnt lgkmcnt(0)4165; SI-NEXT:    v_ashrrev_i32_e32 v61, 16, v394166; SI-NEXT:    v_bfe_i32 v60, v39, 0, 164167; SI-NEXT:    v_ashrrev_i32_e32 v39, 16, v384168; SI-NEXT:    v_bfe_i32 v38, v38, 0, 164169; SI-NEXT:    v_ashrrev_i32_e32 v63, 16, v414170; SI-NEXT:    v_bfe_i32 v62, v41, 0, 164171; SI-NEXT:    v_ashrrev_i32_e32 v41, 16, v404172; SI-NEXT:    v_bfe_i32 v40, v40, 0, 164173; SI-NEXT:    v_mov_b32_e32 v0, s04174; SI-NEXT:    ds_write2_b64 v0, v[40:41], v[62:63] offset0:14 offset1:154175; SI-NEXT:    ds_write2_b64 v0, v[38:39], v[60:61] offset0:12 offset1:134176; SI-NEXT:    ds_write2_b64 v0, v[36:37], v[58:59] offset0:10 offset1:114177; SI-NEXT:    ds_write2_b64 v0, v[34:35], v[56:57] offset0:8 offset1:94178; SI-NEXT:    ds_write2_b64 v0, v[32:33], v[54:55] offset0:6 offset1:74179; SI-NEXT:    ds_write2_b64 v0, v[30:31], v[52:53] offset0:4 offset1:54180; SI-NEXT:    ds_write2_b64 v0, v[18:19], v[50:51] offset0:2 offset1:34181; SI-NEXT:    ds_write2_b64 v0, v[16:17], v[48:49] offset1:14182; SI-NEXT:    ds_write2_b64 v0, v[14:15], v[46:47] offset0:30 offset1:314183; SI-NEXT:    ds_write2_b64 v0, v[12:13], v[44:45] offset0:28 offset1:294184; SI-NEXT:    ds_write2_b64 v0, v[10:11], v[42:43] offset0:26 offset1:274185; SI-NEXT:    ds_write2_b64 v0, v[8:9], v[2:3] offset0:24 offset1:254186; SI-NEXT:    ds_write2_b64 v0, v[4:5], v[6:7] offset0:22 offset1:234187; SI-NEXT:    ds_write2_b64 v0, v[20:21], v[28:29] offset0:20 offset1:214188; SI-NEXT:    ds_write2_b64 v0, v[26:27], v[24:25] offset0:18 offset1:194189; SI-NEXT:    buffer_load_dword v1, off, s[12:15], 0 ; 4-byte Folded Reload4190; SI-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:4 ; 4-byte Folded Reload4191; SI-NEXT:    s_waitcnt vmcnt(0)4192; SI-NEXT:    ds_write2_b64 v0, v[22:23], v[1:2] offset0:16 offset1:174193; SI-NEXT:    s_endpgm4194;4195; VI-NO-DS128-LABEL: local_sextload_v64i16_to_v64i32:4196; VI-NO-DS128:       ; %bb.0:4197; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x244198; VI-NO-DS128-NEXT:    s_mov_b32 m0, -14199; VI-NO-DS128-NEXT:    s_mov_b32 s88, SCRATCH_RSRC_DWORD04200; VI-NO-DS128-NEXT:    s_mov_b32 s89, SCRATCH_RSRC_DWORD14201; VI-NO-DS128-NEXT:    s_mov_b32 s90, -14202; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)4203; VI-NO-DS128-NEXT:    v_mov_b32_e32 v28, s14204; VI-NO-DS128-NEXT:    ds_read2_b64 v[20:23], v28 offset0:4 offset1:54205; VI-NO-DS128-NEXT:    ds_read2_b64 v[29:32], v28 offset0:6 offset1:74206; VI-NO-DS128-NEXT:    ds_read2_b64 v[33:36], v28 offset0:8 offset1:94207; VI-NO-DS128-NEXT:    ds_read2_b64 v[10:13], v28 offset1:14208; VI-NO-DS128-NEXT:    ds_read2_b64 v[14:17], v28 offset0:2 offset1:34209; VI-NO-DS128-NEXT:    s_mov_b32 s91, 0xe800004210; VI-NO-DS128-NEXT:    s_add_u32 s88, s88, s114211; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(3)4212; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v25, 16, v304213; VI-NO-DS128-NEXT:    v_bfe_i32 v24, v30, 0, 164214; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v27, 16, v294215; VI-NO-DS128-NEXT:    v_bfe_i32 v26, v29, 0, 164216; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v38, 16, v324217; VI-NO-DS128-NEXT:    v_bfe_i32 v37, v32, 0, 164218; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v40, 16, v314219; VI-NO-DS128-NEXT:    v_bfe_i32 v39, v31, 0, 164220; VI-NO-DS128-NEXT:    ds_read2_b64 v[29:32], v28 offset0:10 offset1:114221; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(3)4222; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v42, 16, v344223; VI-NO-DS128-NEXT:    v_bfe_i32 v41, v34, 0, 164224; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v44, 16, v334225; VI-NO-DS128-NEXT:    v_bfe_i32 v43, v33, 0, 164226; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v46, 16, v364227; VI-NO-DS128-NEXT:    v_bfe_i32 v45, v36, 0, 164228; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v48, 16, v354229; VI-NO-DS128-NEXT:    v_bfe_i32 v47, v35, 0, 164230; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)4231; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v50, 16, v304232; VI-NO-DS128-NEXT:    v_bfe_i32 v49, v30, 0, 164233; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v52, 16, v294234; VI-NO-DS128-NEXT:    v_bfe_i32 v51, v29, 0, 164235; VI-NO-DS128-NEXT:    ds_read2_b64 v[33:36], v28 offset0:12 offset1:134236; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v56, 16, v314237; VI-NO-DS128-NEXT:    v_bfe_i32 v55, v31, 0, 164238; VI-NO-DS128-NEXT:    ds_read2_b64 v[28:31], v28 offset0:14 offset1:154239; VI-NO-DS128-NEXT:    s_addc_u32 s89, s89, 04240; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v114241; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v11, 0, 164242; VI-NO-DS128-NEXT:    buffer_store_dword v0, off, s[88:91], 0 ; 4-byte Folded Spill4243; VI-NO-DS128-NEXT:    buffer_store_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Spill4244; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v54, 16, v324245; VI-NO-DS128-NEXT:    v_bfe_i32 v53, v32, 0, 164246; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)4247; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v32, 16, v314248; VI-NO-DS128-NEXT:    v_bfe_i32 v31, v31, 0, 164249; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v304250; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v30, 0, 164251; VI-NO-DS128-NEXT:    v_mov_b32_e32 v30, s04252; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v104253; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v134254; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v124255; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v154256; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v10, 0, 164257; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v13, 0, 164258; VI-NO-DS128-NEXT:    v_bfe_i32 v6, v12, 0, 164259; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v144260; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v174261; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v15, 0, 164262; VI-NO-DS128-NEXT:    v_bfe_i32 v10, v14, 0, 164263; VI-NO-DS128-NEXT:    v_bfe_i32 v12, v17, 0, 164264; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v164265; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v16, 0, 164266; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v214267; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v21, 0, 164268; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v204269; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v20, 0, 164270; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v21, 16, v234271; VI-NO-DS128-NEXT:    v_bfe_i32 v20, v23, 0, 164272; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v23, 16, v224273; VI-NO-DS128-NEXT:    v_bfe_i32 v22, v22, 0, 164274; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v58, 16, v344275; VI-NO-DS128-NEXT:    v_bfe_i32 v57, v34, 0, 164276; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v34, 16, v334277; VI-NO-DS128-NEXT:    v_bfe_i32 v33, v33, 0, 164278; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v60, 16, v364279; VI-NO-DS128-NEXT:    v_bfe_i32 v59, v36, 0, 164280; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v36, 16, v354281; VI-NO-DS128-NEXT:    v_bfe_i32 v35, v35, 0, 164282; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v62, 16, v294283; VI-NO-DS128-NEXT:    v_bfe_i32 v61, v29, 0, 164284; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v29, 16, v284285; VI-NO-DS128-NEXT:    v_bfe_i32 v28, v28, 0, 164286; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[0:1], v[31:32] offset0:30 offset1:314287; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[28:29], v[61:62] offset0:28 offset1:294288; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[35:36], v[59:60] offset0:26 offset1:274289; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[33:34], v[57:58] offset0:24 offset1:254290; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[55:56], v[53:54] offset0:22 offset1:234291; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[51:52], v[49:50] offset0:20 offset1:214292; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[47:48], v[45:46] offset0:18 offset1:194293; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[43:44], v[41:42] offset0:16 offset1:174294; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[39:40], v[37:38] offset0:14 offset1:154295; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[26:27], v[24:25] offset0:12 offset1:134296; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[22:23], v[20:21] offset0:10 offset1:114297; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[18:19], v[16:17] offset0:8 offset1:94298; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[14:15], v[12:13] offset0:6 offset1:74299; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[10:11], v[8:9] offset0:4 offset1:54300; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[6:7], v[4:5] offset0:2 offset1:34301; VI-NO-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 ; 4-byte Folded Reload4302; VI-NO-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Reload4303; VI-NO-DS128-NEXT:    s_waitcnt vmcnt(0)4304; VI-NO-DS128-NEXT:    ds_write2_b64 v30, v[2:3], v[0:1] offset1:14305; VI-NO-DS128-NEXT:    s_endpgm4306;4307; GFX9-NO-DS128-LABEL: local_sextload_v64i16_to_v64i32:4308; GFX9-NO-DS128:       ; %bb.0:4309; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x244310; GFX9-NO-DS128-NEXT:    s_mov_b32 s12, SCRATCH_RSRC_DWORD04311; GFX9-NO-DS128-NEXT:    s_mov_b32 s13, SCRATCH_RSRC_DWORD14312; GFX9-NO-DS128-NEXT:    s_mov_b32 s14, -14313; GFX9-NO-DS128-NEXT:    s_mov_b32 s15, 0xe000004314; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)4315; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v28, s14316; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[20:23], v28 offset0:4 offset1:54317; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[29:32], v28 offset0:6 offset1:74318; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[33:36], v28 offset0:8 offset1:94319; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[10:13], v28 offset1:14320; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[14:17], v28 offset0:2 offset1:34321; GFX9-NO-DS128-NEXT:    s_add_u32 s12, s12, s114322; GFX9-NO-DS128-NEXT:    s_addc_u32 s13, s13, 04323; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(3)4324; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v25, 16, v304325; GFX9-NO-DS128-NEXT:    v_bfe_i32 v24, v30, 0, 164326; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v27, 16, v294327; GFX9-NO-DS128-NEXT:    v_bfe_i32 v26, v29, 0, 164328; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v38, 16, v324329; GFX9-NO-DS128-NEXT:    v_bfe_i32 v37, v32, 0, 164330; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v40, 16, v314331; GFX9-NO-DS128-NEXT:    v_bfe_i32 v39, v31, 0, 164332; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[29:32], v28 offset0:10 offset1:114333; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(3)4334; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v42, 16, v344335; GFX9-NO-DS128-NEXT:    v_bfe_i32 v41, v34, 0, 164336; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v44, 16, v334337; GFX9-NO-DS128-NEXT:    v_bfe_i32 v43, v33, 0, 164338; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v46, 16, v364339; GFX9-NO-DS128-NEXT:    v_bfe_i32 v45, v36, 0, 164340; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v48, 16, v354341; GFX9-NO-DS128-NEXT:    v_bfe_i32 v47, v35, 0, 164342; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)4343; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v50, 16, v304344; GFX9-NO-DS128-NEXT:    v_bfe_i32 v49, v30, 0, 164345; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v52, 16, v294346; GFX9-NO-DS128-NEXT:    v_bfe_i32 v51, v29, 0, 164347; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[33:36], v28 offset0:12 offset1:134348; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v56, 16, v314349; GFX9-NO-DS128-NEXT:    v_bfe_i32 v55, v31, 0, 164350; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[28:31], v28 offset0:14 offset1:154351; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v114352; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v11, 0, 164353; GFX9-NO-DS128-NEXT:    buffer_store_dword v0, off, s[12:15], 0 ; 4-byte Folded Spill4354; GFX9-NO-DS128-NEXT:    s_nop 04355; GFX9-NO-DS128-NEXT:    buffer_store_dword v1, off, s[12:15], 0 offset:4 ; 4-byte Folded Spill4356; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v54, 16, v324357; GFX9-NO-DS128-NEXT:    v_bfe_i32 v53, v32, 0, 164358; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)4359; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v32, 16, v314360; GFX9-NO-DS128-NEXT:    v_bfe_i32 v31, v31, 0, 164361; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v304362; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v30, 0, 164363; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v30, s04364; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v104365; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v134366; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v124367; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v154368; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v10, 0, 164369; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v13, 0, 164370; GFX9-NO-DS128-NEXT:    v_bfe_i32 v6, v12, 0, 164371; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v144372; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v174373; GFX9-NO-DS128-NEXT:    v_bfe_i32 v8, v15, 0, 164374; GFX9-NO-DS128-NEXT:    v_bfe_i32 v10, v14, 0, 164375; GFX9-NO-DS128-NEXT:    v_bfe_i32 v12, v17, 0, 164376; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v164377; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v16, 0, 164378; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v214379; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v21, 0, 164380; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v204381; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v20, 0, 164382; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v21, 16, v234383; GFX9-NO-DS128-NEXT:    v_bfe_i32 v20, v23, 0, 164384; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v23, 16, v224385; GFX9-NO-DS128-NEXT:    v_bfe_i32 v22, v22, 0, 164386; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v58, 16, v344387; GFX9-NO-DS128-NEXT:    v_bfe_i32 v57, v34, 0, 164388; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v34, 16, v334389; GFX9-NO-DS128-NEXT:    v_bfe_i32 v33, v33, 0, 164390; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v60, 16, v364391; GFX9-NO-DS128-NEXT:    v_bfe_i32 v59, v36, 0, 164392; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v36, 16, v354393; GFX9-NO-DS128-NEXT:    v_bfe_i32 v35, v35, 0, 164394; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v62, 16, v294395; GFX9-NO-DS128-NEXT:    v_bfe_i32 v61, v29, 0, 164396; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v29, 16, v284397; GFX9-NO-DS128-NEXT:    v_bfe_i32 v28, v28, 0, 164398; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[0:1], v[31:32] offset0:30 offset1:314399; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[28:29], v[61:62] offset0:28 offset1:294400; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[35:36], v[59:60] offset0:26 offset1:274401; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[33:34], v[57:58] offset0:24 offset1:254402; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[55:56], v[53:54] offset0:22 offset1:234403; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[51:52], v[49:50] offset0:20 offset1:214404; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[47:48], v[45:46] offset0:18 offset1:194405; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[43:44], v[41:42] offset0:16 offset1:174406; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[39:40], v[37:38] offset0:14 offset1:154407; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[26:27], v[24:25] offset0:12 offset1:134408; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[22:23], v[20:21] offset0:10 offset1:114409; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[18:19], v[16:17] offset0:8 offset1:94410; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[14:15], v[12:13] offset0:6 offset1:74411; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[10:11], v[8:9] offset0:4 offset1:54412; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[6:7], v[4:5] offset0:2 offset1:34413; GFX9-NO-DS128-NEXT:    buffer_load_dword v0, off, s[12:15], 0 ; 4-byte Folded Reload4414; GFX9-NO-DS128-NEXT:    buffer_load_dword v1, off, s[12:15], 0 offset:4 ; 4-byte Folded Reload4415; GFX9-NO-DS128-NEXT:    s_waitcnt vmcnt(0)4416; GFX9-NO-DS128-NEXT:    ds_write2_b64 v30, v[2:3], v[0:1] offset1:14417; GFX9-NO-DS128-NEXT:    s_endpgm4418;4419; EG-LABEL: local_sextload_v64i16_to_v64i32:4420; EG:       ; %bb.0:4421; EG-NEXT:    ALU 116, @30, KC0[CB0:0-32], KC1[]4422; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,4423; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)4424; EG-NEXT:     LDS_READ_RET * OQAP, T0.W4425; EG-NEXT:     MOV T0.Y, OQAP,4426; EG-NEXT:     MOV * T0.W, KC0[2].Z,4427; EG-NEXT:     LDS_READ_RET * OQAP, T0.W4428; EG-NEXT:     MOV T0.Z, OQAP,4429; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,4430; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)4431; EG-NEXT:     LDS_READ_RET * OQAP, T0.W4432; EG-NEXT:     MOV T0.W, OQAP,4433; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,4434; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)4435; EG-NEXT:     LDS_READ_RET * OQAP, T1.W4436; EG-NEXT:     MOV T1.Y, OQAP,4437; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,4438; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)4439; EG-NEXT:     LDS_READ_RET * OQAP, T1.W4440; EG-NEXT:     MOV T1.Z, OQAP,4441; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,4442; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4443; EG-NEXT:     LDS_READ_RET * OQAP, T1.W4444; EG-NEXT:     MOV T1.W, OQAP,4445; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,4446; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)4447; EG-NEXT:     LDS_READ_RET * OQAP, T2.W4448; EG-NEXT:     MOV T2.Y, OQAP,4449; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,4450; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)4451; EG-NEXT:     LDS_READ_RET * OQAP, T2.W4452; EG-NEXT:     MOV T2.Z, OQAP,4453; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,4454; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)4455; EG-NEXT:     LDS_READ_RET * OQAP, T2.W4456; EG-NEXT:     MOV T2.W, OQAP,4457; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,4458; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)4459; EG-NEXT:     LDS_READ_RET * OQAP, T3.W4460; EG-NEXT:     MOV T3.Y, OQAP,4461; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,4462; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)4463; EG-NEXT:     LDS_READ_RET * OQAP, T3.W4464; EG-NEXT:     MOV T3.Z, OQAP,4465; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,4466; EG-NEXT:    56(7.847271e-44), 0(0.000000e+00)4467; EG-NEXT:     LDS_READ_RET * OQAP, T3.W4468; EG-NEXT:     MOV T3.W, OQAP,4469; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,4470; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)4471; EG-NEXT:     LDS_READ_RET * OQAP, T4.W4472; EG-NEXT:     MOV T4.Y, OQAP,4473; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,4474; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)4475; EG-NEXT:     LDS_READ_RET * OQAP, T4.W4476; EG-NEXT:     MOV T4.Z, OQAP,4477; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,4478; EG-NEXT:    76(1.064987e-43), 0(0.000000e+00)4479; EG-NEXT:     LDS_READ_RET * OQAP, T4.W4480; EG-NEXT:     MOV T4.W, OQAP,4481; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,4482; EG-NEXT:    72(1.008935e-43), 0(0.000000e+00)4483; EG-NEXT:     LDS_READ_RET * OQAP, T5.W4484; EG-NEXT:     MOV T5.Y, OQAP,4485; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,4486; EG-NEXT:    68(9.528830e-44), 0(0.000000e+00)4487; EG-NEXT:     LDS_READ_RET * OQAP, T5.W4488; EG-NEXT:     MOV T5.Z, OQAP,4489; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.x,4490; EG-NEXT:    64(8.968310e-44), 0(0.000000e+00)4491; EG-NEXT:     LDS_READ_RET * OQAP, T5.W4492; EG-NEXT:     MOV T5.W, OQAP,4493; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,4494; EG-NEXT:    92(1.289195e-43), 0(0.000000e+00)4495; EG-NEXT:     LDS_READ_RET * OQAP, T6.W4496; EG-NEXT:     MOV T6.Y, OQAP,4497; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,4498; EG-NEXT:    88(1.233143e-43), 0(0.000000e+00)4499; EG-NEXT:     LDS_READ_RET * OQAP, T6.W4500; EG-NEXT:     MOV T6.Z, OQAP,4501; EG-NEXT:     ADD_INT * T6.W, KC0[2].Z, literal.x,4502; EG-NEXT:    84(1.177091e-43), 0(0.000000e+00)4503; EG-NEXT:     LDS_READ_RET * OQAP, T6.W4504; EG-NEXT:     MOV T6.W, OQAP,4505; EG-NEXT:     ADD_INT * T7.W, KC0[2].Z, literal.x,4506; EG-NEXT:    80(1.121039e-43), 0(0.000000e+00)4507; EG-NEXT:     LDS_READ_RET * OQAP, T7.W4508; EG-NEXT:     MOV T7.Y, OQAP,4509; EG-NEXT:     ADD_INT * T7.W, KC0[2].Z, literal.x,4510; EG-NEXT:    108(1.513402e-43), 0(0.000000e+00)4511; EG-NEXT:     LDS_READ_RET * OQAP, T7.W4512; EG-NEXT:     MOV T7.Z, OQAP,4513; EG-NEXT:     ADD_INT * T7.W, KC0[2].Z, literal.x,4514; EG-NEXT:    104(1.457350e-43), 0(0.000000e+00)4515; EG-NEXT:     LDS_READ_RET * OQAP, T7.W4516; EG-NEXT:     MOV T7.W, OQAP,4517; EG-NEXT:     ADD_INT * T8.W, KC0[2].Z, literal.x,4518; EG-NEXT:    100(1.401298e-43), 0(0.000000e+00)4519; EG-NEXT:     LDS_READ_RET * OQAP, T8.W4520; EG-NEXT:     MOV T8.Y, OQAP,4521; EG-NEXT:     ADD_INT * T8.W, KC0[2].Z, literal.x,4522; EG-NEXT:    96(1.345247e-43), 0(0.000000e+00)4523; EG-NEXT:     LDS_READ_RET * OQAP, T8.W4524; EG-NEXT:     MOV T8.Z, OQAP,4525; EG-NEXT:     ADD_INT * T8.W, KC0[2].Z, literal.x,4526; EG-NEXT:    124(1.737610e-43), 0(0.000000e+00)4527; EG-NEXT:     LDS_READ_RET * OQAP, T8.W4528; EG-NEXT:     MOV T8.W, OQAP,4529; EG-NEXT:     ADD_INT * T9.W, KC0[2].Z, literal.x,4530; EG-NEXT:    120(1.681558e-43), 0(0.000000e+00)4531; EG-NEXT:     LDS_READ_RET * OQAP, T9.W4532; EG-NEXT:     MOV T9.Y, OQAP,4533; EG-NEXT:     ADD_INT * T9.W, KC0[2].Z, literal.x,4534; EG-NEXT:    116(1.625506e-43), 0(0.000000e+00)4535; EG-NEXT:     LDS_READ_RET * OQAP, T9.W4536; EG-NEXT:     MOV T9.Z, OQAP,4537; EG-NEXT:     ADD_INT * T9.W, KC0[2].Z, literal.x,4538; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)4539; EG-NEXT:    ALU 85, @31, KC0[CB0:0-32], KC1[]4540; EG-NEXT:     LDS_READ_RET * OQAP, T9.W4541; EG-NEXT:     MOV T9.W, OQAP,4542; EG-NEXT:     ADD_INT * T10.W, KC0[2].Z, literal.x,4543; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)4544; EG-NEXT:     LDS_READ_RET * OQAP, T10.W4545; EG-NEXT:     MOV T10.Y, OQAP,4546; EG-NEXT:     LSHR T10.W, T9.W, literal.x,4547; EG-NEXT:     ADD_INT * T11.W, KC0[2].Z, literal.y,4548; EG-NEXT:    16(2.242078e-44), 112(1.569454e-43)4549; EG-NEXT:     LDS_READ_RET * OQAP, T11.W4550; EG-NEXT:     MOV T10.Z, OQAP,4551; EG-NEXT:     LSHR * T11.Z, T10.Y, literal.x,4552; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4553; EG-NEXT:     BFE_INT T10.W, T10.W, 0.0, literal.x,4554; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4555; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)4556; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4557; EG-NEXT:     LSHR T12.Z, T0.Y, literal.x,4558; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4559; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4560; EG-NEXT:    16(2.242078e-44), 20(2.802597e-44)4561; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4562; EG-NEXT:     LSHR T11.Z, T0.Z, literal.x,4563; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x, BS:VEC_120/SCL_2124564; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4565; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)4566; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4567; EG-NEXT:     LSHR T12.Z, T0.W, literal.x,4568; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4569; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4570; EG-NEXT:    16(2.242078e-44), 4(5.605194e-45)4571; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4572; EG-NEXT:     LSHR T11.Z, T1.Y, literal.x,4573; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4574; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4575; EG-NEXT:    16(2.242078e-44), 60(8.407791e-44)4576; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4577; EG-NEXT:     LSHR T12.Z, T1.Z, literal.x,4578; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x, BS:VEC_120/SCL_2124579; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4580; EG-NEXT:    16(2.242078e-44), 52(7.286752e-44)4581; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4582; EG-NEXT:     LSHR T11.Z, T1.W, literal.x,4583; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4584; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4585; EG-NEXT:    16(2.242078e-44), 44(6.165713e-44)4586; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4587; EG-NEXT:     LSHR T12.Z, T2.Y, literal.x,4588; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4589; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4590; EG-NEXT:    16(2.242078e-44), 36(5.044674e-44)4591; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4592; EG-NEXT:     LSHR T11.Z, T2.Z, literal.x,4593; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x, BS:VEC_120/SCL_2124594; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4595; EG-NEXT:    16(2.242078e-44), 92(1.289195e-43)4596; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4597; EG-NEXT:     LSHR T12.Z, T2.W, literal.x,4598; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4599; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4600; EG-NEXT:    16(2.242078e-44), 84(1.177091e-43)4601; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4602; EG-NEXT:     LSHR T11.Z, T3.Y, literal.x,4603; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4604; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4605; EG-NEXT:    16(2.242078e-44), 76(1.064987e-43)4606; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4607; EG-NEXT:     LSHR T12.Z, T3.Z, literal.x,4608; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x, BS:VEC_120/SCL_2124609; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4610; EG-NEXT:    16(2.242078e-44), 68(9.528830e-44)4611; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4612; EG-NEXT:     LSHR T11.Z, T3.W, literal.x,4613; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4614; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4615; EG-NEXT:    16(2.242078e-44), 124(1.737610e-43)4616; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4617; EG-NEXT:     LSHR T12.Z, T4.Y, literal.x,4618; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4619; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4620; EG-NEXT:    16(2.242078e-44), 116(1.625506e-43)4621; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4622; EG-NEXT:     LSHR T11.Z, T4.Z, literal.x,4623; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x, BS:VEC_120/SCL_2124624; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4625; EG-NEXT:    16(2.242078e-44), 108(1.513402e-43)4626; EG-NEXT:    ALU 83, @32, KC0[CB0:0-32], KC1[]4627; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4628; EG-NEXT:     LSHR T12.Z, T4.W, literal.x,4629; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4630; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4631; EG-NEXT:    16(2.242078e-44), 100(1.401298e-43)4632; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4633; EG-NEXT:     LSHR T11.Z, T5.Y, literal.x,4634; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4635; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4636; EG-NEXT:    16(2.242078e-44), 156(2.186026e-43)4637; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4638; EG-NEXT:     LSHR T12.Z, T5.Z, literal.x,4639; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x, BS:VEC_120/SCL_2124640; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4641; EG-NEXT:    16(2.242078e-44), 148(2.073922e-43)4642; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4643; EG-NEXT:     LSHR T11.Z, T5.W, literal.x,4644; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4645; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4646; EG-NEXT:    16(2.242078e-44), 140(1.961818e-43)4647; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4648; EG-NEXT:     LSHR T12.Z, T6.Y, literal.x,4649; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4650; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4651; EG-NEXT:    16(2.242078e-44), 132(1.849714e-43)4652; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4653; EG-NEXT:     LSHR T11.Z, T6.Z, literal.x,4654; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x, BS:VEC_120/SCL_2124655; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4656; EG-NEXT:    16(2.242078e-44), 188(2.634441e-43)4657; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4658; EG-NEXT:     LSHR T12.Z, T6.W, literal.x,4659; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4660; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4661; EG-NEXT:    16(2.242078e-44), 180(2.522337e-43)4662; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4663; EG-NEXT:     LSHR T11.Z, T7.Y, literal.x,4664; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4665; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4666; EG-NEXT:    16(2.242078e-44), 172(2.410233e-43)4667; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4668; EG-NEXT:     LSHR T12.Z, T7.Z, literal.x,4669; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x, BS:VEC_120/SCL_2124670; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4671; EG-NEXT:    16(2.242078e-44), 164(2.298129e-43)4672; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4673; EG-NEXT:     LSHR T11.Z, T7.W, literal.x,4674; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4675; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4676; EG-NEXT:    16(2.242078e-44), 220(3.082857e-43)4677; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4678; EG-NEXT:     LSHR T12.Z, T8.Y, literal.x,4679; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4680; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4681; EG-NEXT:    16(2.242078e-44), 212(2.970753e-43)4682; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4683; EG-NEXT:     LSHR T11.Z, T8.Z, literal.x,4684; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x, BS:VEC_120/SCL_2124685; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4686; EG-NEXT:    16(2.242078e-44), 204(2.858649e-43)4687; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4688; EG-NEXT:     LSHR T12.Z, T8.W, literal.x,4689; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4690; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4691; EG-NEXT:    16(2.242078e-44), 196(2.746545e-43)4692; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4693; EG-NEXT:     LSHR T11.Z, T9.Y, literal.x,4694; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x,4695; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4696; EG-NEXT:    16(2.242078e-44), 252(3.531272e-43)4697; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4698; EG-NEXT:     LSHR T12.Z, T9.Z, literal.x,4699; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x, BS:VEC_120/SCL_2124700; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4701; EG-NEXT:    16(2.242078e-44), 244(3.419168e-43)4702; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4703; EG-NEXT:     LSHR T11.Z, T10.Z, literal.x,4704; EG-NEXT:     BFE_INT T10.W, T12.Z, 0.0, literal.x, BS:VEC_120/SCL_2124705; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4706; EG-NEXT:    16(2.242078e-44), 236(3.307064e-43)4707; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4708; EG-NEXT:     BFE_INT T10.W, T11.Z, 0.0, literal.x,4709; EG-NEXT:     ADD_INT * T11.W, KC0[2].Y, literal.y,4710; EG-NEXT:    16(2.242078e-44), 228(3.194960e-43)4711; EG-NEXT:    ALU 94, @33, KC0[CB0:0-32], KC1[]4712; EG-NEXT:     LDS_WRITE * T11.W, T10.W,4713; EG-NEXT:     BFE_INT T9.W, T9.W, 0.0, literal.x,4714; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,4715; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)4716; EG-NEXT:     LDS_WRITE * T10.W, T9.W,4717; EG-NEXT:     BFE_INT T9.W, T10.Y, 0.0, literal.x,4718; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.x,4719; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4720; EG-NEXT:     LDS_WRITE * T10.W, T9.W,4721; EG-NEXT:     BFE_INT T9.W, T0.Y, 0.0, literal.x,4722; EG-NEXT:     ADD_INT * T10.W, KC0[2].Y, literal.y,4723; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)4724; EG-NEXT:     LDS_WRITE * T10.W, T9.W,4725; EG-NEXT:     BFE_INT T9.W, T0.Z, 0.0, literal.x,4726; EG-NEXT:     MOV * T10.W, KC0[2].Y,4727; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4728; EG-NEXT:     LDS_WRITE * T10.W, T9.W,4729; EG-NEXT:     BFE_INT T0.W, T0.W, 0.0, literal.x,4730; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,4731; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)4732; EG-NEXT:     LDS_WRITE * T9.W, T0.W,4733; EG-NEXT:     BFE_INT T0.W, T1.Y, 0.0, literal.x,4734; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,4735; EG-NEXT:    16(2.242078e-44), 48(6.726233e-44)4736; EG-NEXT:     LDS_WRITE * T9.W, T0.W,4737; EG-NEXT:     BFE_INT T0.W, T1.Z, 0.0, literal.x,4738; EG-NEXT:     ADD_INT * T9.W, KC0[2].Y, literal.y,4739; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)4740; EG-NEXT:     LDS_WRITE * T9.W, T0.W,4741; EG-NEXT:     BFE_INT T0.W, T1.W, 0.0, literal.x,4742; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4743; EG-NEXT:    16(2.242078e-44), 32(4.484155e-44)4744; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4745; EG-NEXT:     BFE_INT T0.W, T2.Y, 0.0, literal.x,4746; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4747; EG-NEXT:    16(2.242078e-44), 88(1.233143e-43)4748; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4749; EG-NEXT:     BFE_INT T0.W, T2.Z, 0.0, literal.x,4750; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4751; EG-NEXT:    16(2.242078e-44), 80(1.121039e-43)4752; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4753; EG-NEXT:     BFE_INT T0.W, T2.W, 0.0, literal.x,4754; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4755; EG-NEXT:    16(2.242078e-44), 72(1.008935e-43)4756; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4757; EG-NEXT:     BFE_INT T0.W, T3.Y, 0.0, literal.x,4758; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4759; EG-NEXT:    16(2.242078e-44), 64(8.968310e-44)4760; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4761; EG-NEXT:     BFE_INT T0.W, T3.Z, 0.0, literal.x,4762; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4763; EG-NEXT:    16(2.242078e-44), 120(1.681558e-43)4764; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4765; EG-NEXT:     BFE_INT T0.W, T3.W, 0.0, literal.x,4766; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4767; EG-NEXT:    16(2.242078e-44), 112(1.569454e-43)4768; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4769; EG-NEXT:     BFE_INT T0.W, T4.Y, 0.0, literal.x,4770; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4771; EG-NEXT:    16(2.242078e-44), 104(1.457350e-43)4772; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4773; EG-NEXT:     BFE_INT T0.W, T4.Z, 0.0, literal.x,4774; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4775; EG-NEXT:    16(2.242078e-44), 96(1.345247e-43)4776; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4777; EG-NEXT:     BFE_INT T0.W, T4.W, 0.0, literal.x,4778; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4779; EG-NEXT:    16(2.242078e-44), 152(2.129974e-43)4780; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4781; EG-NEXT:     BFE_INT T0.W, T5.Y, 0.0, literal.x,4782; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4783; EG-NEXT:    16(2.242078e-44), 144(2.017870e-43)4784; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4785; EG-NEXT:     BFE_INT T0.W, T5.Z, 0.0, literal.x,4786; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4787; EG-NEXT:    16(2.242078e-44), 136(1.905766e-43)4788; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4789; EG-NEXT:     BFE_INT T0.W, T5.W, 0.0, literal.x,4790; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4791; EG-NEXT:    16(2.242078e-44), 128(1.793662e-43)4792; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4793; EG-NEXT:     BFE_INT T0.W, T6.Y, 0.0, literal.x,4794; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4795; EG-NEXT:    16(2.242078e-44), 184(2.578389e-43)4796; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4797; EG-NEXT:     BFE_INT T0.W, T6.Z, 0.0, literal.x,4798; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4799; EG-NEXT:    16(2.242078e-44), 176(2.466285e-43)4800; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4801; EG-NEXT:     BFE_INT T0.W, T6.W, 0.0, literal.x,4802; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4803; EG-NEXT:    16(2.242078e-44), 168(2.354181e-43)4804; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4805; EG-NEXT:     BFE_INT * T0.W, T7.Y, 0.0, literal.x,4806; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)4807; EG-NEXT:    ALU 34, @34, KC0[CB0:0-32], KC1[]4808; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,4809; EG-NEXT:    160(2.242078e-43), 0(0.000000e+00)4810; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4811; EG-NEXT:     BFE_INT T0.W, T7.Z, 0.0, literal.x,4812; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4813; EG-NEXT:    16(2.242078e-44), 216(3.026805e-43)4814; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4815; EG-NEXT:     BFE_INT T0.W, T7.W, 0.0, literal.x,4816; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4817; EG-NEXT:    16(2.242078e-44), 208(2.914701e-43)4818; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4819; EG-NEXT:     BFE_INT T0.W, T8.Y, 0.0, literal.x,4820; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4821; EG-NEXT:    16(2.242078e-44), 200(2.802597e-43)4822; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4823; EG-NEXT:     BFE_INT T0.W, T8.Z, 0.0, literal.x,4824; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4825; EG-NEXT:    16(2.242078e-44), 192(2.690493e-43)4826; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4827; EG-NEXT:     BFE_INT T0.W, T8.W, 0.0, literal.x,4828; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4829; EG-NEXT:    16(2.242078e-44), 248(3.475220e-43)4830; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4831; EG-NEXT:     BFE_INT T0.W, T9.Y, 0.0, literal.x,4832; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4833; EG-NEXT:    16(2.242078e-44), 240(3.363116e-43)4834; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4835; EG-NEXT:     BFE_INT T0.W, T9.Z, 0.0, literal.x,4836; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4837; EG-NEXT:    16(2.242078e-44), 232(3.251012e-43)4838; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4839; EG-NEXT:     BFE_INT T0.W, T10.Z, 0.0, literal.x,4840; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,4841; EG-NEXT:    16(2.242078e-44), 224(3.138909e-43)4842; EG-NEXT:     LDS_WRITE * T1.W, T0.W,4843; EG-NEXT:    RETURN4844;4845; VI-DS128-LABEL: local_sextload_v64i16_to_v64i32:4846; VI-DS128:       ; %bb.0:4847; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x244848; VI-DS128-NEXT:    s_mov_b32 s88, SCRATCH_RSRC_DWORD04849; VI-DS128-NEXT:    s_mov_b32 m0, -14850; VI-DS128-NEXT:    s_mov_b32 s89, SCRATCH_RSRC_DWORD14851; VI-DS128-NEXT:    s_mov_b32 s90, -14852; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)4853; VI-DS128-NEXT:    v_mov_b32_e32 v32, s14854; VI-DS128-NEXT:    ds_read_b128 v[8:11], v324855; VI-DS128-NEXT:    ds_read_b128 v[16:19], v32 offset:164856; VI-DS128-NEXT:    ds_read_b128 v[24:27], v32 offset:324857; VI-DS128-NEXT:    ds_read_b128 v[33:36], v32 offset:484858; VI-DS128-NEXT:    s_mov_b32 s91, 0xe800004859; VI-DS128-NEXT:    s_add_u32 s88, s88, s114860; VI-DS128-NEXT:    s_addc_u32 s89, s89, 04861; VI-DS128-NEXT:    s_waitcnt lgkmcnt(3)4862; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v114863; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v104864; VI-DS128-NEXT:    v_bfe_i32 v2, v11, 0, 164865; VI-DS128-NEXT:    v_bfe_i32 v0, v10, 0, 164866; VI-DS128-NEXT:    buffer_store_dword v0, off, s[88:91], 0 ; 4-byte Folded Spill4867; VI-DS128-NEXT:    buffer_store_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Spill4868; VI-DS128-NEXT:    buffer_store_dword v2, off, s[88:91], 0 offset:8 ; 4-byte Folded Spill4869; VI-DS128-NEXT:    buffer_store_dword v3, off, s[88:91], 0 offset:12 ; 4-byte Folded Spill4870; VI-DS128-NEXT:    v_ashrrev_i32_e32 v6, 16, v94871; VI-DS128-NEXT:    v_ashrrev_i32_e32 v4, 16, v84872; VI-DS128-NEXT:    v_bfe_i32 v5, v9, 0, 164873; VI-DS128-NEXT:    v_bfe_i32 v3, v8, 0, 164874; VI-DS128-NEXT:    s_waitcnt lgkmcnt(2)4875; VI-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v194876; VI-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v184877; VI-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v174878; VI-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v164879; VI-DS128-NEXT:    v_bfe_i32 v10, v19, 0, 164880; VI-DS128-NEXT:    v_bfe_i32 v8, v18, 0, 164881; VI-DS128-NEXT:    v_bfe_i32 v14, v17, 0, 164882; VI-DS128-NEXT:    v_bfe_i32 v12, v16, 0, 164883; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)4884; VI-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v274885; VI-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v264886; VI-DS128-NEXT:    v_bfe_i32 v18, v27, 0, 164887; VI-DS128-NEXT:    v_bfe_i32 v16, v26, 0, 164888; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)4889; VI-DS128-NEXT:    v_ashrrev_i32_e32 v27, 16, v364890; VI-DS128-NEXT:    v_bfe_i32 v26, v36, 0, 164891; VI-DS128-NEXT:    ds_read_b128 v[36:39], v32 offset:644892; VI-DS128-NEXT:    ds_read_b128 v[40:43], v32 offset:804893; VI-DS128-NEXT:    ds_read_b128 v[56:59], v32 offset:964894; VI-DS128-NEXT:    buffer_store_dword v3, off, s[88:91], 0 offset:16 ; 4-byte Folded Spill4895; VI-DS128-NEXT:    buffer_store_dword v4, off, s[88:91], 0 offset:20 ; 4-byte Folded Spill4896; VI-DS128-NEXT:    buffer_store_dword v5, off, s[88:91], 0 offset:24 ; 4-byte Folded Spill4897; VI-DS128-NEXT:    buffer_store_dword v6, off, s[88:91], 0 offset:28 ; 4-byte Folded Spill4898; VI-DS128-NEXT:    v_ashrrev_i32_e32 v23, 16, v254899; VI-DS128-NEXT:    s_waitcnt lgkmcnt(2)4900; VI-DS128-NEXT:    v_ashrrev_i32_e32 v47, 16, v394901; VI-DS128-NEXT:    v_ashrrev_i32_e32 v45, 16, v384902; VI-DS128-NEXT:    v_ashrrev_i32_e32 v51, 16, v374903; VI-DS128-NEXT:    v_bfe_i32 v46, v39, 0, 164904; VI-DS128-NEXT:    v_bfe_i32 v44, v38, 0, 164905; VI-DS128-NEXT:    v_bfe_i32 v50, v37, 0, 164906; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)4907; VI-DS128-NEXT:    v_ashrrev_i32_e32 v53, 16, v404908; VI-DS128-NEXT:    v_bfe_i32 v52, v40, 0, 164909; VI-DS128-NEXT:    ds_read_b128 v[37:40], v32 offset:1124910; VI-DS128-NEXT:    v_mov_b32_e32 v32, s04911; VI-DS128-NEXT:    v_ashrrev_i32_e32 v21, 16, v244912; VI-DS128-NEXT:    v_bfe_i32 v22, v25, 0, 164913; VI-DS128-NEXT:    v_bfe_i32 v20, v24, 0, 164914; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)4915; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v384916; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v374917; VI-DS128-NEXT:    v_bfe_i32 v2, v38, 0, 164918; VI-DS128-NEXT:    v_bfe_i32 v0, v37, 0, 164919; VI-DS128-NEXT:    v_ashrrev_i32_e32 v25, 16, v354920; VI-DS128-NEXT:    v_ashrrev_i32_e32 v31, 16, v344921; VI-DS128-NEXT:    v_ashrrev_i32_e32 v29, 16, v334922; VI-DS128-NEXT:    v_bfe_i32 v24, v35, 0, 164923; VI-DS128-NEXT:    v_bfe_i32 v30, v34, 0, 164924; VI-DS128-NEXT:    v_bfe_i32 v28, v33, 0, 164925; VI-DS128-NEXT:    v_ashrrev_i32_e32 v49, 16, v364926; VI-DS128-NEXT:    v_bfe_i32 v48, v36, 0, 164927; VI-DS128-NEXT:    v_ashrrev_i32_e32 v36, 16, v434928; VI-DS128-NEXT:    v_ashrrev_i32_e32 v34, 16, v424929; VI-DS128-NEXT:    v_ashrrev_i32_e32 v55, 16, v414930; VI-DS128-NEXT:    v_bfe_i32 v35, v43, 0, 164931; VI-DS128-NEXT:    v_bfe_i32 v33, v42, 0, 164932; VI-DS128-NEXT:    v_bfe_i32 v54, v41, 0, 164933; VI-DS128-NEXT:    v_ashrrev_i32_e32 v62, 16, v594934; VI-DS128-NEXT:    v_ashrrev_i32_e32 v60, 16, v584935; VI-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v574936; VI-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v564937; VI-DS128-NEXT:    v_bfe_i32 v61, v59, 0, 164938; VI-DS128-NEXT:    v_bfe_i32 v59, v58, 0, 164939; VI-DS128-NEXT:    v_bfe_i32 v6, v57, 0, 164940; VI-DS128-NEXT:    v_bfe_i32 v4, v56, 0, 164941; VI-DS128-NEXT:    v_ashrrev_i32_e32 v43, 16, v404942; VI-DS128-NEXT:    v_ashrrev_i32_e32 v41, 16, v394943; VI-DS128-NEXT:    v_bfe_i32 v42, v40, 0, 164944; VI-DS128-NEXT:    v_bfe_i32 v40, v39, 0, 164945; VI-DS128-NEXT:    ds_write_b128 v32, v[0:3] offset:2244946; VI-DS128-NEXT:    ds_write_b128 v32, v[40:43] offset:2404947; VI-DS128-NEXT:    ds_write_b128 v32, v[4:7] offset:1924948; VI-DS128-NEXT:    ds_write_b128 v32, v[59:62] offset:2084949; VI-DS128-NEXT:    ds_write_b128 v32, v[52:55] offset:1604950; VI-DS128-NEXT:    ds_write_b128 v32, v[33:36] offset:1764951; VI-DS128-NEXT:    ds_write_b128 v32, v[48:51] offset:1284952; VI-DS128-NEXT:    ds_write_b128 v32, v[44:47] offset:1444953; VI-DS128-NEXT:    ds_write_b128 v32, v[28:31] offset:964954; VI-DS128-NEXT:    ds_write_b128 v32, v[24:27] offset:1124955; VI-DS128-NEXT:    ds_write_b128 v32, v[20:23] offset:644956; VI-DS128-NEXT:    ds_write_b128 v32, v[16:19] offset:804957; VI-DS128-NEXT:    ds_write_b128 v32, v[12:15] offset:324958; VI-DS128-NEXT:    ds_write_b128 v32, v[8:11] offset:484959; VI-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 offset:16 ; 4-byte Folded Reload4960; VI-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:20 ; 4-byte Folded Reload4961; VI-DS128-NEXT:    buffer_load_dword v2, off, s[88:91], 0 offset:24 ; 4-byte Folded Reload4962; VI-DS128-NEXT:    buffer_load_dword v3, off, s[88:91], 0 offset:28 ; 4-byte Folded Reload4963; VI-DS128-NEXT:    s_waitcnt vmcnt(0)4964; VI-DS128-NEXT:    ds_write_b128 v32, v[0:3]4965; VI-DS128-NEXT:    buffer_load_dword v0, off, s[88:91], 0 ; 4-byte Folded Reload4966; VI-DS128-NEXT:    buffer_load_dword v1, off, s[88:91], 0 offset:4 ; 4-byte Folded Reload4967; VI-DS128-NEXT:    buffer_load_dword v2, off, s[88:91], 0 offset:8 ; 4-byte Folded Reload4968; VI-DS128-NEXT:    buffer_load_dword v3, off, s[88:91], 0 offset:12 ; 4-byte Folded Reload4969; VI-DS128-NEXT:    s_waitcnt vmcnt(0)4970; VI-DS128-NEXT:    ds_write_b128 v32, v[0:3] offset:164971; VI-DS128-NEXT:    s_endpgm4972;4973; GFX9-DS128-LABEL: local_sextload_v64i16_to_v64i32:4974; GFX9-DS128:       ; %bb.0:4975; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x244976; GFX9-DS128-NEXT:    s_mov_b32 s12, SCRATCH_RSRC_DWORD04977; GFX9-DS128-NEXT:    s_mov_b32 s13, SCRATCH_RSRC_DWORD14978; GFX9-DS128-NEXT:    s_mov_b32 s14, -14979; GFX9-DS128-NEXT:    s_mov_b32 s15, 0xe000004980; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)4981; GFX9-DS128-NEXT:    v_mov_b32_e32 v32, s14982; GFX9-DS128-NEXT:    ds_read_b128 v[8:11], v324983; GFX9-DS128-NEXT:    ds_read_b128 v[16:19], v32 offset:164984; GFX9-DS128-NEXT:    ds_read_b128 v[24:27], v32 offset:324985; GFX9-DS128-NEXT:    ds_read_b128 v[33:36], v32 offset:484986; GFX9-DS128-NEXT:    s_add_u32 s12, s12, s114987; GFX9-DS128-NEXT:    s_addc_u32 s13, s13, 04988; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(3)4989; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v114990; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v104991; GFX9-DS128-NEXT:    v_bfe_i32 v2, v11, 0, 164992; GFX9-DS128-NEXT:    v_bfe_i32 v0, v10, 0, 164993; GFX9-DS128-NEXT:    buffer_store_dword v0, off, s[12:15], 0 ; 4-byte Folded Spill4994; GFX9-DS128-NEXT:    s_nop 04995; GFX9-DS128-NEXT:    buffer_store_dword v1, off, s[12:15], 0 offset:4 ; 4-byte Folded Spill4996; GFX9-DS128-NEXT:    buffer_store_dword v2, off, s[12:15], 0 offset:8 ; 4-byte Folded Spill4997; GFX9-DS128-NEXT:    buffer_store_dword v3, off, s[12:15], 0 offset:12 ; 4-byte Folded Spill4998; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v6, 16, v94999; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v4, 16, v85000; GFX9-DS128-NEXT:    v_bfe_i32 v5, v9, 0, 165001; GFX9-DS128-NEXT:    v_bfe_i32 v3, v8, 0, 165002; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(2)5003; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v11, 16, v195004; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v9, 16, v185005; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 16, v175006; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v13, 16, v165007; GFX9-DS128-NEXT:    v_bfe_i32 v10, v19, 0, 165008; GFX9-DS128-NEXT:    v_bfe_i32 v8, v18, 0, 165009; GFX9-DS128-NEXT:    v_bfe_i32 v14, v17, 0, 165010; GFX9-DS128-NEXT:    v_bfe_i32 v12, v16, 0, 165011; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)5012; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v19, 16, v275013; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v17, 16, v265014; GFX9-DS128-NEXT:    v_bfe_i32 v18, v27, 0, 165015; GFX9-DS128-NEXT:    v_bfe_i32 v16, v26, 0, 165016; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5017; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v27, 16, v365018; GFX9-DS128-NEXT:    v_bfe_i32 v26, v36, 0, 165019; GFX9-DS128-NEXT:    ds_read_b128 v[36:39], v32 offset:645020; GFX9-DS128-NEXT:    ds_read_b128 v[40:43], v32 offset:805021; GFX9-DS128-NEXT:    ds_read_b128 v[56:59], v32 offset:965022; GFX9-DS128-NEXT:    buffer_store_dword v3, off, s[12:15], 0 offset:16 ; 4-byte Folded Spill5023; GFX9-DS128-NEXT:    s_nop 05024; GFX9-DS128-NEXT:    buffer_store_dword v4, off, s[12:15], 0 offset:20 ; 4-byte Folded Spill5025; GFX9-DS128-NEXT:    buffer_store_dword v5, off, s[12:15], 0 offset:24 ; 4-byte Folded Spill5026; GFX9-DS128-NEXT:    buffer_store_dword v6, off, s[12:15], 0 offset:28 ; 4-byte Folded Spill5027; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v23, 16, v255028; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(2)5029; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v47, 16, v395030; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v45, 16, v385031; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v51, 16, v375032; GFX9-DS128-NEXT:    v_bfe_i32 v46, v39, 0, 165033; GFX9-DS128-NEXT:    v_bfe_i32 v44, v38, 0, 165034; GFX9-DS128-NEXT:    v_bfe_i32 v50, v37, 0, 165035; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)5036; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v53, 16, v405037; GFX9-DS128-NEXT:    v_bfe_i32 v52, v40, 0, 165038; GFX9-DS128-NEXT:    ds_read_b128 v[37:40], v32 offset:1125039; GFX9-DS128-NEXT:    v_mov_b32_e32 v32, s05040; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v21, 16, v245041; GFX9-DS128-NEXT:    v_bfe_i32 v22, v25, 0, 165042; GFX9-DS128-NEXT:    v_bfe_i32 v20, v24, 0, 165043; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5044; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 16, v385045; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 16, v375046; GFX9-DS128-NEXT:    v_bfe_i32 v2, v38, 0, 165047; GFX9-DS128-NEXT:    v_bfe_i32 v0, v37, 0, 165048; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v25, 16, v355049; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v31, 16, v345050; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v29, 16, v335051; GFX9-DS128-NEXT:    v_bfe_i32 v24, v35, 0, 165052; GFX9-DS128-NEXT:    v_bfe_i32 v30, v34, 0, 165053; GFX9-DS128-NEXT:    v_bfe_i32 v28, v33, 0, 165054; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v49, 16, v365055; GFX9-DS128-NEXT:    v_bfe_i32 v48, v36, 0, 165056; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v36, 16, v435057; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v34, 16, v425058; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v55, 16, v415059; GFX9-DS128-NEXT:    v_bfe_i32 v35, v43, 0, 165060; GFX9-DS128-NEXT:    v_bfe_i32 v33, v42, 0, 165061; GFX9-DS128-NEXT:    v_bfe_i32 v54, v41, 0, 165062; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v62, 16, v595063; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v60, 16, v585064; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 16, v575065; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 16, v565066; GFX9-DS128-NEXT:    v_bfe_i32 v61, v59, 0, 165067; GFX9-DS128-NEXT:    v_bfe_i32 v59, v58, 0, 165068; GFX9-DS128-NEXT:    v_bfe_i32 v6, v57, 0, 165069; GFX9-DS128-NEXT:    v_bfe_i32 v4, v56, 0, 165070; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v43, 16, v405071; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v41, 16, v395072; GFX9-DS128-NEXT:    v_bfe_i32 v42, v40, 0, 165073; GFX9-DS128-NEXT:    v_bfe_i32 v40, v39, 0, 165074; GFX9-DS128-NEXT:    ds_write_b128 v32, v[0:3] offset:2245075; GFX9-DS128-NEXT:    ds_write_b128 v32, v[40:43] offset:2405076; GFX9-DS128-NEXT:    ds_write_b128 v32, v[4:7] offset:1925077; GFX9-DS128-NEXT:    ds_write_b128 v32, v[59:62] offset:2085078; GFX9-DS128-NEXT:    ds_write_b128 v32, v[52:55] offset:1605079; GFX9-DS128-NEXT:    ds_write_b128 v32, v[33:36] offset:1765080; GFX9-DS128-NEXT:    ds_write_b128 v32, v[48:51] offset:1285081; GFX9-DS128-NEXT:    ds_write_b128 v32, v[44:47] offset:1445082; GFX9-DS128-NEXT:    ds_write_b128 v32, v[28:31] offset:965083; GFX9-DS128-NEXT:    ds_write_b128 v32, v[24:27] offset:1125084; GFX9-DS128-NEXT:    ds_write_b128 v32, v[20:23] offset:645085; GFX9-DS128-NEXT:    ds_write_b128 v32, v[16:19] offset:805086; GFX9-DS128-NEXT:    ds_write_b128 v32, v[12:15] offset:325087; GFX9-DS128-NEXT:    ds_write_b128 v32, v[8:11] offset:485088; GFX9-DS128-NEXT:    buffer_load_dword v0, off, s[12:15], 0 offset:16 ; 4-byte Folded Reload5089; GFX9-DS128-NEXT:    buffer_load_dword v1, off, s[12:15], 0 offset:20 ; 4-byte Folded Reload5090; GFX9-DS128-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:24 ; 4-byte Folded Reload5091; GFX9-DS128-NEXT:    buffer_load_dword v3, off, s[12:15], 0 offset:28 ; 4-byte Folded Reload5092; GFX9-DS128-NEXT:    s_waitcnt vmcnt(0)5093; GFX9-DS128-NEXT:    ds_write_b128 v32, v[0:3]5094; GFX9-DS128-NEXT:    buffer_load_dword v0, off, s[12:15], 0 ; 4-byte Folded Reload5095; GFX9-DS128-NEXT:    buffer_load_dword v1, off, s[12:15], 0 offset:4 ; 4-byte Folded Reload5096; GFX9-DS128-NEXT:    buffer_load_dword v2, off, s[12:15], 0 offset:8 ; 4-byte Folded Reload5097; GFX9-DS128-NEXT:    buffer_load_dword v3, off, s[12:15], 0 offset:12 ; 4-byte Folded Reload5098; GFX9-DS128-NEXT:    s_waitcnt vmcnt(0)5099; GFX9-DS128-NEXT:    ds_write_b128 v32, v[0:3] offset:165100; GFX9-DS128-NEXT:    s_endpgm5101  %load = load <64 x i16>, ptr addrspace(3) %in5102  %ext = sext <64 x i16> %load to <64 x i32>5103  store <64 x i32> %ext, ptr addrspace(3) %out5104  ret void5105}5106 5107define amdgpu_kernel void @local_zextload_i16_to_i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5108; SI-LABEL: local_zextload_i16_to_i64:5109; SI:       ; %bb.0:5110; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95111; SI-NEXT:    s_waitcnt lgkmcnt(0)5112; SI-NEXT:    v_mov_b32_e32 v0, s15113; SI-NEXT:    s_mov_b32 m0, -15114; SI-NEXT:    ds_read_u16 v0, v05115; SI-NEXT:    v_mov_b32_e32 v1, 05116; SI-NEXT:    v_mov_b32_e32 v2, s05117; SI-NEXT:    s_waitcnt lgkmcnt(0)5118; SI-NEXT:    ds_write_b64 v2, v[0:1]5119; SI-NEXT:    s_endpgm5120;5121; VI-LABEL: local_zextload_i16_to_i64:5122; VI:       ; %bb.0:5123; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245124; VI-NEXT:    s_mov_b32 m0, -15125; VI-NEXT:    v_mov_b32_e32 v1, 05126; VI-NEXT:    s_waitcnt lgkmcnt(0)5127; VI-NEXT:    v_mov_b32_e32 v0, s15128; VI-NEXT:    ds_read_u16 v0, v05129; VI-NEXT:    v_mov_b32_e32 v2, s05130; VI-NEXT:    s_waitcnt lgkmcnt(0)5131; VI-NEXT:    v_and_b32_e32 v0, 0xffff, v05132; VI-NEXT:    ds_write_b64 v2, v[0:1]5133; VI-NEXT:    s_endpgm5134;5135; GFX9-LABEL: local_zextload_i16_to_i64:5136; GFX9:       ; %bb.0:5137; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245138; GFX9-NEXT:    v_mov_b32_e32 v1, 05139; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5140; GFX9-NEXT:    v_mov_b32_e32 v0, s15141; GFX9-NEXT:    ds_read_u16 v0, v05142; GFX9-NEXT:    v_mov_b32_e32 v2, s05143; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5144; GFX9-NEXT:    v_and_b32_e32 v0, 0xffff, v05145; GFX9-NEXT:    ds_write_b64 v2, v[0:1]5146; GFX9-NEXT:    s_endpgm5147;5148; EG-LABEL: local_zextload_i16_to_i64:5149; EG:       ; %bb.0:5150; EG-NEXT:    ALU 8, @35, KC0[CB0:0-32], KC1[]5151; EG-NEXT:     MOV * T0.W, KC0[2].Z,5152; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W5153; EG-NEXT:     MOV T0.X, OQAP,5154; EG-NEXT:     MOV * T0.W, KC0[2].Y,5155; EG-NEXT:     LDS_WRITE * T0.W, T0.X,5156; EG-NEXT:     MOV T0.W, literal.x,5157; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5158; EG-NEXT:    0(0.000000e+00), 4(5.605194e-45)5159; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5160; EG-NEXT:    RETURN5161  %a = load i16, ptr addrspace(3) %in5162  %ext = zext i16 %a to i645163  store i64 %ext, ptr addrspace(3) %out5164  ret void5165}5166 5167; FIXME: Need to optimize this sequence to avoid an extra shift.5168;  t25: i32,ch = load<LD2[%in(addrspace=3)], anyext from i16> t12, t10, undef:i325169;          t28: i64 = any_extend t255170;        t30: i64 = sign_extend_inreg t28, ValueType:ch:i165171define amdgpu_kernel void @local_sextload_i16_to_i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5172; SI-LABEL: local_sextload_i16_to_i64:5173; SI:       ; %bb.0:5174; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95175; SI-NEXT:    s_waitcnt lgkmcnt(0)5176; SI-NEXT:    v_mov_b32_e32 v0, s15177; SI-NEXT:    s_mov_b32 m0, -15178; SI-NEXT:    ds_read_i16 v0, v05179; SI-NEXT:    s_waitcnt lgkmcnt(0)5180; SI-NEXT:    v_ashrrev_i32_e32 v1, 31, v05181; SI-NEXT:    v_mov_b32_e32 v2, s05182; SI-NEXT:    ds_write_b64 v2, v[0:1]5183; SI-NEXT:    s_endpgm5184;5185; VI-LABEL: local_sextload_i16_to_i64:5186; VI:       ; %bb.0:5187; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245188; VI-NEXT:    s_mov_b32 m0, -15189; VI-NEXT:    s_waitcnt lgkmcnt(0)5190; VI-NEXT:    v_mov_b32_e32 v0, s15191; VI-NEXT:    ds_read_u16 v0, v05192; VI-NEXT:    v_mov_b32_e32 v2, s05193; VI-NEXT:    s_waitcnt lgkmcnt(0)5194; VI-NEXT:    v_bfe_i32 v0, v0, 0, 165195; VI-NEXT:    v_ashrrev_i32_e32 v1, 31, v05196; VI-NEXT:    ds_write_b64 v2, v[0:1]5197; VI-NEXT:    s_endpgm5198;5199; GFX9-LABEL: local_sextload_i16_to_i64:5200; GFX9:       ; %bb.0:5201; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245202; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5203; GFX9-NEXT:    v_mov_b32_e32 v0, s15204; GFX9-NEXT:    ds_read_u16 v0, v05205; GFX9-NEXT:    v_mov_b32_e32 v2, s05206; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5207; GFX9-NEXT:    v_bfe_i32 v0, v0, 0, 165208; GFX9-NEXT:    v_ashrrev_i32_e32 v1, 31, v05209; GFX9-NEXT:    ds_write_b64 v2, v[0:1]5210; GFX9-NEXT:    s_endpgm5211;5212; EG-LABEL: local_sextload_i16_to_i64:5213; EG:       ; %bb.0:5214; EG-NEXT:    ALU 10, @36, KC0[CB0:0-32], KC1[]5215; EG-NEXT:     MOV * T0.W, KC0[2].Z,5216; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W5217; EG-NEXT:     MOV * T0.X, OQAP,5218; EG-NEXT:     BFE_INT * T0.W, PV.X, 0.0, literal.x,5219; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)5220; EG-NEXT:     ASHR T1.W, PV.W, literal.x,5221; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,5222; EG-NEXT:    31(4.344025e-44), 4(5.605194e-45)5223; EG-NEXT:     LDS_WRITE * T2.W, T1.W,5224; EG-NEXT:     MOV * T1.W, KC0[2].Y,5225; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5226; EG-NEXT:    RETURN5227  %a = load i16, ptr addrspace(3) %in5228  %ext = sext i16 %a to i645229  store i64 %ext, ptr addrspace(3) %out5230  ret void5231}5232 5233define amdgpu_kernel void @local_zextload_v1i16_to_v1i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5234; SI-LABEL: local_zextload_v1i16_to_v1i64:5235; SI:       ; %bb.0:5236; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95237; SI-NEXT:    s_waitcnt lgkmcnt(0)5238; SI-NEXT:    v_mov_b32_e32 v0, s15239; SI-NEXT:    s_mov_b32 m0, -15240; SI-NEXT:    ds_read_u16 v0, v05241; SI-NEXT:    v_mov_b32_e32 v1, 05242; SI-NEXT:    v_mov_b32_e32 v2, s05243; SI-NEXT:    s_waitcnt lgkmcnt(0)5244; SI-NEXT:    ds_write_b64 v2, v[0:1]5245; SI-NEXT:    s_endpgm5246;5247; VI-LABEL: local_zextload_v1i16_to_v1i64:5248; VI:       ; %bb.0:5249; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245250; VI-NEXT:    s_mov_b32 m0, -15251; VI-NEXT:    v_mov_b32_e32 v1, 05252; VI-NEXT:    s_waitcnt lgkmcnt(0)5253; VI-NEXT:    v_mov_b32_e32 v0, s15254; VI-NEXT:    ds_read_u16 v0, v05255; VI-NEXT:    v_mov_b32_e32 v2, s05256; VI-NEXT:    s_waitcnt lgkmcnt(0)5257; VI-NEXT:    v_and_b32_e32 v0, 0xffff, v05258; VI-NEXT:    ds_write_b64 v2, v[0:1]5259; VI-NEXT:    s_endpgm5260;5261; GFX9-LABEL: local_zextload_v1i16_to_v1i64:5262; GFX9:       ; %bb.0:5263; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245264; GFX9-NEXT:    v_mov_b32_e32 v1, 05265; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5266; GFX9-NEXT:    v_mov_b32_e32 v0, s15267; GFX9-NEXT:    ds_read_u16 v0, v05268; GFX9-NEXT:    v_mov_b32_e32 v2, s05269; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5270; GFX9-NEXT:    v_and_b32_e32 v0, 0xffff, v05271; GFX9-NEXT:    ds_write_b64 v2, v[0:1]5272; GFX9-NEXT:    s_endpgm5273;5274; EG-LABEL: local_zextload_v1i16_to_v1i64:5275; EG:       ; %bb.0:5276; EG-NEXT:    ALU 8, @37, KC0[CB0:0-32], KC1[]5277; EG-NEXT:     MOV * T0.W, KC0[2].Z,5278; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W5279; EG-NEXT:     MOV T0.X, OQAP,5280; EG-NEXT:     MOV * T0.W, KC0[2].Y,5281; EG-NEXT:     LDS_WRITE * T0.W, T0.X,5282; EG-NEXT:     MOV T0.W, literal.x,5283; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5284; EG-NEXT:    0(0.000000e+00), 4(5.605194e-45)5285; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5286; EG-NEXT:    RETURN5287  %load = load <1 x i16>, ptr addrspace(3) %in5288  %ext = zext <1 x i16> %load to <1 x i64>5289  store <1 x i64> %ext, ptr addrspace(3) %out5290  ret void5291}5292 5293define amdgpu_kernel void @local_sextload_v1i16_to_v1i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5294; SI-LABEL: local_sextload_v1i16_to_v1i64:5295; SI:       ; %bb.0:5296; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95297; SI-NEXT:    s_waitcnt lgkmcnt(0)5298; SI-NEXT:    v_mov_b32_e32 v0, s15299; SI-NEXT:    s_mov_b32 m0, -15300; SI-NEXT:    ds_read_i16 v0, v05301; SI-NEXT:    s_waitcnt lgkmcnt(0)5302; SI-NEXT:    v_ashrrev_i32_e32 v1, 31, v05303; SI-NEXT:    v_mov_b32_e32 v2, s05304; SI-NEXT:    ds_write_b64 v2, v[0:1]5305; SI-NEXT:    s_endpgm5306;5307; VI-LABEL: local_sextload_v1i16_to_v1i64:5308; VI:       ; %bb.0:5309; VI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245310; VI-NEXT:    s_mov_b32 m0, -15311; VI-NEXT:    s_waitcnt lgkmcnt(0)5312; VI-NEXT:    v_mov_b32_e32 v0, s15313; VI-NEXT:    ds_read_u16 v0, v05314; VI-NEXT:    v_mov_b32_e32 v2, s05315; VI-NEXT:    s_waitcnt lgkmcnt(0)5316; VI-NEXT:    v_bfe_i32 v0, v0, 0, 165317; VI-NEXT:    v_ashrrev_i32_e32 v1, 31, v05318; VI-NEXT:    ds_write_b64 v2, v[0:1]5319; VI-NEXT:    s_endpgm5320;5321; GFX9-LABEL: local_sextload_v1i16_to_v1i64:5322; GFX9:       ; %bb.0:5323; GFX9-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245324; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5325; GFX9-NEXT:    v_mov_b32_e32 v0, s15326; GFX9-NEXT:    ds_read_u16 v0, v05327; GFX9-NEXT:    v_mov_b32_e32 v2, s05328; GFX9-NEXT:    s_waitcnt lgkmcnt(0)5329; GFX9-NEXT:    v_bfe_i32 v0, v0, 0, 165330; GFX9-NEXT:    v_ashrrev_i32_e32 v1, 31, v05331; GFX9-NEXT:    ds_write_b64 v2, v[0:1]5332; GFX9-NEXT:    s_endpgm5333;5334; EG-LABEL: local_sextload_v1i16_to_v1i64:5335; EG:       ; %bb.0:5336; EG-NEXT:    ALU 10, @38, KC0[CB0:0-32], KC1[]5337; EG-NEXT:     MOV * T0.W, KC0[2].Z,5338; EG-NEXT:     LDS_USHORT_READ_RET * OQAP, T0.W5339; EG-NEXT:     MOV * T0.X, OQAP,5340; EG-NEXT:     BFE_INT * T0.W, PV.X, 0.0, literal.x,5341; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)5342; EG-NEXT:     ASHR T1.W, PV.W, literal.x,5343; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,5344; EG-NEXT:    31(4.344025e-44), 4(5.605194e-45)5345; EG-NEXT:     LDS_WRITE * T2.W, T1.W,5346; EG-NEXT:     MOV * T1.W, KC0[2].Y,5347; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5348; EG-NEXT:    RETURN5349  %load = load <1 x i16>, ptr addrspace(3) %in5350  %ext = sext <1 x i16> %load to <1 x i64>5351  store <1 x i64> %ext, ptr addrspace(3) %out5352  ret void5353}5354 5355define amdgpu_kernel void @local_zextload_v2i16_to_v2i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5356; SI-LABEL: local_zextload_v2i16_to_v2i64:5357; SI:       ; %bb.0:5358; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95359; SI-NEXT:    s_waitcnt lgkmcnt(0)5360; SI-NEXT:    v_mov_b32_e32 v0, s15361; SI-NEXT:    s_mov_b32 m0, -15362; SI-NEXT:    ds_read_b32 v2, v05363; SI-NEXT:    v_mov_b32_e32 v1, 05364; SI-NEXT:    s_waitcnt lgkmcnt(0)5365; SI-NEXT:    v_lshrrev_b32_e32 v0, 16, v25366; SI-NEXT:    v_and_b32_e32 v2, 0xffff, v25367; SI-NEXT:    v_mov_b32_e32 v4, s05368; SI-NEXT:    v_mov_b32_e32 v3, v15369; SI-NEXT:    ds_write2_b64 v4, v[2:3], v[0:1] offset1:15370; SI-NEXT:    s_endpgm5371;5372; VI-NO-DS128-LABEL: local_zextload_v2i16_to_v2i64:5373; VI-NO-DS128:       ; %bb.0:5374; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245375; VI-NO-DS128-NEXT:    s_mov_b32 m0, -15376; VI-NO-DS128-NEXT:    v_mov_b32_e32 v1, 05377; VI-NO-DS128-NEXT:    v_mov_b32_e32 v3, v15378; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5379; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15380; VI-NO-DS128-NEXT:    ds_read_b32 v0, v05381; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s05382; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5383; VI-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v05384; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v05385; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[2:3], v[0:1] offset1:15386; VI-NO-DS128-NEXT:    s_endpgm5387;5388; GFX9-NO-DS128-LABEL: local_zextload_v2i16_to_v2i64:5389; GFX9-NO-DS128:       ; %bb.0:5390; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245391; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v1, 05392; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v3, v15393; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5394; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15395; GFX9-NO-DS128-NEXT:    ds_read_b32 v0, v05396; GFX9-NO-DS128-NEXT:    s_mov_b32 s1, 0xffff5397; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s05398; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5399; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v2, s1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15400; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v05401; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:15402; GFX9-NO-DS128-NEXT:    s_endpgm5403;5404; EG-LABEL: local_zextload_v2i16_to_v2i64:5405; EG:       ; %bb.0:5406; EG-NEXT:    ALU 17, @39, KC0[CB0:0-32], KC1[]5407; EG-NEXT:     MOV * T0.W, KC0[2].Z,5408; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5409; EG-NEXT:     MOV * T0.Y, OQAP,5410; EG-NEXT:     AND_INT T0.W, PV.Y, literal.x,5411; EG-NEXT:     MOV * T1.W, KC0[2].Y,5412; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)5413; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5414; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,5415; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5416; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)5417; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5418; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.x,5419; EG-NEXT:     MOV * T1.W, literal.y,5420; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)5421; EG-NEXT:     LDS_WRITE * T0.W, T1.W,5422; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,5423; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)5424; EG-NEXT:     LDS_WRITE * T0.W, T1.W,5425; EG-NEXT:    RETURN5426;5427; VI-DS128-LABEL: local_zextload_v2i16_to_v2i64:5428; VI-DS128:       ; %bb.0:5429; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245430; VI-DS128-NEXT:    s_mov_b32 m0, -15431; VI-DS128-NEXT:    v_mov_b32_e32 v1, 05432; VI-DS128-NEXT:    v_mov_b32_e32 v3, v15433; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5434; VI-DS128-NEXT:    v_mov_b32_e32 v0, s15435; VI-DS128-NEXT:    ds_read_b32 v0, v05436; VI-DS128-NEXT:    v_mov_b32_e32 v4, s05437; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5438; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v05439; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v05440; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3]5441; VI-DS128-NEXT:    s_endpgm5442;5443; GFX9-DS128-LABEL: local_zextload_v2i16_to_v2i64:5444; GFX9-DS128:       ; %bb.0:5445; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245446; GFX9-DS128-NEXT:    v_mov_b32_e32 v1, 05447; GFX9-DS128-NEXT:    v_mov_b32_e32 v3, v15448; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5449; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s15450; GFX9-DS128-NEXT:    ds_read_b32 v2, v05451; GFX9-DS128-NEXT:    s_mov_b32 s1, 0xffff5452; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s05453; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5454; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v25455; GFX9-DS128-NEXT:    v_and_b32_sdwa v2, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15456; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3]5457; GFX9-DS128-NEXT:    s_endpgm5458  %load = load <2 x i16>, ptr addrspace(3) %in5459  %ext = zext <2 x i16> %load to <2 x i64>5460  store <2 x i64> %ext, ptr addrspace(3) %out5461  ret void5462}5463 5464define amdgpu_kernel void @local_sextload_v2i16_to_v2i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5465; SI-LABEL: local_sextload_v2i16_to_v2i64:5466; SI:       ; %bb.0:5467; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95468; SI-NEXT:    s_waitcnt lgkmcnt(0)5469; SI-NEXT:    v_mov_b32_e32 v0, s15470; SI-NEXT:    s_mov_b32 m0, -15471; SI-NEXT:    ds_read_b32 v0, v05472; SI-NEXT:    s_waitcnt lgkmcnt(0)5473; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v05474; SI-NEXT:    v_bfe_i32 v0, v0, 0, 165475; SI-NEXT:    v_bfe_i32 v2, v1, 0, 165476; SI-NEXT:    v_ashrrev_i32_e32 v3, 31, v25477; SI-NEXT:    v_ashrrev_i32_e32 v1, 31, v05478; SI-NEXT:    v_mov_b32_e32 v4, s05479; SI-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:15480; SI-NEXT:    s_endpgm5481;5482; VI-NO-DS128-LABEL: local_sextload_v2i16_to_v2i64:5483; VI-NO-DS128:       ; %bb.0:5484; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245485; VI-NO-DS128-NEXT:    s_mov_b32 m0, -15486; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5487; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15488; VI-NO-DS128-NEXT:    ds_read_b32 v0, v05489; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s05490; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5491; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v05492; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v0, 0, 165493; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v1, 0, 165494; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v05495; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v25496; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:15497; VI-NO-DS128-NEXT:    s_endpgm5498;5499; GFX9-NO-DS128-LABEL: local_sextload_v2i16_to_v2i64:5500; GFX9-NO-DS128:       ; %bb.0:5501; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245502; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5503; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15504; GFX9-NO-DS128-NEXT:    ds_read_b32 v0, v05505; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s05506; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5507; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v05508; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v0, 0, 165509; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v1, 0, 165510; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v05511; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v25512; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:15513; GFX9-NO-DS128-NEXT:    s_endpgm5514;5515; EG-LABEL: local_sextload_v2i16_to_v2i64:5516; EG:       ; %bb.0:5517; EG-NEXT:    ALU 18, @40, KC0[CB0:0-32], KC1[]5518; EG-NEXT:     MOV * T0.W, KC0[2].Z,5519; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5520; EG-NEXT:     MOV * T0.Y, OQAP,5521; EG-NEXT:     BFE_INT * T0.W, PV.Y, 0.0, literal.x,5522; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)5523; EG-NEXT:     ASHR T1.W, PV.W, literal.x,5524; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,5525; EG-NEXT:    31(4.344025e-44), 4(5.605194e-45)5526; EG-NEXT:     LDS_WRITE * T2.W, T1.W,5527; EG-NEXT:     MOV * T1.W, KC0[2].Y,5528; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5529; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,5530; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5531; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)5532; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5533; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,5534; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5535; EG-NEXT:    31(4.344025e-44), 12(1.681558e-44)5536; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5537; EG-NEXT:    RETURN5538;5539; VI-DS128-LABEL: local_sextload_v2i16_to_v2i64:5540; VI-DS128:       ; %bb.0:5541; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245542; VI-DS128-NEXT:    s_mov_b32 m0, -15543; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5544; VI-DS128-NEXT:    v_mov_b32_e32 v0, s15545; VI-DS128-NEXT:    ds_read_b32 v1, v05546; VI-DS128-NEXT:    v_mov_b32_e32 v4, s05547; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5548; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v15549; VI-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 165550; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 165551; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v05552; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v25553; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3]5554; VI-DS128-NEXT:    s_endpgm5555;5556; GFX9-DS128-LABEL: local_sextload_v2i16_to_v2i64:5557; GFX9-DS128:       ; %bb.0:5558; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245559; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5560; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s15561; GFX9-DS128-NEXT:    ds_read_b32 v1, v05562; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s05563; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5564; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v15565; GFX9-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 165566; GFX9-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 165567; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v05568; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v25569; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3]5570; GFX9-DS128-NEXT:    s_endpgm5571  %load = load <2 x i16>, ptr addrspace(3) %in5572  %ext = sext <2 x i16> %load to <2 x i64>5573  store <2 x i64> %ext, ptr addrspace(3) %out5574  ret void5575}5576 5577define amdgpu_kernel void @local_zextload_v4i16_to_v4i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5578; SI-LABEL: local_zextload_v4i16_to_v4i64:5579; SI:       ; %bb.0:5580; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95581; SI-NEXT:    s_waitcnt lgkmcnt(0)5582; SI-NEXT:    v_mov_b32_e32 v0, s15583; SI-NEXT:    s_mov_b32 m0, -15584; SI-NEXT:    ds_read_b64 v[0:1], v05585; SI-NEXT:    v_mov_b32_e32 v3, 05586; SI-NEXT:    v_mov_b32_e32 v5, v35587; SI-NEXT:    v_mov_b32_e32 v7, v35588; SI-NEXT:    v_mov_b32_e32 v9, v35589; SI-NEXT:    v_mov_b32_e32 v10, s05590; SI-NEXT:    s_waitcnt lgkmcnt(0)5591; SI-NEXT:    v_lshrrev_b32_e32 v2, 16, v15592; SI-NEXT:    v_lshrrev_b32_e32 v8, 16, v05593; SI-NEXT:    v_and_b32_e32 v6, 0xffff, v05594; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v15595; SI-NEXT:    ds_write2_b64 v10, v[4:5], v[2:3] offset0:2 offset1:35596; SI-NEXT:    ds_write2_b64 v10, v[6:7], v[8:9] offset1:15597; SI-NEXT:    s_endpgm5598;5599; VI-NO-DS128-LABEL: local_zextload_v4i16_to_v4i64:5600; VI-NO-DS128:       ; %bb.0:5601; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245602; VI-NO-DS128-NEXT:    s_mov_b32 m0, -15603; VI-NO-DS128-NEXT:    v_mov_b32_e32 v2, 05604; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, v25605; VI-NO-DS128-NEXT:    v_mov_b32_e32 v6, v25606; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5607; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15608; VI-NO-DS128-NEXT:    ds_read_b64 v[0:1], v05609; VI-NO-DS128-NEXT:    v_mov_b32_e32 v9, s05610; VI-NO-DS128-NEXT:    v_mov_b32_e32 v8, v25611; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5612; VI-NO-DS128-NEXT:    v_and_b32_e32 v7, 0xffff, v05613; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v05614; VI-NO-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v15615; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v15616; VI-NO-DS128-NEXT:    ds_write2_b64 v9, v[3:4], v[1:2] offset0:2 offset1:35617; VI-NO-DS128-NEXT:    ds_write2_b64 v9, v[7:8], v[5:6] offset1:15618; VI-NO-DS128-NEXT:    s_endpgm5619;5620; GFX9-NO-DS128-LABEL: local_zextload_v4i16_to_v4i64:5621; GFX9-NO-DS128:       ; %bb.0:5622; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245623; GFX9-NO-DS128-NEXT:    s_mov_b32 s2, 0xffff5624; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v2, 05625; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, v25626; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v6, v25627; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5628; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15629; GFX9-NO-DS128-NEXT:    ds_read_b64 v[0:1], v05630; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v9, s05631; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v8, v25632; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5633; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v7, s2, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15634; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v5, s2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15635; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v15636; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v05637; GFX9-NO-DS128-NEXT:    ds_write2_b64 v9, v[3:4], v[5:6] offset0:2 offset1:35638; GFX9-NO-DS128-NEXT:    ds_write2_b64 v9, v[1:2], v[7:8] offset1:15639; GFX9-NO-DS128-NEXT:    s_endpgm5640;5641; EG-LABEL: local_zextload_v4i16_to_v4i64:5642; EG:       ; %bb.0:5643; EG-NEXT:    ALU 35, @41, KC0[CB0:0-32], KC1[]5644; EG-NEXT:     MOV * T0.W, KC0[2].Z,5645; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5646; EG-NEXT:     MOV T0.Y, OQAP,5647; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,5648; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)5649; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5650; EG-NEXT:     MOV T0.Z, OQAP,5651; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,5652; EG-NEXT:     MOV * T1.W, KC0[2].Y,5653; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)5654; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5655; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,5656; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5657; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)5658; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5659; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,5660; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5661; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)5662; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5663; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,5664; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5665; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)5666; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5667; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.x,5668; EG-NEXT:     MOV * T1.W, literal.y,5669; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)5670; EG-NEXT:     LDS_WRITE * T0.W, T1.W,5671; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,5672; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)5673; EG-NEXT:     LDS_WRITE * T0.W, T1.W,5674; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,5675; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)5676; EG-NEXT:     LDS_WRITE * T0.W, T1.W,5677; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,5678; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)5679; EG-NEXT:     LDS_WRITE * T0.W, T1.W,5680; EG-NEXT:    RETURN5681;5682; VI-DS128-LABEL: local_zextload_v4i16_to_v4i64:5683; VI-DS128:       ; %bb.0:5684; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245685; VI-DS128-NEXT:    s_mov_b32 m0, -15686; VI-DS128-NEXT:    v_mov_b32_e32 v1, 05687; VI-DS128-NEXT:    v_mov_b32_e32 v3, v15688; VI-DS128-NEXT:    v_mov_b32_e32 v5, v15689; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5690; VI-DS128-NEXT:    v_mov_b32_e32 v0, s15691; VI-DS128-NEXT:    ds_read_b64 v[7:8], v05692; VI-DS128-NEXT:    v_mov_b32_e32 v9, s05693; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5694; VI-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v75695; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v75696; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v85697; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v85698; VI-DS128-NEXT:    v_mov_b32_e32 v7, v15699; VI-DS128-NEXT:    ds_write_b128 v9, v[0:3] offset:165700; VI-DS128-NEXT:    ds_write_b128 v9, v[4:7]5701; VI-DS128-NEXT:    s_endpgm5702;5703; GFX9-DS128-LABEL: local_zextload_v4i16_to_v4i64:5704; GFX9-DS128:       ; %bb.0:5705; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245706; GFX9-DS128-NEXT:    s_mov_b32 s2, 0xffff5707; GFX9-DS128-NEXT:    v_mov_b32_e32 v1, 05708; GFX9-DS128-NEXT:    v_mov_b32_e32 v3, v15709; GFX9-DS128-NEXT:    v_mov_b32_e32 v5, v15710; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5711; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s15712; GFX9-DS128-NEXT:    ds_read_b64 v[6:7], v05713; GFX9-DS128-NEXT:    v_mov_b32_e32 v8, s05714; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5715; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v65716; GFX9-DS128-NEXT:    v_and_b32_sdwa v6, s2, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15717; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v75718; GFX9-DS128-NEXT:    v_and_b32_sdwa v2, s2, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15719; GFX9-DS128-NEXT:    v_mov_b32_e32 v7, v15720; GFX9-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:165721; GFX9-DS128-NEXT:    ds_write_b128 v8, v[4:7]5722; GFX9-DS128-NEXT:    s_endpgm5723  %load = load <4 x i16>, ptr addrspace(3) %in5724  %ext = zext <4 x i16> %load to <4 x i64>5725  store <4 x i64> %ext, ptr addrspace(3) %out5726  ret void5727}5728 5729define amdgpu_kernel void @local_sextload_v4i16_to_v4i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5730; SI-LABEL: local_sextload_v4i16_to_v4i64:5731; SI:       ; %bb.0:5732; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95733; SI-NEXT:    s_waitcnt lgkmcnt(0)5734; SI-NEXT:    v_mov_b32_e32 v0, s15735; SI-NEXT:    s_mov_b32 m0, -15736; SI-NEXT:    ds_read_b64 v[0:1], v05737; SI-NEXT:    v_mov_b32_e32 v8, s05738; SI-NEXT:    s_waitcnt lgkmcnt(0)5739; SI-NEXT:    v_lshrrev_b32_e32 v5, 16, v05740; SI-NEXT:    v_ashrrev_i32_e32 v3, 31, v15741; SI-NEXT:    v_ashrrev_i32_e32 v2, 16, v15742; SI-NEXT:    v_bfe_i32 v4, v1, 0, 165743; SI-NEXT:    v_bfe_i32 v0, v0, 0, 165744; SI-NEXT:    v_bfe_i32 v6, v5, 0, 165745; SI-NEXT:    v_ashrrev_i32_e32 v5, 31, v45746; SI-NEXT:    v_ashrrev_i32_e32 v1, 31, v05747; SI-NEXT:    v_ashrrev_i32_e32 v7, 31, v65748; SI-NEXT:    ds_write2_b64 v8, v[4:5], v[2:3] offset0:2 offset1:35749; SI-NEXT:    ds_write2_b64 v8, v[0:1], v[6:7] offset1:15750; SI-NEXT:    s_endpgm5751;5752; VI-NO-DS128-LABEL: local_sextload_v4i16_to_v4i64:5753; VI-NO-DS128:       ; %bb.0:5754; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245755; VI-NO-DS128-NEXT:    s_mov_b32 m0, -15756; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5757; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15758; VI-NO-DS128-NEXT:    ds_read_b64 v[0:1], v05759; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5760; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v15761; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v05762; VI-NO-DS128-NEXT:    v_bfe_i32 v1, v1, 0, 165763; VI-NO-DS128-NEXT:    v_bfe_i32 v7, v4, 0, 165764; VI-NO-DS128-NEXT:    v_bfe_i32 v3, v0, 0, 165765; VI-NO-DS128-NEXT:    v_bfe_i32 v5, v2, 0, 165766; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v2, 31, v15767; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v8, 31, v75768; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s05769; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v4, 31, v35770; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v6, 31, v55771; VI-NO-DS128-NEXT:    ds_write2_b64 v0, v[1:2], v[7:8] offset0:2 offset1:35772; VI-NO-DS128-NEXT:    ds_write2_b64 v0, v[3:4], v[5:6] offset1:15773; VI-NO-DS128-NEXT:    s_endpgm5774;5775; GFX9-NO-DS128-LABEL: local_sextload_v4i16_to_v4i64:5776; GFX9-NO-DS128:       ; %bb.0:5777; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245778; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5779; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15780; GFX9-NO-DS128-NEXT:    ds_read_b64 v[0:1], v05781; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v9, s05782; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5783; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v15784; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v05785; GFX9-NO-DS128-NEXT:    v_bfe_i32 v1, v1, 0, 165786; GFX9-NO-DS128-NEXT:    v_bfe_i32 v7, v4, 0, 165787; GFX9-NO-DS128-NEXT:    v_bfe_i32 v3, v0, 0, 165788; GFX9-NO-DS128-NEXT:    v_bfe_i32 v5, v2, 0, 165789; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v2, 31, v15790; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v8, 31, v75791; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v4, 31, v35792; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v6, 31, v55793; GFX9-NO-DS128-NEXT:    ds_write2_b64 v9, v[1:2], v[7:8] offset0:2 offset1:35794; GFX9-NO-DS128-NEXT:    ds_write2_b64 v9, v[3:4], v[5:6] offset1:15795; GFX9-NO-DS128-NEXT:    s_endpgm5796;5797; EG-LABEL: local_sextload_v4i16_to_v4i64:5798; EG:       ; %bb.0:5799; EG-NEXT:    ALU 39, @42, KC0[CB0:0-32], KC1[]5800; EG-NEXT:     MOV * T0.W, KC0[2].Z,5801; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5802; EG-NEXT:     MOV T0.Y, OQAP,5803; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,5804; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)5805; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5806; EG-NEXT:     MOV T0.Z, OQAP,5807; EG-NEXT:     BFE_INT * T0.W, T0.Y, 0.0, literal.x,5808; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)5809; EG-NEXT:     BFE_INT T1.Z, PV.Z, 0.0, literal.x,5810; EG-NEXT:     ASHR T1.W, PV.W, literal.y,5811; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.z,5812; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)5813; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)5814; EG-NEXT:     LDS_WRITE * T2.W, T1.W,5815; EG-NEXT:     ASHR T1.W, T1.Z, literal.x,5816; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,5817; EG-NEXT:    31(4.344025e-44), 20(2.802597e-44)5818; EG-NEXT:     LDS_WRITE * T2.W, T1.W,5819; EG-NEXT:     MOV * T1.W, KC0[2].Y,5820; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5821; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,5822; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5823; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)5824; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5825; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,5826; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5827; EG-NEXT:    31(4.344025e-44), 12(1.681558e-44)5828; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5829; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,5830; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)5831; EG-NEXT:     LDS_WRITE * T0.W, T1.Z,5832; EG-NEXT:     ASHR T0.W, T0.Z, literal.x,5833; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5834; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)5835; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5836; EG-NEXT:     ASHR T0.W, T0.Z, literal.x,5837; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,5838; EG-NEXT:    31(4.344025e-44), 28(3.923636e-44)5839; EG-NEXT:     LDS_WRITE * T1.W, T0.W,5840; EG-NEXT:    RETURN5841;5842; VI-DS128-LABEL: local_sextload_v4i16_to_v4i64:5843; VI-DS128:       ; %bb.0:5844; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245845; VI-DS128-NEXT:    s_mov_b32 m0, -15846; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5847; VI-DS128-NEXT:    v_mov_b32_e32 v0, s15848; VI-DS128-NEXT:    ds_read_b64 v[1:2], v05849; VI-DS128-NEXT:    v_mov_b32_e32 v8, s05850; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)5851; VI-DS128-NEXT:    v_bfe_i32 v0, v2, 0, 165852; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v25853; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v15854; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 165855; VI-DS128-NEXT:    v_bfe_i32 v4, v1, 0, 165856; VI-DS128-NEXT:    v_bfe_i32 v6, v3, 0, 165857; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v05858; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v25859; VI-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v45860; VI-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v65861; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:165862; VI-DS128-NEXT:    ds_write_b128 v8, v[4:7]5863; VI-DS128-NEXT:    s_endpgm5864;5865; GFX9-DS128-LABEL: local_sextload_v4i16_to_v4i64:5866; GFX9-DS128:       ; %bb.0:5867; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245868; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5869; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s15870; GFX9-DS128-NEXT:    ds_read_b64 v[1:2], v05871; GFX9-DS128-NEXT:    v_mov_b32_e32 v8, s05872; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)5873; GFX9-DS128-NEXT:    v_bfe_i32 v0, v2, 0, 165874; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v25875; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v15876; GFX9-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 165877; GFX9-DS128-NEXT:    v_bfe_i32 v4, v1, 0, 165878; GFX9-DS128-NEXT:    v_bfe_i32 v6, v3, 0, 165879; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v05880; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v25881; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v45882; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v65883; GFX9-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:165884; GFX9-DS128-NEXT:    ds_write_b128 v8, v[4:7]5885; GFX9-DS128-NEXT:    s_endpgm5886  %load = load <4 x i16>, ptr addrspace(3) %in5887  %ext = sext <4 x i16> %load to <4 x i64>5888  store <4 x i64> %ext, ptr addrspace(3) %out5889  ret void5890}5891 5892define amdgpu_kernel void @local_zextload_v8i16_to_v8i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {5893; SI-LABEL: local_zextload_v8i16_to_v8i64:5894; SI:       ; %bb.0:5895; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x95896; SI-NEXT:    s_waitcnt lgkmcnt(0)5897; SI-NEXT:    v_mov_b32_e32 v0, s15898; SI-NEXT:    s_mov_b32 m0, -15899; SI-NEXT:    ds_read2_b64 v[0:3], v0 offset1:15900; SI-NEXT:    v_mov_b32_e32 v5, 05901; SI-NEXT:    v_mov_b32_e32 v7, v55902; SI-NEXT:    v_mov_b32_e32 v9, v55903; SI-NEXT:    v_mov_b32_e32 v11, v55904; SI-NEXT:    v_mov_b32_e32 v13, v55905; SI-NEXT:    v_mov_b32_e32 v15, v55906; SI-NEXT:    v_mov_b32_e32 v17, v55907; SI-NEXT:    v_mov_b32_e32 v19, v55908; SI-NEXT:    s_waitcnt lgkmcnt(0)5909; SI-NEXT:    v_lshrrev_b32_e32 v4, 16, v15910; SI-NEXT:    v_lshrrev_b32_e32 v6, 16, v35911; SI-NEXT:    v_lshrrev_b32_e32 v16, 16, v25912; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v05913; SI-NEXT:    v_and_b32_e32 v14, 0xffff, v05914; SI-NEXT:    v_and_b32_e32 v12, 0xffff, v15915; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v25916; SI-NEXT:    v_and_b32_e32 v8, 0xffff, v35917; SI-NEXT:    v_mov_b32_e32 v0, s05918; SI-NEXT:    ds_write2_b64 v0, v[8:9], v[6:7] offset0:6 offset1:75919; SI-NEXT:    ds_write2_b64 v0, v[12:13], v[4:5] offset0:2 offset1:35920; SI-NEXT:    ds_write2_b64 v0, v[10:11], v[16:17] offset0:4 offset1:55921; SI-NEXT:    ds_write2_b64 v0, v[14:15], v[18:19] offset1:15922; SI-NEXT:    s_endpgm5923;5924; VI-NO-DS128-LABEL: local_zextload_v8i16_to_v8i64:5925; VI-NO-DS128:       ; %bb.0:5926; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245927; VI-NO-DS128-NEXT:    s_mov_b32 m0, -15928; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5929; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15930; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:15931; VI-NO-DS128-NEXT:    v_mov_b32_e32 v11, s05932; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5933; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v35934; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v8, 16, v35935; VI-NO-DS128-NEXT:    v_mov_b32_e32 v3, 05936; VI-NO-DS128-NEXT:    v_and_b32_e32 v9, 0xffff, v25937; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v25938; VI-NO-DS128-NEXT:    v_mov_b32_e32 v10, v35939; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[9:10], v[2:3] offset0:4 offset1:55940; VI-NO-DS128-NEXT:    v_mov_b32_e32 v9, v35941; VI-NO-DS128-NEXT:    v_mov_b32_e32 v7, v35942; VI-NO-DS128-NEXT:    v_and_b32_e32 v5, 0xffff, v15943; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v15944; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[6:7], v[8:9] offset0:6 offset1:75945; VI-NO-DS128-NEXT:    v_mov_b32_e32 v2, v35946; VI-NO-DS128-NEXT:    v_mov_b32_e32 v6, v35947; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v05948; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v05949; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[5:6], v[1:2] offset0:2 offset1:35950; VI-NO-DS128-NEXT:    v_mov_b32_e32 v1, v35951; VI-NO-DS128-NEXT:    v_mov_b32_e32 v5, v35952; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[4:5], v[0:1] offset1:15953; VI-NO-DS128-NEXT:    s_endpgm5954;5955; GFX9-NO-DS128-LABEL: local_zextload_v8i16_to_v8i64:5956; GFX9-NO-DS128:       ; %bb.0:5957; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x245958; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v12, 05959; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v8, v125960; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v10, v125961; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5962; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s15963; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:15964; GFX9-NO-DS128-NEXT:    s_mov_b32 s1, 0xffff5965; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v13, s05966; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)5967; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v7, s1, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15968; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v11, 0xffff, v35969; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v6, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15970; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v25971; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v3, v125972; GFX9-NO-DS128-NEXT:    ds_write2_b64 v13, v[11:12], v[7:8] offset0:6 offset1:75973; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v7, v125974; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v5, s1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15975; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v9, 0xffff, v15976; GFX9-NO-DS128-NEXT:    ds_write2_b64 v13, v[2:3], v[6:7] offset0:4 offset1:55977; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v6, v125978; GFX9-NO-DS128-NEXT:    v_and_b32_sdwa v4, s1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_15979; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v05980; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v1, v125981; GFX9-NO-DS128-NEXT:    ds_write2_b64 v13, v[9:10], v[5:6] offset0:2 offset1:35982; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v5, v125983; GFX9-NO-DS128-NEXT:    ds_write2_b64 v13, v[0:1], v[4:5] offset1:15984; GFX9-NO-DS128-NEXT:    s_endpgm5985;5986; EG-LABEL: local_zextload_v8i16_to_v8i64:5987; EG:       ; %bb.0:5988; EG-NEXT:    ALU 71, @43, KC0[CB0:0-32], KC1[]5989; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,5990; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)5991; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5992; EG-NEXT:     MOV T0.Y, OQAP,5993; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,5994; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)5995; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5996; EG-NEXT:     MOV T0.Z, OQAP,5997; EG-NEXT:     MOV * T0.W, KC0[2].Z,5998; EG-NEXT:     LDS_READ_RET * OQAP, T0.W5999; EG-NEXT:     MOV T0.W, OQAP,6000; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,6001; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)6002; EG-NEXT:     LDS_READ_RET * OQAP, T1.W6003; EG-NEXT:     MOV T1.Y, OQAP,6004; EG-NEXT:     AND_INT T1.W, T0.W, literal.x,6005; EG-NEXT:     MOV * T2.W, KC0[2].Y,6006; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)6007; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6008; EG-NEXT:     LSHR T0.W, T0.W, literal.x,6009; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6010; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)6011; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6012; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,6013; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6014; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)6015; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6016; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,6017; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6018; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6019; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6020; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,6021; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6022; EG-NEXT:    65535(9.183409e-41), 32(4.484155e-44)6023; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6024; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,6025; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6026; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)6027; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6028; EG-NEXT:     AND_INT T0.W, T1.Y, literal.x,6029; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6030; EG-NEXT:    65535(9.183409e-41), 48(6.726233e-44)6031; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6032; EG-NEXT:     LSHR T0.W, T1.Y, literal.x,6033; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6034; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)6035; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6036; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.x,6037; EG-NEXT:     MOV * T1.W, literal.y,6038; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)6039; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6040; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6041; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)6042; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6043; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6044; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)6045; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6046; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6047; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)6048; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6049; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6050; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)6051; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6052; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6053; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)6054; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6055; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6056; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)6057; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6058; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6059; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)6060; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6061; EG-NEXT:    RETURN6062;6063; VI-DS128-LABEL: local_zextload_v8i16_to_v8i64:6064; VI-DS128:       ; %bb.0:6065; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246066; VI-DS128-NEXT:    s_mov_b32 m0, -16067; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)6068; VI-DS128-NEXT:    v_mov_b32_e32 v0, s16069; VI-DS128-NEXT:    ds_read_b128 v[0:3], v06070; VI-DS128-NEXT:    v_mov_b32_e32 v14, s06071; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)6072; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v16073; VI-DS128-NEXT:    v_and_b32_e32 v7, 0xffff, v16074; VI-DS128-NEXT:    v_mov_b32_e32 v1, 06075; VI-DS128-NEXT:    v_lshrrev_b32_e32 v12, 16, v26076; VI-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v26077; VI-DS128-NEXT:    v_mov_b32_e32 v11, v16078; VI-DS128-NEXT:    v_mov_b32_e32 v13, v16079; VI-DS128-NEXT:    ds_write_b128 v14, v[10:13] offset:326080; VI-DS128-NEXT:    v_mov_b32_e32 v8, v16081; VI-DS128-NEXT:    v_mov_b32_e32 v10, v16082; VI-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v06083; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v06084; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v36085; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v36086; VI-DS128-NEXT:    v_mov_b32_e32 v3, v16087; VI-DS128-NEXT:    ds_write_b128 v14, v[7:10] offset:166088; VI-DS128-NEXT:    v_mov_b32_e32 v5, v16089; VI-DS128-NEXT:    v_mov_b32_e32 v7, v16090; VI-DS128-NEXT:    ds_write_b128 v14, v[0:3] offset:486091; VI-DS128-NEXT:    ds_write_b128 v14, v[4:7]6092; VI-DS128-NEXT:    s_endpgm6093;6094; GFX9-DS128-LABEL: local_zextload_v8i16_to_v8i64:6095; GFX9-DS128:       ; %bb.0:6096; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246097; GFX9-DS128-NEXT:    v_mov_b32_e32 v11, 06098; GFX9-DS128-NEXT:    v_mov_b32_e32 v13, v116099; GFX9-DS128-NEXT:    v_mov_b32_e32 v8, v116100; GFX9-DS128-NEXT:    v_mov_b32_e32 v5, v116101; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)6102; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s16103; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v06104; GFX9-DS128-NEXT:    s_mov_b32 s1, 0xffff6105; GFX9-DS128-NEXT:    v_mov_b32_e32 v14, s06106; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)6107; GFX9-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v36108; GFX9-DS128-NEXT:    v_and_b32_sdwa v12, s1, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16109; GFX9-DS128-NEXT:    v_and_b32_e32 v7, 0xffff, v16110; GFX9-DS128-NEXT:    v_and_b32_sdwa v9, s1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16111; GFX9-DS128-NEXT:    ds_write_b128 v14, v[10:13] offset:486112; GFX9-DS128-NEXT:    v_mov_b32_e32 v10, v116113; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v06114; GFX9-DS128-NEXT:    v_and_b32_sdwa v6, s1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16115; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v26116; GFX9-DS128-NEXT:    v_and_b32_sdwa v2, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_16117; GFX9-DS128-NEXT:    v_mov_b32_e32 v1, v116118; GFX9-DS128-NEXT:    v_mov_b32_e32 v3, v116119; GFX9-DS128-NEXT:    ds_write_b128 v14, v[7:10] offset:166120; GFX9-DS128-NEXT:    v_mov_b32_e32 v7, v116121; GFX9-DS128-NEXT:    ds_write_b128 v14, v[0:3] offset:326122; GFX9-DS128-NEXT:    ds_write_b128 v14, v[4:7]6123; GFX9-DS128-NEXT:    s_endpgm6124  %load = load <8 x i16>, ptr addrspace(3) %in6125  %ext = zext <8 x i16> %load to <8 x i64>6126  store <8 x i64> %ext, ptr addrspace(3) %out6127  ret void6128}6129 6130define amdgpu_kernel void @local_sextload_v8i16_to_v8i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {6131; SI-LABEL: local_sextload_v8i16_to_v8i64:6132; SI:       ; %bb.0:6133; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x96134; SI-NEXT:    s_waitcnt lgkmcnt(0)6135; SI-NEXT:    v_mov_b32_e32 v0, s16136; SI-NEXT:    s_mov_b32 m0, -16137; SI-NEXT:    ds_read2_b64 v[0:3], v0 offset1:16138; SI-NEXT:    v_mov_b32_e32 v16, s06139; SI-NEXT:    s_waitcnt lgkmcnt(0)6140; SI-NEXT:    v_lshrrev_b32_e32 v11, 16, v26141; SI-NEXT:    v_lshrrev_b32_e32 v9, 16, v06142; SI-NEXT:    v_ashrrev_i32_e32 v5, 31, v16143; SI-NEXT:    v_ashrrev_i32_e32 v4, 16, v16144; SI-NEXT:    v_ashrrev_i32_e32 v7, 31, v36145; SI-NEXT:    v_ashrrev_i32_e32 v6, 16, v36146; SI-NEXT:    v_bfe_i32 v0, v0, 0, 166147; SI-NEXT:    v_bfe_i32 v8, v1, 0, 166148; SI-NEXT:    v_bfe_i32 v2, v2, 0, 166149; SI-NEXT:    v_bfe_i32 v10, v3, 0, 166150; SI-NEXT:    v_ashrrev_i32_e32 v1, 31, v06151; SI-NEXT:    v_bfe_i32 v12, v9, 0, 166152; SI-NEXT:    v_ashrrev_i32_e32 v9, 31, v86153; SI-NEXT:    v_ashrrev_i32_e32 v3, 31, v26154; SI-NEXT:    v_bfe_i32 v14, v11, 0, 166155; SI-NEXT:    v_ashrrev_i32_e32 v11, 31, v106156; SI-NEXT:    v_ashrrev_i32_e32 v13, 31, v126157; SI-NEXT:    v_ashrrev_i32_e32 v15, 31, v146158; SI-NEXT:    ds_write2_b64 v16, v[10:11], v[6:7] offset0:6 offset1:76159; SI-NEXT:    ds_write2_b64 v16, v[8:9], v[4:5] offset0:2 offset1:36160; SI-NEXT:    ds_write2_b64 v16, v[2:3], v[14:15] offset0:4 offset1:56161; SI-NEXT:    ds_write2_b64 v16, v[0:1], v[12:13] offset1:16162; SI-NEXT:    s_endpgm6163;6164; VI-NO-DS128-LABEL: local_sextload_v8i16_to_v8i64:6165; VI-NO-DS128:       ; %bb.0:6166; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246167; VI-NO-DS128-NEXT:    s_mov_b32 m0, -16168; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6169; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s16170; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:16171; VI-NO-DS128-NEXT:    v_mov_b32_e32 v16, s06172; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6173; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v10, 16, v36174; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v06175; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v16176; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v26177; VI-NO-DS128-NEXT:    v_bfe_i32 v10, v10, 0, 166178; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v2, 0, 166179; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v3, 0, 166180; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v4, 0, 166181; VI-NO-DS128-NEXT:    v_bfe_i32 v6, v5, 0, 166182; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v7, 0, 166183; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v106184; VI-NO-DS128-NEXT:    v_bfe_i32 v12, v0, 0, 166185; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 166186; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v26187; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46188; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66189; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v86190; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v126191; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v06192; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146193; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[2:3], v[10:11] offset0:6 offset1:76194; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[14:15], v[8:9] offset0:4 offset1:56195; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[0:1], v[6:7] offset0:2 offset1:36196; VI-NO-DS128-NEXT:    ds_write2_b64 v16, v[12:13], v[4:5] offset1:16197; VI-NO-DS128-NEXT:    s_endpgm6198;6199; GFX9-NO-DS128-LABEL: local_sextload_v8i16_to_v8i64:6200; GFX9-NO-DS128:       ; %bb.0:6201; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246202; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6203; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s16204; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:16205; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v16, s06206; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6207; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v36208; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v06209; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v16210; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v26211; GFX9-NO-DS128-NEXT:    v_bfe_i32 v10, v9, 0, 166212; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v2, 0, 166213; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v3, 0, 166214; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v4, 0, 166215; GFX9-NO-DS128-NEXT:    v_bfe_i32 v6, v5, 0, 166216; GFX9-NO-DS128-NEXT:    v_bfe_i32 v8, v7, 0, 166217; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v106218; GFX9-NO-DS128-NEXT:    v_bfe_i32 v12, v0, 0, 166219; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 166220; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v26221; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46222; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66223; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v86224; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v126225; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v06226; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146227; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[2:3], v[10:11] offset0:6 offset1:76228; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[14:15], v[8:9] offset0:4 offset1:56229; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[0:1], v[6:7] offset0:2 offset1:36230; GFX9-NO-DS128-NEXT:    ds_write2_b64 v16, v[12:13], v[4:5] offset1:16231; GFX9-NO-DS128-NEXT:    s_endpgm6232;6233; EG-LABEL: local_sextload_v8i16_to_v8i64:6234; EG:       ; %bb.0:6235; EG-NEXT:    ALU 80, @44, KC0[CB0:0-32], KC1[]6236; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6237; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6238; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6239; EG-NEXT:     MOV T0.Y, OQAP,6240; EG-NEXT:     MOV * T0.W, KC0[2].Z,6241; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6242; EG-NEXT:     MOV T0.Z, OQAP,6243; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6244; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)6245; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6246; EG-NEXT:     MOV * T0.W, OQAP,6247; EG-NEXT:     BFE_INT T1.W, T0.Z, 0.0, literal.x,6248; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.y,6249; EG-NEXT:    16(2.242078e-44), 12(1.681558e-44)6250; EG-NEXT:     LDS_READ_RET * OQAP, T2.W6251; EG-NEXT:     MOV T1.Y, OQAP,6252; EG-NEXT:     BFE_INT T1.Z, T0.W, 0.0, literal.x,6253; EG-NEXT:     ASHR T2.W, T1.W, literal.y, BS:VEC_120/SCL_2126254; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.z,6255; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)6256; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)6257; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6258; EG-NEXT:     BFE_INT T2.Z, T0.Y, 0.0, literal.x,6259; EG-NEXT:     ASHR T2.W, T1.Z, literal.y,6260; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.z,6261; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)6262; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)6263; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6264; EG-NEXT:     BFE_INT T3.Z, T1.Y, 0.0, literal.x,6265; EG-NEXT:     ASHR T2.W, T2.Z, literal.y,6266; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.z,6267; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)6268; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)6269; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6270; EG-NEXT:     ASHR T2.W, T3.Z, literal.x,6271; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,6272; EG-NEXT:    31(4.344025e-44), 52(7.286752e-44)6273; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6274; EG-NEXT:     MOV * T2.W, KC0[2].Y,6275; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6276; EG-NEXT:     ASHR T1.W, T0.Z, literal.x,6277; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6278; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)6279; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6280; EG-NEXT:     ASHR T1.W, T0.Z, literal.x,6281; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6282; EG-NEXT:    31(4.344025e-44), 12(1.681558e-44)6283; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6284; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,6285; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)6286; EG-NEXT:     LDS_WRITE * T1.W, T1.Z,6287; EG-NEXT:     ASHR T1.W, T0.W, literal.x,6288; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6289; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6290; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6291; EG-NEXT:     ASHR T0.W, T0.W, literal.x,6292; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6293; EG-NEXT:    31(4.344025e-44), 28(3.923636e-44)6294; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6295; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6296; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)6297; EG-NEXT:     LDS_WRITE * T0.W, T2.Z,6298; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,6299; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6300; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)6301; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6302; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,6303; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6304; EG-NEXT:    31(4.344025e-44), 44(6.165713e-44)6305; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6306; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6307; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)6308; EG-NEXT:     LDS_WRITE * T0.W, T3.Z,6309; EG-NEXT:     ASHR T0.W, T1.Y, literal.x,6310; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6311; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)6312; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6313; EG-NEXT:     ASHR T0.W, T1.Y, literal.x,6314; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6315; EG-NEXT:    31(4.344025e-44), 60(8.407791e-44)6316; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6317; EG-NEXT:    RETURN6318;6319; VI-DS128-LABEL: local_sextload_v8i16_to_v8i64:6320; VI-DS128:       ; %bb.0:6321; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246322; VI-DS128-NEXT:    s_mov_b32 m0, -16323; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)6324; VI-DS128-NEXT:    v_mov_b32_e32 v0, s16325; VI-DS128-NEXT:    ds_read_b128 v[0:3], v06326; VI-DS128-NEXT:    v_mov_b32_e32 v16, s06327; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)6328; VI-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 166329; VI-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v06330; VI-DS128-NEXT:    v_bfe_i32 v6, v0, 0, 166331; VI-DS128-NEXT:    v_bfe_i32 v12, v2, 0, 166332; VI-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v26333; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v36334; VI-DS128-NEXT:    v_bfe_i32 v8, v1, 0, 166335; VI-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v16336; VI-DS128-NEXT:    v_bfe_i32 v14, v0, 0, 166337; VI-DS128-NEXT:    v_bfe_i32 v0, v3, 0, 166338; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 166339; VI-DS128-NEXT:    v_bfe_i32 v10, v1, 0, 166340; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v06341; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v26342; VI-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46343; VI-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v86344; VI-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66345; VI-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v106346; VI-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v126347; VI-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146348; VI-DS128-NEXT:    ds_write_b128 v16, v[0:3] offset:486349; VI-DS128-NEXT:    ds_write_b128 v16, v[12:15] offset:326350; VI-DS128-NEXT:    ds_write_b128 v16, v[8:11] offset:166351; VI-DS128-NEXT:    ds_write_b128 v16, v[4:7]6352; VI-DS128-NEXT:    s_endpgm6353;6354; GFX9-DS128-LABEL: local_sextload_v8i16_to_v8i64:6355; GFX9-DS128:       ; %bb.0:6356; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246357; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)6358; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s16359; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v06360; GFX9-DS128-NEXT:    v_mov_b32_e32 v16, s06361; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)6362; GFX9-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 166363; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v06364; GFX9-DS128-NEXT:    v_bfe_i32 v12, v2, 0, 166365; GFX9-DS128-NEXT:    v_bfe_i32 v6, v0, 0, 166366; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v26367; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v36368; GFX9-DS128-NEXT:    v_bfe_i32 v8, v1, 0, 166369; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v16370; GFX9-DS128-NEXT:    v_bfe_i32 v14, v0, 0, 166371; GFX9-DS128-NEXT:    v_bfe_i32 v0, v3, 0, 166372; GFX9-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 166373; GFX9-DS128-NEXT:    v_bfe_i32 v10, v1, 0, 166374; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v06375; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v26376; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46377; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v86378; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66379; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v106380; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v126381; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146382; GFX9-DS128-NEXT:    ds_write_b128 v16, v[0:3] offset:486383; GFX9-DS128-NEXT:    ds_write_b128 v16, v[12:15] offset:326384; GFX9-DS128-NEXT:    ds_write_b128 v16, v[8:11] offset:166385; GFX9-DS128-NEXT:    ds_write_b128 v16, v[4:7]6386; GFX9-DS128-NEXT:    s_endpgm6387  %load = load <8 x i16>, ptr addrspace(3) %in6388  %ext = sext <8 x i16> %load to <8 x i64>6389  store <8 x i64> %ext, ptr addrspace(3) %out6390  ret void6391}6392 6393define amdgpu_kernel void @local_zextload_v16i16_to_v16i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {6394; SI-LABEL: local_zextload_v16i16_to_v16i64:6395; SI:       ; %bb.0:6396; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x96397; SI-NEXT:    s_waitcnt lgkmcnt(0)6398; SI-NEXT:    v_mov_b32_e32 v4, s16399; SI-NEXT:    s_mov_b32 m0, -16400; SI-NEXT:    ds_read2_b64 v[0:3], v4 offset0:2 offset1:36401; SI-NEXT:    v_mov_b32_e32 v9, 06402; SI-NEXT:    ds_read2_b64 v[4:7], v4 offset1:16403; SI-NEXT:    v_mov_b32_e32 v11, v96404; SI-NEXT:    v_mov_b32_e32 v13, v96405; SI-NEXT:    v_mov_b32_e32 v15, v96406; SI-NEXT:    v_mov_b32_e32 v17, v96407; SI-NEXT:    v_mov_b32_e32 v20, s06408; SI-NEXT:    s_waitcnt lgkmcnt(1)6409; SI-NEXT:    v_lshrrev_b32_e32 v14, 16, v16410; SI-NEXT:    v_and_b32_e32 v16, 0xffff, v16411; SI-NEXT:    ds_write2_b64 v20, v[16:17], v[14:15] offset0:10 offset1:116412; SI-NEXT:    v_mov_b32_e32 v16, v96413; SI-NEXT:    s_waitcnt lgkmcnt(1)6414; SI-NEXT:    v_lshrrev_b32_e32 v8, 16, v56415; SI-NEXT:    v_lshrrev_b32_e32 v10, 16, v76416; SI-NEXT:    v_lshrrev_b32_e32 v12, 16, v36417; SI-NEXT:    v_and_b32_e32 v14, 0xffff, v36418; SI-NEXT:    ds_write2_b64 v20, v[14:15], v[12:13] offset0:14 offset1:156419; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v66420; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v46421; SI-NEXT:    v_and_b32_e32 v15, 0xffff, v76422; SI-NEXT:    ds_write2_b64 v20, v[15:16], v[10:11] offset0:6 offset1:76423; SI-NEXT:    v_and_b32_e32 v7, 0xffff, v46424; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v56425; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v66426; SI-NEXT:    v_lshrrev_b32_e32 v12, 16, v06427; SI-NEXT:    v_lshrrev_b32_e32 v14, 16, v26428; SI-NEXT:    v_and_b32_e32 v16, 0xffff, v26429; SI-NEXT:    v_and_b32_e32 v18, 0xffff, v06430; SI-NEXT:    v_mov_b32_e32 v5, v96431; SI-NEXT:    ds_write2_b64 v20, v[4:5], v[8:9] offset0:2 offset1:36432; SI-NEXT:    v_mov_b32_e32 v19, v96433; SI-NEXT:    v_mov_b32_e32 v8, v96434; SI-NEXT:    v_mov_b32_e32 v15, v96435; SI-NEXT:    v_mov_b32_e32 v2, v96436; SI-NEXT:    v_mov_b32_e32 v4, v96437; SI-NEXT:    ds_write2_b64 v20, v[18:19], v[12:13] offset0:8 offset1:96438; SI-NEXT:    ds_write2_b64 v20, v[16:17], v[14:15] offset0:12 offset1:136439; SI-NEXT:    ds_write2_b64 v20, v[10:11], v[1:2] offset0:4 offset1:56440; SI-NEXT:    ds_write2_b64 v20, v[7:8], v[3:4] offset1:16441; SI-NEXT:    s_endpgm6442;6443; VI-NO-DS128-LABEL: local_zextload_v16i16_to_v16i64:6444; VI-NO-DS128:       ; %bb.0:6445; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246446; VI-NO-DS128-NEXT:    s_mov_b32 m0, -16447; VI-NO-DS128-NEXT:    v_mov_b32_e32 v8, 06448; VI-NO-DS128-NEXT:    v_mov_b32_e32 v10, v86449; VI-NO-DS128-NEXT:    v_mov_b32_e32 v13, v86450; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6451; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s16452; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:16453; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:36454; VI-NO-DS128-NEXT:    v_mov_b32_e32 v14, s06455; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)6456; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v06457; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6458; VI-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v56459; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v56460; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[12:13], v[9:10] offset0:10 offset1:116461; VI-NO-DS128-NEXT:    v_and_b32_e32 v5, 0xffff, v66462; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v66463; VI-NO-DS128-NEXT:    v_mov_b32_e32 v6, v86464; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[5:6], v[9:10] offset0:12 offset1:136465; VI-NO-DS128-NEXT:    v_and_b32_e32 v5, 0xffff, v76466; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v76467; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[5:6], v[9:10] offset0:14 offset1:156468; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v36469; VI-NO-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v36470; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v46471; VI-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v46472; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, v86473; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v26474; VI-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v26475; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[12:13], v[7:8] offset0:8 offset1:96476; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[3:4], v[9:10] offset0:6 offset1:76477; VI-NO-DS128-NEXT:    v_mov_b32_e32 v3, v86478; VI-NO-DS128-NEXT:    v_mov_b32_e32 v7, v86479; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v16480; VI-NO-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v16481; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[2:3], v[6:7] offset0:4 offset1:56482; VI-NO-DS128-NEXT:    v_mov_b32_e32 v2, v86483; VI-NO-DS128-NEXT:    v_mov_b32_e32 v6, v86484; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v06485; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[1:2], v[5:6] offset0:2 offset1:36486; VI-NO-DS128-NEXT:    v_mov_b32_e32 v1, v86487; VI-NO-DS128-NEXT:    v_mov_b32_e32 v12, v86488; VI-NO-DS128-NEXT:    ds_write2_b64 v14, v[0:1], v[11:12] offset1:16489; VI-NO-DS128-NEXT:    s_endpgm6490;6491; GFX9-NO-DS128-LABEL: local_zextload_v16i16_to_v16i64:6492; GFX9-NO-DS128:       ; %bb.0:6493; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246494; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v8, 06495; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v10, v86496; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v12, v86497; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v14, v86498; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6499; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s16500; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:16501; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:36502; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v15, s06503; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)6504; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v06505; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6506; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v11, 0xffff, v56507; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v56508; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[11:12], v[9:10] offset0:10 offset1:116509; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v5, 0xffff, v66510; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v66511; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v6, v86512; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[5:6], v[9:10] offset0:12 offset1:136513; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v5, 0xffff, v76514; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v76515; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[5:6], v[9:10] offset0:14 offset1:156516; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v46517; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v46518; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v11, v86519; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v36520; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v3, 0xffff, v36521; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[10:11], v[7:8] offset0:8 offset1:96522; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, v86523; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v10, v86524; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v26525; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v2, 0xffff, v26526; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[3:4], v[9:10] offset0:6 offset1:76527; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v3, v86528; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v7, v86529; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v16530; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v16531; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[2:3], v[6:7] offset0:4 offset1:56532; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v2, v86533; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v6, v86534; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v06535; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[1:2], v[5:6] offset0:2 offset1:36536; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v1, v86537; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[0:1], v[13:14] offset1:16538; GFX9-NO-DS128-NEXT:    s_endpgm6539;6540; EG-LABEL: local_zextload_v16i16_to_v16i64:6541; EG:       ; %bb.0:6542; EG-NEXT:    ALU 100, @45, KC0[CB0:0-32], KC1[]6543; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6544; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)6545; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6546; EG-NEXT:     MOV T0.Y, OQAP,6547; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6548; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)6549; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6550; EG-NEXT:     MOV T0.Z, OQAP,6551; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6552; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)6553; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6554; EG-NEXT:     MOV T0.W, OQAP,6555; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,6556; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)6557; EG-NEXT:     LDS_READ_RET * OQAP, T1.W6558; EG-NEXT:     MOV T1.Y, OQAP,6559; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,6560; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)6561; EG-NEXT:     LDS_READ_RET * OQAP, T1.W6562; EG-NEXT:     MOV T1.Z, OQAP,6563; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,6564; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6565; EG-NEXT:     LDS_READ_RET * OQAP, T1.W6566; EG-NEXT:     MOV T1.W, OQAP,6567; EG-NEXT:     MOV * T2.W, KC0[2].Z,6568; EG-NEXT:     LDS_READ_RET * OQAP, T2.W6569; EG-NEXT:     MOV T2.Y, OQAP,6570; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,6571; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)6572; EG-NEXT:     LDS_READ_RET * OQAP, T2.W6573; EG-NEXT:     MOV T2.Z, OQAP,6574; EG-NEXT:     LSHR T2.W, T2.Y, literal.x,6575; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,6576; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)6577; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6578; EG-NEXT:     AND_INT T2.W, T2.Y, literal.x,6579; EG-NEXT:     MOV * T3.W, KC0[2].Y,6580; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)6581; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6582; EG-NEXT:     LSHR T2.W, T2.Z, literal.x,6583; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,6584; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)6585; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6586; EG-NEXT:     AND_INT T2.W, T2.Z, literal.x,6587; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,6588; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)6589; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6590; EG-NEXT:     LSHR T2.W, T1.W, literal.x,6591; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,6592; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)6593; EG-NEXT:     LDS_WRITE * T3.W, T2.W,6594; EG-NEXT:     AND_INT T1.W, T1.W, literal.x,6595; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6596; EG-NEXT:    65535(9.183409e-41), 32(4.484155e-44)6597; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6598; EG-NEXT:     LSHR T1.W, T1.Z, literal.x,6599; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6600; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)6601; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6602; EG-NEXT:     AND_INT T1.W, T1.Z, literal.x,6603; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6604; EG-NEXT:    65535(9.183409e-41), 48(6.726233e-44)6605; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6606; EG-NEXT:     LSHR T1.W, T1.Y, literal.x,6607; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6608; EG-NEXT:    16(2.242078e-44), 72(1.008935e-43)6609; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6610; EG-NEXT:     AND_INT T1.W, T1.Y, literal.x,6611; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6612; EG-NEXT:    65535(9.183409e-41), 64(8.968310e-44)6613; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6614; EG-NEXT:     LSHR T1.W, T0.W, literal.x,6615; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,6616; EG-NEXT:    16(2.242078e-44), 88(1.233143e-43)6617; EG-NEXT:     LDS_WRITE * T2.W, T1.W,6618; EG-NEXT:     AND_INT T0.W, T0.W, literal.x,6619; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6620; EG-NEXT:    65535(9.183409e-41), 80(1.121039e-43)6621; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6622; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,6623; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6624; EG-NEXT:    16(2.242078e-44), 104(1.457350e-43)6625; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6626; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,6627; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6628; EG-NEXT:    65535(9.183409e-41), 96(1.345247e-43)6629; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6630; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,6631; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6632; EG-NEXT:    16(2.242078e-44), 120(1.681558e-43)6633; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6634; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,6635; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,6636; EG-NEXT:    65535(9.183409e-41), 112(1.569454e-43)6637; EG-NEXT:     LDS_WRITE * T1.W, T0.W,6638; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.x,6639; EG-NEXT:     MOV * T1.W, literal.y,6640; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)6641; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6642; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6643; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)6644; EG-NEXT:    ALU 42, @46, KC0[CB0:0-32], KC1[]6645; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6646; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6647; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)6648; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6649; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6650; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)6651; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6652; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6653; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)6654; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6655; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6656; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)6657; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6658; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6659; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)6660; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6661; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6662; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)6663; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6664; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6665; EG-NEXT:    76(1.064987e-43), 0(0.000000e+00)6666; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6667; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6668; EG-NEXT:    68(9.528830e-44), 0(0.000000e+00)6669; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6670; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6671; EG-NEXT:    92(1.289195e-43), 0(0.000000e+00)6672; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6673; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6674; EG-NEXT:    84(1.177091e-43), 0(0.000000e+00)6675; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6676; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6677; EG-NEXT:    108(1.513402e-43), 0(0.000000e+00)6678; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6679; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6680; EG-NEXT:    100(1.401298e-43), 0(0.000000e+00)6681; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6682; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6683; EG-NEXT:    124(1.737610e-43), 0(0.000000e+00)6684; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6685; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,6686; EG-NEXT:    116(1.625506e-43), 0(0.000000e+00)6687; EG-NEXT:     LDS_WRITE * T0.W, T1.W,6688; EG-NEXT:    RETURN6689;6690; VI-DS128-LABEL: local_zextload_v16i16_to_v16i64:6691; VI-DS128:       ; %bb.0:6692; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246693; VI-DS128-NEXT:    s_mov_b32 m0, -16694; VI-DS128-NEXT:    v_mov_b32_e32 v26, 06695; VI-DS128-NEXT:    v_mov_b32_e32 v22, v266696; VI-DS128-NEXT:    v_mov_b32_e32 v24, v266697; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)6698; VI-DS128-NEXT:    v_mov_b32_e32 v5, s16699; VI-DS128-NEXT:    ds_read_b128 v[0:3], v56700; VI-DS128-NEXT:    ds_read_b128 v[13:16], v5 offset:166701; VI-DS128-NEXT:    v_mov_b32_e32 v11, v266702; VI-DS128-NEXT:    v_mov_b32_e32 v19, v266703; VI-DS128-NEXT:    v_mov_b32_e32 v8, v266704; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)6705; VI-DS128-NEXT:    v_lshrrev_b32_e32 v12, 16, v26706; VI-DS128-NEXT:    v_and_b32_e32 v10, 0xffff, v26707; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)6708; VI-DS128-NEXT:    v_lshrrev_b32_e32 v23, 16, v136709; VI-DS128-NEXT:    v_and_b32_e32 v21, 0xffff, v136710; VI-DS128-NEXT:    v_lshrrev_b32_e32 v27, 16, v146711; VI-DS128-NEXT:    v_and_b32_e32 v25, 0xffff, v146712; VI-DS128-NEXT:    v_mov_b32_e32 v14, s06713; VI-DS128-NEXT:    v_mov_b32_e32 v13, v266714; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v16715; VI-DS128-NEXT:    v_and_b32_e32 v7, 0xffff, v16716; VI-DS128-NEXT:    v_lshrrev_b32_e32 v20, 16, v166717; VI-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v166718; VI-DS128-NEXT:    ds_write_b128 v14, v[21:24] offset:646719; VI-DS128-NEXT:    v_mov_b32_e32 v21, v266720; VI-DS128-NEXT:    ds_write_b128 v14, v[10:13] offset:326721; VI-DS128-NEXT:    v_mov_b32_e32 v10, v266722; VI-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v06723; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v06724; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v36725; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v36726; VI-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v156727; VI-DS128-NEXT:    v_and_b32_e32 v15, 0xffff, v156728; VI-DS128-NEXT:    ds_write_b128 v14, v[18:21] offset:1126729; VI-DS128-NEXT:    v_mov_b32_e32 v16, v266730; VI-DS128-NEXT:    v_mov_b32_e32 v18, v266731; VI-DS128-NEXT:    v_mov_b32_e32 v1, v266732; VI-DS128-NEXT:    v_mov_b32_e32 v3, v266733; VI-DS128-NEXT:    v_mov_b32_e32 v28, v266734; VI-DS128-NEXT:    ds_write_b128 v14, v[7:10] offset:166735; VI-DS128-NEXT:    v_mov_b32_e32 v5, v266736; VI-DS128-NEXT:    v_mov_b32_e32 v7, v266737; VI-DS128-NEXT:    ds_write_b128 v14, v[15:18] offset:966738; VI-DS128-NEXT:    ds_write_b128 v14, v[0:3] offset:486739; VI-DS128-NEXT:    ds_write_b128 v14, v[25:28] offset:806740; VI-DS128-NEXT:    ds_write_b128 v14, v[4:7]6741; VI-DS128-NEXT:    s_endpgm6742;6743; GFX9-DS128-LABEL: local_zextload_v16i16_to_v16i64:6744; GFX9-DS128:       ; %bb.0:6745; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246746; GFX9-DS128-NEXT:    v_mov_b32_e32 v25, 06747; GFX9-DS128-NEXT:    v_mov_b32_e32 v21, v256748; GFX9-DS128-NEXT:    v_mov_b32_e32 v23, v256749; GFX9-DS128-NEXT:    v_mov_b32_e32 v18, v256750; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)6751; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s16752; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v46753; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v4 offset:166754; GFX9-DS128-NEXT:    v_mov_b32_e32 v28, s06755; GFX9-DS128-NEXT:    v_mov_b32_e32 v15, v256756; GFX9-DS128-NEXT:    v_mov_b32_e32 v12, v256757; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)6758; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v26759; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)6760; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v22, 16, v76761; GFX9-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v76762; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v66763; GFX9-DS128-NEXT:    v_and_b32_e32 v17, 0xffff, v66764; GFX9-DS128-NEXT:    ds_write_b128 v28, v[20:23] offset:1126765; GFX9-DS128-NEXT:    v_mov_b32_e32 v20, v256766; GFX9-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v26767; GFX9-DS128-NEXT:    ds_write_b128 v28, v[17:20] offset:966768; GFX9-DS128-NEXT:    v_mov_b32_e32 v17, v256769; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v16770; GFX9-DS128-NEXT:    v_and_b32_e32 v11, 0xffff, v16771; GFX9-DS128-NEXT:    ds_write_b128 v28, v[14:17] offset:326772; GFX9-DS128-NEXT:    v_mov_b32_e32 v14, v256773; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v10, 16, v06774; GFX9-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v06775; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v36776; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v36777; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v46778; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v46779; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v26, 16, v56780; GFX9-DS128-NEXT:    v_and_b32_e32 v24, 0xffff, v56781; GFX9-DS128-NEXT:    v_mov_b32_e32 v5, v256782; GFX9-DS128-NEXT:    v_mov_b32_e32 v7, v256783; GFX9-DS128-NEXT:    v_mov_b32_e32 v1, v256784; GFX9-DS128-NEXT:    v_mov_b32_e32 v3, v256785; GFX9-DS128-NEXT:    v_mov_b32_e32 v27, v256786; GFX9-DS128-NEXT:    ds_write_b128 v28, v[11:14] offset:166787; GFX9-DS128-NEXT:    v_mov_b32_e32 v9, v256788; GFX9-DS128-NEXT:    v_mov_b32_e32 v11, v256789; GFX9-DS128-NEXT:    ds_write_b128 v28, v[4:7] offset:646790; GFX9-DS128-NEXT:    ds_write_b128 v28, v[0:3] offset:486791; GFX9-DS128-NEXT:    ds_write_b128 v28, v[24:27] offset:806792; GFX9-DS128-NEXT:    ds_write_b128 v28, v[8:11]6793; GFX9-DS128-NEXT:    s_endpgm6794  %load = load <16 x i16>, ptr addrspace(3) %in6795  %ext = zext <16 x i16> %load to <16 x i64>6796  store <16 x i64> %ext, ptr addrspace(3) %out6797  ret void6798}6799 6800define amdgpu_kernel void @local_sextload_v16i16_to_v16i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {6801; SI-LABEL: local_sextload_v16i16_to_v16i64:6802; SI:       ; %bb.0:6803; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x96804; SI-NEXT:    s_waitcnt lgkmcnt(0)6805; SI-NEXT:    v_mov_b32_e32 v4, s16806; SI-NEXT:    s_mov_b32 m0, -16807; SI-NEXT:    ds_read2_b64 v[0:3], v4 offset0:2 offset1:36808; SI-NEXT:    ds_read2_b64 v[4:7], v4 offset1:16809; SI-NEXT:    v_mov_b32_e32 v18, s06810; SI-NEXT:    s_waitcnt lgkmcnt(1)6811; SI-NEXT:    v_lshrrev_b32_e32 v15, 16, v26812; SI-NEXT:    v_lshrrev_b32_e32 v16, 16, v06813; SI-NEXT:    s_waitcnt lgkmcnt(0)6814; SI-NEXT:    v_lshrrev_b32_e32 v14, 16, v66815; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v46816; SI-NEXT:    v_ashrrev_i32_e32 v9, 31, v56817; SI-NEXT:    v_ashrrev_i32_e32 v8, 16, v56818; SI-NEXT:    v_ashrrev_i32_e32 v11, 31, v36819; SI-NEXT:    v_ashrrev_i32_e32 v10, 16, v36820; SI-NEXT:    v_bfe_i32 v12, v3, 0, 166821; SI-NEXT:    v_ashrrev_i32_e32 v13, 31, v126822; SI-NEXT:    ds_write2_b64 v18, v[12:13], v[10:11] offset0:14 offset1:156823; SI-NEXT:    v_ashrrev_i32_e32 v11, 31, v16824; SI-NEXT:    v_ashrrev_i32_e32 v10, 16, v16825; SI-NEXT:    v_bfe_i32 v12, v1, 0, 166826; SI-NEXT:    v_ashrrev_i32_e32 v13, 31, v126827; SI-NEXT:    ds_write2_b64 v18, v[12:13], v[10:11] offset0:10 offset1:116828; SI-NEXT:    v_ashrrev_i32_e32 v11, 31, v76829; SI-NEXT:    v_ashrrev_i32_e32 v10, 16, v76830; SI-NEXT:    v_bfe_i32 v12, v7, 0, 166831; SI-NEXT:    v_ashrrev_i32_e32 v13, 31, v126832; SI-NEXT:    ds_write2_b64 v18, v[12:13], v[10:11] offset0:6 offset1:76833; SI-NEXT:    v_bfe_i32 v1, v4, 0, 166834; SI-NEXT:    v_bfe_i32 v3, v5, 0, 166835; SI-NEXT:    v_bfe_i32 v5, v6, 0, 166836; SI-NEXT:    v_bfe_i32 v10, v0, 0, 166837; SI-NEXT:    v_bfe_i32 v7, v2, 0, 166838; SI-NEXT:    v_bfe_i32 v12, v17, 0, 166839; SI-NEXT:    v_ashrrev_i32_e32 v2, 31, v16840; SI-NEXT:    v_ashrrev_i32_e32 v4, 31, v36841; SI-NEXT:    v_bfe_i32 v14, v14, 0, 166842; SI-NEXT:    v_ashrrev_i32_e32 v6, 31, v56843; SI-NEXT:    v_bfe_i32 v16, v16, 0, 166844; SI-NEXT:    v_ashrrev_i32_e32 v11, 31, v106845; SI-NEXT:    ds_write2_b64 v18, v[3:4], v[8:9] offset0:2 offset1:36846; SI-NEXT:    v_bfe_i32 v3, v15, 0, 166847; SI-NEXT:    v_ashrrev_i32_e32 v8, 31, v76848; SI-NEXT:    v_ashrrev_i32_e32 v13, 31, v126849; SI-NEXT:    v_ashrrev_i32_e32 v15, 31, v146850; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v166851; SI-NEXT:    v_ashrrev_i32_e32 v4, 31, v36852; SI-NEXT:    ds_write2_b64 v18, v[7:8], v[3:4] offset0:12 offset1:136853; SI-NEXT:    ds_write2_b64 v18, v[10:11], v[16:17] offset0:8 offset1:96854; SI-NEXT:    ds_write2_b64 v18, v[5:6], v[14:15] offset0:4 offset1:56855; SI-NEXT:    ds_write2_b64 v18, v[1:2], v[12:13] offset1:16856; SI-NEXT:    s_endpgm6857;6858; VI-NO-DS128-LABEL: local_sextload_v16i16_to_v16i64:6859; VI-NO-DS128:       ; %bb.0:6860; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246861; VI-NO-DS128-NEXT:    s_mov_b32 m0, -16862; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6863; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s16864; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:16865; VI-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:36866; VI-NO-DS128-NEXT:    v_mov_b32_e32 v19, s06867; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)6868; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v18, 16, v36869; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6870; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v14, 16, v46871; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v14, 0, 166872; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 166873; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146874; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v166875; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v56876; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[16:17], v[14:15] offset0:8 offset1:96877; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v4, 0, 166878; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v5, 0, 166879; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146880; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46881; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[4:5], v[14:15] offset0:10 offset1:116882; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v66883; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v4, 0, 166884; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v6, 0, 166885; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46886; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146887; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v76888; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[14:15], v[4:5] offset0:12 offset1:136889; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v6, 0, 166890; VI-NO-DS128-NEXT:    v_bfe_i32 v6, v7, 0, 166891; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146892; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66893; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v8, 16, v06894; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v16895; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v26896; VI-NO-DS128-NEXT:    v_bfe_i32 v4, v18, 0, 166897; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[6:7], v[14:15] offset0:14 offset1:156898; VI-NO-DS128-NEXT:    v_bfe_i32 v6, v2, 0, 166899; VI-NO-DS128-NEXT:    v_bfe_i32 v2, v3, 0, 166900; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v8, 0, 166901; VI-NO-DS128-NEXT:    v_bfe_i32 v10, v9, 0, 166902; VI-NO-DS128-NEXT:    v_bfe_i32 v12, v11, 0, 166903; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46904; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v0, 0, 166905; VI-NO-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 166906; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v26907; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v86908; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v106909; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v126910; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v166911; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v06912; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66913; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[2:3], v[4:5] offset0:6 offset1:76914; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[6:7], v[12:13] offset0:4 offset1:56915; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[0:1], v[10:11] offset0:2 offset1:36916; VI-NO-DS128-NEXT:    ds_write2_b64 v19, v[16:17], v[8:9] offset1:16917; VI-NO-DS128-NEXT:    s_endpgm6918;6919; GFX9-NO-DS128-LABEL: local_sextload_v16i16_to_v16i64:6920; GFX9-NO-DS128:       ; %bb.0:6921; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x246922; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6923; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s16924; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset1:16925; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v4 offset0:2 offset1:36926; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v19, s06927; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)6928; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v18, 16, v36929; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)6930; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v14, 16, v46931; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v14, 0, 166932; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 166933; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146934; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v166935; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v56936; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[16:17], v[14:15] offset0:8 offset1:96937; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v4, 0, 166938; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v5, 0, 166939; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146940; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46941; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[4:5], v[14:15] offset0:10 offset1:116942; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v66943; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v4, 0, 166944; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v6, 0, 166945; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46946; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146947; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v76948; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[14:15], v[4:5] offset0:12 offset1:136949; GFX9-NO-DS128-NEXT:    v_bfe_i32 v14, v6, 0, 166950; GFX9-NO-DS128-NEXT:    v_bfe_i32 v6, v7, 0, 166951; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v146952; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66953; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v8, 16, v06954; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v16955; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v11, 16, v26956; GFX9-NO-DS128-NEXT:    v_bfe_i32 v4, v18, 0, 166957; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[6:7], v[14:15] offset0:14 offset1:156958; GFX9-NO-DS128-NEXT:    v_bfe_i32 v6, v2, 0, 166959; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v3, 0, 166960; GFX9-NO-DS128-NEXT:    v_bfe_i32 v8, v8, 0, 166961; GFX9-NO-DS128-NEXT:    v_bfe_i32 v10, v9, 0, 166962; GFX9-NO-DS128-NEXT:    v_bfe_i32 v12, v11, 0, 166963; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v46964; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v0, 0, 166965; GFX9-NO-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 166966; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v26967; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v86968; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v106969; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v126970; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v166971; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v06972; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v66973; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[2:3], v[4:5] offset0:6 offset1:76974; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[6:7], v[12:13] offset0:4 offset1:56975; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[0:1], v[10:11] offset0:2 offset1:36976; GFX9-NO-DS128-NEXT:    ds_write2_b64 v19, v[16:17], v[8:9] offset1:16977; GFX9-NO-DS128-NEXT:    s_endpgm6978;6979; EG-LABEL: local_sextload_v16i16_to_v16i64:6980; EG:       ; %bb.0:6981; EG-NEXT:    ALU 101, @47, KC0[CB0:0-32], KC1[]6982; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6983; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)6984; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6985; EG-NEXT:     MOV T0.Y, OQAP,6986; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6987; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)6988; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6989; EG-NEXT:     MOV T0.Z, OQAP,6990; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,6991; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)6992; EG-NEXT:     LDS_READ_RET * OQAP, T0.W6993; EG-NEXT:     MOV T0.W, OQAP,6994; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,6995; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)6996; EG-NEXT:     LDS_READ_RET * OQAP, T1.W6997; EG-NEXT:     MOV T1.Y, OQAP,6998; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,6999; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)7000; EG-NEXT:     LDS_READ_RET * OQAP, T1.W7001; EG-NEXT:     MOV T1.Z, OQAP,7002; EG-NEXT:     MOV * T1.W, KC0[2].Z,7003; EG-NEXT:     LDS_READ_RET * OQAP, T1.W7004; EG-NEXT:     MOV T1.W, OQAP,7005; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,7006; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)7007; EG-NEXT:     LDS_READ_RET * OQAP, T2.W7008; EG-NEXT:     MOV T2.Y, OQAP,7009; EG-NEXT:     BFE_INT T2.W, T1.W, 0.0, literal.x,7010; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.y,7011; EG-NEXT:    16(2.242078e-44), 28(3.923636e-44)7012; EG-NEXT:     LDS_READ_RET * OQAP, T3.W7013; EG-NEXT:     MOV * T2.Z, OQAP,7014; EG-NEXT:     BFE_INT T3.Z, T2.Y, 0.0, literal.x,7015; EG-NEXT:     ASHR T3.W, T2.W, literal.y,7016; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7017; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7018; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)7019; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7020; EG-NEXT:     BFE_INT T4.Z, T0.Y, 0.0, literal.x,7021; EG-NEXT:     ASHR T3.W, T3.Z, literal.y,7022; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7023; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7024; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)7025; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7026; EG-NEXT:     BFE_INT T5.Z, T0.Z, 0.0, literal.x,7027; EG-NEXT:     ASHR T3.W, T4.Z, literal.y, BS:VEC_120/SCL_2127028; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7029; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7030; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)7031; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7032; EG-NEXT:     BFE_INT T6.Z, T0.W, 0.0, literal.x,7033; EG-NEXT:     ASHR T3.W, T5.Z, literal.y,7034; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7035; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7036; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)7037; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7038; EG-NEXT:     BFE_INT T7.Z, T1.Y, 0.0, literal.x,7039; EG-NEXT:     ASHR T3.W, T6.Z, literal.y,7040; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7041; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7042; EG-NEXT:    68(9.528830e-44), 0(0.000000e+00)7043; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7044; EG-NEXT:     BFE_INT T8.Z, T1.Z, 0.0, literal.x,7045; EG-NEXT:     ASHR T3.W, T7.Z, literal.y, BS:VEC_120/SCL_2127046; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7047; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7048; EG-NEXT:    84(1.177091e-43), 0(0.000000e+00)7049; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7050; EG-NEXT:     BFE_INT T9.Z, T2.Z, 0.0, literal.x,7051; EG-NEXT:     ASHR T3.W, T8.Z, literal.y, BS:VEC_120/SCL_2127052; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.z,7053; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)7054; EG-NEXT:    100(1.401298e-43), 0(0.000000e+00)7055; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7056; EG-NEXT:     ASHR T3.W, T9.Z, literal.x,7057; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7058; EG-NEXT:    31(4.344025e-44), 116(1.625506e-43)7059; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7060; EG-NEXT:     ASHR T3.W, T1.W, literal.x,7061; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7062; EG-NEXT:    31(4.344025e-44), 12(1.681558e-44)7063; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7064; EG-NEXT:     ASHR T1.W, T1.W, literal.x,7065; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7066; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)7067; EG-NEXT:     LDS_WRITE * T3.W, T1.W,7068; EG-NEXT:     MOV * T1.W, KC0[2].Y,7069; EG-NEXT:     LDS_WRITE * T1.W, T2.W,7070; EG-NEXT:     ASHR T1.W, T2.Y, literal.x,7071; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7072; EG-NEXT:    31(4.344025e-44), 28(3.923636e-44)7073; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7074; EG-NEXT:     ASHR T1.W, T2.Y, literal.x,7075; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7076; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7077; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7078; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,7079; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)7080; EG-NEXT:     LDS_WRITE * T1.W, T3.Z,7081; EG-NEXT:     ASHR T1.W, T0.Y, literal.x,7082; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7083; EG-NEXT:    31(4.344025e-44), 44(6.165713e-44)7084; EG-NEXT:    ALU 62, @48, KC0[CB0:0-32], KC1[]7085; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7086; EG-NEXT:     ASHR T1.W, T0.Y, literal.x,7087; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7088; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)7089; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7090; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,7091; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)7092; EG-NEXT:     LDS_WRITE * T1.W, T4.Z,7093; EG-NEXT:     ASHR T1.W, T0.Z, literal.x,7094; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7095; EG-NEXT:    31(4.344025e-44), 60(8.407791e-44)7096; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7097; EG-NEXT:     ASHR T1.W, T0.Z, literal.x,7098; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7099; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)7100; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7101; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,7102; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)7103; EG-NEXT:     LDS_WRITE * T1.W, T5.Z,7104; EG-NEXT:     ASHR T1.W, T0.W, literal.x,7105; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7106; EG-NEXT:    31(4.344025e-44), 76(1.064987e-43)7107; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7108; EG-NEXT:     ASHR T0.W, T0.W, literal.x,7109; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7110; EG-NEXT:    16(2.242078e-44), 72(1.008935e-43)7111; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7112; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7113; EG-NEXT:    64(8.968310e-44), 0(0.000000e+00)7114; EG-NEXT:     LDS_WRITE * T0.W, T6.Z,7115; EG-NEXT:     ASHR T0.W, T1.Y, literal.x,7116; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7117; EG-NEXT:    31(4.344025e-44), 92(1.289195e-43)7118; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7119; EG-NEXT:     ASHR T0.W, T1.Y, literal.x,7120; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7121; EG-NEXT:    16(2.242078e-44), 88(1.233143e-43)7122; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7123; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7124; EG-NEXT:    80(1.121039e-43), 0(0.000000e+00)7125; EG-NEXT:     LDS_WRITE * T0.W, T7.Z,7126; EG-NEXT:     ASHR T0.W, T1.Z, literal.x,7127; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7128; EG-NEXT:    31(4.344025e-44), 108(1.513402e-43)7129; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7130; EG-NEXT:     ASHR T0.W, T1.Z, literal.x,7131; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7132; EG-NEXT:    16(2.242078e-44), 104(1.457350e-43)7133; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7134; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7135; EG-NEXT:    96(1.345247e-43), 0(0.000000e+00)7136; EG-NEXT:     LDS_WRITE * T0.W, T8.Z,7137; EG-NEXT:     ASHR T0.W, T2.Z, literal.x,7138; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7139; EG-NEXT:    31(4.344025e-44), 124(1.737610e-43)7140; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7141; EG-NEXT:     ASHR T0.W, T2.Z, literal.x,7142; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7143; EG-NEXT:    16(2.242078e-44), 120(1.681558e-43)7144; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7145; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7146; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)7147; EG-NEXT:     LDS_WRITE * T0.W, T9.Z,7148; EG-NEXT:    RETURN7149;7150; VI-DS128-LABEL: local_sextload_v16i16_to_v16i64:7151; VI-DS128:       ; %bb.0:7152; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x247153; VI-DS128-NEXT:    s_mov_b32 m0, -17154; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)7155; VI-DS128-NEXT:    v_mov_b32_e32 v0, s17156; VI-DS128-NEXT:    ds_read_b128 v[3:6], v07157; VI-DS128-NEXT:    ds_read_b128 v[7:10], v0 offset:167158; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)7159; VI-DS128-NEXT:    v_bfe_i32 v0, v3, 0, 167160; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v37161; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)7162; VI-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v87163; VI-DS128-NEXT:    v_bfe_i32 v11, v8, 0, 167164; VI-DS128-NEXT:    v_bfe_i32 v13, v3, 0, 167165; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v117166; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v137167; VI-DS128-NEXT:    v_mov_b32_e32 v8, s07168; VI-DS128-NEXT:    ds_write_b128 v8, v[11:14] offset:807169; VI-DS128-NEXT:    v_bfe_i32 v11, v7, 0, 167170; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v77171; VI-DS128-NEXT:    v_bfe_i32 v13, v7, 0, 167172; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v117173; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v137174; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v107175; VI-DS128-NEXT:    ds_write_b128 v8, v[11:14] offset:647176; VI-DS128-NEXT:    v_bfe_i32 v11, v10, 0, 167177; VI-DS128-NEXT:    v_bfe_i32 v13, v7, 0, 167178; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v117179; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v137180; VI-DS128-NEXT:    v_bfe_i32 v10, v4, 0, 167181; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v47182; VI-DS128-NEXT:    ds_write_b128 v8, v[11:14] offset:1127183; VI-DS128-NEXT:    v_bfe_i32 v12, v4, 0, 167184; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v97185; VI-DS128-NEXT:    v_bfe_i32 v14, v9, 0, 167186; VI-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 167187; VI-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v147188; VI-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v167189; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v57190; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v67191; VI-DS128-NEXT:    ds_write_b128 v8, v[14:17] offset:967192; VI-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 167193; VI-DS128-NEXT:    v_bfe_i32 v4, v6, 0, 167194; VI-DS128-NEXT:    v_bfe_i32 v6, v7, 0, 167195; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 167196; VI-DS128-NEXT:    v_bfe_i32 v14, v5, 0, 167197; VI-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v47198; VI-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v67199; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v07200; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v27201; VI-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v107202; VI-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v127203; VI-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v147204; VI-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v167205; VI-DS128-NEXT:    ds_write_b128 v8, v[4:7] offset:487206; VI-DS128-NEXT:    ds_write_b128 v8, v[14:17] offset:327207; VI-DS128-NEXT:    ds_write_b128 v8, v[10:13] offset:167208; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3]7209; VI-DS128-NEXT:    s_endpgm7210;7211; GFX9-DS128-LABEL: local_sextload_v16i16_to_v16i64:7212; GFX9-DS128:       ; %bb.0:7213; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x247214; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)7215; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s17216; GFX9-DS128-NEXT:    ds_read_b128 v[3:6], v07217; GFX9-DS128-NEXT:    ds_read_b128 v[7:10], v0 offset:167218; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)7219; GFX9-DS128-NEXT:    v_bfe_i32 v0, v3, 0, 167220; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v37221; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)7222; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v87223; GFX9-DS128-NEXT:    v_bfe_i32 v11, v8, 0, 167224; GFX9-DS128-NEXT:    v_bfe_i32 v13, v3, 0, 167225; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v117226; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v137227; GFX9-DS128-NEXT:    v_mov_b32_e32 v8, s07228; GFX9-DS128-NEXT:    ds_write_b128 v8, v[11:14] offset:807229; GFX9-DS128-NEXT:    v_bfe_i32 v11, v7, 0, 167230; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v77231; GFX9-DS128-NEXT:    v_bfe_i32 v13, v7, 0, 167232; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v117233; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v137234; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v107235; GFX9-DS128-NEXT:    ds_write_b128 v8, v[11:14] offset:647236; GFX9-DS128-NEXT:    v_bfe_i32 v11, v10, 0, 167237; GFX9-DS128-NEXT:    v_bfe_i32 v13, v7, 0, 167238; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v117239; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v137240; GFX9-DS128-NEXT:    v_bfe_i32 v10, v4, 0, 167241; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v47242; GFX9-DS128-NEXT:    ds_write_b128 v8, v[11:14] offset:1127243; GFX9-DS128-NEXT:    v_bfe_i32 v12, v4, 0, 167244; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v97245; GFX9-DS128-NEXT:    v_bfe_i32 v14, v9, 0, 167246; GFX9-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 167247; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v147248; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v167249; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v57250; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v67251; GFX9-DS128-NEXT:    ds_write_b128 v8, v[14:17] offset:967252; GFX9-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 167253; GFX9-DS128-NEXT:    v_bfe_i32 v4, v6, 0, 167254; GFX9-DS128-NEXT:    v_bfe_i32 v6, v7, 0, 167255; GFX9-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 167256; GFX9-DS128-NEXT:    v_bfe_i32 v14, v5, 0, 167257; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v47258; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v67259; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v07260; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v27261; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v11, 31, v107262; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v127263; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v147264; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v167265; GFX9-DS128-NEXT:    ds_write_b128 v8, v[4:7] offset:487266; GFX9-DS128-NEXT:    ds_write_b128 v8, v[14:17] offset:327267; GFX9-DS128-NEXT:    ds_write_b128 v8, v[10:13] offset:167268; GFX9-DS128-NEXT:    ds_write_b128 v8, v[0:3]7269; GFX9-DS128-NEXT:    s_endpgm7270  %load = load <16 x i16>, ptr addrspace(3) %in7271  %ext = sext <16 x i16> %load to <16 x i64>7272  store <16 x i64> %ext, ptr addrspace(3) %out7273  ret void7274}7275 7276define amdgpu_kernel void @local_zextload_v32i16_to_v32i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {7277; SI-LABEL: local_zextload_v32i16_to_v32i64:7278; SI:       ; %bb.0:7279; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x97280; SI-NEXT:    s_waitcnt lgkmcnt(0)7281; SI-NEXT:    v_mov_b32_e32 v0, s17282; SI-NEXT:    s_mov_b32 m0, -17283; SI-NEXT:    ds_read2_b64 v[2:5], v0 offset0:2 offset1:37284; SI-NEXT:    v_mov_b32_e32 v1, 07285; SI-NEXT:    ds_read2_b64 v[6:9], v0 offset1:17286; SI-NEXT:    v_mov_b32_e32 v19, v17287; SI-NEXT:    v_mov_b32_e32 v21, v17288; SI-NEXT:    v_mov_b32_e32 v22, s07289; SI-NEXT:    s_waitcnt lgkmcnt(1)7290; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v57291; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v57292; SI-NEXT:    ds_read2_b64 v[10:13], v0 offset0:4 offset1:57293; SI-NEXT:    ds_read2_b64 v[14:17], v0 offset0:6 offset1:77294; SI-NEXT:    ds_write2_b64 v22, v[20:21], v[18:19] offset0:14 offset1:157295; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v37296; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v37297; SI-NEXT:    ds_write2_b64 v22, v[20:21], v[18:19] offset0:10 offset1:117298; SI-NEXT:    s_waitcnt lgkmcnt(4)7299; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v97300; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v97301; SI-NEXT:    ds_write2_b64 v22, v[20:21], v[18:19] offset0:6 offset1:77302; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v77303; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v77304; SI-NEXT:    ds_write2_b64 v22, v[20:21], v[18:19] offset0:2 offset1:37305; SI-NEXT:    s_waitcnt lgkmcnt(4)7306; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v177307; SI-NEXT:    v_and_b32_e32 v20, 0xffff, v177308; SI-NEXT:    ds_write2_b64 v22, v[20:21], v[18:19] offset0:30 offset1:317309; SI-NEXT:    v_mov_b32_e32 v18, v17310; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v157311; SI-NEXT:    v_mov_b32_e32 v20, v17312; SI-NEXT:    v_and_b32_e32 v19, 0xffff, v157313; SI-NEXT:    ds_write2_b64 v22, v[19:20], v[17:18] offset0:26 offset1:277314; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v137315; SI-NEXT:    v_and_b32_e32 v19, 0xffff, v137316; SI-NEXT:    ds_write2_b64 v22, v[19:20], v[17:18] offset0:22 offset1:237317; SI-NEXT:    v_lshrrev_b32_e32 v17, 16, v47318; SI-NEXT:    v_mov_b32_e32 v5, v17319; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v47320; SI-NEXT:    ds_write2_b64 v22, v[4:5], v[17:18] offset0:12 offset1:137321; SI-NEXT:    v_lshrrev_b32_e32 v3, 16, v27322; SI-NEXT:    v_and_b32_e32 v17, 0xffff, v27323; SI-NEXT:    v_mov_b32_e32 v4, v17324; SI-NEXT:    ds_write2_b64 v22, v[17:18], v[3:4] offset0:8 offset1:97325; SI-NEXT:    v_lshrrev_b32_e32 v2, 16, v87326; SI-NEXT:    v_lshrrev_b32_e32 v4, 16, v67327; SI-NEXT:    v_and_b32_e32 v6, 0xffff, v67328; SI-NEXT:    v_and_b32_e32 v8, 0xffff, v87329; SI-NEXT:    v_mov_b32_e32 v9, v17330; SI-NEXT:    v_mov_b32_e32 v7, v17331; SI-NEXT:    v_mov_b32_e32 v3, v17332; SI-NEXT:    v_lshrrev_b32_e32 v0, 16, v117333; SI-NEXT:    ds_write2_b64 v22, v[8:9], v[2:3] offset0:4 offset1:57334; SI-NEXT:    v_lshrrev_b32_e32 v2, 16, v127335; SI-NEXT:    v_lshrrev_b32_e32 v8, 16, v107336; SI-NEXT:    ds_write2_b64 v22, v[6:7], v[4:5] offset1:17337; SI-NEXT:    v_and_b32_e32 v4, 0xffff, v107338; SI-NEXT:    v_and_b32_e32 v5, 0xffff, v117339; SI-NEXT:    v_and_b32_e32 v10, 0xffff, v127340; SI-NEXT:    v_lshrrev_b32_e32 v12, 16, v167341; SI-NEXT:    v_lshrrev_b32_e32 v15, 16, v147342; SI-NEXT:    v_and_b32_e32 v17, 0xffff, v147343; SI-NEXT:    v_and_b32_e32 v19, 0xffff, v167344; SI-NEXT:    v_mov_b32_e32 v6, v17345; SI-NEXT:    ds_write2_b64 v22, v[5:6], v[0:1] offset0:18 offset1:197346; SI-NEXT:    v_mov_b32_e32 v11, v17347; SI-NEXT:    v_mov_b32_e32 v5, v17348; SI-NEXT:    v_mov_b32_e32 v13, v17349; SI-NEXT:    v_mov_b32_e32 v16, v17350; SI-NEXT:    ds_write2_b64 v22, v[19:20], v[12:13] offset0:28 offset1:297351; SI-NEXT:    ds_write2_b64 v22, v[17:18], v[15:16] offset0:24 offset1:257352; SI-NEXT:    ds_write2_b64 v22, v[10:11], v[2:3] offset0:20 offset1:217353; SI-NEXT:    ds_write2_b64 v22, v[4:5], v[8:9] offset0:16 offset1:177354; SI-NEXT:    s_endpgm7355;7356; VI-NO-DS128-LABEL: local_zextload_v32i16_to_v32i64:7357; VI-NO-DS128:       ; %bb.0:7358; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x247359; VI-NO-DS128-NEXT:    s_mov_b32 m0, -17360; VI-NO-DS128-NEXT:    v_mov_b32_e32 v5, 07361; VI-NO-DS128-NEXT:    v_mov_b32_e32 v19, v57362; VI-NO-DS128-NEXT:    v_mov_b32_e32 v21, v57363; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)7364; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s17365; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset0:6 offset1:77366; VI-NO-DS128-NEXT:    ds_read2_b64 v[6:9], v4 offset0:4 offset1:57367; VI-NO-DS128-NEXT:    v_mov_b32_e32 v22, s07368; VI-NO-DS128-NEXT:    ds_read2_b64 v[10:13], v4 offset0:2 offset1:37369; VI-NO-DS128-NEXT:    ds_read2_b64 v[14:17], v4 offset1:17370; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(3)7371; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v20, 16, v27372; VI-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v27373; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[18:19], v[20:21] offset0:28 offset1:297374; VI-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v17375; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v17376; VI-NO-DS128-NEXT:    v_mov_b32_e32 v2, v57377; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[18:19], v[1:2] offset0:26 offset1:277378; VI-NO-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v07379; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v18, 16, v07380; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[1:2], v[18:19] offset0:24 offset1:257381; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(5)7382; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v97383; VI-NO-DS128-NEXT:    v_mov_b32_e32 v1, v57384; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v18, 16, v97385; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[0:1], v[18:19] offset0:22 offset1:237386; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v87387; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v8, 16, v87388; VI-NO-DS128-NEXT:    v_mov_b32_e32 v9, v57389; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[0:1], v[8:9] offset0:20 offset1:217390; VI-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v77391; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v77392; VI-NO-DS128-NEXT:    v_mov_b32_e32 v8, v57393; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[0:1], v[7:8] offset0:18 offset1:197394; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v67395; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v67396; VI-NO-DS128-NEXT:    v_mov_b32_e32 v7, v57397; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:16 offset1:177398; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(8)7399; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v137400; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v137401; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:14 offset1:157402; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v127403; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v127404; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:12 offset1:137405; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v117406; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v117407; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:10 offset1:117408; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(10)7409; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v147410; VI-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v147411; VI-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v37412; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v37413; VI-NO-DS128-NEXT:    v_mov_b32_e32 v14, v57414; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v107415; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v107416; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v10, 16, v177417; VI-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v177418; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[4:5], v[13:14] offset0:30 offset1:317419; VI-NO-DS128-NEXT:    v_mov_b32_e32 v13, v57420; VI-NO-DS128-NEXT:    v_mov_b32_e32 v11, v57421; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[1:2] offset0:8 offset1:97422; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v167423; VI-NO-DS128-NEXT:    v_and_b32_e32 v9, 0xffff, v167424; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[12:13], v[10:11] offset0:6 offset1:77425; VI-NO-DS128-NEXT:    v_mov_b32_e32 v10, v57426; VI-NO-DS128-NEXT:    v_mov_b32_e32 v3, v57427; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v157428; VI-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v157429; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[9:10], v[2:3] offset0:4 offset1:57430; VI-NO-DS128-NEXT:    v_mov_b32_e32 v2, v57431; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[1:2] offset0:2 offset1:37432; VI-NO-DS128-NEXT:    v_mov_b32_e32 v9, v57433; VI-NO-DS128-NEXT:    v_mov_b32_e32 v1, v57434; VI-NO-DS128-NEXT:    ds_write2_b64 v22, v[8:9], v[0:1] offset1:17435; VI-NO-DS128-NEXT:    s_endpgm7436;7437; GFX9-NO-DS128-LABEL: local_zextload_v32i16_to_v32i64:7438; GFX9-NO-DS128:       ; %bb.0:7439; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x247440; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v5, 07441; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v19, v57442; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v21, v57443; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)7444; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s17445; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[6:9], v4 offset0:4 offset1:57446; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset0:6 offset1:77447; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v22, s07448; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[10:13], v4 offset1:17449; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[14:17], v4 offset0:2 offset1:37450; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(2)7451; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v20, 16, v27452; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v27453; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[18:19], v[20:21] offset0:28 offset1:297454; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v18, 0xffff, v17455; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v17456; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v2, v57457; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[18:19], v[1:2] offset0:26 offset1:277458; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v1, 0xffff, v07459; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v18, 16, v07460; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[1:2], v[18:19] offset0:24 offset1:257461; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v97462; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v1, v57463; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v18, 16, v97464; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[0:1], v[18:19] offset0:22 offset1:237465; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v87466; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v8, 16, v87467; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v9, v57468; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[0:1], v[8:9] offset0:20 offset1:217469; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v77470; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v77471; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v8, v57472; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[0:1], v[7:8] offset0:18 offset1:197473; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v67474; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v67475; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v7, v57476; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:16 offset1:177477; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(7)7478; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v177479; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v177480; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:14 offset1:157481; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v167482; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v167483; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:12 offset1:137484; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v157485; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v157486; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[0:1] offset0:10 offset1:117487; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v147488; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v147489; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v107490; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v8, 0xffff, v107491; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[1:2] offset0:8 offset1:97492; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v127493; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v9, 0xffff, v127494; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v10, 16, v137495; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v12, 0xffff, v137496; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v37497; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v37498; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v14, v57499; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v117500; GFX9-NO-DS128-NEXT:    v_and_b32_e32 v6, 0xffff, v117501; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[4:5], v[13:14] offset0:30 offset1:317502; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v13, v57503; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v11, v57504; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[12:13], v[10:11] offset0:6 offset1:77505; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v10, v57506; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v3, v57507; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[9:10], v[2:3] offset0:4 offset1:57508; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v2, v57509; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[6:7], v[1:2] offset0:2 offset1:37510; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v9, v57511; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v1, v57512; GFX9-NO-DS128-NEXT:    ds_write2_b64 v22, v[8:9], v[0:1] offset1:17513; GFX9-NO-DS128-NEXT:    s_endpgm7514;7515; EG-LABEL: local_zextload_v32i16_to_v32i64:7516; EG:       ; %bb.0:7517; EG-NEXT:    ALU 105, @49, KC0[CB0:0-32], KC1[]7518; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,7519; EG-NEXT:    56(7.847271e-44), 0(0.000000e+00)7520; EG-NEXT:     LDS_READ_RET * OQAP, T0.W7521; EG-NEXT:     MOV T0.Y, OQAP,7522; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,7523; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)7524; EG-NEXT:     LDS_READ_RET * OQAP, T0.W7525; EG-NEXT:     MOV T0.Z, OQAP,7526; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,7527; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)7528; EG-NEXT:     LDS_READ_RET * OQAP, T0.W7529; EG-NEXT:     MOV T0.W, OQAP,7530; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,7531; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)7532; EG-NEXT:     LDS_READ_RET * OQAP, T1.W7533; EG-NEXT:     MOV T1.Y, OQAP,7534; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,7535; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)7536; EG-NEXT:     LDS_READ_RET * OQAP, T1.W7537; EG-NEXT:     MOV T1.Z, OQAP,7538; EG-NEXT:     ADD_INT * T1.W, KC0[2].Z, literal.x,7539; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)7540; EG-NEXT:     LDS_READ_RET * OQAP, T1.W7541; EG-NEXT:     MOV T1.W, OQAP,7542; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,7543; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)7544; EG-NEXT:     LDS_READ_RET * OQAP, T2.W7545; EG-NEXT:     MOV T2.Y, OQAP,7546; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,7547; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)7548; EG-NEXT:     LDS_READ_RET * OQAP, T2.W7549; EG-NEXT:     MOV T2.Z, OQAP,7550; EG-NEXT:     ADD_INT * T2.W, KC0[2].Z, literal.x,7551; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)7552; EG-NEXT:     LDS_READ_RET * OQAP, T2.W7553; EG-NEXT:     MOV T2.W, OQAP,7554; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,7555; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)7556; EG-NEXT:     LDS_READ_RET * OQAP, T3.W7557; EG-NEXT:     MOV T3.Y, OQAP,7558; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,7559; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)7560; EG-NEXT:     LDS_READ_RET * OQAP, T3.W7561; EG-NEXT:     MOV T3.Z, OQAP,7562; EG-NEXT:     ADD_INT * T3.W, KC0[2].Z, literal.x,7563; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)7564; EG-NEXT:     LDS_READ_RET * OQAP, T3.W7565; EG-NEXT:     MOV T3.W, OQAP,7566; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,7567; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)7568; EG-NEXT:     LDS_READ_RET * OQAP, T4.W7569; EG-NEXT:     MOV T4.Y, OQAP,7570; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,7571; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)7572; EG-NEXT:     LDS_READ_RET * OQAP, T4.W7573; EG-NEXT:     MOV T4.Z, OQAP,7574; EG-NEXT:     ADD_INT * T4.W, KC0[2].Z, literal.x,7575; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)7576; EG-NEXT:     LDS_READ_RET * OQAP, T4.W7577; EG-NEXT:     MOV T4.W, OQAP,7578; EG-NEXT:     MOV * T5.W, KC0[2].Z,7579; EG-NEXT:     LDS_READ_RET * OQAP, T5.W7580; EG-NEXT:     MOV T5.Y, OQAP,7581; EG-NEXT:     LSHR T5.W, T4.W, literal.x,7582; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,7583; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)7584; EG-NEXT:     LDS_WRITE * T6.W, T5.W,7585; EG-NEXT:     AND_INT T4.W, T4.W, literal.x,7586; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7587; EG-NEXT:    65535(9.183409e-41), 16(2.242078e-44)7588; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7589; EG-NEXT:     LSHR T4.W, T5.Y, literal.x,7590; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7591; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)7592; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7593; EG-NEXT:     AND_INT T4.W, T5.Y, literal.x,7594; EG-NEXT:     MOV * T5.W, KC0[2].Y,7595; EG-NEXT:    65535(9.183409e-41), 0(0.000000e+00)7596; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7597; EG-NEXT:     LSHR T4.W, T4.Z, literal.x,7598; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7599; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)7600; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7601; EG-NEXT:     AND_INT T4.W, T4.Z, literal.x,7602; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7603; EG-NEXT:    65535(9.183409e-41), 48(6.726233e-44)7604; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7605; EG-NEXT:     LSHR T4.W, T4.Y, literal.x,7606; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7607; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)7608; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7609; EG-NEXT:     AND_INT T4.W, T4.Y, literal.x,7610; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7611; EG-NEXT:    65535(9.183409e-41), 32(4.484155e-44)7612; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7613; EG-NEXT:     LSHR T4.W, T3.W, literal.x,7614; EG-NEXT:     ADD_INT * T5.W, KC0[2].Y, literal.y,7615; EG-NEXT:    16(2.242078e-44), 88(1.233143e-43)7616; EG-NEXT:     LDS_WRITE * T5.W, T4.W,7617; EG-NEXT:     AND_INT T3.W, T3.W, literal.x,7618; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7619; EG-NEXT:    65535(9.183409e-41), 80(1.121039e-43)7620; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7621; EG-NEXT:     LSHR T3.W, T3.Z, literal.x,7622; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7623; EG-NEXT:    16(2.242078e-44), 72(1.008935e-43)7624; EG-NEXT:    ALU 93, @50, KC0[CB0:0-32], KC1[]7625; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7626; EG-NEXT:     AND_INT T3.W, T3.Z, literal.x,7627; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7628; EG-NEXT:    65535(9.183409e-41), 64(8.968310e-44)7629; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7630; EG-NEXT:     LSHR T3.W, T3.Y, literal.x,7631; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7632; EG-NEXT:    16(2.242078e-44), 120(1.681558e-43)7633; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7634; EG-NEXT:     AND_INT T3.W, T3.Y, literal.x,7635; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7636; EG-NEXT:    65535(9.183409e-41), 112(1.569454e-43)7637; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7638; EG-NEXT:     LSHR T3.W, T2.W, literal.x,7639; EG-NEXT:     ADD_INT * T4.W, KC0[2].Y, literal.y,7640; EG-NEXT:    16(2.242078e-44), 104(1.457350e-43)7641; EG-NEXT:     LDS_WRITE * T4.W, T3.W,7642; EG-NEXT:     AND_INT T2.W, T2.W, literal.x,7643; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7644; EG-NEXT:    65535(9.183409e-41), 96(1.345247e-43)7645; EG-NEXT:     LDS_WRITE * T3.W, T2.W,7646; EG-NEXT:     LSHR T2.W, T2.Z, literal.x,7647; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7648; EG-NEXT:    16(2.242078e-44), 152(2.129974e-43)7649; EG-NEXT:     LDS_WRITE * T3.W, T2.W,7650; EG-NEXT:     AND_INT T2.W, T2.Z, literal.x,7651; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7652; EG-NEXT:    65535(9.183409e-41), 144(2.017870e-43)7653; EG-NEXT:     LDS_WRITE * T3.W, T2.W,7654; EG-NEXT:     LSHR T2.W, T2.Y, literal.x,7655; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7656; EG-NEXT:    16(2.242078e-44), 136(1.905766e-43)7657; EG-NEXT:     LDS_WRITE * T3.W, T2.W,7658; EG-NEXT:     AND_INT T2.W, T2.Y, literal.x,7659; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7660; EG-NEXT:    65535(9.183409e-41), 128(1.793662e-43)7661; EG-NEXT:     LDS_WRITE * T3.W, T2.W,7662; EG-NEXT:     LSHR T2.W, T1.W, literal.x,7663; EG-NEXT:     ADD_INT * T3.W, KC0[2].Y, literal.y,7664; EG-NEXT:    16(2.242078e-44), 184(2.578389e-43)7665; EG-NEXT:     LDS_WRITE * T3.W, T2.W,7666; EG-NEXT:     AND_INT T1.W, T1.W, literal.x,7667; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7668; EG-NEXT:    65535(9.183409e-41), 176(2.466285e-43)7669; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7670; EG-NEXT:     LSHR T1.W, T1.Z, literal.x,7671; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7672; EG-NEXT:    16(2.242078e-44), 168(2.354181e-43)7673; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7674; EG-NEXT:     AND_INT T1.W, T1.Z, literal.x,7675; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7676; EG-NEXT:    65535(9.183409e-41), 160(2.242078e-43)7677; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7678; EG-NEXT:     LSHR T1.W, T1.Y, literal.x,7679; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7680; EG-NEXT:    16(2.242078e-44), 216(3.026805e-43)7681; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7682; EG-NEXT:     AND_INT T1.W, T1.Y, literal.x,7683; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7684; EG-NEXT:    65535(9.183409e-41), 208(2.914701e-43)7685; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7686; EG-NEXT:     LSHR T1.W, T0.W, literal.x,7687; EG-NEXT:     ADD_INT * T2.W, KC0[2].Y, literal.y,7688; EG-NEXT:    16(2.242078e-44), 200(2.802597e-43)7689; EG-NEXT:     LDS_WRITE * T2.W, T1.W,7690; EG-NEXT:     AND_INT T0.W, T0.W, literal.x,7691; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7692; EG-NEXT:    65535(9.183409e-41), 192(2.690493e-43)7693; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7694; EG-NEXT:     LSHR T0.W, T0.Z, literal.x,7695; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7696; EG-NEXT:    16(2.242078e-44), 248(3.475220e-43)7697; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7698; EG-NEXT:     AND_INT T0.W, T0.Z, literal.x,7699; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7700; EG-NEXT:    65535(9.183409e-41), 240(3.363116e-43)7701; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7702; EG-NEXT:     LSHR T0.W, T0.Y, literal.x,7703; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7704; EG-NEXT:    16(2.242078e-44), 232(3.251012e-43)7705; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7706; EG-NEXT:     AND_INT T0.W, T0.Y, literal.x,7707; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,7708; EG-NEXT:    65535(9.183409e-41), 224(3.138909e-43)7709; EG-NEXT:     LDS_WRITE * T1.W, T0.W,7710; EG-NEXT:     ADD_INT T0.W, KC0[2].Y, literal.x,7711; EG-NEXT:     MOV * T1.W, literal.y,7712; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)7713; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7714; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7715; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)7716; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7717; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7718; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)7719; EG-NEXT:    ALU 87, @51, KC0[CB0:0-32], KC1[]7720; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7721; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7722; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)7723; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7724; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7725; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)7726; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7727; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7728; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)7729; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7730; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7731; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)7732; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7733; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7734; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)7735; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7736; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7737; EG-NEXT:    92(1.289195e-43), 0(0.000000e+00)7738; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7739; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7740; EG-NEXT:    84(1.177091e-43), 0(0.000000e+00)7741; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7742; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7743; EG-NEXT:    76(1.064987e-43), 0(0.000000e+00)7744; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7745; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7746; EG-NEXT:    68(9.528830e-44), 0(0.000000e+00)7747; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7748; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7749; EG-NEXT:    124(1.737610e-43), 0(0.000000e+00)7750; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7751; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7752; EG-NEXT:    116(1.625506e-43), 0(0.000000e+00)7753; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7754; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7755; EG-NEXT:    108(1.513402e-43), 0(0.000000e+00)7756; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7757; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7758; EG-NEXT:    100(1.401298e-43), 0(0.000000e+00)7759; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7760; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7761; EG-NEXT:    156(2.186026e-43), 0(0.000000e+00)7762; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7763; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7764; EG-NEXT:    148(2.073922e-43), 0(0.000000e+00)7765; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7766; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7767; EG-NEXT:    140(1.961818e-43), 0(0.000000e+00)7768; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7769; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7770; EG-NEXT:    132(1.849714e-43), 0(0.000000e+00)7771; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7772; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7773; EG-NEXT:    188(2.634441e-43), 0(0.000000e+00)7774; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7775; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7776; EG-NEXT:    180(2.522337e-43), 0(0.000000e+00)7777; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7778; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7779; EG-NEXT:    172(2.410233e-43), 0(0.000000e+00)7780; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7781; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7782; EG-NEXT:    164(2.298129e-43), 0(0.000000e+00)7783; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7784; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7785; EG-NEXT:    220(3.082857e-43), 0(0.000000e+00)7786; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7787; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7788; EG-NEXT:    212(2.970753e-43), 0(0.000000e+00)7789; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7790; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7791; EG-NEXT:    204(2.858649e-43), 0(0.000000e+00)7792; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7793; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7794; EG-NEXT:    196(2.746545e-43), 0(0.000000e+00)7795; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7796; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7797; EG-NEXT:    252(3.531272e-43), 0(0.000000e+00)7798; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7799; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7800; EG-NEXT:    244(3.419168e-43), 0(0.000000e+00)7801; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7802; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7803; EG-NEXT:    236(3.307064e-43), 0(0.000000e+00)7804; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7805; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,7806; EG-NEXT:    228(3.194960e-43), 0(0.000000e+00)7807; EG-NEXT:     LDS_WRITE * T0.W, T1.W,7808; EG-NEXT:    RETURN7809;7810; VI-DS128-LABEL: local_zextload_v32i16_to_v32i64:7811; VI-DS128:       ; %bb.0:7812; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x247813; VI-DS128-NEXT:    s_mov_b32 m0, -17814; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)7815; VI-DS128-NEXT:    v_mov_b32_e32 v1, s17816; VI-DS128-NEXT:    ds_read_b128 v[3:6], v17817; VI-DS128-NEXT:    ds_read_b128 v[7:10], v1 offset:167818; VI-DS128-NEXT:    v_mov_b32_e32 v52, s07819; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)7820; VI-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v67821; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)7822; VI-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v87823; VI-DS128-NEXT:    v_and_b32_e32 v17, 0xffff, v87824; VI-DS128-NEXT:    v_lshrrev_b32_e32 v22, 16, v77825; VI-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v77826; VI-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v107827; VI-DS128-NEXT:    v_and_b32_e32 v23, 0xffff, v107828; VI-DS128-NEXT:    v_lshrrev_b32_e32 v28, 16, v97829; VI-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v97830; VI-DS128-NEXT:    ds_read_b128 v[7:10], v1 offset:327831; VI-DS128-NEXT:    ds_read_b128 v[29:32], v1 offset:487832; VI-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v67833; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v47834; VI-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v47835; VI-DS128-NEXT:    s_waitcnt lgkmcnt(1)7836; VI-DS128-NEXT:    v_lshrrev_b32_e32 v38, 16, v77837; VI-DS128-NEXT:    v_and_b32_e32 v36, 0xffff, v77838; VI-DS128-NEXT:    v_lshrrev_b32_e32 v44, 16, v97839; VI-DS128-NEXT:    v_and_b32_e32 v42, 0xffff, v97840; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)7841; VI-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v307842; VI-DS128-NEXT:    v_and_b32_e32 v7, 0xffff, v307843; VI-DS128-NEXT:    v_lshrrev_b32_e32 v50, 16, v327844; VI-DS128-NEXT:    v_and_b32_e32 v48, 0xffff, v327845; VI-DS128-NEXT:    v_lshrrev_b32_e32 v32, 16, v317846; VI-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v317847; VI-DS128-NEXT:    v_mov_b32_e32 v31, 07848; VI-DS128-NEXT:    v_mov_b32_e32 v49, v317849; VI-DS128-NEXT:    v_mov_b32_e32 v51, v317850; VI-DS128-NEXT:    v_lshrrev_b32_e32 v47, 16, v297851; VI-DS128-NEXT:    v_and_b32_e32 v45, 0xffff, v297852; VI-DS128-NEXT:    ds_write_b128 v52, v[48:51] offset:2407853; VI-DS128-NEXT:    v_mov_b32_e32 v46, v317854; VI-DS128-NEXT:    v_mov_b32_e32 v48, v317855; VI-DS128-NEXT:    v_mov_b32_e32 v27, v317856; VI-DS128-NEXT:    v_mov_b32_e32 v29, v317857; VI-DS128-NEXT:    ds_write_b128 v52, v[45:48] offset:1927858; VI-DS128-NEXT:    v_mov_b32_e32 v43, v317859; VI-DS128-NEXT:    v_mov_b32_e32 v45, v317860; VI-DS128-NEXT:    ds_write_b128 v52, v[26:29] offset:967861; VI-DS128-NEXT:    v_mov_b32_e32 v24, v317862; VI-DS128-NEXT:    v_mov_b32_e32 v26, v317863; VI-DS128-NEXT:    v_lshrrev_b32_e32 v41, 16, v107864; VI-DS128-NEXT:    v_and_b32_e32 v39, 0xffff, v107865; VI-DS128-NEXT:    ds_write_b128 v52, v[42:45] offset:1607866; VI-DS128-NEXT:    v_mov_b32_e32 v40, v317867; VI-DS128-NEXT:    v_mov_b32_e32 v42, v317868; VI-DS128-NEXT:    ds_write_b128 v52, v[23:26] offset:1127869; VI-DS128-NEXT:    v_mov_b32_e32 v21, v317870; VI-DS128-NEXT:    v_mov_b32_e32 v23, v317871; VI-DS128-NEXT:    ds_write_b128 v52, v[39:42] offset:1767872; VI-DS128-NEXT:    v_mov_b32_e32 v37, v317873; VI-DS128-NEXT:    v_mov_b32_e32 v39, v317874; VI-DS128-NEXT:    ds_write_b128 v52, v[20:23] offset:647875; VI-DS128-NEXT:    v_mov_b32_e32 v18, v317876; VI-DS128-NEXT:    v_mov_b32_e32 v20, v317877; VI-DS128-NEXT:    v_lshrrev_b32_e32 v35, 16, v87878; VI-DS128-NEXT:    v_and_b32_e32 v33, 0xffff, v87879; VI-DS128-NEXT:    v_mov_b32_e32 v8, v317880; VI-DS128-NEXT:    v_mov_b32_e32 v10, v317881; VI-DS128-NEXT:    ds_write_b128 v52, v[36:39] offset:1287882; VI-DS128-NEXT:    v_mov_b32_e32 v34, v317883; VI-DS128-NEXT:    v_mov_b32_e32 v36, v317884; VI-DS128-NEXT:    ds_write_b128 v52, v[17:20] offset:807885; VI-DS128-NEXT:    v_mov_b32_e32 v15, v317886; VI-DS128-NEXT:    v_mov_b32_e32 v17, v317887; VI-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v37888; VI-DS128-NEXT:    v_and_b32_e32 v11, 0xffff, v37889; VI-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v57890; VI-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v57891; VI-DS128-NEXT:    ds_write_b128 v52, v[7:10] offset:2087892; VI-DS128-NEXT:    ds_write_b128 v52, v[33:36] offset:1447893; VI-DS128-NEXT:    v_mov_b32_e32 v5, v317894; VI-DS128-NEXT:    v_mov_b32_e32 v7, v317895; VI-DS128-NEXT:    v_mov_b32_e32 v33, v317896; VI-DS128-NEXT:    ds_write_b128 v52, v[14:17] offset:487897; VI-DS128-NEXT:    v_mov_b32_e32 v12, v317898; VI-DS128-NEXT:    v_mov_b32_e32 v14, v317899; VI-DS128-NEXT:    v_mov_b32_e32 v1, v317900; VI-DS128-NEXT:    v_mov_b32_e32 v3, v317901; VI-DS128-NEXT:    ds_write_b128 v52, v[4:7] offset:327902; VI-DS128-NEXT:    ds_write_b128 v52, v[30:33] offset:2247903; VI-DS128-NEXT:    ds_write_b128 v52, v[11:14]7904; VI-DS128-NEXT:    ds_write_b128 v52, v[0:3] offset:167905; VI-DS128-NEXT:    s_endpgm7906;7907; GFX9-DS128-LABEL: local_zextload_v32i16_to_v32i64:7908; GFX9-DS128:       ; %bb.0:7909; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x247910; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)7911; GFX9-DS128-NEXT:    v_mov_b32_e32 v1, s17912; GFX9-DS128-NEXT:    ds_read_b128 v[3:6], v17913; GFX9-DS128-NEXT:    ds_read_b128 v[7:10], v1 offset:167914; GFX9-DS128-NEXT:    v_mov_b32_e32 v52, s07915; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)7916; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v67917; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)7918; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v19, 16, v87919; GFX9-DS128-NEXT:    v_and_b32_e32 v17, 0xffff, v87920; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v22, 16, v77921; GFX9-DS128-NEXT:    v_and_b32_e32 v20, 0xffff, v77922; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v25, 16, v107923; GFX9-DS128-NEXT:    v_and_b32_e32 v23, 0xffff, v107924; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v28, 16, v97925; GFX9-DS128-NEXT:    v_and_b32_e32 v26, 0xffff, v97926; GFX9-DS128-NEXT:    ds_read_b128 v[7:10], v1 offset:327927; GFX9-DS128-NEXT:    ds_read_b128 v[29:32], v1 offset:487928; GFX9-DS128-NEXT:    v_and_b32_e32 v14, 0xffff, v67929; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v47930; GFX9-DS128-NEXT:    v_and_b32_e32 v0, 0xffff, v47931; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(1)7932; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v38, 16, v77933; GFX9-DS128-NEXT:    v_and_b32_e32 v36, 0xffff, v77934; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v44, 16, v97935; GFX9-DS128-NEXT:    v_and_b32_e32 v42, 0xffff, v97936; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)7937; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v9, 16, v307938; GFX9-DS128-NEXT:    v_and_b32_e32 v7, 0xffff, v307939; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v50, 16, v327940; GFX9-DS128-NEXT:    v_and_b32_e32 v48, 0xffff, v327941; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v32, 16, v317942; GFX9-DS128-NEXT:    v_and_b32_e32 v30, 0xffff, v317943; GFX9-DS128-NEXT:    v_mov_b32_e32 v31, 07944; GFX9-DS128-NEXT:    v_mov_b32_e32 v49, v317945; GFX9-DS128-NEXT:    v_mov_b32_e32 v51, v317946; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v47, 16, v297947; GFX9-DS128-NEXT:    v_and_b32_e32 v45, 0xffff, v297948; GFX9-DS128-NEXT:    ds_write_b128 v52, v[48:51] offset:2407949; GFX9-DS128-NEXT:    v_mov_b32_e32 v46, v317950; GFX9-DS128-NEXT:    v_mov_b32_e32 v48, v317951; GFX9-DS128-NEXT:    v_mov_b32_e32 v27, v317952; GFX9-DS128-NEXT:    v_mov_b32_e32 v29, v317953; GFX9-DS128-NEXT:    ds_write_b128 v52, v[45:48] offset:1927954; GFX9-DS128-NEXT:    v_mov_b32_e32 v43, v317955; GFX9-DS128-NEXT:    v_mov_b32_e32 v45, v317956; GFX9-DS128-NEXT:    ds_write_b128 v52, v[26:29] offset:967957; GFX9-DS128-NEXT:    v_mov_b32_e32 v24, v317958; GFX9-DS128-NEXT:    v_mov_b32_e32 v26, v317959; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v41, 16, v107960; GFX9-DS128-NEXT:    v_and_b32_e32 v39, 0xffff, v107961; GFX9-DS128-NEXT:    ds_write_b128 v52, v[42:45] offset:1607962; GFX9-DS128-NEXT:    v_mov_b32_e32 v40, v317963; GFX9-DS128-NEXT:    v_mov_b32_e32 v42, v317964; GFX9-DS128-NEXT:    ds_write_b128 v52, v[23:26] offset:1127965; GFX9-DS128-NEXT:    v_mov_b32_e32 v21, v317966; GFX9-DS128-NEXT:    v_mov_b32_e32 v23, v317967; GFX9-DS128-NEXT:    ds_write_b128 v52, v[39:42] offset:1767968; GFX9-DS128-NEXT:    v_mov_b32_e32 v37, v317969; GFX9-DS128-NEXT:    v_mov_b32_e32 v39, v317970; GFX9-DS128-NEXT:    ds_write_b128 v52, v[20:23] offset:647971; GFX9-DS128-NEXT:    v_mov_b32_e32 v18, v317972; GFX9-DS128-NEXT:    v_mov_b32_e32 v20, v317973; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v35, 16, v87974; GFX9-DS128-NEXT:    v_and_b32_e32 v33, 0xffff, v87975; GFX9-DS128-NEXT:    v_mov_b32_e32 v8, v317976; GFX9-DS128-NEXT:    v_mov_b32_e32 v10, v317977; GFX9-DS128-NEXT:    ds_write_b128 v52, v[36:39] offset:1287978; GFX9-DS128-NEXT:    v_mov_b32_e32 v34, v317979; GFX9-DS128-NEXT:    v_mov_b32_e32 v36, v317980; GFX9-DS128-NEXT:    ds_write_b128 v52, v[17:20] offset:807981; GFX9-DS128-NEXT:    v_mov_b32_e32 v15, v317982; GFX9-DS128-NEXT:    v_mov_b32_e32 v17, v317983; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v37984; GFX9-DS128-NEXT:    v_and_b32_e32 v11, 0xffff, v37985; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v57986; GFX9-DS128-NEXT:    v_and_b32_e32 v4, 0xffff, v57987; GFX9-DS128-NEXT:    ds_write_b128 v52, v[7:10] offset:2087988; GFX9-DS128-NEXT:    ds_write_b128 v52, v[33:36] offset:1447989; GFX9-DS128-NEXT:    v_mov_b32_e32 v5, v317990; GFX9-DS128-NEXT:    v_mov_b32_e32 v7, v317991; GFX9-DS128-NEXT:    v_mov_b32_e32 v33, v317992; GFX9-DS128-NEXT:    ds_write_b128 v52, v[14:17] offset:487993; GFX9-DS128-NEXT:    v_mov_b32_e32 v12, v317994; GFX9-DS128-NEXT:    v_mov_b32_e32 v14, v317995; GFX9-DS128-NEXT:    v_mov_b32_e32 v1, v317996; GFX9-DS128-NEXT:    v_mov_b32_e32 v3, v317997; GFX9-DS128-NEXT:    ds_write_b128 v52, v[4:7] offset:327998; GFX9-DS128-NEXT:    ds_write_b128 v52, v[30:33] offset:2247999; GFX9-DS128-NEXT:    ds_write_b128 v52, v[11:14]8000; GFX9-DS128-NEXT:    ds_write_b128 v52, v[0:3] offset:168001; GFX9-DS128-NEXT:    s_endpgm8002  %load = load <32 x i16>, ptr addrspace(3) %in8003  %ext = zext <32 x i16> %load to <32 x i64>8004  store <32 x i64> %ext, ptr addrspace(3) %out8005  ret void8006}8007 8008define amdgpu_kernel void @local_sextload_v32i16_to_v32i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {8009; SI-LABEL: local_sextload_v32i16_to_v32i64:8010; SI:       ; %bb.0:8011; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x98012; SI-NEXT:    s_waitcnt lgkmcnt(0)8013; SI-NEXT:    v_mov_b32_e32 v12, s18014; SI-NEXT:    s_mov_b32 m0, -18015; SI-NEXT:    ds_read2_b64 v[4:7], v12 offset0:2 offset1:38016; SI-NEXT:    ds_read2_b64 v[0:3], v12 offset1:18017; SI-NEXT:    ds_read2_b64 v[8:11], v12 offset0:6 offset1:78018; SI-NEXT:    ds_read2_b64 v[12:15], v12 offset0:4 offset1:58019; SI-NEXT:    s_waitcnt lgkmcnt(3)8020; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v78021; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v78022; SI-NEXT:    v_bfe_i32 v18, v7, 0, 168023; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188024; SI-NEXT:    v_mov_b32_e32 v7, s08025; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:14 offset1:158026; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v58027; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v58028; SI-NEXT:    v_bfe_i32 v18, v5, 0, 168029; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188030; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:10 offset1:118031; SI-NEXT:    s_waitcnt lgkmcnt(4)8032; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v38033; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v38034; SI-NEXT:    v_bfe_i32 v18, v3, 0, 168035; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188036; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:6 offset1:78037; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v18038; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v18039; SI-NEXT:    v_bfe_i32 v18, v1, 0, 168040; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188041; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:2 offset1:38042; SI-NEXT:    s_waitcnt lgkmcnt(5)8043; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v118044; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v118045; SI-NEXT:    v_bfe_i32 v18, v11, 0, 168046; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188047; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:30 offset1:318048; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v98049; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v98050; SI-NEXT:    v_bfe_i32 v18, v9, 0, 168051; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188052; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:26 offset1:278053; SI-NEXT:    s_waitcnt lgkmcnt(6)8054; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v158055; SI-NEXT:    v_ashrrev_i32_e32 v16, 16, v158056; SI-NEXT:    v_bfe_i32 v18, v15, 0, 168057; SI-NEXT:    v_ashrrev_i32_e32 v19, 31, v188058; SI-NEXT:    ds_write2_b64 v7, v[18:19], v[16:17] offset0:22 offset1:238059; SI-NEXT:    v_ashrrev_i32_e32 v16, 31, v138060; SI-NEXT:    v_ashrrev_i32_e32 v15, 16, v138061; SI-NEXT:    v_bfe_i32 v17, v13, 0, 168062; SI-NEXT:    v_ashrrev_i32_e32 v18, 31, v178063; SI-NEXT:    ds_write2_b64 v7, v[17:18], v[15:16] offset0:18 offset1:198064; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v68065; SI-NEXT:    v_bfe_i32 v5, v6, 0, 168066; SI-NEXT:    v_ashrrev_i32_e32 v6, 31, v58067; SI-NEXT:    v_bfe_i32 v15, v1, 0, 168068; SI-NEXT:    v_ashrrev_i32_e32 v16, 31, v158069; SI-NEXT:    ds_write2_b64 v7, v[5:6], v[15:16] offset0:12 offset1:138070; SI-NEXT:    v_lshrrev_b32_e32 v1, 16, v48071; SI-NEXT:    v_lshrrev_b32_e32 v11, 16, v28072; SI-NEXT:    v_lshrrev_b32_e32 v18, 16, v108073; SI-NEXT:    v_bfe_i32 v3, v4, 0, 168074; SI-NEXT:    v_lshrrev_b32_e32 v15, 16, v88075; SI-NEXT:    v_bfe_i32 v5, v1, 0, 168076; SI-NEXT:    v_ashrrev_i32_e32 v4, 31, v38077; SI-NEXT:    v_ashrrev_i32_e32 v6, 31, v58078; SI-NEXT:    ds_write2_b64 v7, v[3:4], v[5:6] offset0:8 offset1:98079; SI-NEXT:    v_lshrrev_b32_e32 v4, 16, v148080; SI-NEXT:    v_lshrrev_b32_e32 v6, 16, v128081; SI-NEXT:    v_bfe_i32 v1, v12, 0, 168082; SI-NEXT:    v_bfe_i32 v3, v14, 0, 168083; SI-NEXT:    v_bfe_i32 v5, v8, 0, 168084; SI-NEXT:    v_bfe_i32 v8, v10, 0, 168085; SI-NEXT:    v_lshrrev_b32_e32 v14, 16, v08086; SI-NEXT:    v_bfe_i32 v9, v0, 0, 168087; SI-NEXT:    v_bfe_i32 v10, v2, 0, 168088; SI-NEXT:    v_bfe_i32 v12, v11, 0, 168089; SI-NEXT:    v_ashrrev_i32_e32 v11, 31, v108090; SI-NEXT:    v_ashrrev_i32_e32 v13, 31, v128091; SI-NEXT:    ds_write2_b64 v7, v[10:11], v[12:13] offset0:4 offset1:58092; SI-NEXT:    v_bfe_i32 v11, v6, 0, 168093; SI-NEXT:    v_ashrrev_i32_e32 v2, 31, v18094; SI-NEXT:    v_bfe_i32 v13, v4, 0, 168095; SI-NEXT:    v_ashrrev_i32_e32 v4, 31, v38096; SI-NEXT:    v_bfe_i32 v15, v15, 0, 168097; SI-NEXT:    v_ashrrev_i32_e32 v6, 31, v58098; SI-NEXT:    v_bfe_i32 v16, v14, 0, 168099; SI-NEXT:    v_ashrrev_i32_e32 v10, 31, v98100; SI-NEXT:    v_ashrrev_i32_e32 v17, 31, v168101; SI-NEXT:    ds_write2_b64 v7, v[9:10], v[16:17] offset1:18102; SI-NEXT:    v_bfe_i32 v17, v18, 0, 168103; SI-NEXT:    v_ashrrev_i32_e32 v9, 31, v88104; SI-NEXT:    v_ashrrev_i32_e32 v12, 31, v118105; SI-NEXT:    v_ashrrev_i32_e32 v14, 31, v138106; SI-NEXT:    v_ashrrev_i32_e32 v16, 31, v158107; SI-NEXT:    v_ashrrev_i32_e32 v18, 31, v178108; SI-NEXT:    ds_write2_b64 v7, v[8:9], v[17:18] offset0:28 offset1:298109; SI-NEXT:    ds_write2_b64 v7, v[5:6], v[15:16] offset0:24 offset1:258110; SI-NEXT:    ds_write2_b64 v7, v[3:4], v[13:14] offset0:20 offset1:218111; SI-NEXT:    ds_write2_b64 v7, v[1:2], v[11:12] offset0:16 offset1:178112; SI-NEXT:    s_endpgm8113;8114; VI-NO-DS128-LABEL: local_sextload_v32i16_to_v32i64:8115; VI-NO-DS128:       ; %bb.0:8116; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248117; VI-NO-DS128-NEXT:    s_mov_b32 m0, -18118; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)8119; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s18120; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v4 offset0:6 offset1:78121; VI-NO-DS128-NEXT:    ds_read2_b64 v[12:15], v4 offset0:4 offset1:58122; VI-NO-DS128-NEXT:    v_mov_b32_e32 v11, s08123; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)8124; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v38125; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v3, 0, 168126; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v5, 0, 168127; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168128; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188129; VI-NO-DS128-NEXT:    ds_read2_b64 v[7:10], v4 offset0:2 offset1:38130; VI-NO-DS128-NEXT:    ds_read2_b64 v[3:6], v4 offset1:18131; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[16:17], v[18:19] offset0:30 offset1:318132; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v28133; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v16, 0, 168134; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v2, 0, 168135; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168136; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188137; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v18138; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[18:19], v[16:17] offset0:28 offset1:298139; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v2, 0, 168140; VI-NO-DS128-NEXT:    v_bfe_i32 v1, v1, 0, 168141; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168142; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v2, 31, v18143; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[1:2], v[16:17] offset0:26 offset1:278144; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v08145; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v0, 0, 168146; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v17, 0, 168147; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188148; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168149; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[16:17], v[18:19] offset0:24 offset1:258150; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(6)8151; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v158152; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v16, 0, 168153; VI-NO-DS128-NEXT:    v_bfe_i32 v18, v15, 0, 168154; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168155; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188156; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v15, 16, v148157; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[18:19], v[16:17] offset0:22 offset1:238158; VI-NO-DS128-NEXT:    v_bfe_i32 v15, v15, 0, 168159; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v14, 0, 168160; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158161; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178162; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v14, 16, v138163; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(5)8164; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v48165; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[17:18], v[15:16] offset0:20 offset1:218166; VI-NO-DS128-NEXT:    v_bfe_i32 v14, v14, 0, 168167; VI-NO-DS128-NEXT:    v_bfe_i32 v16, v13, 0, 168168; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v148169; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168170; VI-NO-DS128-NEXT:    v_bfe_i32 v13, v0, 0, 168171; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v58172; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[16:17], v[14:15] offset0:18 offset1:198173; VI-NO-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168174; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v128175; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v12, 0, 168176; VI-NO-DS128-NEXT:    v_bfe_i32 v19, v0, 0, 168177; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v20, 31, v198178; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178179; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v108180; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[17:18], v[19:20] offset0:16 offset1:178181; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v0, 0, 168182; VI-NO-DS128-NEXT:    v_bfe_i32 v19, v10, 0, 168183; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178184; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v20, 31, v198185; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v98186; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[19:20], v[17:18] offset0:14 offset1:158187; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v0, 0, 168188; VI-NO-DS128-NEXT:    v_bfe_i32 v9, v9, 0, 168189; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178190; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98191; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v88192; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[9:10], v[17:18] offset0:12 offset1:138193; VI-NO-DS128-NEXT:    v_bfe_i32 v9, v0, 0, 168194; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v8, 0, 168195; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98196; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178197; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v78198; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[17:18], v[9:10] offset0:10 offset1:118199; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v0, 0, 168200; VI-NO-DS128-NEXT:    v_bfe_i32 v19, v7, 0, 168201; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v12, 16, v68202; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178203; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v20, 31, v198204; VI-NO-DS128-NEXT:    v_lshrrev_b32_e32 v1, 16, v38205; VI-NO-DS128-NEXT:    v_bfe_i32 v8, v12, 0, 168206; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[19:20], v[17:18] offset0:8 offset1:98207; VI-NO-DS128-NEXT:    v_bfe_i32 v17, v5, 0, 168208; VI-NO-DS128-NEXT:    v_bfe_i32 v5, v6, 0, 168209; VI-NO-DS128-NEXT:    v_bfe_i32 v1, v1, 0, 168210; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v88211; VI-NO-DS128-NEXT:    v_bfe_i32 v21, v3, 0, 168212; VI-NO-DS128-NEXT:    v_bfe_i32 v3, v4, 0, 168213; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v6, 31, v58214; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v2, 31, v18215; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138216; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158217; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v22, 31, v218218; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v4, 31, v38219; VI-NO-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178220; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[5:6], v[8:9] offset0:6 offset1:78221; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[17:18], v[15:16] offset0:4 offset1:58222; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[3:4], v[13:14] offset0:2 offset1:38223; VI-NO-DS128-NEXT:    ds_write2_b64 v11, v[21:22], v[1:2] offset1:18224; VI-NO-DS128-NEXT:    s_endpgm8225;8226; GFX9-NO-DS128-LABEL: local_sextload_v32i16_to_v32i64:8227; GFX9-NO-DS128:       ; %bb.0:8228; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248229; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)8230; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v11, s18231; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[4:7], v11 offset0:6 offset1:78232; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v11 offset0:4 offset1:58233; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v15, s08234; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(1)8235; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v8, 16, v78236; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v7, 0, 168237; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v8, 0, 168238; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168239; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188240; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[7:10], v11 offset1:18241; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[11:14], v11 offset0:2 offset1:38242; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[18:19] offset0:30 offset1:318243; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v68244; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v16, 0, 168245; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v6, 0, 168246; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168247; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188248; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v58249; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[18:19], v[16:17] offset0:28 offset1:298250; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v6, 0, 168251; GFX9-NO-DS128-NEXT:    v_bfe_i32 v5, v5, 0, 168252; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168253; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v6, 31, v58254; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[5:6], v[16:17] offset0:26 offset1:278255; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v48256; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 168257; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v17, 0, 168258; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188259; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168260; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(5)8261; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v38262; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[18:19] offset0:24 offset1:258263; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v4, 0, 168264; GFX9-NO-DS128-NEXT:    v_bfe_i32 v3, v3, 0, 168265; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168266; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v4, 31, v38267; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[3:4], v[16:17] offset0:22 offset1:238268; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v28269; GFX9-NO-DS128-NEXT:    v_bfe_i32 v3, v3, 0, 168270; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v2, 0, 168271; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v4, 31, v38272; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168273; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v18274; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[3:4] offset0:20 offset1:218275; GFX9-NO-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 168276; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v1, 0, 168277; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28278; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168279; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[2:3] offset0:18 offset1:198280; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v17, 16, v08281; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v0, 0, 168282; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v17, 0, 168283; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188284; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168285; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[18:19] offset0:16 offset1:178286; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(8)8287; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v16, 16, v148288; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v16, 0, 168289; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v14, 0, 168290; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168291; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188292; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v14, 16, v138293; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[18:19], v[16:17] offset0:14 offset1:158294; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v14, 0, 168295; GFX9-NO-DS128-NEXT:    v_bfe_i32 v13, v13, 0, 168296; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168297; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138298; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[13:14], v[16:17] offset0:12 offset1:138299; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v13, 16, v128300; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v108301; GFX9-NO-DS128-NEXT:    v_bfe_i32 v13, v13, 0, 168302; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v12, 0, 168303; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138304; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168305; GFX9-NO-DS128-NEXT:    v_bfe_i32 v12, v0, 0, 168306; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v118307; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[13:14] offset0:10 offset1:118308; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v0, 0, 168309; GFX9-NO-DS128-NEXT:    v_bfe_i32 v18, v11, 0, 168310; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168311; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v19, 31, v188312; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v78313; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v20, 16, v88314; GFX9-NO-DS128-NEXT:    v_lshrrev_b32_e32 v3, 16, v98315; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[18:19], v[16:17] offset0:8 offset1:98316; GFX9-NO-DS128-NEXT:    v_bfe_i32 v16, v9, 0, 168317; GFX9-NO-DS128-NEXT:    v_bfe_i32 v9, v10, 0, 168318; GFX9-NO-DS128-NEXT:    v_bfe_i32 v5, v5, 0, 168319; GFX9-NO-DS128-NEXT:    v_bfe_i32 v1, v20, 0, 168320; GFX9-NO-DS128-NEXT:    v_bfe_i32 v3, v3, 0, 168321; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v13, 31, v128322; GFX9-NO-DS128-NEXT:    v_bfe_i32 v20, v7, 0, 168323; GFX9-NO-DS128-NEXT:    v_bfe_i32 v7, v8, 0, 168324; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98325; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v6, 31, v58326; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v2, 31, v18327; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v4, 31, v38328; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v21, 31, v208329; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v8, 31, v78330; GFX9-NO-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168331; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[9:10], v[12:13] offset0:6 offset1:78332; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[16:17], v[3:4] offset0:4 offset1:58333; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[7:8], v[1:2] offset0:2 offset1:38334; GFX9-NO-DS128-NEXT:    ds_write2_b64 v15, v[20:21], v[5:6] offset1:18335; GFX9-NO-DS128-NEXT:    s_endpgm8336;8337; EG-LABEL: local_sextload_v32i16_to_v32i64:8338; EG:       ; %bb.0:8339; EG-NEXT:    ALU 107, @52, KC0[CB0:0-32], KC1[]8340; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8341; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)8342; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8343; EG-NEXT:     MOV T0.Y, OQAP,8344; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8345; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8346; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8347; EG-NEXT:     MOV T1.Y, OQAP,8348; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8349; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)8350; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8351; EG-NEXT:     MOV T1.Z, OQAP,8352; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8353; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8354; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8355; EG-NEXT:     MOV T1.W, OQAP,8356; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8357; EG-NEXT:    28(3.923636e-44), 0(0.000000e+00)8358; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8359; EG-NEXT:     MOV T2.Y, OQAP,8360; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8361; EG-NEXT:    24(3.363116e-44), 0(0.000000e+00)8362; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8363; EG-NEXT:     MOV T2.Z, OQAP,8364; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8365; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)8366; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8367; EG-NEXT:     MOV T2.W, OQAP,8368; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8369; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)8370; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8371; EG-NEXT:     MOV T3.Y, OQAP,8372; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8373; EG-NEXT:    44(6.165713e-44), 0(0.000000e+00)8374; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8375; EG-NEXT:     MOV T3.Z, OQAP,8376; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8377; EG-NEXT:    40(5.605194e-44), 0(0.000000e+00)8378; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8379; EG-NEXT:     MOV T3.W, OQAP,8380; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8381; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)8382; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8383; EG-NEXT:     MOV T4.Y, OQAP,8384; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8385; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)8386; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8387; EG-NEXT:     MOV T4.Z, OQAP,8388; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8389; EG-NEXT:    60(8.407791e-44), 0(0.000000e+00)8390; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8391; EG-NEXT:     MOV T4.W, OQAP,8392; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8393; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)8394; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8395; EG-NEXT:     MOV T5.Y, OQAP,8396; EG-NEXT:     MOV * T0.W, KC0[2].Z,8397; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8398; EG-NEXT:     MOV T5.Z, OQAP,8399; EG-NEXT:     BFE_INT T0.W, T5.Y, 0.0, literal.x,8400; EG-NEXT:     ADD_INT * T5.W, KC0[2].Z, literal.y,8401; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)8402; EG-NEXT:     LDS_READ_RET * OQAP, T5.W8403; EG-NEXT:     MOV * T5.W, OQAP,8404; EG-NEXT:     BFE_INT T0.Z, T5.Z, 0.0, literal.x,8405; EG-NEXT:     ASHR T6.W, T0.W, literal.y,8406; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8407; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8408; EG-NEXT:    20(2.802597e-44), 0(0.000000e+00)8409; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8410; EG-NEXT:     BFE_INT T6.Z, T0.Y, 0.0, literal.x,8411; EG-NEXT:     ASHR T6.W, T0.Z, literal.y,8412; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8413; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8414; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)8415; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8416; EG-NEXT:     BFE_INT T7.Z, T1.Y, 0.0, literal.x,8417; EG-NEXT:     ASHR T6.W, T6.Z, literal.y,8418; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8419; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8420; EG-NEXT:    52(7.286752e-44), 0(0.000000e+00)8421; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8422; EG-NEXT:     BFE_INT T8.Z, T1.Z, 0.0, literal.x,8423; EG-NEXT:     ASHR T6.W, T7.Z, literal.y, BS:VEC_120/SCL_2128424; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8425; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8426; EG-NEXT:    36(5.044674e-44), 0(0.000000e+00)8427; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8428; EG-NEXT:     BFE_INT T9.Z, T1.W, 0.0, literal.x,8429; EG-NEXT:     ASHR T6.W, T8.Z, literal.y,8430; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8431; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8432; EG-NEXT:    84(1.177091e-43), 0(0.000000e+00)8433; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8434; EG-NEXT:     BFE_INT T10.Z, T2.Y, 0.0, literal.x,8435; EG-NEXT:     ASHR T6.W, T9.Z, literal.y,8436; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8437; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8438; EG-NEXT:    68(9.528830e-44), 0(0.000000e+00)8439; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8440; EG-NEXT:     BFE_INT T11.Z, T2.Z, 0.0, literal.x,8441; EG-NEXT:     ASHR T6.W, T10.Z, literal.y, BS:VEC_120/SCL_2128442; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8443; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8444; EG-NEXT:    116(1.625506e-43), 0(0.000000e+00)8445; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8446; EG-NEXT:     BFE_INT * T12.Z, T2.W, 0.0, literal.x,8447; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8448; EG-NEXT:    ALU 98, @53, KC0[CB0:0-32], KC1[]8449; EG-NEXT:     ASHR T6.W, T11.Z, literal.x,8450; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,8451; EG-NEXT:    31(4.344025e-44), 100(1.401298e-43)8452; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8453; EG-NEXT:     BFE_INT T13.Z, T3.Y, 0.0, literal.x,8454; EG-NEXT:     ASHR T6.W, T12.Z, literal.y,8455; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8456; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8457; EG-NEXT:    148(2.073922e-43), 0(0.000000e+00)8458; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8459; EG-NEXT:     BFE_INT T14.Z, T3.Z, 0.0, literal.x,8460; EG-NEXT:     ASHR T6.W, T13.Z, literal.y, BS:VEC_120/SCL_2128461; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8462; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8463; EG-NEXT:    132(1.849714e-43), 0(0.000000e+00)8464; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8465; EG-NEXT:     BFE_INT T15.Z, T3.W, 0.0, literal.x,8466; EG-NEXT:     ASHR T6.W, T14.Z, literal.y,8467; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8468; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8469; EG-NEXT:    180(2.522337e-43), 0(0.000000e+00)8470; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8471; EG-NEXT:     BFE_INT T16.Z, T4.Y, 0.0, literal.x,8472; EG-NEXT:     ASHR T6.W, T15.Z, literal.y,8473; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8474; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8475; EG-NEXT:    164(2.298129e-43), 0(0.000000e+00)8476; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8477; EG-NEXT:     BFE_INT T17.Z, T4.Z, 0.0, literal.x,8478; EG-NEXT:     ASHR T6.W, T16.Z, literal.y, BS:VEC_120/SCL_2128479; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8480; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8481; EG-NEXT:    212(2.970753e-43), 0(0.000000e+00)8482; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8483; EG-NEXT:     BFE_INT T18.Z, T4.W, 0.0, literal.x,8484; EG-NEXT:     ASHR T6.W, T17.Z, literal.y,8485; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8486; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8487; EG-NEXT:    196(2.746545e-43), 0(0.000000e+00)8488; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8489; EG-NEXT:     BFE_INT T19.Z, T5.W, 0.0, literal.x,8490; EG-NEXT:     ASHR T6.W, T18.Z, literal.y,8491; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.z,8492; EG-NEXT:    16(2.242078e-44), 31(4.344025e-44)8493; EG-NEXT:    244(3.419168e-43), 0(0.000000e+00)8494; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8495; EG-NEXT:     ASHR T6.W, T19.Z, literal.x,8496; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,8497; EG-NEXT:    31(4.344025e-44), 228(3.194960e-43)8498; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8499; EG-NEXT:     ASHR T6.W, T5.Y, literal.x,8500; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,8501; EG-NEXT:    31(4.344025e-44), 28(3.923636e-44)8502; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8503; EG-NEXT:     ASHR T6.W, T5.Y, literal.x,8504; EG-NEXT:     ADD_INT * T7.W, KC0[2].Y, literal.y,8505; EG-NEXT:    16(2.242078e-44), 24(3.363116e-44)8506; EG-NEXT:     LDS_WRITE * T7.W, T6.W,8507; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.x,8508; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8509; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8510; EG-NEXT:     ASHR T0.W, T5.Z, literal.x,8511; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8512; EG-NEXT:    31(4.344025e-44), 12(1.681558e-44)8513; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8514; EG-NEXT:     ASHR T0.W, T5.Z, literal.x,8515; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8516; EG-NEXT:    16(2.242078e-44), 8(1.121039e-44)8517; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8518; EG-NEXT:     MOV * T0.W, KC0[2].Y,8519; EG-NEXT:     LDS_WRITE * T0.W, T0.Z,8520; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,8521; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8522; EG-NEXT:    31(4.344025e-44), 60(8.407791e-44)8523; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8524; EG-NEXT:     ASHR T0.W, T0.Y, literal.x,8525; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8526; EG-NEXT:    16(2.242078e-44), 56(7.847271e-44)8527; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8528; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8529; EG-NEXT:    48(6.726233e-44), 0(0.000000e+00)8530; EG-NEXT:     LDS_WRITE * T0.W, T6.Z,8531; EG-NEXT:     ASHR T0.W, T1.Y, literal.x,8532; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8533; EG-NEXT:    31(4.344025e-44), 44(6.165713e-44)8534; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8535; EG-NEXT:     ASHR T0.W, T1.Y, literal.x,8536; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8537; EG-NEXT:    16(2.242078e-44), 40(5.605194e-44)8538; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8539; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8540; EG-NEXT:    32(4.484155e-44), 0(0.000000e+00)8541; EG-NEXT:     LDS_WRITE * T0.W, T7.Z,8542; EG-NEXT:     ASHR T0.W, T1.Z, literal.x,8543; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8544; EG-NEXT:    31(4.344025e-44), 92(1.289195e-43)8545; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8546; EG-NEXT:     ASHR * T0.W, T1.Z, literal.x,8547; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8548; EG-NEXT:    ALU 99, @54, KC0[CB0:0-32], KC1[]8549; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.x,8550; EG-NEXT:    88(1.233143e-43), 0(0.000000e+00)8551; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8552; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8553; EG-NEXT:    80(1.121039e-43), 0(0.000000e+00)8554; EG-NEXT:     LDS_WRITE * T0.W, T8.Z,8555; EG-NEXT:     ASHR T0.W, T1.W, literal.x,8556; EG-NEXT:     ADD_INT * T6.W, KC0[2].Y, literal.y,8557; EG-NEXT:    31(4.344025e-44), 76(1.064987e-43)8558; EG-NEXT:     LDS_WRITE * T6.W, T0.W,8559; EG-NEXT:     ASHR T0.W, T1.W, literal.x,8560; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8561; EG-NEXT:    16(2.242078e-44), 72(1.008935e-43)8562; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8563; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8564; EG-NEXT:    64(8.968310e-44), 0(0.000000e+00)8565; EG-NEXT:     LDS_WRITE * T0.W, T9.Z,8566; EG-NEXT:     ASHR T0.W, T2.Y, literal.x,8567; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8568; EG-NEXT:    31(4.344025e-44), 124(1.737610e-43)8569; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8570; EG-NEXT:     ASHR T0.W, T2.Y, literal.x,8571; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8572; EG-NEXT:    16(2.242078e-44), 120(1.681558e-43)8573; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8574; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8575; EG-NEXT:    112(1.569454e-43), 0(0.000000e+00)8576; EG-NEXT:     LDS_WRITE * T0.W, T10.Z,8577; EG-NEXT:     ASHR T0.W, T2.Z, literal.x,8578; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8579; EG-NEXT:    31(4.344025e-44), 108(1.513402e-43)8580; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8581; EG-NEXT:     ASHR T0.W, T2.Z, literal.x,8582; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8583; EG-NEXT:    16(2.242078e-44), 104(1.457350e-43)8584; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8585; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8586; EG-NEXT:    96(1.345247e-43), 0(0.000000e+00)8587; EG-NEXT:     LDS_WRITE * T0.W, T11.Z,8588; EG-NEXT:     ASHR T0.W, T2.W, literal.x,8589; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8590; EG-NEXT:    31(4.344025e-44), 156(2.186026e-43)8591; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8592; EG-NEXT:     ASHR T0.W, T2.W, literal.x,8593; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8594; EG-NEXT:    16(2.242078e-44), 152(2.129974e-43)8595; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8596; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8597; EG-NEXT:    144(2.017870e-43), 0(0.000000e+00)8598; EG-NEXT:     LDS_WRITE * T0.W, T12.Z,8599; EG-NEXT:     ASHR T0.W, T3.Y, literal.x,8600; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8601; EG-NEXT:    31(4.344025e-44), 140(1.961818e-43)8602; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8603; EG-NEXT:     ASHR T0.W, T3.Y, literal.x,8604; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8605; EG-NEXT:    16(2.242078e-44), 136(1.905766e-43)8606; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8607; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8608; EG-NEXT:    128(1.793662e-43), 0(0.000000e+00)8609; EG-NEXT:     LDS_WRITE * T0.W, T13.Z,8610; EG-NEXT:     ASHR T0.W, T3.Z, literal.x,8611; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8612; EG-NEXT:    31(4.344025e-44), 188(2.634441e-43)8613; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8614; EG-NEXT:     ASHR T0.W, T3.Z, literal.x,8615; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8616; EG-NEXT:    16(2.242078e-44), 184(2.578389e-43)8617; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8618; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8619; EG-NEXT:    176(2.466285e-43), 0(0.000000e+00)8620; EG-NEXT:     LDS_WRITE * T0.W, T14.Z,8621; EG-NEXT:     ASHR T0.W, T3.W, literal.x,8622; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8623; EG-NEXT:    31(4.344025e-44), 172(2.410233e-43)8624; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8625; EG-NEXT:     ASHR T0.W, T3.W, literal.x,8626; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8627; EG-NEXT:    16(2.242078e-44), 168(2.354181e-43)8628; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8629; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8630; EG-NEXT:    160(2.242078e-43), 0(0.000000e+00)8631; EG-NEXT:     LDS_WRITE * T0.W, T15.Z,8632; EG-NEXT:     ASHR T0.W, T4.Y, literal.x,8633; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8634; EG-NEXT:    31(4.344025e-44), 220(3.082857e-43)8635; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8636; EG-NEXT:     ASHR T0.W, T4.Y, literal.x,8637; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8638; EG-NEXT:    16(2.242078e-44), 216(3.026805e-43)8639; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8640; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8641; EG-NEXT:    208(2.914701e-43), 0(0.000000e+00)8642; EG-NEXT:     LDS_WRITE * T0.W, T16.Z,8643; EG-NEXT:     ASHR T0.W, T4.Z, literal.x,8644; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8645; EG-NEXT:    31(4.344025e-44), 204(2.858649e-43)8646; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8647; EG-NEXT:     ASHR * T0.W, T4.Z, literal.x,8648; EG-NEXT:    16(2.242078e-44), 0(0.000000e+00)8649; EG-NEXT:    ALU 27, @55, KC0[CB0:0-32], KC1[]8650; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.x,8651; EG-NEXT:    200(2.802597e-43), 0(0.000000e+00)8652; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8653; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8654; EG-NEXT:    192(2.690493e-43), 0(0.000000e+00)8655; EG-NEXT:     LDS_WRITE * T0.W, T17.Z,8656; EG-NEXT:     ASHR T0.W, T4.W, literal.x,8657; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8658; EG-NEXT:    31(4.344025e-44), 252(3.531272e-43)8659; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8660; EG-NEXT:     ASHR T0.W, T4.W, literal.x,8661; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8662; EG-NEXT:    16(2.242078e-44), 248(3.475220e-43)8663; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8664; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8665; EG-NEXT:    240(3.363116e-43), 0(0.000000e+00)8666; EG-NEXT:     LDS_WRITE * T0.W, T18.Z,8667; EG-NEXT:     ASHR T0.W, T5.W, literal.x,8668; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8669; EG-NEXT:    31(4.344025e-44), 236(3.307064e-43)8670; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8671; EG-NEXT:     ASHR T0.W, T5.W, literal.x,8672; EG-NEXT:     ADD_INT * T1.W, KC0[2].Y, literal.y,8673; EG-NEXT:    16(2.242078e-44), 232(3.251012e-43)8674; EG-NEXT:     LDS_WRITE * T1.W, T0.W,8675; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8676; EG-NEXT:    224(3.138909e-43), 0(0.000000e+00)8677; EG-NEXT:     LDS_WRITE * T0.W, T19.Z,8678; EG-NEXT:    RETURN8679;8680; VI-DS128-LABEL: local_sextload_v32i16_to_v32i64:8681; VI-DS128:       ; %bb.0:8682; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248683; VI-DS128-NEXT:    s_mov_b32 m0, -18684; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)8685; VI-DS128-NEXT:    v_mov_b32_e32 v4, s18686; VI-DS128-NEXT:    ds_read_b128 v[0:3], v4 offset:488687; VI-DS128-NEXT:    ds_read_b128 v[9:12], v4 offset:328688; VI-DS128-NEXT:    v_mov_b32_e32 v8, s08689; VI-DS128-NEXT:    ds_read_b128 v[17:20], v4 offset:168690; VI-DS128-NEXT:    ds_read_b128 v[4:7], v48691; VI-DS128-NEXT:    s_waitcnt lgkmcnt(3)8692; VI-DS128-NEXT:    v_bfe_i32 v13, v2, 0, 168693; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v28694; VI-DS128-NEXT:    v_bfe_i32 v15, v2, 0, 168695; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138696; VI-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158697; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v38698; VI-DS128-NEXT:    ds_write_b128 v8, v[13:16] offset:2248699; VI-DS128-NEXT:    v_bfe_i32 v15, v2, 0, 168700; VI-DS128-NEXT:    v_bfe_i32 v13, v3, 0, 168701; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138702; VI-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158703; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v08704; VI-DS128-NEXT:    ds_write_b128 v8, v[13:16] offset:2408705; VI-DS128-NEXT:    v_bfe_i32 v15, v2, 0, 168706; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v18707; VI-DS128-NEXT:    v_bfe_i32 v13, v0, 0, 168708; VI-DS128-NEXT:    v_bfe_i32 v0, v1, 0, 168709; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 168710; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v08711; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28712; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:2088713; VI-DS128-NEXT:    s_waitcnt lgkmcnt(5)8714; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v118715; VI-DS128-NEXT:    v_bfe_i32 v0, v11, 0, 168716; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 168717; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v08718; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28719; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:1608720; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v128721; VI-DS128-NEXT:    v_bfe_i32 v0, v12, 0, 168722; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 168723; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v08724; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28725; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:1768726; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v98727; VI-DS128-NEXT:    v_bfe_i32 v0, v9, 0, 168728; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 168729; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v08730; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28731; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:1288732; VI-DS128-NEXT:    s_waitcnt lgkmcnt(6)8733; VI-DS128-NEXT:    v_bfe_i32 v0, v5, 0, 168734; VI-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v58735; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v108736; VI-DS128-NEXT:    v_bfe_i32 v9, v10, 0, 168737; VI-DS128-NEXT:    v_bfe_i32 v11, v5, 0, 168738; VI-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98739; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v118740; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v198741; VI-DS128-NEXT:    ds_write_b128 v8, v[9:12] offset:1448742; VI-DS128-NEXT:    v_bfe_i32 v9, v19, 0, 168743; VI-DS128-NEXT:    v_bfe_i32 v11, v5, 0, 168744; VI-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98745; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v118746; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v208747; VI-DS128-NEXT:    ds_write_b128 v8, v[9:12] offset:968748; VI-DS128-NEXT:    v_bfe_i32 v9, v20, 0, 168749; VI-DS128-NEXT:    v_bfe_i32 v11, v5, 0, 168750; VI-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98751; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v118752; VI-DS128-NEXT:    v_lshrrev_b32_e32 v5, 16, v178753; VI-DS128-NEXT:    ds_write_b128 v8, v[9:12] offset:1128754; VI-DS128-NEXT:    v_bfe_i32 v9, v17, 0, 168755; VI-DS128-NEXT:    v_bfe_i32 v11, v5, 0, 168756; VI-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98757; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v118758; VI-DS128-NEXT:    ds_write_b128 v8, v[9:12] offset:648759; VI-DS128-NEXT:    v_bfe_i32 v9, v4, 0, 168760; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v48761; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138762; VI-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158763; VI-DS128-NEXT:    v_bfe_i32 v11, v4, 0, 168764; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v188765; VI-DS128-NEXT:    ds_write_b128 v8, v[13:16] offset:1928766; VI-DS128-NEXT:    v_bfe_i32 v13, v18, 0, 168767; VI-DS128-NEXT:    v_bfe_i32 v15, v4, 0, 168768; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138769; VI-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158770; VI-DS128-NEXT:    ds_write_b128 v8, v[13:16] offset:808771; VI-DS128-NEXT:    v_bfe_i32 v13, v7, 0, 168772; VI-DS128-NEXT:    v_lshrrev_b32_e32 v4, 16, v78773; VI-DS128-NEXT:    v_lshrrev_b32_e32 v7, 16, v68774; VI-DS128-NEXT:    v_bfe_i32 v15, v4, 0, 168775; VI-DS128-NEXT:    v_bfe_i32 v4, v6, 0, 168776; VI-DS128-NEXT:    v_bfe_i32 v6, v7, 0, 168777; VI-DS128-NEXT:    v_bfe_i32 v2, v2, 0, 168778; VI-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v48779; VI-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v68780; VI-DS128-NEXT:    v_ashrrev_i32_e32 v1, 31, v08781; VI-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28782; VI-DS128-NEXT:    v_ashrrev_i32_e32 v10, 31, v98783; VI-DS128-NEXT:    v_ashrrev_i32_e32 v12, 31, v118784; VI-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138785; VI-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158786; VI-DS128-NEXT:    ds_write_b128 v8, v[4:7] offset:328787; VI-DS128-NEXT:    ds_write_b128 v8, v[13:16] offset:488788; VI-DS128-NEXT:    ds_write_b128 v8, v[9:12]8789; VI-DS128-NEXT:    ds_write_b128 v8, v[0:3] offset:168790; VI-DS128-NEXT:    s_endpgm8791;8792; GFX9-DS128-LABEL: local_sextload_v32i16_to_v32i64:8793; GFX9-DS128:       ; %bb.0:8794; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248795; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)8796; GFX9-DS128-NEXT:    v_mov_b32_e32 v13, s18797; GFX9-DS128-NEXT:    ds_read_b128 v[4:7], v13 offset:488798; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v13 offset:328799; GFX9-DS128-NEXT:    v_mov_b32_e32 v12, s08800; GFX9-DS128-NEXT:    ds_read_b128 v[8:11], v138801; GFX9-DS128-NEXT:    ds_read_b128 v[18:21], v13 offset:168802; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(3)8803; GFX9-DS128-NEXT:    v_bfe_i32 v14, v6, 0, 168804; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v68805; GFX9-DS128-NEXT:    v_bfe_i32 v16, v6, 0, 168806; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v15, 31, v148807; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v17, 31, v168808; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v78809; GFX9-DS128-NEXT:    ds_write_b128 v12, v[14:17] offset:2248810; GFX9-DS128-NEXT:    v_bfe_i32 v15, v6, 0, 168811; GFX9-DS128-NEXT:    v_bfe_i32 v13, v7, 0, 168812; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138813; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158814; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v48815; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:2408816; GFX9-DS128-NEXT:    v_bfe_i32 v15, v6, 0, 168817; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v6, 16, v58818; GFX9-DS128-NEXT:    v_bfe_i32 v13, v4, 0, 168819; GFX9-DS128-NEXT:    v_bfe_i32 v4, v5, 0, 168820; GFX9-DS128-NEXT:    v_bfe_i32 v6, v6, 0, 168821; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v48822; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v68823; GFX9-DS128-NEXT:    ds_write_b128 v12, v[4:7] offset:2088824; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(5)8825; GFX9-DS128-NEXT:    v_bfe_i32 v4, v2, 0, 168826; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v28827; GFX9-DS128-NEXT:    v_bfe_i32 v6, v2, 0, 168828; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v48829; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v68830; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v2, 16, v38831; GFX9-DS128-NEXT:    ds_write_b128 v12, v[4:7] offset:1608832; GFX9-DS128-NEXT:    v_bfe_i32 v4, v3, 0, 168833; GFX9-DS128-NEXT:    v_bfe_i32 v6, v2, 0, 168834; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v48835; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v68836; GFX9-DS128-NEXT:    v_bfe_i32 v2, v0, 0, 168837; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v08838; GFX9-DS128-NEXT:    ds_write_b128 v12, v[4:7] offset:1768839; GFX9-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 168840; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28841; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v48842; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(6)8843; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v98844; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138845; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158846; GFX9-DS128-NEXT:    ds_write_b128 v12, v[2:5] offset:1288847; GFX9-DS128-NEXT:    v_bfe_i32 v4, v0, 0, 168848; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v18849; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:1928850; GFX9-DS128-NEXT:    v_bfe_i32 v13, v1, 0, 168851; GFX9-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168852; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138853; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158854; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(7)8855; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v208856; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:1448857; GFX9-DS128-NEXT:    v_bfe_i32 v13, v20, 0, 168858; GFX9-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168859; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138860; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158861; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v218862; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:968863; GFX9-DS128-NEXT:    v_bfe_i32 v13, v21, 0, 168864; GFX9-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168865; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138866; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158867; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v188868; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:1128869; GFX9-DS128-NEXT:    v_bfe_i32 v13, v18, 0, 168870; GFX9-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168871; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v88872; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138873; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158874; GFX9-DS128-NEXT:    v_bfe_i32 v6, v8, 0, 168875; GFX9-DS128-NEXT:    v_bfe_i32 v8, v0, 0, 168876; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v198877; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:648878; GFX9-DS128-NEXT:    v_bfe_i32 v13, v19, 0, 168879; GFX9-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168880; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138881; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158882; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v118883; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:808884; GFX9-DS128-NEXT:    v_bfe_i32 v15, v0, 0, 168885; GFX9-DS128-NEXT:    v_lshrrev_b32_e32 v0, 16, v108886; GFX9-DS128-NEXT:    v_bfe_i32 v17, v10, 0, 168887; GFX9-DS128-NEXT:    v_bfe_i32 v19, v0, 0, 168888; GFX9-DS128-NEXT:    v_bfe_i32 v2, v9, 0, 168889; GFX9-DS128-NEXT:    v_bfe_i32 v13, v11, 0, 168890; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v18, 31, v178891; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v20, 31, v198892; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v3, 31, v28893; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v5, 31, v48894; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v7, 31, v68895; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v9, 31, v88896; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v14, 31, v138897; GFX9-DS128-NEXT:    v_ashrrev_i32_e32 v16, 31, v158898; GFX9-DS128-NEXT:    ds_write_b128 v12, v[17:20] offset:328899; GFX9-DS128-NEXT:    ds_write_b128 v12, v[13:16] offset:488900; GFX9-DS128-NEXT:    ds_write_b128 v12, v[6:9]8901; GFX9-DS128-NEXT:    ds_write_b128 v12, v[2:5] offset:168902; GFX9-DS128-NEXT:    s_endpgm8903  %load = load <32 x i16>, ptr addrspace(3) %in8904  %ext = sext <32 x i16> %load to <32 x i64>8905  store <32 x i64> %ext, ptr addrspace(3) %out8906  ret void8907}8908 8909; ; XFUNC-LABEL: {{^}}local_zextload_v64i16_to_v64i64:8910; define amdgpu_kernel void @local_zextload_v64i16_to_v64i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {8911;   %load = load <64 x i16>, ptr addrspace(3) %in8912;   %ext = zext <64 x i16> %load to <64 x i64>8913;   store <64 x i64> %ext, ptr addrspace(3) %out8914;   ret void8915; }8916 8917; ; XFUNC-LABEL: {{^}}local_sextload_v64i16_to_v64i64:8918; define amdgpu_kernel void @local_sextload_v64i16_to_v64i64(ptr addrspace(3) %out, ptr addrspace(3) %in) #0 {8919;   %load = load <64 x i16>, ptr addrspace(3) %in8920;   %ext = sext <64 x i16> %load to <64 x i64>8921;   store <64 x i64> %ext, ptr addrspace(3) %out8922;   ret void8923; }8924 8925; Tests if ds_read/write_b128 gets generated for the 16 byte aligned load.8926define amdgpu_kernel void @local_v8i16_to_128(ptr addrspace(3) %out, ptr addrspace(3) %in) {8927; SI-LABEL: local_v8i16_to_128:8928; SI:       ; %bb.0:8929; SI-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x98930; SI-NEXT:    s_waitcnt lgkmcnt(0)8931; SI-NEXT:    v_mov_b32_e32 v0, s18932; SI-NEXT:    s_mov_b32 m0, -18933; SI-NEXT:    ds_read2_b64 v[0:3], v0 offset1:18934; SI-NEXT:    v_mov_b32_e32 v4, s08935; SI-NEXT:    s_waitcnt lgkmcnt(0)8936; SI-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:18937; SI-NEXT:    s_endpgm8938;8939; VI-NO-DS128-LABEL: local_v8i16_to_128:8940; VI-NO-DS128:       ; %bb.0:8941; VI-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248942; VI-NO-DS128-NEXT:    s_mov_b32 m0, -18943; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)8944; VI-NO-DS128-NEXT:    v_mov_b32_e32 v0, s18945; VI-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:18946; VI-NO-DS128-NEXT:    v_mov_b32_e32 v4, s08947; VI-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)8948; VI-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:18949; VI-NO-DS128-NEXT:    s_endpgm8950;8951; GFX9-NO-DS128-LABEL: local_v8i16_to_128:8952; GFX9-NO-DS128:       ; %bb.0:8953; GFX9-NO-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248954; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)8955; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v0, s18956; GFX9-NO-DS128-NEXT:    ds_read2_b64 v[0:3], v0 offset1:18957; GFX9-NO-DS128-NEXT:    v_mov_b32_e32 v4, s08958; GFX9-NO-DS128-NEXT:    s_waitcnt lgkmcnt(0)8959; GFX9-NO-DS128-NEXT:    ds_write2_b64 v4, v[0:1], v[2:3] offset1:18960; GFX9-NO-DS128-NEXT:    s_endpgm8961;8962; EG-LABEL: local_v8i16_to_128:8963; EG:       ; %bb.0:8964; EG-NEXT:    ALU 25, @56, KC0[CB0:0-32], KC1[]8965; EG-NEXT:     MOV * T0.W, KC0[2].Z,8966; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8967; EG-NEXT:     MOV T0.X, OQAP,8968; EG-NEXT:     MOV * T0.W, KC0[2].Y,8969; EG-NEXT:     LDS_WRITE * T0.W, T0.X,8970; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8971; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)8972; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8973; EG-NEXT:     MOV T0.X, OQAP,8974; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8975; EG-NEXT:    4(5.605194e-45), 0(0.000000e+00)8976; EG-NEXT:     LDS_WRITE * T0.W, T0.X,8977; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8978; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8979; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8980; EG-NEXT:     MOV T0.X, OQAP,8981; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8982; EG-NEXT:    8(1.121039e-44), 0(0.000000e+00)8983; EG-NEXT:     LDS_WRITE * T0.W, T0.X,8984; EG-NEXT:     ADD_INT * T0.W, KC0[2].Z, literal.x,8985; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)8986; EG-NEXT:     LDS_READ_RET * OQAP, T0.W8987; EG-NEXT:     MOV T0.X, OQAP,8988; EG-NEXT:     ADD_INT * T0.W, KC0[2].Y, literal.x,8989; EG-NEXT:    12(1.681558e-44), 0(0.000000e+00)8990; EG-NEXT:     LDS_WRITE * T0.W, T0.X,8991; EG-NEXT:    RETURN8992;8993; VI-DS128-LABEL: local_v8i16_to_128:8994; VI-DS128:       ; %bb.0:8995; VI-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x248996; VI-DS128-NEXT:    s_mov_b32 m0, -18997; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)8998; VI-DS128-NEXT:    v_mov_b32_e32 v0, s18999; VI-DS128-NEXT:    ds_read_b128 v[0:3], v09000; VI-DS128-NEXT:    v_mov_b32_e32 v4, s09001; VI-DS128-NEXT:    s_waitcnt lgkmcnt(0)9002; VI-DS128-NEXT:    ds_write_b128 v4, v[0:3]9003; VI-DS128-NEXT:    s_endpgm9004;9005; GFX9-DS128-LABEL: local_v8i16_to_128:9006; GFX9-DS128:       ; %bb.0:9007; GFX9-DS128-NEXT:    s_load_dwordx2 s[0:1], s[4:5], 0x249008; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)9009; GFX9-DS128-NEXT:    v_mov_b32_e32 v0, s19010; GFX9-DS128-NEXT:    ds_read_b128 v[0:3], v09011; GFX9-DS128-NEXT:    v_mov_b32_e32 v4, s09012; GFX9-DS128-NEXT:    s_waitcnt lgkmcnt(0)9013; GFX9-DS128-NEXT:    ds_write_b128 v4, v[0:3]9014; GFX9-DS128-NEXT:    s_endpgm9015  %ld = load <8 x i16>, ptr addrspace(3) %in, align 169016  store <8 x i16> %ld, ptr addrspace(3) %out, align 169017  ret void9018}9019 9020attributes #0 = { nounwind }9021