[Libclc-dev] [PATCH 9/9] r600: Use optimized addrspace(3) vstore for local vstore

Aaron Watry awatry at gmail.com
Tue Jul 22 18:46:50 PDT 2014


Tested on evergreen.

Signed-off-by: Aaron Watry <awatry at gmail.com>
---
 r600/lib/shared/vstore.cl | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/r600/lib/shared/vstore.cl b/r600/lib/shared/vstore.cl
index ce67b75..2a7032e 100644
--- a/r600/lib/shared/vstore.cl
+++ b/r600/lib/shared/vstore.cl
@@ -51,11 +51,8 @@ VSTORE_TYPES()
 #endif
 
 VSTORE_VECTORIZE(int, __private)
-VSTORE_VECTORIZE(int, __local)
 VSTORE_VECTORIZE(uint, __private)
-VSTORE_VECTORIZE(uint, __local)
 VSTORE_VECTORIZE(float, __private)
-VSTORE_VECTORIZE(float, __local)
 
 //We only define functions for signed_type vstoreN(), and then just cast the pointers/vectors for unsigned types
 #define _CLC_VSTORE_ASM_DECL(PRIM_TYPE,LLVM_SCALAR_TYPE,ADDR_SPACE,ADDR_SPACE_ID) \
@@ -79,9 +76,11 @@ _CLC_DECL void __clc_vstore16_##LLVM_SCALAR_TYPE##__addr##ADDR_SPACE_ID (PRIM_TY
 
 #define _CLC_VSTORE_ASM_OVERLOAD_ADDR_SPACES(PRIM_TYPE,S_PRIM_TYPE,LLVM_TYPE) \
   _CLC_VSTORE_ASM_OVERLOAD_SIZES(PRIM_TYPE, S_PRIM_TYPE, LLVM_TYPE, global, 1) \
+  _CLC_VSTORE_ASM_OVERLOAD_SIZES(PRIM_TYPE, S_PRIM_TYPE, LLVM_TYPE, local, 3) \
 
 #define _CLC_VSTORE_ASM_OVERLOADS() \
   _CLC_VSTORE_ASM_DECL(int,i32,__global,1) \
+  _CLC_VSTORE_ASM_DECL(int,i32,__local,3) \
   _CLC_VSTORE_ASM_OVERLOAD_ADDR_SPACES(int,int,i32) \
   _CLC_VSTORE_ASM_OVERLOAD_ADDR_SPACES(uint,int,i32) \
   _CLC_VSTORE_ASM_OVERLOAD_ADDR_SPACES(float,int,i32) \
-- 
1.9.1





More information about the Libclc-dev mailing list