brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · a8bf9ef Raw
129 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefixes=GCN,SDAG %s3; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefixes=GCN,GISEL %s4 5define amdgpu_ps void @prefetch_data_sgpr_base_sgpr_len(ptr addrspace(4) inreg %ptr, i32 inreg %len) {6; GCN-LABEL: prefetch_data_sgpr_base_sgpr_len:7; GCN:       ; %bb.0: ; %entry8; GCN-NEXT:    s_prefetch_data s[0:1], 0x0, s2, 09; GCN-NEXT:    s_endpgm10entry:11  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %ptr, i32 %len)12  ret void13}14 15define amdgpu_ps void @prefetch_data_sgpr_imm_base_sgpr_len(ptr addrspace(4) inreg %ptr, i32 inreg %len) {16; GCN-LABEL: prefetch_data_sgpr_imm_base_sgpr_len:17; GCN:       ; %bb.0: ; %entry18; GCN-NEXT:    s_prefetch_data s[0:1], 0x200, s2, 019; GCN-NEXT:    s_endpgm20entry:21  %gep = getelementptr i32, ptr addrspace(4) %ptr, i32 12822  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %gep, i32 %len)23  ret void24}25 26define amdgpu_ps void @prefetch_data_sgpr_base_imm_len(ptr addrspace(4) inreg %ptr) {27; GCN-LABEL: prefetch_data_sgpr_base_imm_len:28; GCN:       ; %bb.0: ; %entry29; GCN-NEXT:    s_prefetch_data s[0:1], 0x0, null, 3130; GCN-NEXT:    s_endpgm31entry:32  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %ptr, i32 31)33  ret void34}35 36define amdgpu_ps void @prefetch_data_sgpr_imm_base_imm_len(ptr addrspace(4) inreg %ptr) {37; GCN-LABEL: prefetch_data_sgpr_imm_base_imm_len:38; GCN:       ; %bb.0: ; %entry39; GCN-NEXT:    s_prefetch_data s[0:1], 0x200, null, 3140; GCN-NEXT:    s_endpgm41entry:42  %gep = getelementptr i32, ptr addrspace(4) %ptr, i32 12843  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %gep, i32 31)44  ret void45}46 47define amdgpu_ps void @prefetch_data_vgpr_base_sgpr_len(ptr addrspace(4) %ptr, i32 inreg %len) {48; GCN-LABEL: prefetch_data_vgpr_base_sgpr_len:49; GCN:       ; %bb.0: ; %entry50; GCN-NEXT:    v_readfirstlane_b32 s2, v051; GCN-NEXT:    v_readfirstlane_b32 s3, v152; GCN-NEXT:    s_prefetch_data s[2:3], 0x0, s0, 053; GCN-NEXT:    s_endpgm54entry:55  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %ptr, i32 %len)56  ret void57}58 59define amdgpu_ps void @prefetch_data_vgpr_imm_base_sgpr_len(ptr addrspace(4) %ptr, i32 inreg %len) {60; SDAG-LABEL: prefetch_data_vgpr_imm_base_sgpr_len:61; SDAG:       ; %bb.0: ; %entry62; SDAG-NEXT:    v_readfirstlane_b32 s2, v063; SDAG-NEXT:    v_readfirstlane_b32 s3, v164; SDAG-NEXT:    s_prefetch_data s[2:3], 0x200, s0, 065; SDAG-NEXT:    s_endpgm66;67; GISEL-LABEL: prefetch_data_vgpr_imm_base_sgpr_len:68; GISEL:       ; %bb.0: ; %entry69; GISEL-NEXT:    v_add_co_u32 v0, vcc_lo, 0x200, v070; GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)71; GISEL-NEXT:    v_add_co_ci_u32_e64 v1, null, 0, v1, vcc_lo72; GISEL-NEXT:    v_readfirstlane_b32 s2, v073; GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_2)74; GISEL-NEXT:    v_readfirstlane_b32 s3, v175; GISEL-NEXT:    s_prefetch_data s[2:3], 0x0, s0, 076; GISEL-NEXT:    s_endpgm77entry:78  %gep = getelementptr i32, ptr addrspace(4) %ptr, i32 12879  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %gep, i32 %len)80  ret void81}82 83define amdgpu_ps void @prefetch_data_sgpr_base_vgpr_len(ptr addrspace(4) inreg %ptr, i32 %len) {84; GCN-LABEL: prefetch_data_sgpr_base_vgpr_len:85; GCN:       ; %bb.0: ; %entry86; GCN-NEXT:    v_readfirstlane_b32 s2, v087; GCN-NEXT:    s_prefetch_data s[0:1], 0x0, s2, 088; GCN-NEXT:    s_endpgm89entry:90  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %ptr, i32 %len)91  ret void92}93 94define amdgpu_ps void @prefetch_data_sgpr_base_imm_len_global(ptr addrspace(1) inreg %ptr) {95; GCN-LABEL: prefetch_data_sgpr_base_imm_len_global:96; GCN:       ; %bb.0: ; %entry97; GCN-NEXT:    s_prefetch_data s[0:1], 0x0, null, 3198; GCN-NEXT:    s_endpgm99entry:100  tail call void @llvm.amdgcn.s.prefetch.data.p1(ptr addrspace(1) %ptr, i32 31)101  ret void102}103 104define amdgpu_ps void @prefetch_data_sgpr_base_imm_len_flat(ptr inreg %ptr) {105; GCN-LABEL: prefetch_data_sgpr_base_imm_len_flat:106; GCN:       ; %bb.0: ; %entry107; GCN-NEXT:    s_prefetch_data s[0:1], 0x0, null, 31108; GCN-NEXT:    s_endpgm109entry:110  tail call void @llvm.amdgcn.s.prefetch.data.p0(ptr %ptr, i32 31)111  ret void112}113 114define amdgpu_ps void @prefetch_data_vgpr_base_imm_len(ptr addrspace(4) %ptr) {115; GCN-LABEL: prefetch_data_vgpr_base_imm_len:116; GCN:       ; %bb.0: ; %entry117; GCN-NEXT:    v_readfirstlane_b32 s0, v0118; GCN-NEXT:    v_readfirstlane_b32 s1, v1119; GCN-NEXT:    s_prefetch_data s[0:1], 0x0, null, 0120; GCN-NEXT:    s_endpgm121entry:122  tail call void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %ptr, i32 0)123  ret void124}125 126declare void @llvm.amdgcn.s.prefetch.data.p4(ptr addrspace(4) %ptr, i32 %len)127declare void @llvm.amdgcn.s.prefetch.data.p1(ptr addrspace(1) %ptr, i32 %len)128declare void @llvm.amdgcn.s.prefetch.data.p0(ptr %ptr, i32 %len)129