Hi!

For -O2 vectorization by default GCC 4.9 uses the cheap cost model,
which disallows e.g. peeling for alignment, but on strict alignment
targets the loop needs to be peeled for alignment, otherwise vectorization
isn't performed.

Fixed by just adding -fno-vect-cost-model to dg-options,
bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2014-01-17  Jakub Jelinek  <ja...@redhat.com>

        PR testsuite/58776
        * gcc.dg/tree-ssa-gen-vect-32.c: Add -fno-vect-cost-model to
        dg-options, use dg-additional-options for i?86/x86_64 to avoid
        option duplication.

--- gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c.jj      2012-10-03 
09:01:35.000000000 +0200
+++ gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c 2014-01-17 11:03:27.039224079 
+0100
@@ -1,6 +1,6 @@
 /* { dg-do run { target vect_cmdline_needed } } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details" } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details -mno-sse" { 
target { i?86-*-* x86_64-*-* } } } */
+/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details 
-fno-vect-cost-model" } */
+/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
 
 #include <stdlib.h>
 

        Jakub

Reply via email to