aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorYuri Rumyantsev <ysrumyan@gmail.com>2014-07-10 07:38:39 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-07-10 07:38:39 +0000
commit0fe2dc0e59bbfbe6c134dcd273c551e6d021001f (patch)
treef347fd27d3f9eba0caff8f9e5803f6bee669a0bf /gcc/testsuite
parent5eb3353874fe7a7b0b70cb32d4ae4ca64e409294 (diff)
downloadgcc-0fe2dc0e59bbfbe6c134dcd273c551e6d021001f.zip
gcc-0fe2dc0e59bbfbe6c134dcd273c551e6d021001f.tar.gz
gcc-0fe2dc0e59bbfbe6c134dcd273c551e6d021001f.tar.bz2
re PR tree-optimization/61742 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/61742 gcc/testsuite/ * gcc.dg/torture/pr61742.c: New test. * gcc.gg/vect/cond-reduc-1.c: Rename it to vect-cond-reduc-1.c * gcc.gg/vect/cond-reduc-2.c: Rename it to vect-cond-reduc-2.c From-SVN: r212421
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr61742.c30
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-cond-reduc-1.c (renamed from gcc/testsuite/gcc.dg/vect/cond-reduc-1.c)0
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-cond-reduc-2.c (renamed from gcc/testsuite/gcc.dg/vect/cond-reduc-2.c)2
4 files changed, 38 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2d55369..d9542f4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2014-07-10 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/61742
+ * gcc.dg/torture/pr61742.c: New test.
+ * gcc.gg/vect/cond-reduc-1.c: Rename it to vect-cond-reduc-1.c
+ * gcc.gg/vect/cond-reduc-2.c: Rename it to vect-cond-reduc-2.c
+
2014-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60686
diff --git a/gcc/testsuite/gcc.dg/torture/pr61742.c b/gcc/testsuite/gcc.dg/torture/pr61742.c
new file mode 100644
index 0000000..fe32062
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr61742.c
@@ -0,0 +1,30 @@
+/* { dg-do run } */
+
+#include <stdlib.h>
+int a, b, c, e, f, g, h, i, j, k;
+int d[1];
+
+int
+main ()
+{
+ int l, m;
+ k = 0;
+ for (; g < 1; g++)
+ {
+ for (i = 0; i < 1; i++)
+ m = b ? b : 1;
+ if (m)
+ j = d[e] = 0;
+ else
+ f = 0;
+ l = k ? k : a;
+ if (d[0] < 1)
+ {
+ c++;
+ h = (l || e) > 0;
+ }
+ }
+ if (c != 1)
+ abort();
+ return 0;
+} \ No newline at end of file
diff --git a/gcc/testsuite/gcc.dg/vect/cond-reduc-1.c b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-1.c
index 981f6b0..981f6b0 100644
--- a/gcc/testsuite/gcc.dg/vect/cond-reduc-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-1.c
diff --git a/gcc/testsuite/gcc.dg/vect/cond-reduc-2.c b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-2.c
index c329861..2ab457c 100644
--- a/gcc/testsuite/gcc.dg/vect/cond-reduc-2.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-2.c
@@ -11,7 +11,7 @@ void foo(int k)
if (b[i] != 0)
res += b[i];
}
- a[k] = sum;
+ a[k] = res;
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */