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