diff options
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll index 2d8e9f2..f6f614e 100644 --- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll +++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll @@ -1,8 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 ; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck %s -check-prefixes=CHECK,CHECK-SDAG-TRUE16 ; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck %s -check-prefixes=CHECK,CHECK-FAKE16 -; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck %s -check-prefixes=CHECK,CHECK-GISEL-TRUE16 -; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck %s -check-prefixes=CHECK,CHECK-FAKE16 +; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck %s -check-prefixes=CHECK,CHECK-GISEL +; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck %s -check-prefixes=CHECK,CHECK-GISEL define amdgpu_kernel void @struct_atomic_buffer_load_i32(<4 x i32> %addr, i32 %index) { ; CHECK-LABEL: struct_atomic_buffer_load_i32: @@ -307,27 +307,29 @@ define amdgpu_kernel void @struct_atomic_buffer_load_v4i16(<4 x i32> %addr, i32 ; CHECK-FAKE16-NEXT: ; %bb.2: ; %bb2 ; CHECK-FAKE16-NEXT: s_endpgm ; -; CHECK-GISEL-TRUE16-LABEL: struct_atomic_buffer_load_v4i16: -; CHECK-GISEL-TRUE16: ; %bb.0: ; %bb -; CHECK-GISEL-TRUE16-NEXT: s_clause 0x1 -; CHECK-GISEL-TRUE16-NEXT: s_load_b32 s6, s[4:5], 0x34 -; CHECK-GISEL-TRUE16-NEXT: s_load_b128 s[0:3], s[4:5], 0x24 -; CHECK-GISEL-TRUE16-NEXT: v_and_b32_e32 v0, 0x3ff, v0 -; CHECK-GISEL-TRUE16-NEXT: s_mov_b32 s4, 0 -; CHECK-GISEL-TRUE16-NEXT: s_waitcnt lgkmcnt(0) -; CHECK-GISEL-TRUE16-NEXT: v_mov_b32_e32 v1, s6 -; CHECK-GISEL-TRUE16-NEXT: .LBB8_1: ; %bb1 -; CHECK-GISEL-TRUE16-NEXT: ; =>This Inner Loop Header: Depth=1 -; CHECK-GISEL-TRUE16-NEXT: buffer_load_b64 v[2:3], v1, s[0:3], 0 idxen offset:4 glc -; CHECK-GISEL-TRUE16-NEXT: s_waitcnt vmcnt(0) -; CHECK-GISEL-TRUE16-NEXT: v_mov_b16_e32 v2.h, v3.l -; CHECK-GISEL-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) -; CHECK-GISEL-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, v2, v0 -; CHECK-GISEL-TRUE16-NEXT: s_or_b32 s4, vcc_lo, s4 -; CHECK-GISEL-TRUE16-NEXT: s_and_not1_b32 exec_lo, exec_lo, s4 -; CHECK-GISEL-TRUE16-NEXT: s_cbranch_execnz .LBB8_1 -; CHECK-GISEL-TRUE16-NEXT: ; %bb.2: ; %bb2 -; CHECK-GISEL-TRUE16-NEXT: s_endpgm +; CHECK-GISEL-LABEL: struct_atomic_buffer_load_v4i16: +; CHECK-GISEL: ; %bb.0: ; %bb +; CHECK-GISEL-NEXT: s_clause 0x1 +; CHECK-GISEL-NEXT: s_load_b32 s6, s[4:5], 0x34 +; CHECK-GISEL-NEXT: s_load_b128 s[0:3], s[4:5], 0x24 +; CHECK-GISEL-NEXT: v_and_b32_e32 v0, 0x3ff, v0 +; CHECK-GISEL-NEXT: s_mov_b32 s4, 0 +; CHECK-GISEL-NEXT: s_waitcnt lgkmcnt(0) +; CHECK-GISEL-NEXT: v_mov_b32_e32 v1, s6 +; CHECK-GISEL-NEXT: .LBB8_1: ; %bb1 +; CHECK-GISEL-NEXT: ; =>This Inner Loop Header: Depth=1 +; CHECK-GISEL-NEXT: buffer_load_b64 v[2:3], v1, s[0:3], 0 idxen offset:4 glc +; CHECK-GISEL-NEXT: s_waitcnt vmcnt(0) +; CHECK-GISEL-NEXT: v_readfirstlane_b32 s5, v2 +; CHECK-GISEL-NEXT: v_readfirstlane_b32 s6, v3 +; CHECK-GISEL-NEXT: s_pack_ll_b32_b16 s5, s5, s6 +; CHECK-GISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) +; CHECK-GISEL-NEXT: v_cmp_ne_u32_e32 vcc_lo, s5, v0 +; CHECK-GISEL-NEXT: s_or_b32 s4, vcc_lo, s4 +; CHECK-GISEL-NEXT: s_and_not1_b32 exec_lo, exec_lo, s4 +; CHECK-GISEL-NEXT: s_cbranch_execnz .LBB8_1 +; CHECK-GISEL-NEXT: ; %bb.2: ; %bb2 +; CHECK-GISEL-NEXT: s_endpgm bb: %id = tail call i32 @llvm.amdgcn.workitem.id.x() br label %bb1 |