Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/vect/slp-pr87105.cc @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc Thu Feb 13 11:34:05 2020 +0900 @@ -2,7 +2,7 @@ // { dg-require-effective-target c++11 } // { dg-require-effective-target vect_double } // For MIN/MAX recognition -// { dg-additional-options "-ffast-math -fvect-cost-model" } +// { dg-additional-options "-ffast-math" } #include <algorithm> #include <cmath> @@ -99,6 +99,7 @@ // We should have if-converted everything down to straight-line code // { dg-final { scan-tree-dump-times "<bb \[0-9\]+>" 1 "slp2" } } -// We fail to elide an earlier store which makes us not handle a later -// duplicate one for vectorization. -// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" { xfail *-*-* } } } +// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } } +// It's a bit awkward to detect that all stores were vectorized but the +// following more or less does the trick +// { dg-final { scan-tree-dump "vect_iftmp\[^\r\m\]* = MIN" "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }