diff options
Diffstat (limited to 'libclc/generic/lib/relational/isinf.cl')
-rw-r--r-- | libclc/generic/lib/relational/isinf.cl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libclc/generic/lib/relational/isinf.cl b/libclc/generic/lib/relational/isinf.cl index 1452d919cb86..96aae4aa700e 100644 --- a/libclc/generic/lib/relational/isinf.cl +++ b/libclc/generic/lib/relational/isinf.cl @@ -14,5 +14,17 @@ _CLC_DEF _CLC_OVERLOAD int isinf(double x) { } _CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(long, isinf, double) +#endif + +#ifdef cl_khr_fp16 + +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +// The scalar version of isinf(half) returns an int, but the vector versions +// return short. +_CLC_DEF _CLC_OVERLOAD int isinf(half x) { + return __builtin_isinf(x); +} +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(short, isinf, half) #endif |