[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