xref: /llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll (revision 9afaf9c6c89efb22bccab39677e8dff47da91a00)
10745219dSStanislav Mekhanoshin; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2*9afaf9c6SFangrui Song; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefix=GCN %s
3*9afaf9c6SFangrui Song; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefix=GCN %s
40745219dSStanislav Mekhanoshin
50745219dSStanislav Mekhanoshindeclare void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) %rsrc, i32 %offset, i32 %len)
60745219dSStanislav Mekhanoshin
70745219dSStanislav Mekhanoshindefine amdgpu_ps void @buffer_prefetch_data_imm_offset_sgpr_len(ptr addrspace(8) inreg %rsrc, i32 inreg %len) {
80745219dSStanislav Mekhanoshin; GCN-LABEL: buffer_prefetch_data_imm_offset_sgpr_len:
90745219dSStanislav Mekhanoshin; GCN:       ; %bb.0: ; %entry
100745219dSStanislav Mekhanoshin; GCN-NEXT:    s_buffer_prefetch_data s[0:3], 0x80, s4, 0
110745219dSStanislav Mekhanoshin; GCN-NEXT:    s_endpgm
120745219dSStanislav Mekhanoshinentry:
130745219dSStanislav Mekhanoshin  tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 128, i32 %len)
140745219dSStanislav Mekhanoshin  ret void
150745219dSStanislav Mekhanoshin}
160745219dSStanislav Mekhanoshin
170745219dSStanislav Mekhanoshindefine amdgpu_ps void @buffer_prefetch_data_imm_offset_imm_len(ptr addrspace(8) inreg %rsrc) {
180745219dSStanislav Mekhanoshin; GCN-LABEL: buffer_prefetch_data_imm_offset_imm_len:
190745219dSStanislav Mekhanoshin; GCN:       ; %bb.0: ; %entry
200745219dSStanislav Mekhanoshin; GCN-NEXT:    s_buffer_prefetch_data s[0:3], 0x0, null, 31
210745219dSStanislav Mekhanoshin; GCN-NEXT:    s_endpgm
220745219dSStanislav Mekhanoshinentry:
230745219dSStanislav Mekhanoshin  tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 0, i32 31)
240745219dSStanislav Mekhanoshin  ret void
250745219dSStanislav Mekhanoshin}
260745219dSStanislav Mekhanoshin
270745219dSStanislav Mekhanoshindefine amdgpu_ps void @buffer_prefetch_data_imm_offset_vgpr_len(ptr addrspace(8) inreg %rsrc, i32 %len) {
280745219dSStanislav Mekhanoshin; GCN-LABEL: buffer_prefetch_data_imm_offset_vgpr_len:
290745219dSStanislav Mekhanoshin; GCN:       ; %bb.0: ; %entry
300745219dSStanislav Mekhanoshin; GCN-NEXT:    v_readfirstlane_b32 s4, v0
310745219dSStanislav Mekhanoshin; GCN-NEXT:    s_buffer_prefetch_data s[0:3], 0x80, s4, 0
320745219dSStanislav Mekhanoshin; GCN-NEXT:    s_endpgm
330745219dSStanislav Mekhanoshinentry:
340745219dSStanislav Mekhanoshin  tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 128, i32 %len)
350745219dSStanislav Mekhanoshin  ret void
360745219dSStanislav Mekhanoshin}
370745219dSStanislav Mekhanoshin
380745219dSStanislav Mekhanoshindefine amdgpu_ps void @buffer_prefetch_data_vgpr_rsrc_imm_offset_sgpr_len(ptr addrspace(8) %rsrc, i32 inreg %len) {
390745219dSStanislav Mekhanoshin; GCN-LABEL: buffer_prefetch_data_vgpr_rsrc_imm_offset_sgpr_len:
400745219dSStanislav Mekhanoshin; GCN:       ; %bb.0: ; %entry
410745219dSStanislav Mekhanoshin; GCN-NEXT:    v_readfirstlane_b32 s4, v0
420745219dSStanislav Mekhanoshin; GCN-NEXT:    v_readfirstlane_b32 s5, v1
430745219dSStanislav Mekhanoshin; GCN-NEXT:    v_readfirstlane_b32 s6, v2
440745219dSStanislav Mekhanoshin; GCN-NEXT:    v_readfirstlane_b32 s7, v3
450745219dSStanislav Mekhanoshin; GCN-NEXT:    s_buffer_prefetch_data s[4:7], 0x80, s0, 0
460745219dSStanislav Mekhanoshin; GCN-NEXT:    s_endpgm
470745219dSStanislav Mekhanoshinentry:
480745219dSStanislav Mekhanoshin  tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 128, i32 %len)
490745219dSStanislav Mekhanoshin  ret void
500745219dSStanislav Mekhanoshin}
51