Skip to content

Commit 4dd89f2

Browse files
committed
[libclc] Move fp16 pragma guards out of header file
Having the fp16 pragmas enabled in the header file is risky, as we have some headers that also disable pragmas. We want to be as immune to changes in the order of included header files as possible. This pattern of setting pragmas in the implementation files is also far more common across the codebase.
1 parent 305b25c commit 4dd89f2

File tree

23 files changed

+131
-11
lines changed

23 files changed

+131
-11
lines changed

libclc/clc/include/clc/clcmacro.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,6 @@
207207
return BUILTIN(x); \
208208
}
209209

210-
#ifdef cl_khr_fp16
211-
212-
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
213-
214210
#define _CLC_DEFINE_UNARY_BUILTIN_FP16(FUNCTION) \
215211
_CLC_DEF _CLC_OVERLOAD half FUNCTION(half x) { \
216212
return (half)FUNCTION((float)x); \
@@ -223,11 +219,4 @@
223219
} \
224220
_CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, half, FUNCTION, half, half)
225221

226-
#else
227-
228-
#define _CLC_DEFINE_UNARY_BUILTIN_FP16(FUNCTION)
229-
#define _CLC_DEFINE_BINARY_BUILTIN_FP16(FUNCTION)
230-
231-
#endif
232-
233222
#endif // __CLC_CLCMACRO_H__

libclc/generic/lib/math/acos.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,4 +172,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, acos, double);
172172

173173
#endif // cl_khr_fp64
174174

175+
#ifdef cl_khr_fp16
176+
177+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
178+
175179
_CLC_DEFINE_UNARY_BUILTIN_FP16(acos)
180+
181+
#endif

libclc/generic/lib/math/acosh.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, acosh, double)
126126

127127
#endif
128128

129+
#ifdef cl_khr_fp16
130+
131+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
132+
129133
_CLC_DEFINE_UNARY_BUILTIN_FP16(acosh)
134+
135+
#endif

libclc/generic/lib/math/acospi.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, acospi, double)
171171

172172
#endif
173173

174+
#ifdef cl_khr_fp16
175+
176+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
177+
174178
_CLC_DEFINE_UNARY_BUILTIN_FP16(acospi)
179+
180+
#endif

libclc/generic/lib/math/asinh.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,4 +292,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, asinh, double)
292292

293293
#endif
294294

295+
#ifdef cl_khr_fp16
296+
297+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
298+
295299
_CLC_DEFINE_UNARY_BUILTIN_FP16(asinh)
300+
301+
#endif

libclc/generic/lib/math/atan.cl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,5 +182,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, atan, double);
182182

183183
#endif // cl_khr_fp64
184184

185+
#ifdef cl_khr_fp16
186+
187+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
185188

186189
_CLC_DEFINE_UNARY_BUILTIN_FP16(atan)
190+
191+
#endif

libclc/generic/lib/math/atan2.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,4 +236,10 @@ _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, atan2, double, double);
236236

237237
#endif
238238

239+
#ifdef cl_khr_fp16
240+
241+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
242+
239243
_CLC_DEFINE_BINARY_BUILTIN_FP16(atan2)
244+
245+
#endif

libclc/generic/lib/math/atan2pi.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,4 +220,10 @@ _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, atan2pi, double, double)
220220

221221
#endif
222222

223+
#ifdef cl_khr_fp16
224+
225+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
226+
223227
_CLC_DEFINE_BINARY_BUILTIN_FP16(atan2pi)
228+
229+
#endif

libclc/generic/lib/math/atanh.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, atanh, double)
112112

113113
#endif
114114

115+
#ifdef cl_khr_fp16
116+
117+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
118+
115119
_CLC_DEFINE_UNARY_BUILTIN_FP16(atanh)
120+
121+
#endif

libclc/generic/lib/math/atanpi.cl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,10 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, atanpi, double)
181181

182182
#endif
183183

184+
#ifdef cl_khr_fp16
185+
186+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
187+
184188
_CLC_DEFINE_UNARY_BUILTIN_FP16(atanpi)
189+
190+
#endif

0 commit comments

Comments
 (0)