Signed-off-by: rander <rander.w...@intel.com> --- backend/src/libocl/tmpl/ocl_math.tmpl.cl | 6 +++++- backend/src/libocl/tmpl/ocl_math.tmpl.h | 2 ++ backend/src/libocl/tmpl/ocl_math_20.tmpl.cl | 7 +++++++ backend/src/libocl/tmpl/ocl_math_20.tmpl.h | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/backend/src/libocl/tmpl/ocl_math.tmpl.cl b/backend/src/libocl/tmpl/ocl_math.tmpl.cl index 9ab1f00..d526d6c 100644 --- a/backend/src/libocl/tmpl/ocl_math.tmpl.cl +++ b/backend/src/libocl/tmpl/ocl_math.tmpl.cl @@ -4009,7 +4009,6 @@ OVERLOADABLE double fract(double x, private double *p) return x -ret; } - /* @(#)e_log.c 1.3 95/01/18 */ /* * ==================================================== @@ -4328,4 +4327,9 @@ OVERLOADABLE int ilogb(double x) else return 0x80000000; } +CONST OVERLOADABLE double __gen_ocl_mad(double a, double b, double c) __asm("llvm.fma" ".f64"); +OVERLOADABLE double mad(double a, double b, double c) +{ + return __gen_ocl_mad(a, b, c); +} diff --git a/backend/src/libocl/tmpl/ocl_math.tmpl.h b/backend/src/libocl/tmpl/ocl_math.tmpl.h index c72d7ed..852bf47 100644 --- a/backend/src/libocl/tmpl/ocl_math.tmpl.h +++ b/backend/src/libocl/tmpl/ocl_math.tmpl.h @@ -245,4 +245,6 @@ OVERLOADABLE double log10(double x); OVERLOADABLE double log1p(double x); OVERLOADABLE double logb(double x); OVERLOADABLE int ilogb(double x); +OVERLOADABLE double mad(double a, double b, double c); + diff --git a/backend/src/libocl/tmpl/ocl_math_20.tmpl.cl b/backend/src/libocl/tmpl/ocl_math_20.tmpl.cl index 0a408ce..f459619 100644 --- a/backend/src/libocl/tmpl/ocl_math_20.tmpl.cl +++ b/backend/src/libocl/tmpl/ocl_math_20.tmpl.cl @@ -4204,5 +4204,12 @@ OVERLOADABLE int ilogb(double x) else return 0x80000000; } +CONST OVERLOADABLE double __gen_ocl_mad(double a, double b, double c) __asm("llvm.fma" ".f64"); +OVERLOADABLE double mad(double a, double b, double c) +{ + return __gen_ocl_mad(a, b, c); +} + + diff --git a/backend/src/libocl/tmpl/ocl_math_20.tmpl.h b/backend/src/libocl/tmpl/ocl_math_20.tmpl.h index 107d25c..ee313af 100644 --- a/backend/src/libocl/tmpl/ocl_math_20.tmpl.h +++ b/backend/src/libocl/tmpl/ocl_math_20.tmpl.h @@ -222,5 +222,5 @@ OVERLOADABLE double log10(double x); OVERLOADABLE double log1p(double x); OVERLOADABLE double logb(double x); OVERLOADABLE int ilogb(double x); - +OVERLOADABLE double mad(double a, double b, double c); -- 2.7.4 _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/beignet