aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/configure
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2017-05-28 19:12:45 +0000
committerRainer Orth <ro@gcc.gnu.org>2017-05-28 19:12:45 +0000
commit9698e1bb336c3d623231d7bb017681c2b82523dc (patch)
tree50b127f72fd0832fb01d1d6fad18a2a0aa044911 /libgfortran/configure
parent8364e6aca3381e6572b54ed49299e94887610f9e (diff)
downloadgcc-9698e1bb336c3d623231d7bb017681c2b82523dc.zip
gcc-9698e1bb336c3d623231d7bb017681c2b82523dc.tar.gz
gcc-9698e1bb336c3d623231d7bb017681c2b82523dc.tar.bz2
Fix libgfortran FMA3/FMA4 tests
* acinclude.m4 (LIBGFOR_CHECK_FMA3): Use test from check_effective_target_fma in gcc.target/i386/i386.exp. (LIBGFOR_CHECK_FMA4): Use test from check_effective_target_fma4. * configure: Regenerate. From-SVN: r248547
Diffstat (limited to 'libgfortran/configure')
-rwxr-xr-xlibgfortran/configure18
1 files changed, 12 insertions, 6 deletions
diff --git a/libgfortran/configure b/libgfortran/configure
index 28f10d5..87c83ca 100755
--- a/libgfortran/configure
+++ b/libgfortran/configure
@@ -26372,10 +26372,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- float
- flt_mul_add (float a, float b, float c)
+ typedef float __m128 __attribute__ ((__vector_size__ (16)));
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+ __m128 _mm_macc_ps(__m128 __A, __m128 __B, __m128 __C)
{
- return __builtin_fmaf (a, b, c);
+ return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A,
+ (__v4sf)__B,
+ (__v4sf)__C);
}
int
main ()
@@ -26401,10 +26404,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- float
- flt_mul_add (float a, float b, float c)
+ typedef float __m128 __attribute__ ((__vector_size__ (16)));
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+ __m128 _mm_macc_ps(__m128 __A, __m128 __B, __m128 __C)
{
- return __builtin_fmaf (a, b, c);
+ return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A,
+ (__v4sf)__B,
+ (__v4sf)__C);
}
int
main ()