xref: /llvm-project-15.0.7/libclc/generic/include/clc/shared/vload.h (revision 052d95a6)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #define _CLC_VLOAD_DECL(PRIM_TYPE, VEC_TYPE, WIDTH, ADDR_SPACE) \
2   _CLC_OVERLOAD _CLC_DECL VEC_TYPE vload##WIDTH(size_t offset, const ADDR_SPACE PRIM_TYPE *x);
3 
4 #define _CLC_VECTOR_VLOAD_DECL(PRIM_TYPE, ADDR_SPACE) \
5   _CLC_VLOAD_DECL(PRIM_TYPE, PRIM_TYPE##2, 2, ADDR_SPACE) \
6   _CLC_VLOAD_DECL(PRIM_TYPE, PRIM_TYPE##3, 3, ADDR_SPACE) \
7   _CLC_VLOAD_DECL(PRIM_TYPE, PRIM_TYPE##4, 4, ADDR_SPACE) \
8   _CLC_VLOAD_DECL(PRIM_TYPE, PRIM_TYPE##8, 8, ADDR_SPACE) \
9   _CLC_VLOAD_DECL(PRIM_TYPE, PRIM_TYPE##16, 16, ADDR_SPACE)
10 
11 #define _CLC_VECTOR_VLOAD_PRIM1(PRIM_TYPE) \
12   _CLC_VECTOR_VLOAD_DECL(PRIM_TYPE, __private) \
13   _CLC_VECTOR_VLOAD_DECL(PRIM_TYPE, __local) \
14   _CLC_VECTOR_VLOAD_DECL(PRIM_TYPE, __constant) \
15   _CLC_VECTOR_VLOAD_DECL(PRIM_TYPE, __global) \
16 
17 #define _CLC_VECTOR_VLOAD_PRIM() \
18     _CLC_VECTOR_VLOAD_PRIM1(char) \
19     _CLC_VECTOR_VLOAD_PRIM1(uchar) \
20     _CLC_VECTOR_VLOAD_PRIM1(short) \
21     _CLC_VECTOR_VLOAD_PRIM1(ushort) \
22     _CLC_VECTOR_VLOAD_PRIM1(int) \
23     _CLC_VECTOR_VLOAD_PRIM1(uint) \
24     _CLC_VECTOR_VLOAD_PRIM1(long) \
25     _CLC_VECTOR_VLOAD_PRIM1(ulong) \
26     _CLC_VECTOR_VLOAD_PRIM1(float) \
27 
28 #ifdef cl_khr_fp64
29 #define _CLC_VECTOR_VLOAD() \
30   _CLC_VECTOR_VLOAD_PRIM1(double) \
31   _CLC_VECTOR_VLOAD_PRIM()
32 #else
33 #define _CLC_VECTOR_VLOAD() \
34   _CLC_VECTOR_VLOAD_PRIM()
35 #endif
36 
37 _CLC_VECTOR_VLOAD()
38 

served by {OpenGrok

Last Index Update: Tue Oct 21 18:42:31 GMT 2025