diff options
author | Jan Vesely <jan.vesely@rutgers.edu> | 2017-11-10 22:16:41 +0000 |
---|---|---|
committer | Jan Vesely <jan.vesely@rutgers.edu> | 2017-11-10 22:16:41 +0000 |
commit | 6b4a625438983ab8dc84b087a90c9d9bb94ffdde (patch) | |
tree | 21f850756cadead6def0589c4fbddb30ea4ca6dc | |
parent | 4301e6d0c915563c9d2d8a9bd1d0c4395913985e (diff) | |
download | bcm5719-llvm-6b4a625438983ab8dc84b087a90c9d9bb94ffdde.tar.gz bcm5719-llvm-6b4a625438983ab8dc84b087a90c9d9bb94ffdde.zip |
native_exp10: Switch implementation to llvm intrinsic
v2: Use native_log2 instead of wrong constant
Reviewer: Jeroen Ketema
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 317941
-rw-r--r-- | libclc/generic/include/clc/math/native_exp10.h | 10 | ||||
-rw-r--r-- | libclc/generic/lib/SOURCES | 1 | ||||
-rw-r--r-- | libclc/generic/lib/math/native_exp10.cl | 5 | ||||
-rw-r--r-- | libclc/generic/lib/math/native_exp10.inc | 3 |
4 files changed, 18 insertions, 1 deletions
diff --git a/libclc/generic/include/clc/math/native_exp10.h b/libclc/generic/include/clc/math/native_exp10.h index 1156f58c53a..4cd81235b0f 100644 --- a/libclc/generic/include/clc/math/native_exp10.h +++ b/libclc/generic/include/clc/math/native_exp10.h @@ -1 +1,9 @@ -#define native_exp10 exp10 +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_exp10 +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES index a230d388fea..2b314653a88 100644 --- a/libclc/generic/lib/SOURCES +++ b/libclc/generic/lib/SOURCES @@ -121,6 +121,7 @@ math/mad.cl math/modf.cl math/native_cos.cl math/native_exp.cl +math/native_exp10.cl math/native_exp2.cl math/native_log.cl math/native_log10.cl diff --git a/libclc/generic/lib/math/native_exp10.cl b/libclc/generic/lib/math/native_exp10.cl new file mode 100644 index 00000000000..77959a73c4f --- /dev/null +++ b/libclc/generic/lib/math/native_exp10.cl @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_exp10.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff --git a/libclc/generic/lib/math/native_exp10.inc b/libclc/generic/lib/math/native_exp10.inc new file mode 100644 index 00000000000..b82a650070e --- /dev/null +++ b/libclc/generic/lib/math/native_exp10.inc @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_exp10(__CLC_GENTYPE val) { + return native_exp2(val * native_log2(10)); +} |