+2016-08-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * 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.
+
2016-08-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/72800
--- /dev/null
+/* { 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" } } */
--- /dev/null
+/* { 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" } } */
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" } } */
--- /dev/null
+/* { 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" } } */
--- /dev/null
+/* { 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" } } */
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" } } */
/* { dg-do compile } */
+/* { dg-require-effective-target large_double } */
/* { dg-options "-O2 -ffast-math -fdump-tree-forwprop-details" } */
#include <math.h>