1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 2; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefix=GCN %s 3; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefix=GCN %s 4 5declare void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) %rsrc, i32 %offset, i32 %len) 6 7define amdgpu_ps void @buffer_prefetch_data_imm_offset_sgpr_len(ptr addrspace(8) inreg %rsrc, i32 inreg %len) { 8; GCN-LABEL: buffer_prefetch_data_imm_offset_sgpr_len: 9; GCN: ; %bb.0: ; %entry 10; GCN-NEXT: s_buffer_prefetch_data s[0:3], 0x80, s4, 0 11; GCN-NEXT: s_endpgm 12entry: 13 tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 128, i32 %len) 14 ret void 15} 16 17define amdgpu_ps void @buffer_prefetch_data_imm_offset_imm_len(ptr addrspace(8) inreg %rsrc) { 18; GCN-LABEL: buffer_prefetch_data_imm_offset_imm_len: 19; GCN: ; %bb.0: ; %entry 20; GCN-NEXT: s_buffer_prefetch_data s[0:3], 0x0, null, 31 21; GCN-NEXT: s_endpgm 22entry: 23 tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 0, i32 31) 24 ret void 25} 26 27define amdgpu_ps void @buffer_prefetch_data_imm_offset_vgpr_len(ptr addrspace(8) inreg %rsrc, i32 %len) { 28; GCN-LABEL: buffer_prefetch_data_imm_offset_vgpr_len: 29; GCN: ; %bb.0: ; %entry 30; GCN-NEXT: v_readfirstlane_b32 s4, v0 31; GCN-NEXT: s_buffer_prefetch_data s[0:3], 0x80, s4, 0 32; GCN-NEXT: s_endpgm 33entry: 34 tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 128, i32 %len) 35 ret void 36} 37 38define amdgpu_ps void @buffer_prefetch_data_vgpr_rsrc_imm_offset_sgpr_len(ptr addrspace(8) %rsrc, i32 inreg %len) { 39; GCN-LABEL: buffer_prefetch_data_vgpr_rsrc_imm_offset_sgpr_len: 40; GCN: ; %bb.0: ; %entry 41; GCN-NEXT: v_readfirstlane_b32 s4, v0 42; GCN-NEXT: v_readfirstlane_b32 s5, v1 43; GCN-NEXT: v_readfirstlane_b32 s6, v2 44; GCN-NEXT: v_readfirstlane_b32 s7, v3 45; GCN-NEXT: s_buffer_prefetch_data s[4:7], 0x80, s0, 0 46; GCN-NEXT: s_endpgm 47entry: 48 tail call void @llvm.amdgcn.s.buffer.prefetch.data(ptr addrspace(8) inreg %rsrc, i32 128, i32 %len) 49 ret void 50} 51