diff mbox

split test cases pr71078-1.c and pr71078-2.c

Message ID CAAgBjMmm_-3hZQjJbTQf2BgNhJFEULhxxDER2A3FKL741CBQcw@mail.gmail.com
State New
Headers show

Commit Message

Prathamesh Kulkarni Aug. 4, 2016, 1:16 p.m. UTC
Hi,
The attached patch splits each test-case into three, one for float,
double and long-double.
I verified that the long double tests are unsupported now for arm target.
OK to commit ?

Thanks,
Prathamesh
2016-08-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

testsuite/
	* gcc.dg/tree-ssa/pr71078-1.c: Remove double and long double
	test-cases.
	* gcc.dg/tree-ssa/pr71078-1-double.c: New test-case.
	* gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise.
	* gcc.dg/tree-ssa/pr71078-2.c: Remove double and long double
	test-cases.
	* gcc.dg/tree-ssa/pr71078-2-double.c: New test-case.
	* gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise.
	* gcc.dg/tree-ssa/pr71078-3.c: Add require-effective-check for
	large_double.
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1-double.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1-double.c
new file mode 100644
index 0000000..3ef9efd
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1-double.c
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target large_double } */
+/* { dg-options "-O2 -ffast-math -fdump-tree-forwprop-details" } */
+
+#include <math.h>
+
+double f2(double x)
+{
+  double t1 = fabs (x);
+  double t2 = x / t1;
+  return t2;
+}
+
+/* { dg-final { scan-tree-dump "__builtin_copysign" "forwprop1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1-long-double.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1-long-double.c
new file mode 100644
index 0000000..a528246
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1-long-double.c
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target large_long_double } */
+/* { dg-options "-O2 -ffast-math -fdump-tree-forwprop-details" } */
+
+#include <math.h>
+
+long double f3 (long double x)
+{
+  long double t1 = fabsl (x);
+  long double t2 = x / t1;
+  return t2;
+}
+
+/* { dg-final { scan-tree-dump "__builtin_copysignl" "forwprop1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1.c
index 6204c14..10e3c35 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-1.c
@@ -10,20 +10,4 @@  float f1(float x)
   return t2;
 }
  
-double f2(double x)
-{
-  double t1 = fabs (x);
-  double t2 = x / t1;
-  return t2;
-}
-
-long double f3 (long double x)
-{
-  long double t1 = fabsl (x);
-  long double t2 = x / t1;
-  return t2;
-}
-
 /* { dg-final { scan-tree-dump "__builtin_copysignf" "forwprop1" } } */
-/* { dg-final { scan-tree-dump "__builtin_copysign" "forwprop1" } } */
-/* { dg-final { scan-tree-dump "__builtin_copysignl" "forwprop1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2-double.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2-double.c
new file mode 100644
index 0000000..4ef1e4d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2-double.c
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target large_double } */
+/* { dg-options "-O2 -ffast-math -fdump-tree-forwprop-details" } */
+
+#include <math.h>
+
+double f2(double x)
+{
+  double t1 = fabs (x);
+  double t2 = t1 / x; 
+  return t2;
+}
+
+/* { dg-final { scan-tree-dump "__builtin_copysign" "forwprop1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2-long-double.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2-long-double.c
new file mode 100644
index 0000000..2eaf02d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2-long-double.c
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target large_long_double } */
+/* { dg-options "-O2 -ffast-math -fdump-tree-forwprop-details" } */
+
+#include <math.h>
+
+long double f3 (long double x)
+{
+  long double t1 = fabsl (x);
+  long double t2 = t1 / x; 
+  return t2;
+}
+
+/* { dg-final { scan-tree-dump "__builtin_copysignl" "forwprop1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2.c
index 96485af..7ce61a1 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-2.c
@@ -10,20 +10,4 @@  float f1(float x)
   return t2;
 }
  
-double f2(double x)
-{
-  double t1 = fabs (x);
-  double t2 = t1 / x; 
-  return t2;
-}
-
-long double f3 (long double x)
-{
-  long double t1 = fabsl (x);
-  long double t2 = t1 / x; 
-  return t2;
-}
-
 /* { dg-final { scan-tree-dump "__builtin_copysignf" "forwprop1" } } */
-/* { dg-final { scan-tree-dump "__builtin_copysign" "forwprop1" } } */
-/* { dg-final { scan-tree-dump "__builtin_copysignl" "forwprop1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-3.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-3.c
index 8780b6a..8871a69 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr71078-3.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71078-3.c
@@ -1,4 +1,5 @@ 
 /* { dg-do compile } */
+/* { dg-require-effective-target large_double } */
 /* { dg-options "-O2 -ffast-math -fdump-tree-forwprop-details" } */
 
 #include <math.h>