summaryrefslogtreecommitdiff
path: root/libclc/amdgcn/lib/workitem/get_global_offset.cl
blob: 73d5694523ac2a2cc42afd871c3c1e566123e664 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <clc/clc.h>

#if __clang_major__ >= 8
#define CONST_AS __constant
#elif __clang_major__ >= 7
#define CONST_AS __attribute__((address_space(4)))
#else
#define CONST_AS __attribute__((address_space(2)))
#endif

_CLC_DEF _CLC_OVERLOAD size_t get_global_offset(uint dim) {
  CONST_AS uint *ptr = (CONST_AS uint *)__builtin_amdgcn_implicitarg_ptr();
  if (dim < 3)
    return ptr[dim + 1];
  return 0;
}