aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-12-15 18:51:36 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-12-15 18:51:36 +0100
commit32151c3f1b8b394b16b3d396a781e65426dd8f45 (patch)
treea1de7b1aa516c288b7ae7fd9077100153249e010 /gcc
parent8f80d7345ab357fee866ab4e7891d38bf6da20cf (diff)
downloadgcc-32151c3f1b8b394b16b3d396a781e65426dd8f45.zip
gcc-32151c3f1b8b394b16b3d396a781e65426dd8f45.tar.gz
gcc-32151c3f1b8b394b16b3d396a781e65426dd8f45.tar.bz2
re PR tree-optimization/80631 (Compiling with -O3 -mavx2 gives wrong code)
PR tree-optimization/80631 * gcc.target/i386/avx2-pr80631.c: New test. From-SVN: r255701
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx2-pr80631.c23
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9ab0428..3d037b5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2017-12-15 Jakub Jelinek <jakub@redhat.com>
+ PR tree-optimization/80631
+ * gcc.target/i386/avx2-pr80631.c: New test.
+
* g++.dg/plugin/attribute_plugin.c (user_attr): Swap
affects_type_identity and handler fields, add NULL for exclude.
diff --git a/gcc/testsuite/gcc.target/i386/avx2-pr80631.c b/gcc/testsuite/gcc.target/i386/avx2-pr80631.c
new file mode 100644
index 0000000..5af1b0f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx2-pr80631.c
@@ -0,0 +1,23 @@
+/* PR tree-optimization/80631 */
+/* { dg-do run } */
+/* { dg-options "-O2 -ftree-vectorize -mavx2 -fno-vect-cost-model" } */
+/* { dg-require-effective-target avx2 } */
+
+#include "avx2-check.h"
+
+#define N 8
+
+static void
+avx2_test (void)
+{
+ int v[N], k;
+ for(k = 0; k < N; k++)
+ v[k] = k;
+ v[0] = 77;
+ int found_index = -1;
+ for (k = 0; k < N; k++)
+ if (v[k] == 77)
+ found_index = k;
+ if (found_index != 0)
+ abort ();
+}