/* 6.1.1 Built-in Scalar Data Types */ typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; typedef __SIZE_TYPE__ size_t; typedef __PTRDIFF_TYPE__ ptrdiff_t; #define __stdint_join3(a,b,c) a ## b ## c #define __intn_t(n) __stdint_join3(__INT, n, _TYPE__) #define __uintn_t(n) __stdint_join3(unsigned __INT, n, _TYPE__) typedef __intn_t(__INTPTR_WIDTH__) intptr_t; typedef __uintn_t(__INTPTR_WIDTH__) uintptr_t; #undef __uintn_t #undef __intn_t #undef __stdint_join3 /* 6.1.2 Built-in Vector Data Types */ typedef __attribute__((ext_vector_type(2))) char char2; typedef __attribute__((ext_vector_type(3))) char char3; typedef __attribute__((ext_vector_type(4))) char char4; typedef __attribute__((ext_vector_type(8))) char char8; typedef __attribute__((ext_vector_type(16))) char char16; typedef __attribute__((ext_vector_type(2))) uchar uchar2; typedef __attribute__((ext_vector_type(3))) uchar uchar3; typedef __attribute__((ext_vector_type(4))) uchar uchar4; typedef __attribute__((ext_vector_type(8))) uchar uchar8; typedef __attribute__((ext_vector_type(16))) uchar uchar16; typedef __attribute__((ext_vector_type(2))) short short2; typedef __attribute__((ext_vector_type(3))) short short3; typedef __attribute__((ext_vector_type(4))) short short4; typedef __attribute__((ext_vector_type(8))) short short8; typedef __attribute__((ext_vector_type(16))) short short16; typedef __attribute__((ext_vector_type(2))) ushort ushort2; typedef __attribute__((ext_vector_type(3))) ushort ushort3; typedef __attribute__((ext_vector_type(4))) ushort ushort4; typedef __attribute__((ext_vector_type(8))) ushort ushort8; typedef __attribute__((ext_vector_type(16))) ushort ushort16; typedef __attribute__((ext_vector_type(2))) int int2; typedef __attribute__((ext_vector_type(3))) int int3; typedef __attribute__((ext_vector_type(4))) int int4; typedef __attribute__((ext_vector_type(8))) int int8; typedef __attribute__((ext_vector_type(16))) int int16; typedef __attribute__((ext_vector_type(2))) uint uint2; typedef __attribute__((ext_vector_type(3))) uint uint3; typedef __attribute__((ext_vector_type(4))) uint uint4; typedef __attribute__((ext_vector_type(8))) uint uint8; typedef __attribute__((ext_vector_type(16))) uint uint16; typedef __attribute__((ext_vector_type(2))) long long2; typedef __attribute__((ext_vector_type(3))) long long3; typedef __attribute__((ext_vector_type(4))) long long4; typedef __attribute__((ext_vector_type(8))) long long8; typedef __attribute__((ext_vector_type(16))) long long16; typedef __attribute__((ext_vector_type(2))) ulong ulong2; typedef __attribute__((ext_vector_type(3))) ulong ulong3; typedef __attribute__((ext_vector_type(4))) ulong ulong4; typedef __attribute__((ext_vector_type(8))) ulong ulong8; typedef __attribute__((ext_vector_type(16))) ulong ulong16; typedef __attribute__((ext_vector_type(2))) float float2; typedef __attribute__((ext_vector_type(3))) float float3; typedef __attribute__((ext_vector_type(4))) float float4; typedef __attribute__((ext_vector_type(8))) float float8; typedef __attribute__((ext_vector_type(16))) float float16; /* 9.3 Double Precision Floating-Point */ #ifdef cl_khr_fp64 typedef __attribute__((ext_vector_type(2))) double double2; typedef __attribute__((ext_vector_type(3))) double double3; typedef __attribute__((ext_vector_type(4))) double double4; typedef __attribute__((ext_vector_type(8))) double double8; typedef __attribute__((ext_vector_type(16))) double double16; #endif #ifdef cl_khr_fp16 typedef __attribute__((ext_vector_type(2))) half half2; typedef __attribute__((ext_vector_type(3))) half half3; typedef __attribute__((ext_vector_type(4))) half half4; typedef __attribute__((ext_vector_type(8))) half half8; typedef __attribute__((ext_vector_type(16))) half half16; #endif