[Libclc-dev] [PATCH 14/14] native_recip: provide function implementation instead of macro
Jeroen Ketema via Libclc-dev
libclc-dev at lists.llvm.org
Sun Nov 12 14:15:17 PST 2017
LGTM
Jeroen
> On 4 Nov 2017, at 00:07, Jan Vesely via Libclc-dev <libclc-dev at lists.llvm.org> wrote:
>
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> ---
> generic/include/clc/math/native_recip.h | 10 +++++++++-
> generic/lib/SOURCES | 1 +
> generic/lib/math/native_recip.cl | 5 +++++
> generic/lib/math/native_recip.inc | 3 +++
> 4 files changed, 18 insertions(+), 1 deletion(-)
> create mode 100644 generic/lib/math/native_recip.cl
> create mode 100644 generic/lib/math/native_recip.inc
>
> diff --git a/generic/include/clc/math/native_recip.h b/generic/include/clc/math/native_recip.h
> index 5187661..ad81e06 100644
> --- a/generic/include/clc/math/native_recip.h
> +++ b/generic/include/clc/math/native_recip.h
> @@ -1 +1,9 @@
> -#define native_recip(x) ((1) / (x))
> +#define __CLC_BODY <clc/math/unary_decl.inc>
> +#define __CLC_FUNCTION native_recip
> +#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 296c93b..94ba4c0 100644
> --- a/generic/lib/SOURCES
> +++ b/generic/lib/SOURCES
> @@ -126,6 +126,7 @@ math/native_exp2.cl
> math/native_log.cl
> math/native_log10.cl
> math/native_log2.cl
> +math/native_recip.cl
> math/native_rsqrt.cl
> math/native_sin.cl
> math/native_sqrt.cl
> diff --git a/generic/lib/math/native_recip.cl b/generic/lib/math/native_recip.cl
> new file mode 100644
> index 0000000..bef2dee
> --- /dev/null
> +++ b/generic/lib/math/native_recip.cl
> @@ -0,0 +1,5 @@
> +#include <clc/clc.h>
> +
> +#define __CLC_BODY <native_recip.inc>
> +#define __FLOAT_ONLY
> +#include <clc/math/gentype.inc>
> diff --git a/generic/lib/math/native_recip.inc b/generic/lib/math/native_recip.inc
> new file mode 100644
> index 0000000..0d094ca
> --- /dev/null
> +++ b/generic/lib/math/native_recip.inc
> @@ -0,0 +1,3 @@
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_recip(__CLC_GENTYPE val) {
> + return 1.0f / val;
> +}
> --
> 2.13.6
>
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
More information about the Libclc-dev
mailing list