xref: /llvm-project/libclc/amdgcn/lib/workitem/get_local_size.cl (revision 3d21fa56f5f5afbbf16b35b199480af71e1189a3)
1#include <clc/clc.h>
2
3uint __clc_amdgcn_get_local_size_x(void) __asm("llvm.r600.read.local.size.x");
4uint __clc_amdgcn_get_local_size_y(void) __asm("llvm.r600.read.local.size.y");
5uint __clc_amdgcn_get_local_size_z(void) __asm("llvm.r600.read.local.size.z");
6
7_CLC_DEF _CLC_OVERLOAD size_t get_local_size(uint dim) {
8  switch (dim) {
9  case 0:
10    return __clc_amdgcn_get_local_size_x();
11  case 1:
12    return __clc_amdgcn_get_local_size_y();
13  case 2:
14    return __clc_amdgcn_get_local_size_z();
15  default:
16    return 1;
17  }
18}
19