summaryrefslogtreecommitdiffstats
path: root/libclc/generic/include/clc/math
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2018-01-17 21:22:03 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2018-01-17 21:22:03 +0000
commit5efc8fe321d04a8645d2d6beb904f9eed0b94c98 (patch)
tree345d7d1693d9e2d006aa3c2ae92263e98cd41ad2 /libclc/generic/include/clc/math
parentcc5c65b2c25e0a82fbad95f0ce3bb5262e29eeee (diff)
downloadbcm5719-llvm-5efc8fe321d04a8645d2d6beb904f9eed0b94c98.tar.gz
bcm5719-llvm-5efc8fe321d04a8645d2d6beb904f9eed0b94c98.zip
pown: Port from amd_builtins
Passes piglit on turks and carrizo fp64 passes CTS on carrizo v2: fix formatting check fp32 denormal support at runtime Reviewer: Jeroen Ketema <j.ketema@xs4all.nl> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 322761
Diffstat (limited to 'libclc/generic/include/clc/math')
-rw-r--r--libclc/generic/include/clc/math/pown.h27
-rw-r--r--libclc/generic/include/clc/math/pown.inc1
2 files changed, 4 insertions, 24 deletions
diff --git a/libclc/generic/include/clc/math/pown.h b/libclc/generic/include/clc/math/pown.h
index bdbf50c1de6..2ed8a6e269f 100644
--- a/libclc/generic/include/clc/math/pown.h
+++ b/libclc/generic/include/clc/math/pown.h
@@ -1,24 +1,3 @@
-#define _CLC_POWN_INTRINSIC "llvm.powi"
-
-#define _CLC_POWN_DECL(GENTYPE, INTTYPE) \
- _CLC_OVERLOAD _CLC_DECL GENTYPE pown(GENTYPE x, INTTYPE y);
-
-#define _CLC_VECTOR_POWN_DECL(GENTYPE, INTTYPE) \
- _CLC_POWN_DECL(GENTYPE##2, INTTYPE##2) \
- _CLC_POWN_DECL(GENTYPE##3, INTTYPE##3) \
- _CLC_POWN_DECL(GENTYPE##4, INTTYPE##4) \
- _CLC_POWN_DECL(GENTYPE##8, INTTYPE##8) \
- _CLC_POWN_DECL(GENTYPE##16, INTTYPE##16)
-
-_CLC_OVERLOAD float pown(float x, int y) __asm(_CLC_POWN_INTRINSIC ".f32");
-
-_CLC_VECTOR_POWN_DECL(float, int)
-
-#ifdef cl_khr_fp64
-_CLC_OVERLOAD double pown(double x, int y) __asm(_CLC_POWN_INTRINSIC ".f64");
-_CLC_VECTOR_POWN_DECL(double, int)
-#endif
-
-#undef _CLC_POWN_INTRINSIC
-#undef _CLC_POWN_DECL
-#undef _CLC_VECTOR_POWN_DECL
+#define __CLC_BODY <clc/math/pown.inc>
+#include <clc/math/gentype.inc>
+#undef __CLC_BODY
diff --git a/libclc/generic/include/clc/math/pown.inc b/libclc/generic/include/clc/math/pown.inc
new file mode 100644
index 00000000000..cf0be4cc2ea
--- /dev/null
+++ b/libclc/generic/include/clc/math/pown.inc
@@ -0,0 +1 @@
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE pown(__CLC_GENTYPE a, __CLC_INTN b);
OpenPOWER on IntegriCloud