brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.1 KiB · 2598999 Raw
110 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=gfx1250 < %s | FileCheck --check-prefix=GCN %s3; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1250 < %s | FileCheck --check-prefix=GCN %s4 5declare void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 %col)6 7define amdgpu_ps void @global_prefetch(ptr addrspace(1) %ptr) {8; GCN-LABEL: global_prefetch:9; GCN:       ; %bb.0: ; %entry10; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 111; GCN-NEXT:    global_prefetch_b8 v[0:1], off12; GCN-NEXT:    s_endpgm13entry:14  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 0)15  ret void16}17 18define amdgpu_ps void @global_prefetch_sgpr(ptr addrspace(1) inreg %ptr) {19; GCN-LABEL: global_prefetch_sgpr:20; GCN:       ; %bb.0: ; %entry21; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 122; GCN-NEXT:    v_mov_b32_e32 v0, 023; GCN-NEXT:    global_prefetch_b8 v0, s[0:1]24; GCN-NEXT:    s_endpgm25entry:26  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 0)27  ret void28}29 30define amdgpu_ps void @global_prefetch_offset(ptr addrspace(1) %ptr) {31; GCN-LABEL: global_prefetch_offset:32; GCN:       ; %bb.0: ; %entry33; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 134; GCN-NEXT:    global_prefetch_b8 v[0:1], off offset:51235; GCN-NEXT:    s_endpgm36entry:37  %gep = getelementptr inbounds i32, ptr addrspace(1) %ptr, i32 12838  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %gep, i32 0)39  ret void40}41 42define amdgpu_ps void @global_prefetch_sgpr_voffset(ptr addrspace(1) inreg %ptr, i32 %offset) {43; GCN-LABEL: global_prefetch_sgpr_voffset:44; GCN:       ; %bb.0: ; %entry45; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 146; GCN-NEXT:    global_prefetch_b8 v0, s[0:1]47; GCN-NEXT:    s_endpgm48entry:49  %gep = getelementptr i8, ptr addrspace(1) %ptr, i32 %offset50  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %gep, i32 0)51  ret void52}53 54define amdgpu_ps void @global_prefetch_sgpr_voffset_offset(ptr addrspace(1) inreg %ptr, i32 %offset) {55; GCN-LABEL: global_prefetch_sgpr_voffset_offset:56; GCN:       ; %bb.0: ; %entry57; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 158; GCN-NEXT:    global_prefetch_b8 v0, s[0:1] offset:12859; GCN-NEXT:    s_endpgm60entry:61  %gep1 = getelementptr i8, ptr addrspace(1) %ptr, i32 %offset62  %gep2 = getelementptr i8, ptr addrspace(1) %gep1, i32 12863  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %gep2, i32 0)64  ret void65}66 67define amdgpu_ps void @global_prefetch_se(ptr addrspace(1) %ptr) {68; GCN-LABEL: global_prefetch_se:69; GCN:       ; %bb.0: ; %entry70; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 171; GCN-NEXT:    global_prefetch_b8 v[0:1], off scope:SCOPE_SE72; GCN-NEXT:    s_endpgm73entry:74  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 8)75  ret void76}77 78define amdgpu_ps void @global_prefetch_se_nt(ptr addrspace(1) %ptr) {79; GCN-LABEL: global_prefetch_se_nt:80; GCN:       ; %bb.0: ; %entry81; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 182; GCN-NEXT:    global_prefetch_b8 v[0:1], off th:TH_LOAD_NT scope:SCOPE_SE83; GCN-NEXT:    s_endpgm84entry:85  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 9)86  ret void87}88 89define amdgpu_ps void @global_prefetch_dev_ht(ptr addrspace(1) %ptr) {90; GCN-LABEL: global_prefetch_dev_ht:91; GCN:       ; %bb.0: ; %entry92; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 193; GCN-NEXT:    global_prefetch_b8 v[0:1], off th:TH_LOAD_HT scope:SCOPE_DEV94; GCN-NEXT:    s_endpgm95entry:96  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 18)97  ret void98}99 100define amdgpu_ps void @global_prefetch_sys_lu(ptr addrspace(1) %ptr) {101; GCN-LABEL: global_prefetch_sys_lu:102; GCN:       ; %bb.0: ; %entry103; GCN-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1104; GCN-NEXT:    global_prefetch_b8 v[0:1], off th:TH_LOAD_BYPASS scope:SCOPE_SYS105; GCN-NEXT:    s_endpgm106entry:107  tail call void @llvm.amdgcn.global.prefetch(ptr addrspace(1) %ptr, i32 27)108  ret void109}110