diff options
author | Andrew Senkevich <andrew.n.senkevich@gmail.com> | 2015-05-14 17:26:49 +0300 |
---|---|---|
committer | Andrew Senkevich <andrew.n.senkevich@gmail.com> | 2015-05-14 18:07:06 +0300 |
commit | 202d48dab92e0f031928528589f086835595afe5 (patch) | |
tree | 1c725bf862425df168ff678be5b0b2a787243090 /math | |
parent | 58c50f06aacd84787cbe3ed315b10d3976b56612 (diff) | |
download | glibc-202d48dab92e0f031928528589f086835595afe5.tar.gz |
This patch adds infrastructure for addition of SIMD
declarations for math functions in math.h. Added new headers math-vector.h
(only generic version for now) and libm-simd-decl-stubs.h with empty
definitions required for proper unfolding of new macros __MATHCALL_VEC which
will be used for declaration of vector math functions.
2015-05-14 Andrew Senkevich <andrew.senkevich@intel.com>
* bits/math-vector.h: New file.
* bits/libm-simd-decl-stubs.h: New header.
* math/Makefile (headers): Added new header libm-simd-decl-stubs.h.
* math/math.h (__MATHCALL_VEC): New macro.
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 3 | ||||
-rw-r--r-- | math/math.h | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile index fdfeb4a247..4f66162a09 100644 --- a/math/Makefile +++ b/math/Makefile @@ -26,7 +26,8 @@ headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \ bits/huge_valf.h bits/huge_vall.h bits/inf.h bits/nan.h \ fpu_control.h complex.h bits/cmathcalls.h fenv.h \ bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h \ - bits/math-finite.h + bits/math-finite.h bits/math-vector.h \ + bits/libm-simd-decl-stubs.h # FPU support code. aux := setfpucw fpu_control diff --git a/math/math.h b/math/math.h index c7ff16971e..7e959fca9f 100644 --- a/math/math.h +++ b/math/math.h @@ -27,6 +27,9 @@ __BEGIN_DECLS +/* Get machine-dependent vector math functions declarations. */ +#include <bits/math-vector.h> + /* Get machine-dependent HUGE_VAL value (returned on overflow). On all IEEE754 machines, this is +Infinity. */ #include <bits/huge_val.h> @@ -49,6 +52,12 @@ __BEGIN_DECLS so we can easily declare each function as both `name' and `__name', and can declare the float versions `namef' and `__namef'. */ +#define __SIMD_DECL(function) __CONCAT (__DECL_SIMD_, function) + +#define __MATHCALL_VEC(function, suffix, args) \ + __SIMD_DECL (__MATH_PRECNAME (function, suffix)) \ + __MATHCALL (function, suffix, args) + #define __MATHCALL(function,suffix, args) \ __MATHDECL (_Mdouble_,function,suffix, args) #define __MATHDECL(type, function,suffix, args) \ |