From 0fe2dc0e59bbfbe6c134dcd273c551e6d021001f Mon Sep 17 00:00:00 2001 From: Yuri Rumyantsev Date: Thu, 10 Jul 2014 07:38:39 +0000 Subject: [PATCH] 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 --- gcc/testsuite/ChangeLog | 7 +++++ gcc/testsuite/gcc.dg/torture/pr61742.c | 30 +++++++++++++++++++ .../{cond-reduc-1.c => vect-cond-reduc-1.c} | 0 .../{cond-reduc-2.c => vect-cond-reduc-2.c} | 2 +- 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/torture/pr61742.c rename gcc/testsuite/gcc.dg/vect/{cond-reduc-1.c => vect-cond-reduc-1.c} (100%) rename gcc/testsuite/gcc.dg/vect/{cond-reduc-2.c => vect-cond-reduc-2.c} (95%) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2d55369c594..d9542f4fa33 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-07-10 Yuri Rumyantsev + + 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 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 00000000000..fe3206228dd --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr61742.c @@ -0,0 +1,30 @@ +/* { dg-do run } */ + +#include +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 similarity index 100% rename from gcc/testsuite/gcc.dg/vect/cond-reduc-1.c rename to 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 similarity index 95% rename from gcc/testsuite/gcc.dg/vect/cond-reduc-2.c rename to gcc/testsuite/gcc.dg/vect/vect-cond-reduc-2.c index c329861c63c..2ab457cfb27 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" } } */ -- 2.30.2