Author: awatry Date: Mon Jun 16 14:53:59 2014 New Revision: 211047 URL: http://llvm.org/viewvc/llvm-project?rev=211047&view=rev Log: math: Implement mix builtin
Signed-off-by: Aaron Watry <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Added: libclc/trunk/generic/include/clc/math/mix.h libclc/trunk/generic/include/clc/math/mix.inc libclc/trunk/generic/lib/math/mix.cl libclc/trunk/generic/lib/math/mix.inc Modified: libclc/trunk/generic/include/clc/clc.h libclc/trunk/generic/lib/SOURCES Modified: libclc/trunk/generic/include/clc/clc.h URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/include/clc/clc.h?rev=211047&r1=211046&r2=211047&view=diff ============================================================================== --- libclc/trunk/generic/include/clc/clc.h (original) +++ libclc/trunk/generic/include/clc/clc.h Mon Jun 16 14:53:59 2014 @@ -45,6 +45,7 @@ #include <clc/math/log.h> #include <clc/math/log2.h> #include <clc/math/mad.h> +#include <clc/math/mix.h> #include <clc/math/nextafter.h> #include <clc/math/pow.h> #include <clc/math/rint.h> Added: libclc/trunk/generic/include/clc/math/mix.h URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/include/clc/math/mix.h?rev=211047&view=auto ============================================================================== --- libclc/trunk/generic/include/clc/math/mix.h (added) +++ libclc/trunk/generic/include/clc/math/mix.h Mon Jun 16 14:53:59 2014 @@ -0,0 +1,2 @@ +#define __CLC_BODY <clc/math/mix.inc> +#include <clc/math/gentype.inc> Added: libclc/trunk/generic/include/clc/math/mix.inc URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/include/clc/math/mix.inc?rev=211047&view=auto ============================================================================== --- libclc/trunk/generic/include/clc/math/mix.inc (added) +++ libclc/trunk/generic/include/clc/math/mix.inc Mon Jun 16 14:53:59 2014 @@ -0,0 +1,5 @@ +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE mix(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c); + +#ifndef __CLC_SCALAR +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE mix(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_SCALAR_GENTYPE c); +#endif Modified: libclc/trunk/generic/lib/SOURCES URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/lib/SOURCES?rev=211047&r1=211046&r2=211047&view=diff ============================================================================== --- libclc/trunk/generic/lib/SOURCES (original) +++ libclc/trunk/generic/lib/SOURCES Mon Jun 16 14:53:59 2014 @@ -32,6 +32,7 @@ math/fmax.cl math/fmin.cl math/hypot.cl math/mad.cl +math/mix.cl math/clc_nextafter.cl math/nextafter.cl math/sincos.cl Added: libclc/trunk/generic/lib/math/mix.cl URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/lib/math/mix.cl?rev=211047&view=auto ============================================================================== --- libclc/trunk/generic/lib/math/mix.cl (added) +++ libclc/trunk/generic/lib/math/mix.cl Mon Jun 16 14:53:59 2014 @@ -0,0 +1,8 @@ +#include <clc/clc.h> + +#ifdef cl_khr_fp64 +#pragma OPENCL EXTENSION cl_khr_fp64 : enable +#endif + +#define __CLC_BODY <mix.inc> +#include <clc/math/gentype.inc> Added: libclc/trunk/generic/lib/math/mix.inc URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/lib/math/mix.inc?rev=211047&view=auto ============================================================================== --- libclc/trunk/generic/lib/math/mix.inc (added) +++ libclc/trunk/generic/lib/math/mix.inc Mon Jun 16 14:53:59 2014 @@ -0,0 +1,9 @@ +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mix(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_GENTYPE a) { + return mad( y - x, a, x ); +} + +#ifndef __CLC_SCALAR +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mix(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_SCALAR_GENTYPE a) { + return mix(x, y, (__CLC_GENTYPE)a); +} +#endif _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
