[libclc] r184975 - r600: Initial support
Tom Stellard
thomas.stellard at amd.com
Wed Jun 26 11:18:59 PDT 2013
Author: tstellar
Date: Wed Jun 26 13:18:59 2013
New Revision: 184975
URL: http://llvm.org/viewvc/llvm-project?rev=184975&view=rev
Log:
r600: Initial support
This includes a get_global_id() implementation and function stubs for
the other workitem and synchronization functions.
Added:
libclc/trunk/r600/
libclc/trunk/r600/include/
libclc/trunk/r600/include/clc/
libclc/trunk/r600/include/clc/synchronization/
libclc/trunk/r600/include/clc/synchronization/barrier.h
libclc/trunk/r600/include/clc/workitem/
libclc/trunk/r600/include/clc/workitem/get_global_id.h
libclc/trunk/r600/include/clc/workitem/get_global_size.h
libclc/trunk/r600/include/clc/workitem/get_group_id.h
libclc/trunk/r600/include/clc/workitem/get_local_id.h
libclc/trunk/r600/include/clc/workitem/get_local_size.h
libclc/trunk/r600/include/clc/workitem/get_num_groups.h
libclc/trunk/r600/lib/
libclc/trunk/r600/lib/SOURCES
libclc/trunk/r600/lib/workitem/
libclc/trunk/r600/lib/workitem/get_global_id.cl
Modified:
libclc/trunk/configure.py
Modified: libclc/trunk/configure.py
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/configure.py?rev=184975&r1=184974&r2=184975&view=diff
==============================================================================
--- libclc/trunk/configure.py (original)
+++ libclc/trunk/configure.py Wed Jun 26 13:18:59 2013
@@ -43,7 +43,7 @@ llvm_clang = os.path.join(llvm_bindir, '
llvm_link = os.path.join(llvm_bindir, 'llvm-link')
llvm_opt = os.path.join(llvm_bindir, 'opt')
-default_targets = ['nvptx--nvidiacl', 'nvptx64--nvidiacl']
+default_targets = ['nvptx--nvidiacl', 'nvptx64--nvidiacl', 'r600--']
targets = args
if not targets:
Added: libclc/trunk/r600/include/clc/synchronization/barrier.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/synchronization/barrier.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/synchronization/barrier.h (added)
+++ libclc/trunk/r600/include/clc/synchronization/barrier.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1,2 @@
+_CLC_INLINE void barrier(cl_mem_fence_flags flags) {
+}
Added: libclc/trunk/r600/include/clc/workitem/get_global_id.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/workitem/get_global_id.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/workitem/get_global_id.h (added)
+++ libclc/trunk/r600/include/clc/workitem/get_global_id.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1 @@
+size_t get_global_id(uint dim);
Added: libclc/trunk/r600/include/clc/workitem/get_global_size.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/workitem/get_global_size.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/workitem/get_global_size.h (added)
+++ libclc/trunk/r600/include/clc/workitem/get_global_size.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1,3 @@
+_CLC_INLINE size_t get_global_size(uint dim) {
+ return 0;
+}
Added: libclc/trunk/r600/include/clc/workitem/get_group_id.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/workitem/get_group_id.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/workitem/get_group_id.h (added)
+++ libclc/trunk/r600/include/clc/workitem/get_group_id.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1,3 @@
+_CLC_INLINE size_t get_group_id(uint dim) {
+ return 0;
+}
Added: libclc/trunk/r600/include/clc/workitem/get_local_id.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/workitem/get_local_id.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/workitem/get_local_id.h (added)
+++ libclc/trunk/r600/include/clc/workitem/get_local_id.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1,3 @@
+_CLC_INLINE size_t get_local_id(uint dim) {
+ return 0;
+}
Added: libclc/trunk/r600/include/clc/workitem/get_local_size.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/workitem/get_local_size.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/workitem/get_local_size.h (added)
+++ libclc/trunk/r600/include/clc/workitem/get_local_size.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1,3 @@
+_CLC_INLINE size_t get_local_size(uint dim) {
+ return 0;
+}
Added: libclc/trunk/r600/include/clc/workitem/get_num_groups.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/include/clc/workitem/get_num_groups.h?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/include/clc/workitem/get_num_groups.h (added)
+++ libclc/trunk/r600/include/clc/workitem/get_num_groups.h Wed Jun 26 13:18:59 2013
@@ -0,0 +1,3 @@
+_CLC_INLINE size_t get_num_groups(uint dim) {
+ return 0;
+}
Added: libclc/trunk/r600/lib/SOURCES
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/lib/SOURCES?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/lib/SOURCES (added)
+++ libclc/trunk/r600/lib/SOURCES Wed Jun 26 13:18:59 2013
@@ -0,0 +1 @@
+workitem/get_global_id.cl
Added: libclc/trunk/r600/lib/workitem/get_global_id.cl
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/lib/workitem/get_global_id.cl?rev=184975&view=auto
==============================================================================
--- libclc/trunk/r600/lib/workitem/get_global_id.cl (added)
+++ libclc/trunk/r600/lib/workitem/get_global_id.cl Wed Jun 26 13:18:59 2013
@@ -0,0 +1,10 @@
+#include <clc/clc.h>
+
+_CLC_DEF size_t get_global_id(uint dim) {
+ switch (dim) {
+ case 0: return __builtin_r600_read_tgid_x()*__builtin_r600_read_ngroups_x()+__builtin_r600_read_tidig_x();
+ case 1: return __builtin_r600_read_tgid_y()*__builtin_r600_read_ngroups_y()+__builtin_r600_read_tidig_y();
+ case 2: return __builtin_r600_read_tgid_z()*__builtin_r600_read_ngroups_z()+__builtin_r600_read_tidig_z();
+ default: return 0;
+ }
+}
More information about the cfe-commits
mailing list