Mercurial > hg > CbC > CbC_llvm
diff libclc/amdgcn/lib/mem_fence/fence.cl @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line diff
--- a/libclc/amdgcn/lib/mem_fence/fence.cl Mon May 25 11:55:54 2020 +0900 +++ b/libclc/amdgcn/lib/mem_fence/fence.cl Tue Jun 08 06:07:14 2021 +0900 @@ -17,24 +17,21 @@ _CLC_DEF void __clc_amdgcn_s_waitcnt(unsigned) __asm("llvm.amdgcn.s.waitcnt"); #endif -_CLC_DEF void mem_fence(cl_mem_fence_flags flags) -{ - if (flags & CLK_GLOBAL_MEM_FENCE) { - // scalar loads are counted with LGKM but we don't know whether - // the compiler turned any loads to scalar - __waitcnt(0); - } else if (flags & CLK_LOCAL_MEM_FENCE) - __waitcnt(0xff); // LGKM is [12:8] +_CLC_DEF _CLC_OVERLOAD void mem_fence(cl_mem_fence_flags flags) { + if (flags & CLK_GLOBAL_MEM_FENCE) { + // scalar loads are counted with LGKM but we don't know whether + // the compiler turned any loads to scalar + __waitcnt(0); + } else if (flags & CLK_LOCAL_MEM_FENCE) + __waitcnt(0xff); // LGKM is [12:8] } #undef __waitcnt // We don't have separate mechanism for read and write fences -_CLC_DEF void read_mem_fence(cl_mem_fence_flags flags) -{ - mem_fence(flags); +_CLC_DEF _CLC_OVERLOAD void read_mem_fence(cl_mem_fence_flags flags) { + mem_fence(flags); } -_CLC_DEF void write_mem_fence(cl_mem_fence_flags flags) -{ - mem_fence(flags); +_CLC_DEF _CLC_OVERLOAD void write_mem_fence(cl_mem_fence_flags flags) { + mem_fence(flags); }