Enable cl_khr_fp64 when building the library, and fix several bugs
authorPeter Collingbourne <peter@pcc.me.uk>
Tue, 29 May 2012 13:35:54 +0000 (13:35 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Tue, 29 May 2012 13:35:54 +0000 (13:35 +0000)
uncovered when doing so.

llvm-svn: 157617

libclc/compile-test.sh
libclc/configure.py
libclc/generic/lib/geometric/length.cl
libclc/generic/lib/geometric/length.inc
libclc/generic/lib/geometric/normalize.cl
libclc/generic/lib/math/mad.cl

index d0f4bb4..7461811 100755 (executable)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-clang -ccc-host-triple nvptx--nvidiacl -Iptx-nvidiacl/include -Igeneric/include -Xclang -mlink-bitcode-file -Xclang nvptx--nvidiacl/lib/builtins.bc -include clc/clc.h -Dcl_clang_storage_class_specifiers "$@"
+clang -ccc-host-triple nvptx--nvidiacl -Iptx-nvidiacl/include -Igeneric/include -Xclang -mlink-bitcode-file -Xclang nvptx--nvidiacl/lib/builtins.bc -include clc/clc.h -Dcl_clang_storage_class_specifiers -Dcl_khr_fp64 "$@"
index 829ce6b..ab84a0d 100755 (executable)
@@ -93,6 +93,7 @@ for target in targets:
   # The rule for building a .bc file for the specified architecture using clang.
   clang_bc_flags = "-ccc-host-triple %s -I`dirname $in` %s " \
                    "-Dcl_clang_storage_class_specifiers " \
+                   "-Dcl_khr_fp64 " \
                    "-emit-llvm" % (target, clang_cl_includes)
   clang_bc_rule = "CLANG_CL_BC_" + target
   c_compiler_rule(b, clang_bc_rule, "LLVM-CC", llvm_clang, clang_bc_flags)
index 957fbfd..cbe84a0 100644 (file)
@@ -1,4 +1,8 @@
 #include <clc/clc.h>
 
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
 #define BODY "length.inc"
 #include <clc/geometric/floatn.inc>
index 66d1604..494789c 100644 (file)
@@ -1,3 +1,3 @@
-_CLC_OVERLOAD _CLC_DEF float length(FLOATN p) {
+_CLC_OVERLOAD _CLC_DEF FLOAT length(FLOATN p) {
   return native_sqrt(dot(p, p));
 }
index 95d327c..e5a521f 100644 (file)
@@ -1,4 +1,8 @@
 #include <clc/clc.h>
 
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
 #define BODY "normalize.inc"
 #include <clc/geometric/floatn.inc>
index ff0cdbb..e66e204 100644 (file)
@@ -1,4 +1,8 @@
 #include <clc/clc.h>
 
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
 #define BODY <mad.inc>
 #include <clc/math/gentype.inc>