; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -global-isel=0 -mtriple=amdgpu8.02 < %s | FileCheck -enable-var-scope -check-prefix=GFX8-UNPACKED-SDAG %s
; RUN: llc -global-isel  -mtriple=amdgpu8.02 < %s | FileCheck -enable-var-scope -check-prefix=GFX8-UNPACKED-GISEL %s
; RUN: llc -global-isel=0 -mtriple=amdgpu8.10 < %s | FileCheck -enable-var-scope -check-prefix=GFX8-PACKED-SDAG %s
; RUN: llc -global-isel  -mtriple=amdgpu8.10 < %s | FileCheck -enable-var-scope -check-prefix=GFX8-PACKED-GISEL %s
; RUN: llc -global-isel=0 -mtriple=amdgpu9.00 < %s | FileCheck -enable-var-scope -check-prefix=GFX9-SDAG %s
; RUN: llc -global-isel  -mtriple=amdgpu9.00 < %s | FileCheck -enable-var-scope -check-prefix=GFX9-GISEL %s

define amdgpu_kernel void @load_f16_tfe(ptr addrspace(8) inreg %rsrc, ptr addrspace(1) %out, ptr addrspace(1) %status) {
; GFX8-UNPACKED-SDAG-LABEL: load_f16_tfe:
; GFX8-UNPACKED-SDAG:       ; %bb.0:
; GFX8-UNPACKED-SDAG-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    buffer_load_format_d16_x v[0:1], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v2, s4
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s5
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s6
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s7
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_short v[2:3], v0
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[4:5], v1
; GFX8-UNPACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-UNPACKED-GISEL-LABEL: load_f16_tfe:
; GFX8-UNPACKED-GISEL:       ; %bb.0:
; GFX8-UNPACKED-GISEL-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    buffer_load_format_d16_x v[0:1], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v2, s4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s5
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s6
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s7
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_short v[2:3], v0
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[4:5], v1
; GFX8-UNPACKED-GISEL-NEXT:    s_endpgm
;
; GFX8-PACKED-SDAG-LABEL: load_f16_tfe:
; GFX8-PACKED-SDAG:       ; %bb.0:
; GFX8-PACKED-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    buffer_load_format_d16_x v[0:1], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v2, s12
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s13
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s14
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s15
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    flat_store_short v[2:3], v0
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[4:5], v1
; GFX8-PACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-PACKED-GISEL-LABEL: load_f16_tfe:
; GFX8-PACKED-GISEL:       ; %bb.0:
; GFX8-PACKED-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    buffer_load_format_d16_x v[0:1], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v2, s12
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s13
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s14
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s15
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    flat_store_short v[2:3], v0
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[4:5], v1
; GFX8-PACKED-GISEL-NEXT:    s_endpgm
;
; GFX9-SDAG-LABEL: load_f16_tfe:
; GFX9-SDAG:       ; %bb.0:
; GFX9-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-SDAG-NEXT:    buffer_load_format_d16_x v[1:2], v0, s[8:11], 0 idxen tfe
; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX9-SDAG-NEXT:    global_store_short v0, v1, s[12:13]
; GFX9-SDAG-NEXT:    global_store_dword v0, v2, s[14:15]
; GFX9-SDAG-NEXT:    s_endpgm
;
; GFX9-GISEL-LABEL: load_f16_tfe:
; GFX9-GISEL:       ; %bb.0:
; GFX9-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-GISEL-NEXT:    buffer_load_format_d16_x v[1:2], v0, s[8:11], 0 idxen tfe
; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX9-GISEL-NEXT:    global_store_short v0, v1, s[12:13]
; GFX9-GISEL-NEXT:    global_store_dword v0, v2, s[14:15]
; GFX9-GISEL-NEXT:    s_endpgm
  %r = call {half, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_f16i32s(ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0, i32 0)
  %data = extractvalue {half, i32} %r, 0
  %st = extractvalue {half, i32} %r, 1
  store half %data, ptr addrspace(1) %out
  store i32 %st, ptr addrspace(1) %status
  ret void
}

define amdgpu_kernel void @load_v3i16_tfe(ptr addrspace(8) inreg %rsrc, ptr addrspace(1) %out, ptr addrspace(1) %status) {
; GFX8-UNPACKED-SDAG-LABEL: load_v3i16_tfe:
; GFX8-UNPACKED-SDAG:       ; %bb.0:
; GFX8-UNPACKED-SDAG-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v3, v0
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    buffer_load_format_d16_xyz v[0:3], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-SDAG-NEXT:    s_add_u32 s0, s4, 4
; GFX8-UNPACKED-SDAG-NEXT:    s_addc_u32 s1, s5, 0
; GFX8-UNPACKED-SDAG-NEXT:    s_mov_b32 s2, 0x1000504
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v9, s1
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v8, s0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s6
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s7
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v7, s5
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s4
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    v_perm_b32 v0, v0, v1, s2
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_short v[8:9], v2
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[6:7], v0
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[4:5], v3
; GFX8-UNPACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-UNPACKED-GISEL-LABEL: load_v3i16_tfe:
; GFX8-UNPACKED-GISEL:       ; %bb.0:
; GFX8-UNPACKED-GISEL-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v3, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    buffer_load_format_d16_xyz v[0:3], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-GISEL-NEXT:    s_add_u32 s0, s4, 2
; GFX8-UNPACKED-GISEL-NEXT:    s_addc_u32 s1, s5, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v9, s1
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v8, s0
; GFX8-UNPACKED-GISEL-NEXT:    s_add_u32 s0, s4, 4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s5
; GFX8-UNPACKED-GISEL-NEXT:    s_addc_u32 s1, s5, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s6
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v7, s7
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v11, s1
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v10, s0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_short v[4:5], v0
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_short v[8:9], v1
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_short v[10:11], v2
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[6:7], v3
; GFX8-UNPACKED-GISEL-NEXT:    s_endpgm
;
; GFX8-PACKED-SDAG-LABEL: load_v3i16_tfe:
; GFX8-PACKED-SDAG:       ; %bb.0:
; GFX8-PACKED-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    buffer_load_format_d16_xyz v[0:2], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-SDAG-NEXT:    s_add_u32 s0, s12, 4
; GFX8-PACKED-SDAG-NEXT:    s_addc_u32 s1, s13, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v8, s1
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v7, s0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s14
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s15
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s12
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s13
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    flat_store_short v[7:8], v1
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[5:6], v0
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[3:4], v2
; GFX8-PACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-PACKED-GISEL-LABEL: load_v3i16_tfe:
; GFX8-PACKED-GISEL:       ; %bb.0:
; GFX8-PACKED-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    buffer_load_format_d16_xyz v[0:2], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s12
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s13
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s14
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s15
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-PACKED-GISEL-NEXT:    s_lshr_b32 s1, s0, 16
; GFX8-PACKED-GISEL-NEXT:    s_add_u32 s0, s12, 2
; GFX8-PACKED-GISEL-NEXT:    flat_store_short v[3:4], v0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s1
; GFX8-PACKED-GISEL-NEXT:    s_addc_u32 s1, s13, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s1
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s0
; GFX8-PACKED-GISEL-NEXT:    s_add_u32 s0, s12, 4
; GFX8-PACKED-GISEL-NEXT:    s_addc_u32 s1, s13, 0
; GFX8-PACKED-GISEL-NEXT:    flat_store_short v[3:4], v0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s1
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s0
; GFX8-PACKED-GISEL-NEXT:    flat_store_short v[3:4], v1
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[5:6], v2
; GFX8-PACKED-GISEL-NEXT:    s_endpgm
;
; GFX9-SDAG-LABEL: load_v3i16_tfe:
; GFX9-SDAG:       ; %bb.0:
; GFX9-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v3, v2
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-SDAG-NEXT:    buffer_load_format_d16_xyz v[1:3], v0, s[8:11], 0 idxen tfe
; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX9-SDAG-NEXT:    global_store_short v0, v2, s[12:13] offset:4
; GFX9-SDAG-NEXT:    global_store_dword v0, v1, s[12:13]
; GFX9-SDAG-NEXT:    global_store_dword v0, v3, s[14:15]
; GFX9-SDAG-NEXT:    s_endpgm
;
; GFX9-GISEL-LABEL: load_v3i16_tfe:
; GFX9-GISEL:       ; %bb.0:
; GFX9-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v3, v2
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-GISEL-NEXT:    buffer_load_format_d16_xyz v[1:3], v0, s[8:11], 0 idxen tfe
; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX9-GISEL-NEXT:    global_store_short v0, v1, s[12:13]
; GFX9-GISEL-NEXT:    global_store_short v0, v2, s[12:13] offset:4
; GFX9-GISEL-NEXT:    v_readfirstlane_b32 s0, v1
; GFX9-GISEL-NEXT:    s_lshr_b32 s0, s0, 16
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, s0
; GFX9-GISEL-NEXT:    global_store_short v0, v1, s[12:13] offset:2
; GFX9-GISEL-NEXT:    global_store_dword v0, v3, s[14:15]
; GFX9-GISEL-NEXT:    s_endpgm
  %r = call {<3 x i16>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v3i16i32s(ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0, i32 0)
  %data = extractvalue {<3 x i16>, i32} %r, 0
  %st = extractvalue {<3 x i16>, i32} %r, 1
  store <3 x i16> %data, ptr addrspace(1) %out
  store i32 %st, ptr addrspace(1) %status
  ret void
}

define amdgpu_kernel void @load_v2f16_tfe(ptr addrspace(8) inreg %rsrc, ptr addrspace(1) %out, ptr addrspace(1) %status) {
; GFX8-UNPACKED-SDAG-LABEL: load_v2f16_tfe:
; GFX8-UNPACKED-SDAG:       ; %bb.0:
; GFX8-UNPACKED-SDAG-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    buffer_load_format_d16_xy v[0:2], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-SDAG-NEXT:    s_mov_b32 s0, 0x1000504
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s4
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s5
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s6
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s7
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    v_perm_b32 v0, v0, v1, s0
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[3:4], v0
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[5:6], v2
; GFX8-UNPACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-UNPACKED-GISEL-LABEL: load_v2f16_tfe:
; GFX8-UNPACKED-GISEL:       ; %bb.0:
; GFX8-UNPACKED-GISEL-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    buffer_load_format_d16_xy v[0:2], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s5
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s6
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s7
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s1, v1
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s1, s1, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s0, s0, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_lshl_b32 s1, s1, 16
; GFX8-UNPACKED-GISEL-NEXT:    s_or_b32 s0, s0, s1
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s0
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[3:4], v0
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[5:6], v2
; GFX8-UNPACKED-GISEL-NEXT:    s_endpgm
;
; GFX8-PACKED-SDAG-LABEL: load_v2f16_tfe:
; GFX8-PACKED-SDAG:       ; %bb.0:
; GFX8-PACKED-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    buffer_load_format_d16_xy v[0:1], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v2, s12
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s13
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s14
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s15
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[2:3], v0
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[4:5], v1
; GFX8-PACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-PACKED-GISEL-LABEL: load_v2f16_tfe:
; GFX8-PACKED-GISEL:       ; %bb.0:
; GFX8-PACKED-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    buffer_load_format_d16_xy v[0:1], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v2, s12
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s13
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s14
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s15
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[2:3], v0
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[4:5], v1
; GFX8-PACKED-GISEL-NEXT:    s_endpgm
;
; GFX9-SDAG-LABEL: load_v2f16_tfe:
; GFX9-SDAG:       ; %bb.0:
; GFX9-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-SDAG-NEXT:    buffer_load_format_d16_xy v[1:2], v0, s[8:11], 0 idxen tfe
; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX9-SDAG-NEXT:    global_store_dword v0, v1, s[12:13]
; GFX9-SDAG-NEXT:    global_store_dword v0, v2, s[14:15]
; GFX9-SDAG-NEXT:    s_endpgm
;
; GFX9-GISEL-LABEL: load_v2f16_tfe:
; GFX9-GISEL:       ; %bb.0:
; GFX9-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-GISEL-NEXT:    buffer_load_format_d16_xy v[1:2], v0, s[8:11], 0 idxen tfe
; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX9-GISEL-NEXT:    global_store_dword v0, v1, s[12:13]
; GFX9-GISEL-NEXT:    global_store_dword v0, v2, s[14:15]
; GFX9-GISEL-NEXT:    s_endpgm
  %r = call {<2 x half>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v2f16i32s(ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0, i32 0)
  %data = extractvalue {<2 x half>, i32} %r, 0
  %st = extractvalue {<2 x half>, i32} %r, 1
  store <2 x half> %data, ptr addrspace(1) %out
  store i32 %st, ptr addrspace(1) %status
  ret void
}

define amdgpu_kernel void @load_v2i16_tfe(ptr addrspace(8) inreg %rsrc, ptr addrspace(1) %out, ptr addrspace(1) %status) {
; GFX8-UNPACKED-SDAG-LABEL: load_v2i16_tfe:
; GFX8-UNPACKED-SDAG:       ; %bb.0:
; GFX8-UNPACKED-SDAG-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    buffer_load_format_d16_xy v[0:2], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-SDAG-NEXT:    s_mov_b32 s0, 0x1000504
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s4
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s5
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s6
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s7
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    v_perm_b32 v0, v0, v1, s0
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[3:4], v0
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[5:6], v2
; GFX8-UNPACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-UNPACKED-GISEL-LABEL: load_v2i16_tfe:
; GFX8-UNPACKED-GISEL:       ; %bb.0:
; GFX8-UNPACKED-GISEL-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    buffer_load_format_d16_xy v[0:2], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s5
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s6
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s7
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s1, v1
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s1, s1, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s0, s0, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_lshl_b32 s1, s1, 16
; GFX8-UNPACKED-GISEL-NEXT:    s_or_b32 s0, s0, s1
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s0
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[3:4], v0
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[5:6], v2
; GFX8-UNPACKED-GISEL-NEXT:    s_endpgm
;
; GFX8-PACKED-SDAG-LABEL: load_v2i16_tfe:
; GFX8-PACKED-SDAG:       ; %bb.0:
; GFX8-PACKED-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    buffer_load_format_d16_xy v[0:1], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v2, s12
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s13
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s14
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s15
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[2:3], v0
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[4:5], v1
; GFX8-PACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-PACKED-GISEL-LABEL: load_v2i16_tfe:
; GFX8-PACKED-GISEL:       ; %bb.0:
; GFX8-PACKED-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    buffer_load_format_d16_xy v[0:1], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v2, s12
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s13
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s14
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s15
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[2:3], v0
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[4:5], v1
; GFX8-PACKED-GISEL-NEXT:    s_endpgm
;
; GFX9-SDAG-LABEL: load_v2i16_tfe:
; GFX9-SDAG:       ; %bb.0:
; GFX9-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-SDAG-NEXT:    buffer_load_format_d16_xy v[1:2], v0, s[8:11], 0 idxen tfe
; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX9-SDAG-NEXT:    global_store_dword v0, v1, s[12:13]
; GFX9-SDAG-NEXT:    global_store_dword v0, v2, s[14:15]
; GFX9-SDAG-NEXT:    s_endpgm
;
; GFX9-GISEL-LABEL: load_v2i16_tfe:
; GFX9-GISEL:       ; %bb.0:
; GFX9-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-GISEL-NEXT:    buffer_load_format_d16_xy v[1:2], v0, s[8:11], 0 idxen tfe
; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX9-GISEL-NEXT:    global_store_dword v0, v1, s[12:13]
; GFX9-GISEL-NEXT:    global_store_dword v0, v2, s[14:15]
; GFX9-GISEL-NEXT:    s_endpgm
  %r = call {<2 x i16>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v2i16i32s(ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0, i32 0)
  %data = extractvalue {<2 x i16>, i32} %r, 0
  %st = extractvalue {<2 x i16>, i32} %r, 1
  store <2 x i16> %data, ptr addrspace(1) %out
  store i32 %st, ptr addrspace(1) %status
  ret void
}

define amdgpu_kernel void @load_v4f16_tfe(ptr addrspace(8) inreg %rsrc, ptr addrspace(1) %out, ptr addrspace(1) %status) {
; GFX8-UNPACKED-SDAG-LABEL: load_v4f16_tfe:
; GFX8-UNPACKED-SDAG:       ; %bb.0:
; GFX8-UNPACKED-SDAG-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v3, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v4, v0
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    buffer_load_format_d16_xyzw v[0:4], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s4
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s5
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v7, s6
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v8, s7
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    v_lshlrev_b32_e32 v3, 16, v3
; GFX8-UNPACKED-SDAG-NEXT:    v_lshlrev_b32_e32 v9, 16, v1
; GFX8-UNPACKED-SDAG-NEXT:    v_or_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
; GFX8-UNPACKED-SDAG-NEXT:    v_or_b32_sdwa v0, v0, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dwordx2 v[5:6], v[0:1]
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[7:8], v4
; GFX8-UNPACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-UNPACKED-GISEL-LABEL: load_v4f16_tfe:
; GFX8-UNPACKED-GISEL:       ; %bb.0:
; GFX8-UNPACKED-GISEL-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v3, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v4, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    buffer_load_format_d16_xyzw v[0:4], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s5
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v8, s7
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v7, s6
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s1, v1
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s3, v3
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s2, v2
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s1, s1, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s3, s3, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s0, s0, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s2, s2, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_lshl_b32 s1, s1, 16
; GFX8-UNPACKED-GISEL-NEXT:    s_lshl_b32 s3, s3, 16
; GFX8-UNPACKED-GISEL-NEXT:    s_or_b32 s0, s0, s1
; GFX8-UNPACKED-GISEL-NEXT:    s_or_b32 s1, s2, s3
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, s1
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dwordx2 v[5:6], v[0:1]
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[7:8], v4
; GFX8-UNPACKED-GISEL-NEXT:    s_endpgm
;
; GFX8-PACKED-SDAG-LABEL: load_v4f16_tfe:
; GFX8-PACKED-SDAG:       ; %bb.0:
; GFX8-PACKED-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    buffer_load_format_d16_xyzw v[0:2], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s12
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s13
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s14
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s15
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    flat_store_dwordx2 v[3:4], v[0:1]
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[5:6], v2
; GFX8-PACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-PACKED-GISEL-LABEL: load_v4f16_tfe:
; GFX8-PACKED-GISEL:       ; %bb.0:
; GFX8-PACKED-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    buffer_load_format_d16_xyzw v[0:2], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s12
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s13
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s14
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s15
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-PACKED-GISEL-NEXT:    v_readfirstlane_b32 s1, v1
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, s1
; GFX8-PACKED-GISEL-NEXT:    flat_store_dwordx2 v[3:4], v[0:1]
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[5:6], v2
; GFX8-PACKED-GISEL-NEXT:    s_endpgm
;
; GFX9-SDAG-LABEL: load_v4f16_tfe:
; GFX9-SDAG:       ; %bb.0:
; GFX9-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v3, v2
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-SDAG-NEXT:    buffer_load_format_d16_xyzw v[1:3], v0, s[8:11], 0 idxen tfe
; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX9-SDAG-NEXT:    global_store_dwordx2 v0, v[1:2], s[12:13]
; GFX9-SDAG-NEXT:    global_store_dword v0, v3, s[14:15]
; GFX9-SDAG-NEXT:    s_endpgm
;
; GFX9-GISEL-LABEL: load_v4f16_tfe:
; GFX9-GISEL:       ; %bb.0:
; GFX9-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v3, v2
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-GISEL-NEXT:    buffer_load_format_d16_xyzw v[1:3], v0, s[8:11], 0 idxen tfe
; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX9-GISEL-NEXT:    v_readfirstlane_b32 s0, v1
; GFX9-GISEL-NEXT:    v_readfirstlane_b32 s1, v2
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, s1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, s0
; GFX9-GISEL-NEXT:    global_store_dwordx2 v0, v[1:2], s[12:13]
; GFX9-GISEL-NEXT:    global_store_dword v0, v3, s[14:15]
; GFX9-GISEL-NEXT:    s_endpgm
  %r = call {<4 x half>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v4f16i32s(ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0, i32 0)
  %data = extractvalue {<4 x half>, i32} %r, 0
  %st = extractvalue {<4 x half>, i32} %r, 1
  store <4 x half> %data, ptr addrspace(1) %out
  store i32 %st, ptr addrspace(1) %status
  ret void
}

define amdgpu_kernel void @load_v4i16_tfe(ptr addrspace(8) inreg %rsrc, ptr addrspace(1) %out, ptr addrspace(1) %status) {
; GFX8-UNPACKED-SDAG-LABEL: load_v4i16_tfe:
; GFX8-UNPACKED-SDAG:       ; %bb.0:
; GFX8-UNPACKED-SDAG-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v3, v0
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v4, v0
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    buffer_load_format_d16_xyzw v[0:4], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s4
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s5
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v7, s6
; GFX8-UNPACKED-SDAG-NEXT:    v_mov_b32_e32 v8, s7
; GFX8-UNPACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-SDAG-NEXT:    v_lshlrev_b32_e32 v3, 16, v3
; GFX8-UNPACKED-SDAG-NEXT:    v_lshlrev_b32_e32 v9, 16, v1
; GFX8-UNPACKED-SDAG-NEXT:    v_or_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
; GFX8-UNPACKED-SDAG-NEXT:    v_or_b32_sdwa v0, v0, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dwordx2 v[5:6], v[0:1]
; GFX8-UNPACKED-SDAG-NEXT:    flat_store_dword v[7:8], v4
; GFX8-UNPACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-UNPACKED-GISEL-LABEL: load_v4i16_tfe:
; GFX8-UNPACKED-GISEL:       ; %bb.0:
; GFX8-UNPACKED-GISEL-NEXT:    s_load_dwordx8 s[0:7], s[4:5], 0x24
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v3, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v4, v0
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    buffer_load_format_d16_xyzw v[0:4], v0, s[0:3], 0 idxen tfe
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s5
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s4
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v8, s7
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v7, s6
; GFX8-UNPACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s1, v1
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s3, v3
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-UNPACKED-GISEL-NEXT:    v_readfirstlane_b32 s2, v2
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s1, s1, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s3, s3, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s0, s0, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_and_b32 s2, s2, 0xffff
; GFX8-UNPACKED-GISEL-NEXT:    s_lshl_b32 s1, s1, 16
; GFX8-UNPACKED-GISEL-NEXT:    s_lshl_b32 s3, s3, 16
; GFX8-UNPACKED-GISEL-NEXT:    s_or_b32 s0, s0, s1
; GFX8-UNPACKED-GISEL-NEXT:    s_or_b32 s1, s2, s3
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s0
; GFX8-UNPACKED-GISEL-NEXT:    v_mov_b32_e32 v1, s1
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dwordx2 v[5:6], v[0:1]
; GFX8-UNPACKED-GISEL-NEXT:    flat_store_dword v[7:8], v4
; GFX8-UNPACKED-GISEL-NEXT:    s_endpgm
;
; GFX8-PACKED-SDAG-LABEL: load_v4i16_tfe:
; GFX8-PACKED-SDAG:       ; %bb.0:
; GFX8-PACKED-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    buffer_load_format_d16_xyzw v[0:2], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v3, s12
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v4, s13
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v5, s14
; GFX8-PACKED-SDAG-NEXT:    v_mov_b32_e32 v6, s15
; GFX8-PACKED-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-SDAG-NEXT:    flat_store_dwordx2 v[3:4], v[0:1]
; GFX8-PACKED-SDAG-NEXT:    flat_store_dword v[5:6], v2
; GFX8-PACKED-SDAG-NEXT:    s_endpgm
;
; GFX8-PACKED-GISEL-LABEL: load_v4i16_tfe:
; GFX8-PACKED-GISEL:       ; %bb.0:
; GFX8-PACKED-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    buffer_load_format_d16_xyzw v[0:2], v0, s[8:11], 0 idxen tfe
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v3, s12
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v4, s13
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v5, s14
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v6, s15
; GFX8-PACKED-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX8-PACKED-GISEL-NEXT:    v_readfirstlane_b32 s0, v0
; GFX8-PACKED-GISEL-NEXT:    v_readfirstlane_b32 s1, v1
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v0, s0
; GFX8-PACKED-GISEL-NEXT:    v_mov_b32_e32 v1, s1
; GFX8-PACKED-GISEL-NEXT:    flat_store_dwordx2 v[3:4], v[0:1]
; GFX8-PACKED-GISEL-NEXT:    flat_store_dword v[5:6], v2
; GFX8-PACKED-GISEL-NEXT:    s_endpgm
;
; GFX9-SDAG-LABEL: load_v4i16_tfe:
; GFX9-SDAG:       ; %bb.0:
; GFX9-SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v0
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v3, v2
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-SDAG-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-SDAG-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-SDAG-NEXT:    buffer_load_format_d16_xyzw v[1:3], v0, s[8:11], 0 idxen tfe
; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0)
; GFX9-SDAG-NEXT:    global_store_dwordx2 v0, v[1:2], s[12:13]
; GFX9-SDAG-NEXT:    global_store_dword v0, v3, s[14:15]
; GFX9-SDAG-NEXT:    s_endpgm
;
; GFX9-GISEL-LABEL: load_v4i16_tfe:
; GFX9-GISEL:       ; %bb.0:
; GFX9-GISEL-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v0, 0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v0
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v3, v2
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, v1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, v0
; GFX9-GISEL-NEXT:    s_waitcnt lgkmcnt(0)
; GFX9-GISEL-NEXT:    buffer_load_format_d16_xyzw v[1:3], v0, s[8:11], 0 idxen tfe
; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0)
; GFX9-GISEL-NEXT:    v_readfirstlane_b32 s0, v1
; GFX9-GISEL-NEXT:    v_readfirstlane_b32 s1, v2
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v2, s1
; GFX9-GISEL-NEXT:    v_mov_b32_e32 v1, s0
; GFX9-GISEL-NEXT:    global_store_dwordx2 v0, v[1:2], s[12:13]
; GFX9-GISEL-NEXT:    global_store_dword v0, v3, s[14:15]
; GFX9-GISEL-NEXT:    s_endpgm
  %r = call {<4 x i16>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v4i16i32s(ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0, i32 0)
  %data = extractvalue {<4 x i16>, i32} %r, 0
  %st = extractvalue {<4 x i16>, i32} %r, 1
  store <4 x i16> %data, ptr addrspace(1) %out
  store i32 %st, ptr addrspace(1) %status
  ret void
}

declare {half, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_f16i32s(ptr addrspace(8), i32, i32, i32, i32)
declare {<3 x i16>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v3i16i32s(ptr addrspace(8), i32, i32, i32, i32)
declare {<2 x half>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v2f16i32s(ptr addrspace(8), i32, i32, i32, i32)
declare {<2 x i16>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v2i16i32s(ptr addrspace(8), i32, i32, i32, i32)
declare {<4 x half>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v4f16i32s(ptr addrspace(8), i32, i32, i32, i32)
declare {<4 x i16>, i32} @llvm.amdgcn.struct.ptr.buffer.load.format.sl_v4i16i32s(ptr addrspace(8), i32, i32, i32, i32)
