summaryrefslogtreecommitdiff
path: root/libclc/generic/lib/relational/isinf.cl
diff options
context:
space:
mode:
Diffstat (limited to 'libclc/generic/lib/relational/isinf.cl')
-rw-r--r--libclc/generic/lib/relational/isinf.cl12
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