Hello community, here is the log from the commit of package libclc for openSUSE:Factory checked in at 2018-01-01 22:04:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libclc (Old) and /work/SRC/openSUSE:Factory/.libclc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libclc" Mon Jan 1 22:04:24 2018 rev:8 rq:559673 version:0.2.0+git.20171127 Changes: -------- --- /work/SRC/openSUSE:Factory/libclc/libclc.changes 2017-11-14 14:09:27.316616843 +0100 +++ /work/SRC/openSUSE:Factory/.libclc.new/libclc.changes 2018-01-01 22:04:35.485802428 +0100 @@ -1,0 +2,24 @@ +Sat Dec 23 08:24:44 UTC 2017 - [email protected] + +- Update to version 0.2.0+git.20171127: + * configure.py: Add gfx900 (Vega, Raven) + * math: Implement minmag + * math: Implement maxmag + * native_powr: Switch implementation to native_exp2 and native_log2 + * native_divide: provide function implementation instead of macro + * native_recip: provide function implementation instead of macro + * native_rsqrt: Switch implementation to 1 / native_sqrt + * native_tan: Switch implementation to use native_sin/native_cos + * math: Use precomputed constant for log2(10.0) + * native_exp10: Switch implementation to llvm intrinsic + * native_sqrt: Switch implementation to llvm intrinsic + * native_sin: Switch implementation to llvm intrinsic + * native_cos: Switch implementation to llvm intrinsic + * native_exp2: Switch implementation to llvm intrinsic + * native_exp: Switch implementation to llvm intrinsic + * amdgpu: Add workaround for unimplemented llvm.exp intrinsic + * native_log10: Switch to generic native intrinsic inc file + * native_log: Switch to generic native intrinsic inc file + * native_log2: Switch to generic native intrinsic inc file + +------------------------------------------------------------------- Old: ---- libclc-0.2.0+git.20171102.tar.xz New: ---- libclc-0.2.0+git.20171127.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libclc.spec ++++++ --- /var/tmp/diff_new_pack.tI2tdz/_old 2018-01-01 22:04:36.029620695 +0100 +++ /var/tmp/diff_new_pack.tI2tdz/_new 2018-01-01 22:04:36.033619359 +0100 @@ -17,7 +17,7 @@ Name: libclc -Version: 0.2.0+git.20171102 +Version: 0.2.0+git.20171127 Release: 0 Summary: OpenCL C programming language library License: BSD-3-Clause OR MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.tI2tdz/_old 2018-01-01 22:04:36.069607332 +0100 +++ /var/tmp/diff_new_pack.tI2tdz/_new 2018-01-01 22:04:36.069607332 +0100 @@ -4,7 +4,6 @@ <param name="url">https://github.com/llvm-mirror/libclc.git</param> <param name="submodules">enable</param> <param name="changesgenerate">enable</param> - <param name="revision">f07a10170a91a461e5ea1579ccb025526a372b7a</param> <param name="versionformat">0.2.0+git.%cd</param> </service> <service name="recompress" mode="disabled"> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.tI2tdz/_old 2018-01-01 22:04:36.093599315 +0100 +++ /var/tmp/diff_new_pack.tI2tdz/_new 2018-01-01 22:04:36.093599315 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/llvm-mirror/libclc.git</param> - <param name="changesrevision">f07a10170a91a461e5ea1579ccb025526a372b7a</param> + <param name="changesrevision">d6384415ab854c68777dd77451aa2bc0d959da99</param> </service> </servicedata> \ No newline at end of file ++++++ libclc-0.2.0+git.20171102.tar.xz -> libclc-0.2.0+git.20171127.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/amdgpu/lib/SOURCES new/libclc-0.2.0+git.20171127/amdgpu/lib/SOURCES --- old/libclc-0.2.0+git.20171102/amdgpu/lib/SOURCES 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/amdgpu/lib/SOURCES 2017-11-27 12:14:06.000000000 +0100 @@ -1,3 +1,4 @@ +math/native_exp.cl math/native_log.cl math/native_log10.cl math/nextafter.cl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/amdgpu/lib/math/native_exp.cl new/libclc-0.2.0+git.20171127/amdgpu/lib/math/native_exp.cl --- old/libclc-0.2.0+git.20171102/amdgpu/lib/math/native_exp.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/amdgpu/lib/math/native_exp.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_exp.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/amdgpu/lib/math/native_exp.inc new/libclc-0.2.0+git.20171127/amdgpu/lib/math/native_exp.inc --- old/libclc-0.2.0+git.20171102/amdgpu/lib/math/native_exp.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/amdgpu/lib/math/native_exp.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_exp(__CLC_GENTYPE val) { + return native_exp2(val * M_LOG2E_F); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/configure.py new/libclc-0.2.0+git.20171127/configure.py --- old/libclc-0.2.0+git.20171102/configure.py 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/configure.py 2017-11-27 12:14:06.000000000 +0100 @@ -100,9 +100,9 @@ {'gpu' : 'barts', 'aliases' : ['turks', 'caicos'] }, {'gpu' : 'cayman', 'aliases' : ['aruba']} ]}, 'amdgcn--': { 'devices' : - [{'gpu' : 'tahiti', 'aliases' : ['pitcairn', 'verde', 'oland', 'hainan', 'bonaire', 'kabini', 'kaveri', 'hawaii','mullins','tonga','carrizo','iceland','fiji','stoney','polaris10','polaris11']} ]}, + [{'gpu' : 'tahiti', 'aliases' : ['pitcairn', 'verde', 'oland', 'hainan', 'bonaire', 'kabini', 'kaveri', 'hawaii', 'mullins', 'tonga', 'iceland', 'carrizo', 'fiji', 'stoney', 'polaris10', 'polaris11', 'gfx900']} ]}, 'amdgcn--amdhsa': { 'devices' : - [{'gpu' : '', 'aliases' : ['bonaire', 'hawaii', 'kabini', 'kaveri', 'mullins', 'carrizo', 'stoney', 'fiji', 'iceland', 'tonga','polaris10','polaris11']} ]}, + [{'gpu' : '', 'aliases' : ['bonaire', 'kabini', 'kaveri', 'hawaii', 'mullins', 'tonga', 'iceland', 'carrizo', 'fiji', 'stoney', 'polaris10', 'polaris11', 'gfx900']} ]}, 'nvptx--' : { 'devices' : [{'gpu' : '', 'aliases' : []} ]}, 'nvptx64--' : { 'devices' : [{'gpu' : '', 'aliases' : []} ]}, 'nvptx--nvidiacl' : { 'devices' : [{'gpu' : '', 'aliases' : []} ]}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/clc.h new/libclc-0.2.0+git.20171127/generic/include/clc/clc.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/clc.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/clc.h 2017-11-27 12:14:06.000000000 +0100 @@ -83,6 +83,8 @@ #include <clc/math/log2.h> #include <clc/math/logb.h> #include <clc/math/mad.h> +#include <clc/math/maxmag.h> +#include <clc/math/minmag.h> #include <clc/math/modf.h> #include <clc/math/nextafter.h> #include <clc/math/pow.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/float/definitions.h new/libclc-0.2.0+git.20171127/generic/include/clc/float/definitions.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/float/definitions.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/float/definitions.h 2017-11-27 12:14:06.000000000 +0100 @@ -31,6 +31,10 @@ #define M_SQRT2_F 0x1.6a09e6p+0f #define M_SQRT1_2_F 0x1.6a09e6p-1f +#ifdef __CLC_INTERNAL +#define M_LOG210_F 0x1.a934f0p+1f +#endif + #ifdef cl_khr_fp64 #define HUGE_VAL __builtin_huge_val() @@ -59,6 +63,10 @@ #define M_SQRT2 0x1.6a09e667f3bcdp+0 #define M_SQRT1_2 0x1.6a09e667f3bcdp-1 +#ifdef __CLC_INTERNAL +#define M_LOG210 0x1.a934f0979a371p+1 +#endif + #endif #ifdef cl_khr_fp16 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/binary_decl_tt.inc new/libclc-0.2.0+git.20171127/generic/include/clc/math/binary_decl_tt.inc --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/binary_decl_tt.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/binary_decl_tt.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1 @@ +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/maxmag.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/maxmag.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/maxmag.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/maxmag.h 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#define __CLC_BODY <clc/math/binary_decl_tt.inc> +#define __CLC_FUNCTION maxmag + +#include <clc/math/gentype.inc> + +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/minmag.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/minmag.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/minmag.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/minmag.h 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#define __CLC_BODY <clc/math/binary_decl_tt.inc> +#define __CLC_FUNCTION minmag + +#include <clc/math/gentype.inc> + +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_cos.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_cos.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_cos.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_cos.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,9 @@ -#define native_cos cos +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_cos +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_divide.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_divide.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_divide.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_divide.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,7 @@ -#define native_divide(x, y) ((x) / (y)) +#define __CLC_BODY <clc/math/binary_decl_tt.inc> +#define __CLC_FUNCTION native_divide + +#include <clc/math/gentype.inc> + +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_exp.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_exp.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_exp.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_exp.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,9 @@ -#define native_exp exp +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_exp +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_exp10.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_exp10.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_exp10.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_exp10.h 2017-11-27 12:14:06.000000000 +0100 @@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_exp2.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_exp2.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_exp2.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_exp2.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,9 @@ -#define native_exp2 exp2 +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_exp2 +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_powr.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_powr.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_powr.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_powr.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,7 @@ -#define native_powr pow +#define __CLC_BODY <clc/math/binary_decl_tt.inc> +#define __CLC_FUNCTION native_powr + +#include <clc/math/gentype.inc> + +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_recip.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_recip.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_recip.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_recip.h 2017-11-27 12:14:06.000000000 +0100 @@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_rsqrt.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_rsqrt.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_rsqrt.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_rsqrt.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,9 @@ -#define native_rsqrt rsqrt +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_rsqrt +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_sin.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_sin.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_sin.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_sin.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,9 @@ -#define native_sin sin +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_sin +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_sqrt.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_sqrt.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_sqrt.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_sqrt.h 2017-11-27 12:14:06.000000000 +0100 @@ -1 +1,9 @@ -#define native_sqrt sqrt +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_sqrt +#define __FLOAT_ONLY + +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_tan.h new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_tan.h --- old/libclc-0.2.0+git.20171102/generic/include/clc/math/native_tan.h 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/clc/math/native_tan.h 2017-11-27 12:14:06.000000000 +0100 @@ -1,10 +1,9 @@ -//===-- generic/include/clc/math/native_tan.h -----------------------------===// +#define __CLC_BODY <clc/math/unary_decl.inc> +#define __CLC_FUNCTION native_tan +#define __FLOAT_ONLY -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under both the University of Illinois Open Source -// License and the MIT license. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -#define native_tan tan +#include <clc/math/gentype.inc> + +#undef __FLOAT_ONLY +#undef __CLC_BODY +#undef __CLC_FUNCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/include/utils.h new/libclc-0.2.0+git.20171127/generic/include/utils.h --- old/libclc-0.2.0+git.20171102/generic/include/utils.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/include/utils.h 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,10 @@ +#ifndef __CLC_UTILS_H_ +#define __CLC_UTILS_H_ + +#define __CLC_CONCAT(x, y) x ## y +#define __CLC_XCONCAT(x, y) __CLC_CONCAT(x, y) + +#define __CLC_STR(x) #x +#define __CLC_XSTR(x) __CLC_STR(x) + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/SOURCES new/libclc-0.2.0+git.20171127/generic/lib/SOURCES --- old/libclc-0.2.0+git.20171102/generic/lib/SOURCES 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/SOURCES 2017-11-27 12:14:06.000000000 +0100 @@ -118,10 +118,23 @@ math/log2.cl math/logb.cl math/mad.cl +math/maxmag.cl +math/minmag.cl math/modf.cl +math/native_cos.cl +math/native_divide.cl +math/native_exp.cl +math/native_exp10.cl +math/native_exp2.cl math/native_log.cl math/native_log10.cl math/native_log2.cl +math/native_powr.cl +math/native_recip.cl +math/native_rsqrt.cl +math/native_sin.cl +math/native_sqrt.cl +math/native_tan.cl math/tables.cl math/clc_nextafter.cl math/nextafter.cl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/exp10.inc new/libclc-0.2.0+git.20171127/generic/lib/math/exp10.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/exp10.inc 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/exp10.inc 2017-11-27 12:14:06.000000000 +0100 @@ -1,9 +1,9 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE exp10(__CLC_GENTYPE val) { // exp10(x) = exp2(x * log2(10)) #if __CLC_FPSIZE == 32 - return exp2(val * log2(10.0f)); + return exp2(val * M_LOG210_F); #elif __CLC_FPSIZE == 64 - return exp2(val * log2(10.0)); + return exp2(val * M_LOG210); #else #error unknown _CLC_FPSIZE #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/maxmag.cl new/libclc-0.2.0+git.20171127/generic/lib/math/maxmag.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/maxmag.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/maxmag.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,4 @@ +#include <clc/clc.h> + +#define __CLC_BODY <maxmag.inc> +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/maxmag.inc new/libclc-0.2.0+git.20171127/generic/lib/math/maxmag.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/maxmag.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/maxmag.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,4 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE maxmag(__CLC_GENTYPE x, __CLC_GENTYPE y) { + const __CLC_GENTYPE res = select(y, x, isgreater(fabs(x), fabs(y))); + return select(res, fmax(x, y), isnan(x) | isnan(y) | isequal(fabs(x), fabs(y))); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/minmag.cl new/libclc-0.2.0+git.20171127/generic/lib/math/minmag.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/minmag.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/minmag.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,4 @@ +#include <clc/clc.h> + +#define __CLC_BODY <minmag.inc> +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/minmag.inc new/libclc-0.2.0+git.20171127/generic/lib/math/minmag.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/minmag.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/minmag.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,4 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE minmag(__CLC_GENTYPE x, __CLC_GENTYPE y) { + const __CLC_GENTYPE res = select(y, x, isless(fabs(x), fabs(y))); + return select(res, fmin(x, y), isnan(x) | isnan(y) | isequal(fabs(x), fabs(y))); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_cos.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_cos.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_cos.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_cos.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#include <clc/clc.h> + +#define __CLC_NATIVE_INTRINSIC cos + +#define __CLC_BODY <native_unary_intrinsic.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_divide.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_divide.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_divide.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_divide.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_divide.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_divide.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_divide.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_divide.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_divide.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_divide(__CLC_GENTYPE x, __CLC_GENTYPE y) { + return x / y; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#include <clc/clc.h> + +#define __CLC_NATIVE_INTRINSIC exp + +#define __CLC_BODY <native_unary_intrinsic.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp10.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp10.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp10.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp10.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_exp10.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp10.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp10.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp10.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp10.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_exp10(__CLC_GENTYPE val) { + return native_exp2(val * M_LOG210_F); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp2.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp2.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_exp2.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_exp2.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#include <clc/clc.h> + +#define __CLC_NATIVE_INTRINSIC exp2 + +#define __CLC_BODY <native_unary_intrinsic.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_log.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_log.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_log.cl 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_log.cl 2017-11-27 12:14:06.000000000 +0100 @@ -22,11 +22,8 @@ #include <clc/clc.h> -#define __CLC_FUNCTION __clc_native_log -#define __CLC_INTRINSIC "llvm.log" -#undef cl_khr_fp64 -#include <clc/math/unary_intrin.inc> +#define __CLC_NATIVE_INTRINSIC log -#define __CLC_BODY <native_log.inc> +#define __CLC_BODY <native_unary_intrinsic.inc> #define __FLOAT_ONLY #include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_log.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_log.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_log.inc 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_log.inc 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2014,2015 Advanced Micro Devices, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_log(__CLC_GENTYPE val) { - return __clc_native_log(val); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_log10.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_log10.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_log10.cl 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_log10.cl 2017-11-27 12:14:06.000000000 +0100 @@ -1,10 +1,7 @@ #include <clc/clc.h> -#define __CLC_FUNCTION __clc_native_log10 -#define __CLC_INTRINSIC "llvm.log10" -#undef cl_khr_fp64 -#include <clc/math/unary_intrin.inc> +#define __CLC_NATIVE_INTRINSIC log10 -#define __CLC_BODY <native_log10.inc> +#define __CLC_BODY <native_unary_intrinsic.inc> #define __FLOAT_ONLY #include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_log10.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_log10.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_log10.inc 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_log10.inc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_log10(__CLC_GENTYPE val) { - return __clc_native_log10(val); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_log2.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_log2.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_log2.cl 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_log2.cl 2017-11-27 12:14:06.000000000 +0100 @@ -22,11 +22,7 @@ #include <clc/clc.h> -#define __CLC_FUNCTION __clc_native_log2 -#define __CLC_INTRINSIC "llvm.log2" -#undef cl_khr_fp64 -#include <clc/math/unary_intrin.inc> - -#define __CLC_BODY <native_log2.inc> +#define __CLC_NATIVE_INTRINSIC log2 +#define __CLC_BODY <native_unary_intrinsic.inc> #define __FLOAT_ONLY #include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_log2.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_log2.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_log2.inc 2017-11-02 20:49:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_log2.inc 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2014,2015 Advanced Micro Devices, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_log2(__CLC_GENTYPE val) { - return __clc_native_log2(val); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_powr.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_powr.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_powr.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_powr.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_powr.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_powr.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_powr.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_powr.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_powr.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_powr(__CLC_GENTYPE x, __CLC_GENTYPE y) { + // x^y == 2^{log2 x^y} == 2^{y * log2 x} + // for x < 0 propagate nan created by log2 + return native_exp2(y * native_log2(x)); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_recip.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_recip.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_recip.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_recip.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_recip.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_recip.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_recip.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_recip.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_recip.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_recip(__CLC_GENTYPE val) { + return 1.0f / val; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_rsqrt.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_rsqrt.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_rsqrt.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_rsqrt.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_rsqrt.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_rsqrt.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_rsqrt.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_rsqrt.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_rsqrt.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_rsqrt(__CLC_GENTYPE val) { + return 1.0f / native_sqrt(val); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_sin.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_sin.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_sin.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_sin.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#include <clc/clc.h> + +#define __CLC_NATIVE_INTRINSIC sin + +#define __CLC_BODY <native_unary_intrinsic.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_sqrt.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_sqrt.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_sqrt.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_sqrt.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,7 @@ +#include <clc/clc.h> + +#define __CLC_NATIVE_INTRINSIC sqrt + +#define __CLC_BODY <native_unary_intrinsic.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_tan.cl new/libclc-0.2.0+git.20171127/generic/lib/math/native_tan.cl --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_tan.cl 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_tan.cl 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,5 @@ +#include <clc/clc.h> + +#define __CLC_BODY <native_tan.inc> +#define __FLOAT_ONLY +#include <clc/math/gentype.inc> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_tan.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_tan.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_tan.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_tan.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,3 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_tan(__CLC_GENTYPE val) { + return native_sin(val) / native_cos(val); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-0.2.0+git.20171102/generic/lib/math/native_unary_intrinsic.inc new/libclc-0.2.0+git.20171127/generic/lib/math/native_unary_intrinsic.inc --- old/libclc-0.2.0+git.20171102/generic/lib/math/native_unary_intrinsic.inc 1970-01-01 01:00:00.000000000 +0100 +++ new/libclc-0.2.0+git.20171127/generic/lib/math/native_unary_intrinsic.inc 2017-11-27 12:14:06.000000000 +0100 @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2014,2015 Advanced Micro Devices, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <utils.h> + +#ifdef __CLC_SCALAR +#define __CLC_FUNCTION __CLC_XCONCAT(__clc_native_, __CLC_NATIVE_INTRINSIC) +#define __CLC_INTRINSIC "llvm." __CLC_XSTR(__CLC_NATIVE_INTRINSIC) + +#undef cl_khr_fp64 +#include <clc/math/unary_intrin.inc> + +#endif + +#define __CLC_FUNCTION __CLC_XCONCAT(native_, __CLC_NATIVE_INTRINSIC) + +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE val) { + return __CLC_XCONCAT(__clc_native_, __CLC_NATIVE_INTRINSIC)(val); +} + +#undef __CLC_FUNCTION
