diff options
Diffstat (limited to 'sysdeps/x86_64/fpu/multiarch/s_fma.c')
-rw-r--r-- | sysdeps/x86_64/fpu/multiarch/s_fma.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/x86_64/fpu/multiarch/s_fma.c b/sysdeps/x86_64/fpu/multiarch/s_fma.c index 875c76d372..66da7ff132 100644 --- a/sysdeps/x86_64/fpu/multiarch/s_fma.c +++ b/sysdeps/x86_64/fpu/multiarch/s_fma.c @@ -20,6 +20,7 @@ #include <config.h> #include <math.h> #include <init-arch.h> +#include <x86-math-features.h> #include <libm-alias-double.h> extern double __fma_sse2 (double x, double y, double z) attribute_hidden; @@ -41,8 +42,8 @@ __fma_fma4 (double x, double y, double z) } -libm_ifunc (__fma, HAS_ARCH_FEATURE (FMA_Usable) - ? __fma_fma3 : (HAS_ARCH_FEATURE (FMA4_Usable) +libm_ifunc (__fma, __x86_math_features () & x86_math_feature_fma + ? __fma_fma3 : (__x86_math_features () & x86_math_feature_fma4 ? __fma_fma4 : __fma_sse2)); libm_alias_double (__fma, fma) |