summaryrefslogtreecommitdiffstats
path: root/libclc
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2015-05-09 22:31:01 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2015-05-09 22:31:01 +0000
commit7c829fe14981ef97bc9f70f760bf5df3b23edd95 (patch)
treef84ec4f95922eb92c9e810561c41d79171d2b2e1 /libclc
parent071833d454d7a5e22c86fced206db738126ad593 (diff)
downloadbcm5719-llvm-7c829fe14981ef97bc9f70f760bf5df3b23edd95.tar.gz
bcm5719-llvm-7c829fe14981ef97bc9f70f760bf5df3b23edd95.zip
geometric: Limit fast_{distance,length} functions to single precision
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 236940
Diffstat (limited to 'libclc')
-rw-r--r--libclc/generic/include/clc/geometric/fast_distance.h2
-rw-r--r--libclc/generic/include/clc/geometric/fast_length.h2
-rw-r--r--libclc/generic/lib/geometric/fast_distance.cl6
-rw-r--r--libclc/generic/lib/geometric/fast_length.cl21
4 files changed, 6 insertions, 25 deletions
diff --git a/libclc/generic/include/clc/geometric/fast_distance.h b/libclc/generic/include/clc/geometric/fast_distance.h
index 91b3fe5a731..a84f70b791b 100644
--- a/libclc/generic/include/clc/geometric/fast_distance.h
+++ b/libclc/generic/include/clc/geometric/fast_distance.h
@@ -21,4 +21,6 @@
*/
#define __CLC_BODY <clc/geometric/fast_distance.inc>
+#define __FLOAT_ONLY
#include <clc/geometric/floatn.inc>
+#undef __FLOAT_ONLY
diff --git a/libclc/generic/include/clc/geometric/fast_length.h b/libclc/generic/include/clc/geometric/fast_length.h
index 2c7b80ac08f..1d894b692b7 100644
--- a/libclc/generic/include/clc/geometric/fast_length.h
+++ b/libclc/generic/include/clc/geometric/fast_length.h
@@ -21,4 +21,6 @@
*/
#define __CLC_BODY <clc/geometric/fast_length.inc>
+#define __FLOAT_ONLY
#include <clc/geometric/floatn.inc>
+#undef __FLOAT_ONLY
diff --git a/libclc/generic/lib/geometric/fast_distance.cl b/libclc/generic/lib/geometric/fast_distance.cl
index 47c9d7a2302..0a4f82c3296 100644
--- a/libclc/generic/lib/geometric/fast_distance.cl
+++ b/libclc/generic/lib/geometric/fast_distance.cl
@@ -22,9 +22,7 @@
#include <clc/clc.h>
-#ifdef cl_khr_fp64
-#pragma OPENCL EXTENSION cl_khr_fp64 : enable
-#endif
-
#define __CLC_BODY <fast_distance.inc>
+#define __FLOAT_ONLY
#include <clc/geometric/floatn.inc>
+#undef __FLOAT_ONLY
diff --git a/libclc/generic/lib/geometric/fast_length.cl b/libclc/generic/lib/geometric/fast_length.cl
index 425dcf7c14b..8f6ffc687ab 100644
--- a/libclc/generic/lib/geometric/fast_length.cl
+++ b/libclc/generic/lib/geometric/fast_length.cl
@@ -37,24 +37,3 @@ _CLC_OVERLOAD _CLC_DEF float fast_length(float3 p) {
_CLC_OVERLOAD _CLC_DEF float fast_length(float4 p) {
return half_sqrt(dot(p, p));
}
-
-#ifdef cl_khr_fp64
-#pragma OPENCL EXTENSION cl_khr_fp64 : enable
-
-_CLC_OVERLOAD _CLC_DEF double fast_length(double p) {
- return fabs(p);
-}
-
-_CLC_OVERLOAD _CLC_DEF double fast_length(double2 p) {
- return half_sqrt(dot(p, p));
-}
-
-_CLC_OVERLOAD _CLC_DEF double fast_length(double3 p) {
- return half_sqrt(dot(p, p));
-}
-
-_CLC_OVERLOAD _CLC_DEF double fast_length(double4 p) {
- return half_sqrt(dot(p, p));
-}
-
-#endif
OpenPOWER on IntegriCloud