From: Jakub Jelinek Date: Tue, 29 Mar 2016 17:33:52 +0000 (+0200) Subject: re PR tree-optimization/70405 (-fcompare-debug failure with -mavx512f) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3336c6e09385fa50daaa6b7b1bb68908f9a4298f;p=gcc.git re PR tree-optimization/70405 (-fcompare-debug failure with -mavx512f) PR tree-optimization/70405 * ssa-iterators.h (num_imm_uses): Add missing braces. * gcc.dg/pr70405.c: New test. From-SVN: r234529 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f40bcc0109..895587a5971 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-03-29 Jakub Jelinek + + PR tree-optimization/70405 + * ssa-iterators.h (num_imm_uses): Add missing braces. + 2016-03-29 Vladimir Makarov PR rtl-optimization/68695 diff --git a/gcc/ssa-iterators.h b/gcc/ssa-iterators.h index c58639ba22e..a7d75d6d47e 100644 --- a/gcc/ssa-iterators.h +++ b/gcc/ssa-iterators.h @@ -448,9 +448,11 @@ num_imm_uses (const_tree var) unsigned int num = 0; if (!MAY_HAVE_DEBUG_STMTS) - for (ptr = start->next; ptr != start; ptr = ptr->next) - if (USE_STMT (ptr)) - num++; + { + for (ptr = start->next; ptr != start; ptr = ptr->next) + if (USE_STMT (ptr)) + num++; + } else for (ptr = start->next; ptr != start; ptr = ptr->next) if (USE_STMT (ptr) && !is_gimple_debug (USE_STMT (ptr))) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b7335a842d5..912a830e75d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-03-29 Jakub Jelinek + + PR tree-optimization/70405 + * gcc.dg/pr70405.c: New test. + 2016-03-29 Andre Vehreschild PR fortran/70397 diff --git a/gcc/testsuite/gcc.dg/pr70405.c b/gcc/testsuite/gcc.dg/pr70405.c new file mode 100644 index 00000000000..bff390ff06d --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr70405.c @@ -0,0 +1,15 @@ +/* PR tree-optimization/70405 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fcompare-debug" } */ +/* { dg-additional-options "-mavx512f" { target i?86-*-* x86_64-*-* } } */ + +typedef short V __attribute__ ((vector_size (32))); + +int +foo (V *p) +{ + V v = *p; + v >>= v; + v -= v[0]; + return v[3]; +}