summaryrefslogtreecommitdiffstats
path: root/libclc/generic/lib/relational/isequal.cl
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2018-05-17 22:55:30 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2018-05-17 22:55:30 +0000
commit70a270da5f4a27b670cba1cb8148fcce5c094f4f (patch)
treeba5043901fab059f1a5ccfb2578156c62ec4c027 /libclc/generic/lib/relational/isequal.cl
parentc762666e8747841ab7dd785415e1354a1682e954 (diff)
downloadbcm5719-llvm-70a270da5f4a27b670cba1cb8148fcce5c094f4f.tar.gz
bcm5719-llvm-70a270da5f4a27b670cba1cb8148fcce5c094f4f.zip
Add initial support for half precision builtins
v2: fix fmax implementation use consistent checks for __CLC_FP_SIZE add missing TODOs fix whitespace in definitions.h v3: undef ZERO in modf.inc Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Reviewed-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 332677
Diffstat (limited to 'libclc/generic/lib/relational/isequal.cl')
-rw-r--r--libclc/generic/lib/relational/isequal.cl16
1 files changed, 15 insertions, 1 deletions
diff --git a/libclc/generic/lib/relational/isequal.cl b/libclc/generic/lib/relational/isequal.cl
index 9d79ba6b3db..3f14f945bfd 100644
--- a/libclc/generic/lib/relational/isequal.cl
+++ b/libclc/generic/lib/relational/isequal.cl
@@ -26,5 +26,19 @@ _CLC_DEFINE_ISEQUAL(long8, isequal, double8, double8)
_CLC_DEFINE_ISEQUAL(long16, isequal, double16, double16)
#endif
+#ifdef cl_khr_fp16
-#undef _CLC_DEFINE_ISEQUAL \ No newline at end of file
+#pragma OPENCL EXTENSION cl_khr_fp16 : enable
+
+// The scalar version of isequal(half) returns an int, but the vector versions
+// return short.
+_CLC_DEFINE_ISEQUAL(int, isequal, half, half)
+_CLC_DEFINE_ISEQUAL(short2, isequal, half2, half2)
+_CLC_DEFINE_ISEQUAL(short3, isequal, half3, half3)
+_CLC_DEFINE_ISEQUAL(short4, isequal, half4, half4)
+_CLC_DEFINE_ISEQUAL(short8, isequal, half8, half8)
+_CLC_DEFINE_ISEQUAL(short16, isequal, half16, half16)
+
+#endif
+
+#undef _CLC_DEFINE_ISEQUAL
OpenPOWER on IntegriCloud