builtin-math-2.c: Split out fma tests...
authorRichard Henderson <rth@redhat.com>
Tue, 16 Nov 2010 03:43:22 +0000 (19:43 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 16 Nov 2010 03:43:22 +0000 (19:43 -0800)
* gcc.dg/torture/builtin-math-2.c: Split out fma tests...
* gcc.dg/torture/builtin-math-8.c: ... here.  New file.
Use builtin_constant_p rather than scanning for builtin name.

From-SVN: r166791

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/builtin-math-2.c
gcc/testsuite/gcc.dg/torture/builtin-math-8.c [new file with mode: 0644]

index a1fdddac84dcc667625decba420452a55c334117..f6b4acabc73ec8912219a17e6f7929f1986e3530 100644 (file)
@@ -1,3 +1,9 @@
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * gcc.dg/torture/builtin-math-2.c: Split out fma tests...
+       * gcc.dg/torture/builtin-math-8.c: ... here.  New file.
+       Use builtin_constant_p rather than scanning for builtin name.
+
 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc.dg/property/dotsyntax-18.m: New.
index 5c402873ab786e4694dbad3c9b478428cdfa8655..7e2ff13836871fd2c99aa5a4a84c66ebee5a9600 100644 (file)
@@ -184,18 +184,6 @@ void bar()
   fool (__builtin_powl (__LDBL_MAX__, -3.5L));
   TESTIT2 (pow, 2.0, -0x1p50);
   
-  foof (__builtin_fmaf (__FLT_MAX__, __FLT_MAX__, 0.0F));
-  foof (__builtin_fmaf (__FLT_MAX__, 1.0F, __FLT_MAX__));
-  foof (__builtin_fmaf (__FLT_MIN__, __FLT_MIN__, 0.0F));
-  
-  foo (__builtin_fma (__DBL_MAX__, __DBL_MAX__, 0.0));
-  foo (__builtin_fma (__DBL_MAX__, 1.0, __DBL_MAX__));
-  foo (__builtin_fma (__DBL_MIN__, __DBL_MIN__, 0.0));
-  
-  fool (__builtin_fmal (__LDBL_MAX__, __LDBL_MAX__, 0.0L));
-  fool (__builtin_fmal (__LDBL_MAX__, 1.0L, __LDBL_MAX__));
-  fool (__builtin_fmal (__LDBL_MIN__, __LDBL_MIN__, 0.0L));
-
   /* The sqrt arg must be [0 ... Inf] inclusive.  */
   TESTIT (sqrt, -0.5);
   TESTIT (sqrt, -0.0);
@@ -351,9 +339,6 @@ void bar()
 /* { dg-final { scan-tree-dump-times "powf" 13 "original" { target { ! { spu*-*-* } } } } } */
 /* { dg-final { scan-tree-dump-times "powf" 7 "original" { target { spu*-*-* } } } } */
 /* { dg-final { scan-tree-dump-times "powl" 13 "original" } } */
-/* { dg-final { scan-tree-dump-times "fma " 3 "original" } } */
-/* { dg-final { scan-tree-dump-times "fmaf" 3 "original" } } */
-/* { dg-final { scan-tree-dump-times "fmal" 3 "original" } } */
 /* { dg-final { scan-tree-dump-times "sqrt " 1 "original" } } */
 /* { dg-final { scan-tree-dump-times "sqrtf" 1 "original" } } */
 /* { dg-final { scan-tree-dump-times "sqrtl" 1 "original" } } */
diff --git a/gcc/testsuite/gcc.dg/torture/builtin-math-8.c b/gcc/testsuite/gcc.dg/torture/builtin-math-8.c
new file mode 100644 (file)
index 0000000..1a1a843
--- /dev/null
@@ -0,0 +1,34 @@
+/* { dg-do link } */
+
+extern void link_error (void);
+
+int main()
+{
+  if (!__builtin_constant_p(1.0))
+    link_error ();
+  if (!__builtin_constant_p(__builtin_fma (1.0, 1.0, 1.0)))
+    link_error ();
+
+  if (__builtin_constant_p(__builtin_fmaf (__FLT_MAX__, __FLT_MAX__, 0.0F)))
+    link_error ();
+  if (__builtin_constant_p(__builtin_fmaf (__FLT_MAX__, 1.0F, __FLT_MAX__)))
+    link_error ();
+  if (__builtin_constant_p(__builtin_fmaf (__FLT_MIN__, __FLT_MIN__, 0.0F)))
+    link_error ();
+
+  if (__builtin_constant_p(__builtin_fma (__DBL_MAX__, __DBL_MAX__, 0.0)))
+    link_error ();
+  if (__builtin_constant_p(__builtin_fma (__DBL_MAX__, 1.0, __DBL_MAX__)))
+    link_error ();
+  if (__builtin_constant_p(__builtin_fma (__DBL_MIN__, __DBL_MIN__, 0.0)))
+    link_error ();
+
+  if (__builtin_constant_p(__builtin_fmal (__LDBL_MAX__, __LDBL_MAX__, 0.0L)))
+    link_error ();
+  if (__builtin_constant_p(__builtin_fmal (__LDBL_MAX__, 1.0L, __LDBL_MAX__)))
+    link_error ();
+  if (__builtin_constant_p(__builtin_fmal (__LDBL_MIN__, __LDBL_MIN__, 0.0L)))
+    link_error ();
+
+  return 0;
+}