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

