From bb456fb3dbcc151e8dca933d710bbf5c2bf38d9b Mon Sep 17 00:00:00 2001 From: Zhigang Gong Date: Tue, 12 Nov 2013 18:51:01 +0800 Subject: [PATCH] GBE: remove all vstore macros for constant memory space. Signed-off-by: Zhigang Gong Reviewed-by: Ruiling Song --- backend/src/ocl_stdlib.tmpl.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h index df663ea..d174ac2 100644 --- a/backend/src/ocl_stdlib.tmpl.h +++ b/backend/src/ocl_stdlib.tmpl.h @@ -1872,6 +1872,11 @@ INLINE_OVERLOADABLE void vstore##DIM(TYPE##DIM v, size_t offset, SPACE TYPE *p) *(SPACE TYPE##DIM *) (p + DIM * offset) = v; \ } +#define DECL_UNTYPED_RD_SPACE_N(TYPE, DIM, SPACE) \ +INLINE_OVERLOADABLE TYPE##DIM vload##DIM(size_t offset, const SPACE TYPE *p) { \ + return *(SPACE TYPE##DIM *) (p + DIM * offset); \ +} + #define DECL_UNTYPED_V3_SPACE(TYPE, SPACE) \ INLINE_OVERLOADABLE void vstore3(TYPE##3 v, size_t offset, SPACE TYPE *p) {\ *(p + 3 * offset) = v.s0; \ @@ -1882,6 +1887,12 @@ INLINE_OVERLOADABLE TYPE##3 vload3(size_t offset, const SPACE TYPE *p) { \ return *(SPACE TYPE##3 *) (p + 3 * offset); \ } +#define DECL_UNTYPED_RDV3_SPACE(TYPE, SPACE) \ +INLINE_OVERLOADABLE TYPE##3 vload3(size_t offset, const SPACE TYPE *p) { \ + return *(SPACE TYPE##3 *) (p + 3 * offset); \ +} + + #define DECL_UNTYPED_RW_ALL_SPACE(TYPE, SPACE) \ DECL_UNTYPED_RW_SPACE_N(TYPE, 2, SPACE) \ DECL_UNTYPED_V3_SPACE(TYPE, SPACE) \ @@ -1889,10 +1900,17 @@ INLINE_OVERLOADABLE TYPE##3 vload3(size_t offset, const SPACE TYPE *p) { \ DECL_UNTYPED_RW_SPACE_N(TYPE, 8, SPACE) \ DECL_UNTYPED_RW_SPACE_N(TYPE, 16, SPACE) +#define DECL_UNTYPED_RD_ALL_SPACE(TYPE, SPACE) \ + DECL_UNTYPED_RD_SPACE_N(TYPE, 2, SPACE) \ + DECL_UNTYPED_RDV3_SPACE(TYPE, SPACE) \ + DECL_UNTYPED_RD_SPACE_N(TYPE, 4, SPACE) \ + DECL_UNTYPED_RD_SPACE_N(TYPE, 8, SPACE) \ + DECL_UNTYPED_RD_SPACE_N(TYPE, 16, SPACE) + #define DECL_UNTYPED_RW_ALL(TYPE) \ DECL_UNTYPED_RW_ALL_SPACE(TYPE, __global) \ DECL_UNTYPED_RW_ALL_SPACE(TYPE, __local) \ - DECL_UNTYPED_RW_ALL_SPACE(TYPE, __constant) \ + DECL_UNTYPED_RD_ALL_SPACE(TYPE, __constant) \ DECL_UNTYPED_RW_ALL_SPACE(TYPE, __private) DECL_UNTYPED_RW_ALL(char) -- 2.7.4