Skip to content

Commit b243e91

Browse files
committed
Revert "[SYCL] Removes redefinitions of macros in libclc (#3505)"
This reverts commit 64622b6.
1 parent adf22b7 commit b243e91

File tree

8 files changed

+148
-4
lines changed

8 files changed

+148
-4
lines changed

libclc/generic/include/as_type.h

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,89 @@
11
#ifndef CLC_AS_TYPE
22
#define CLC_AS_TYPE
33

4+
#define as_char(x) __builtin_astype(x, char)
45
#define as_schar(x) __builtin_astype(x, schar)
6+
#define as_uchar(x) __builtin_astype(x, uchar)
7+
#define as_short(x) __builtin_astype(x, short)
8+
#define as_ushort(x) __builtin_astype(x, ushort)
9+
#define as_int(x) __builtin_astype(x, int)
10+
#define as_uint(x) __builtin_astype(x, uint)
11+
#define as_long(x) __builtin_astype(x, long)
12+
#define as_ulong(x) __builtin_astype(x, ulong)
13+
#define as_float(x) __builtin_astype(x, float)
14+
15+
#define as_char2(x) __builtin_astype(x, char2)
516
#define as_schar2(x) __builtin_astype(x, schar2)
17+
#define as_uchar2(x) __builtin_astype(x, uchar2)
18+
#define as_short2(x) __builtin_astype(x, short2)
19+
#define as_ushort2(x) __builtin_astype(x, ushort2)
20+
#define as_int2(x) __builtin_astype(x, int2)
21+
#define as_uint2(x) __builtin_astype(x, uint2)
22+
#define as_long2(x) __builtin_astype(x, long2)
23+
#define as_ulong2(x) __builtin_astype(x, ulong2)
24+
#define as_float2(x) __builtin_astype(x, float2)
25+
26+
#define as_char3(x) __builtin_astype(x, char3)
627
#define as_schar3(x) __builtin_astype(x, schar3)
28+
#define as_uchar3(x) __builtin_astype(x, uchar3)
29+
#define as_short3(x) __builtin_astype(x, short3)
30+
#define as_ushort3(x) __builtin_astype(x, ushort3)
31+
#define as_int3(x) __builtin_astype(x, int3)
32+
#define as_uint3(x) __builtin_astype(x, uint3)
33+
#define as_long3(x) __builtin_astype(x, long3)
34+
#define as_ulong3(x) __builtin_astype(x, ulong3)
35+
#define as_float3(x) __builtin_astype(x, float3)
36+
37+
#define as_char4(x) __builtin_astype(x, char4)
738
#define as_schar4(x) __builtin_astype(x, schar4)
39+
#define as_uchar4(x) __builtin_astype(x, uchar4)
40+
#define as_short4(x) __builtin_astype(x, short4)
41+
#define as_ushort4(x) __builtin_astype(x, ushort4)
42+
#define as_int4(x) __builtin_astype(x, int4)
43+
#define as_uint4(x) __builtin_astype(x, uint4)
44+
#define as_long4(x) __builtin_astype(x, long4)
45+
#define as_ulong4(x) __builtin_astype(x, ulong4)
46+
#define as_float4(x) __builtin_astype(x, float4)
47+
48+
#define as_char8(x) __builtin_astype(x, char8)
849
#define as_schar8(x) __builtin_astype(x, schar8)
50+
#define as_uchar8(x) __builtin_astype(x, uchar8)
51+
#define as_short8(x) __builtin_astype(x, short8)
52+
#define as_ushort8(x) __builtin_astype(x, ushort8)
53+
#define as_int8(x) __builtin_astype(x, int8)
54+
#define as_uint8(x) __builtin_astype(x, uint8)
55+
#define as_long8(x) __builtin_astype(x, long8)
56+
#define as_ulong8(x) __builtin_astype(x, ulong8)
57+
#define as_float8(x) __builtin_astype(x, float8)
58+
59+
#define as_char16(x) __builtin_astype(x, char16)
960
#define as_schar16(x) __builtin_astype(x, schar16)
61+
#define as_uchar16(x) __builtin_astype(x, uchar16)
62+
#define as_short16(x) __builtin_astype(x, short16)
63+
#define as_ushort16(x) __builtin_astype(x, ushort16)
64+
#define as_int16(x) __builtin_astype(x, int16)
65+
#define as_uint16(x) __builtin_astype(x, uint16)
66+
#define as_long16(x) __builtin_astype(x, long16)
67+
#define as_ulong16(x) __builtin_astype(x, ulong16)
68+
#define as_float16(x) __builtin_astype(x, float16)
69+
70+
#ifdef cl_khr_fp64
71+
#define as_double(x) __builtin_astype(x, double)
72+
#define as_double2(x) __builtin_astype(x, double2)
73+
#define as_double3(x) __builtin_astype(x, double3)
74+
#define as_double4(x) __builtin_astype(x, double4)
75+
#define as_double8(x) __builtin_astype(x, double8)
76+
#define as_double16(x) __builtin_astype(x, double16)
77+
#endif
78+
79+
#ifdef cl_khr_fp16
80+
#define as_half(x) __builtin_astype(x, half)
81+
#define as_half2(x) __builtin_astype(x, half2)
82+
#define as_half3(x) __builtin_astype(x, half3)
83+
#define as_half4(x) __builtin_astype(x, half4)
84+
#define as_half8(x) __builtin_astype(x, half8)
85+
#define as_half16(x) __builtin_astype(x, half16)
86+
#endif
1087

1188
#ifdef __CLC_HAS_FLOAT16
1289
#define as_float16_t(x) __builtin_astype(x, __clc_float16_t)

libclc/generic/include/clc/clc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205
#include <clc/relational/signbit.h>
206206

207207
/* 6.11.8 Synchronization Functions */
208+
#include <clc/synchronization/cl_mem_fence_flags.h>
208209
#include <clc/synchronization/barrier.h>
209210

210211
/* 6.11.9 Explicit Memory Fence Functions */

libclc/generic/include/clc/float/definitions.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#define MAXFLOAT 0x1.fffffep127f
2+
#define HUGE_VALF __builtin_huge_valf()
3+
#define INFINITY __builtin_inff()
4+
#define NAN __builtin_nanf("")
25

36
#define FLT_DIG 6
47
#define FLT_MANT_DIG 24
@@ -7,15 +10,35 @@
710
#define FLT_MIN_10_EXP -37
811
#define FLT_MIN_EXP -125
912
#define FLT_RADIX 2
13+
#define FLT_MAX MAXFLOAT
1014
#define FLT_MIN 0x1.0p-126f
1115
#define FLT_EPSILON 0x1.0p-23f
1216

17+
#define FP_ILOGB0 (-2147483647 - 1)
18+
#define FP_ILOGBNAN 2147483647
19+
20+
#define M_E_F 0x1.5bf0a8p+1f
21+
#define M_LOG2E_F 0x1.715476p+0f
22+
#define M_LOG10E_F 0x1.bcb7b2p-2f
23+
#define M_LN2_F 0x1.62e430p-1f
24+
#define M_LN10_F 0x1.26bb1cp+1f
25+
#define M_PI_F 0x1.921fb6p+1f
26+
#define M_PI_2_F 0x1.921fb6p+0f
27+
#define M_PI_4_F 0x1.921fb6p-1f
28+
#define M_1_PI_F 0x1.45f306p-2f
29+
#define M_2_PI_F 0x1.45f306p-1f
30+
#define M_2_SQRTPI_F 0x1.20dd76p+0f
31+
#define M_SQRT2_F 0x1.6a09e6p+0f
32+
#define M_SQRT1_2_F 0x1.6a09e6p-1f
33+
1334
#ifdef __CLC_INTERNAL
1435
#define M_LOG210_F 0x1.a934f0p+1f
1536
#endif
1637

1738
#ifdef cl_khr_fp64
1839

40+
#define HUGE_VAL __builtin_huge_val()
41+
1942
#define DBL_DIG 15
2043
#define DBL_MANT_DIG 53
2144
#define DBL_MAX_10_EXP +308
@@ -56,6 +79,9 @@
5679
#define HALF_MIN_EXP -13
5780

5881
#define HALF_RADIX 2
82+
#define HALF_MAX 0x1.ffcp15h
83+
#define HALF_MIN 0x1.0p-14h
84+
#define HALF_EPSILON 0x1.0p-10h
5985
#define HALF_MAX_SQRT 0x1.0p+8h
6086
#define HALF_MIN_SQRT 0x1.0p-8h
6187

libclc/generic/include/clc/image/image_defines.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,20 @@
3030
#define CLK_RGx 0x10BB
3131
#define CLK_RGBx 0x10BC
3232

33-
/* sampler masks */
33+
/* sampler normalized coords */
34+
#define CLK_NORMALIZED_COORDS_FALSE 0x0000
35+
#define CLK_NORMALIZED_COORDS_TRUE 0x0001
36+
#define __CLC_NORMALIZED_COORDS_MASK 0x0001
37+
38+
/* sampler addressing mode */
39+
#define CLK_ADDRESS_NONE 0x0000
40+
#define CLK_ADDRESS_CLAMP_TO_EDGE 0x0002
41+
#define CLK_ADDRESS_CLAMP 0x0004
42+
#define CLK_ADDRESS_REPEAT 0x0006
43+
#define CLK_ADDRESS_MIRRORED_REPEAT 0x0008
3444
#define __CLC_ADDRESS_MASK 0x000E
45+
46+
/* sampler filter mode */
47+
#define CLK_FILTER_NEAREST 0x0000
48+
#define CLK_FILTER_LINEAR 0x0010
3549
#define __CLC_FILTER_MASK 0x0010
36-
#define __CLC_NORMALIZED_COORDS_MASK 0x0001

libclc/generic/include/clc/integer/definitions.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
#define CHAR_BIT 8
22
#define INT_MAX 2147483647
3+
#define INT_MIN (-2147483647 - 1)
34
#define LONG_MAX 0x7fffffffffffffffL
5+
#define LONG_MIN (-0x7fffffffffffffffL - 1)
46
#define CHAR_MAX SCHAR_MAX
57
#define CHAR_MIN SCHAR_MIN
68
#define SCHAR_MAX 127
9+
#define SCHAR_MIN (-127 - 1)
710
#define SHRT_MAX 32767
11+
#define SHRT_MIN (-32767 - 1)
812
#define UCHAR_MAX 255
913
#define USHRT_MAX 65535
1014
#define UINT_MAX 0xffffffff
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
typedef uint cl_mem_fence_flags;
2+
3+
#define CLK_LOCAL_MEM_FENCE 1
4+
#define CLK_GLOBAL_MEM_FENCE 2

libclc/generic/include/macros.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,10 @@
1414

1515
#define NULL ((void*)0)
1616

17+
#define __kernel_exec(X, typen) __kernel \
18+
__attribute__((work_group_size_hint(X, 1, 1))) \
19+
__attribute__((vec_type_hint(typen)))
20+
21+
#define kernel_exec(X, typen) __kernel_exec(X, typen)
22+
1723
#endif // CLC_MACROS

libclc/generic/include/spirv/image/image_defines.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,20 @@
3838
#define CLK_RGx 0x10BB
3939
#define CLK_RGBx 0x10BC
4040

41-
/* sampler masks */
41+
/* sampler normalized coords */
42+
#define CLK_NORMALIZED_COORDS_FALSE 0x0000
43+
#define CLK_NORMALIZED_COORDS_TRUE 0x0001
44+
#define __SPIRV_NORMALIZED_COORDS_MASK 0x0001
45+
46+
/* sampler addressing mode */
47+
#define CLK_ADDRESS_NONE 0x0000
48+
#define CLK_ADDRESS_CLAMP_TO_EDGE 0x0002
49+
#define CLK_ADDRESS_CLAMP 0x0004
50+
#define CLK_ADDRESS_REPEAT 0x0006
51+
#define CLK_ADDRESS_MIRRORED_REPEAT 0x0008
4252
#define __SPIRV_ADDRESS_MASK 0x000E
53+
54+
/* sampler filter mode */
55+
#define CLK_FILTER_NEAREST 0x0000
56+
#define CLK_FILTER_LINEAR 0x0010
4357
#define __SPIRV_FILTER_MASK 0x0010
44-
#define __SPIRV_NORMALIZED_COORDS_MASK 0x0001

0 commit comments

Comments
 (0)