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