[Libclc-dev] [PATCH 10/14] native_exp10: Switch implementation to use llvm intrinsic

Jan Vesely via Libclc-dev libclc-dev at lists.llvm.org
Fri Nov 10 10:50:26 PST 2017


On Fri, 2017-11-03 at 19:07 -0400, Jan Vesely wrote:
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> ---
>  generic/include/clc/math/native_exp10.h | 10 +++++++++-
>  generic/lib/SOURCES                     |  1 +
>  generic/lib/math/native_exp10.cl        |  5 +++++
>  generic/lib/math/native_exp10.inc       |  3 +++
>  4 files changed, 18 insertions(+), 1 deletion(-)
>  create mode 100644 generic/lib/math/native_exp10.cl
>  create mode 100644 generic/lib/math/native_exp10.inc
> 
> diff --git a/generic/include/clc/math/native_exp10.h b/generic/include/clc/math/native_exp10.h
> index 1156f58..4cd8123 100644
> --- a/generic/include/clc/math/native_exp10.h
> +++ b/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/generic/lib/SOURCES b/generic/lib/SOURCES
> index a230d38..2b31465 100644
> --- a/generic/lib/SOURCES
> +++ b/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/generic/lib/math/native_exp10.cl b/generic/lib/math/native_exp10.cl
> new file mode 100644
> index 0000000..77959a7
> --- /dev/null
> +++ b/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/generic/lib/math/native_exp10.inc b/generic/lib/math/native_exp10.inc
> new file mode 100644
> index 0000000..7f9cb15
> --- /dev/null
> +++ b/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 * M_LOG10E_F);

This constant is wrong. I've fixed this locally to call native_log2(10)
The next patch switches to correct constant anyway.

Jan
> +}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20171110/cf19f7b0/attachment.sig>


More information about the Libclc-dev mailing list