Message ID | g4mxjvee7b.fsf@linaro.org |
---|---|
State | Accepted |
Headers | show |
On Tue, Apr 12, 2011 at 4:28 PM, Richard Sandiford <richard.sandiford@linaro.org> wrote: > This patch replaces the general vect_strided target selector with > a group of vect_stridedN selectors, one for each tested stride factor N. > > Also, some tests used vect_interleave && vect_extract_even_odd for > strided accesses. The two conditions used to be equivalent, but aren't > after this series for ARM, so I've replaced them with vect_stridedN instead. > > Some tests used vect_interleave for loops that could be vectorised > even without extract-even/odd support. vect_interleave used to be > a looser condition than vect_stridedN, but again isn't after this > series, so I've used vect_interleave || vect_stridedN where necessary. > > Tested on x86_64-linux-gnu and arm-linux-gnueabi. OK to install? Ok. Thanks, Richard. > Richard > > > gcc/testsuite/ > * lib/target-supports.exp (check_effective_target_vect_strided): > Replace with... > (check_effective_target_vect_strided2) > (check_effective_target_vect_strided3) > (check_effective_target_vect_strided4) > (check_effective_target_vect_strided8): ...these new functions. > > * gcc.dg/vect/O3-pr39675-2.c: Update accordingly. > * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Likewise. > * gcc.dg/vect/fast-math-slp-27.c: Likewise. > * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Likewise. > * gcc.dg/vect/pr37539.c: Likewise. > * gcc.dg/vect/slp-11a.c: Likewise. > * gcc.dg/vect/slp-11b.c: Likewise. > * gcc.dg/vect/slp-11c.c: Likewise. > * gcc.dg/vect/slp-12a.c: Likewise. > * gcc.dg/vect/slp-12b.c: Likewise. > * gcc.dg/vect/slp-18.c: Likewise. > * gcc.dg/vect/slp-19a.c: Likewise. > * gcc.dg/vect/slp-19b.c: Likewise. > * gcc.dg/vect/slp-21.c: Likewise. > * gcc.dg/vect/slp-23.c: Likewise. > * gcc.dg/vect/vect-cselim-1.c: Likewise. > > * gcc.dg/vect/fast-math-vect-complex-3.c: Use vect_stridedN > instead of vect_interleave && vect_extract_even_odd. > * gcc.dg/vect/no-scevccp-outer-10a.c: Likewise. > * gcc.dg/vect/no-scevccp-outer-10b.c: Likewise. > * gcc.dg/vect/no-scevccp-outer-20.c: Likewise. > * gcc.dg/vect/vect-1.c: Likewise. > * gcc.dg/vect/vect-10.c: Likewise. > * gcc.dg/vect/vect-98.c: Likewise. > * gcc.dg/vect/vect-107.c: Likewise. > * gcc.dg/vect/vect-strided-a-mult.c: Likewise. > * gcc.dg/vect/vect-strided-a-u16-i2.c: Likewise. > * gcc.dg/vect/vect-strided-a-u16-i4.c: Likewise. > * gcc.dg/vect/vect-strided-a-u16-mult.c: Likewise. > * gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise. > * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise. > * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Likewise. > * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise. > * gcc.dg/vect/vect-strided-float.c: Likewise. > * gcc.dg/vect/vect-strided-mult-char-ls.c: Likewise. > * gcc.dg/vect/vect-strided-mult.c: Likewise. > * gcc.dg/vect/vect-strided-same-dr.c: Likewise. > * gcc.dg/vect/vect-strided-u16-i2.c: Likewise. > * gcc.dg/vect/vect-strided-u16-i4.c: Likewise. > * gcc.dg/vect/vect-strided-u32-i4.c: Likewise. > * gcc.dg/vect/vect-strided-u32-i8.c: Likewise. > * gcc.dg/vect/vect-strided-u32-mult.c: Likewise. > * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise. > * gcc.dg/vect/vect-strided-u8-i2.c: Likewise. > * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Likewise. > * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Likewise. > * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Likewise. > * gcc.dg/vect/vect-strided-u8-i8.c: Likewise. > * gcc.dg/vect/vect-vfa-03.c: Likewise. > > * gcc.dg/vect/no-scevccp-outer-18.c: Add vect_stridedN to the > target condition. > * gcc.dg/vect/pr30843.c: Likewise. > * gcc.dg/vect/pr33866.c: Likewise. > * gcc.dg/vect/slp-reduc-6.c: Likewise. > * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise. > * gcc.dg/vect/vect-strided-store-u16-i4.c: Likewise. > * gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise. > > Index: gcc/testsuite/lib/target-supports.exp > =================================================================== > --- gcc/testsuite/lib/target-supports.exp 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/lib/target-supports.exp 2011-04-12 15:22:06.000000000 +0100 > @@ -3143,22 +3143,30 @@ proc check_effective_target_vect_interle > return $et_vect_interleave_saved > } > > -# Return 1 if the target supports vector interleaving and extract even/odd, 0 otherwise. > -proc check_effective_target_vect_strided { } { > - global et_vect_strided_saved > +foreach N {2 3 4 8} { > + eval [string map [list N $N] { > + # Return 1 if the target supports 2-vector interleaving > + proc check_effective_target_vect_stridedN { } { > + global et_vect_stridedN_saved > + > + if [info exists et_vect_stridedN_saved] { > + verbose "check_effective_target_vect_stridedN: using cached result" 2 > + } else { > + set et_vect_stridedN_saved 0 > + if { (N & -N) == N > + && [check_effective_target_vect_interleave] > + && [check_effective_target_vect_extract_even_odd] } { > + set et_vect_stridedN_saved 1 > + } > + if { [istarget arm*-*-*] && N >= 2 && N <= 4 } { > + set et_vect_stridedN_saved 1 > + } > + } > > - if [info exists et_vect_strided_saved] { > - verbose "check_effective_target_vect_strided: using cached result" 2 > - } else { > - set et_vect_strided_saved 0 > - if { [check_effective_target_vect_interleave] > - && [check_effective_target_vect_extract_even_odd] } { > - set et_vect_strided_saved 1 > - } > - } > - > - verbose "check_effective_target_vect_strided: returning $et_vect_strided_saved" 2 > - return $et_vect_strided_saved > + verbose "check_effective_target_vect_stridedN: returning $et_vect_stridedN_saved" 2 > + return $et_vect_stridedN_saved > + } > + }] > } > > # Return 1 if the target supports section-anchors > Index: gcc/testsuite/gcc.dg/vect/O3-pr39675-2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/O3-pr39675-2.c 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/O3-pr39675-2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -26,7 +26,7 @@ foo () > } > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided4 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c 2011-04-12 15:22:06.000000000 +0100 > @@ -113,7 +113,7 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" {target { vect_strided && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {target { vect_strided8 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" {target { vect_strided8 && vect_int_mult } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c 2011-04-12 15:22:06.000000000 +0100 > @@ -13,5 +13,5 @@ void foo(void) > } > } > > -/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target vect_strided } } } */ > +/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 2011-04-12 15:22:06.000000000 +0100 > @@ -65,5 +65,5 @@ main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || {! vect_strided } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || { ! vect_strided2 } } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/pr37539.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/pr37539.c 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/pr37539.c 2011-04-12 15:22:06.000000000 +0100 > @@ -40,7 +40,7 @@ int main () > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_strided } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_strided4 && vect_strided2 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > > Index: gcc/testsuite/gcc.dg/vect/slp-11a.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-11a.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-11a.c 2011-04-12 15:22:06.000000000 +0100 > @@ -69,7 +69,7 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided8 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided8 && vect_int_mult } } } } } */ > /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/slp-11b.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-11b.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-11b.c 2011-04-12 15:22:06.000000000 +0100 > @@ -43,7 +43,7 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided4 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided4 && vect_int_mult } } } } } */ > /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/slp-11c.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-11c.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-11c.c 2011-04-12 15:22:06.000000000 +0100 > @@ -40,7 +40,7 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { vect_uintfloat_cvt && vect_strided } && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { { vect_uintfloat_cvt && vect_strided } && vect_int_mult } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { vect_uintfloat_cvt && vect_strided2 } && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { { vect_uintfloat_cvt && vect_strided2 } && vect_int_mult } } } } } */ > /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/slp-12a.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-12a.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-12a.c 2011-04-12 15:22:06.000000000 +0100 > @@ -73,8 +73,8 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided8 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided8 && vect_int_mult } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_strided8 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided8 && vect_int_mult } } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/slp-12b.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-12b.c 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-12b.c 2011-04-12 15:22:06.000000000 +0100 > @@ -43,9 +43,9 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" {target { { ! { vect_int_mult }} || { ! {vect_strided}}} } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" {target { vect_strided && vect_int_mult } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" {target { { ! { vect_int_mult }} || { ! {vect_strided}}} } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided2 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { { ! { vect_strided2 && vect_int_mult } } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_strided2 && vect_int_mult } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { { ! { vect_strided2 && vect_int_mult } } } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/slp-18.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-18.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-18.c 2011-04-12 15:22:06.000000000 +0100 > @@ -91,7 +91,7 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target { vect_strided } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/slp-19a.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-19a.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-19a.c 2011-04-12 15:22:06.000000000 +0100 > @@ -54,8 +54,8 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided8 } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided8 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided8} } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/slp-19b.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-19b.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-19b.c 2011-04-12 15:22:06.000000000 +0100 > @@ -51,8 +51,8 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided4 } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided4 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/slp-21.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-21.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-21.c 2011-04-12 15:22:06.000000000 +0100 > @@ -199,9 +199,9 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { vect_strided || vect_extract_even_odd } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided || vect_extract_even_odd } } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_strided } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { vect_strided4 || vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided4 || vect_extract_even_odd } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided4 } } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/slp-23.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-23.c 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-23.c 2011-04-12 15:22:06.000000000 +0100 > @@ -106,8 +106,8 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target { vect_strided } && {! { vect_no_align} } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided || vect_no_align} } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target { vect_strided8 && { ! { vect_no_align} } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided8 || vect_no_align } } } } } */ > /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-cselim-1.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-cselim-1.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-cselim-1.c 2011-04-12 15:22:06.000000000 +0100 > @@ -82,5 +82,5 @@ main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || {! vect_strided } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || { ! vect_strided2 } } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c 2011-04-12 15:22:06.000000000 +0100 > @@ -56,5 +56,5 @@ main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10a.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10a.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10a.c 2011-04-12 15:22:06.000000000 +0100 > @@ -54,5 +54,5 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10b.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10b.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10b.c 2011-04-12 15:22:06.000000000 +0100 > @@ -53,5 +53,5 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-20.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-20.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-20.c 2011-04-12 15:22:06.000000000 +0100 > @@ -50,5 +50,5 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-1.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-1.c 2011-04-12 15:18:24.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-1.c 2011-04-12 15:22:06.000000000 +0100 > @@ -85,6 +85,6 @@ foo (int n) > fbar (a); > } > > -/* { dg-final { scan-tree-dump-times "vectorized 6 loops" 1 "vect" { target vect_extract_even_odd } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 5 loops" 1 "vect" { xfail vect_extract_even_odd } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 6 loops" 1 "vect" { target vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 5 loops" 1 "vect" { xfail vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-10.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-10.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-10.c 2011-04-12 15:22:06.000000000 +0100 > @@ -22,5 +22,5 @@ int foo () > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { ! vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { ! vect_strided2 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-98.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-98.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-98.c 2011-04-12 15:22:06.000000000 +0100 > @@ -38,6 +38,6 @@ int main (void) > } > > /* Needs interleaving support. */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail vect_strided4 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-107.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-107.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-107.c 2011-04-12 15:22:06.000000000 +0100 > @@ -40,6 +40,6 @@ int main (void) > return main1 (); > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_extract_even_odd } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail vect_extract_even_odd } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c 2011-04-12 15:22:06.000000000 +0100 > @@ -71,6 +71,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -55,6 +55,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i4.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i4.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i4.c 2011-04-12 15:22:06.000000000 +0100 > @@ -68,6 +68,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-mult.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-mult.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-mult.c 2011-04-12 15:22:06.000000000 +0100 > @@ -62,6 +62,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u32-mult.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u32-mult.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u32-mult.c 2011-04-12 15:22:06.000000000 +0100 > @@ -61,6 +61,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c 2011-04-12 15:22:06.000000000 +0100 > @@ -69,6 +69,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -76,6 +76,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap7.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap7.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap7.c 2011-04-12 15:22:06.000000000 +0100 > @@ -81,6 +81,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-float.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-float.c 2011-04-12 15:18:25.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-float.c 2011-04-12 15:22:06.000000000 +0100 > @@ -39,7 +39,7 @@ int main (void) > } > > /* Needs interleaving support. */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-mult-char-ls.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-mult-char-ls.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-mult-char-ls.c 2011-04-12 15:22:06.000000000 +0100 > @@ -71,6 +71,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-mult.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-mult.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-mult.c 2011-04-12 15:22:06.000000000 +0100 > @@ -71,6 +71,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-same-dr.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-same-dr.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-same-dr.c 2011-04-12 15:22:06.000000000 +0100 > @@ -72,5 +72,5 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u16-i2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u16-i2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u16-i2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -55,6 +55,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u16-i4.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u16-i4.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u16-i4.c 2011-04-12 15:22:06.000000000 +0100 > @@ -68,6 +68,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u32-i4.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u32-i4.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u32-i4.c 2011-04-12 15:22:06.000000000 +0100 > @@ -63,6 +63,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u32-i8.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u32-i8.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u32-i8.c 2011-04-12 15:22:06.000000000 +0100 > @@ -77,6 +77,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u32-mult.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u32-mult.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u32-mult.c 2011-04-12 15:22:06.000000000 +0100 > @@ -60,6 +60,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2-gap.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2-gap.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2-gap.c 2011-04-12 15:22:06.000000000 +0100 > @@ -71,6 +71,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -54,6 +54,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -78,6 +78,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4.c 2011-04-12 15:22:06.000000000 +0100 > @@ -98,6 +98,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap7.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap7.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap7.c 2011-04-12 15:22:06.000000000 +0100 > @@ -83,6 +83,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8.c 2011-04-12 15:22:06.000000000 +0100 > @@ -85,6 +85,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-vfa-03.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-vfa-03.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-vfa-03.c 2011-04-12 15:22:06.000000000 +0100 > @@ -53,6 +53,6 @@ main (void) > } > > /* Needs interleaving support. */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail { vect_interleave && vect_extract_even_odd } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail vect_strided2 } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-18.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-18.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-18.c 2011-04-12 15:22:06.000000000 +0100 > @@ -47,5 +47,5 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_interleave } } } */ > +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/pr30843.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/pr30843.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/pr30843.c 2011-04-12 15:22:06.000000000 +0100 > @@ -20,6 +20,6 @@ void dacP98FillRGBMap (unsigned char *pB > } > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided4 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/pr33866.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/pr33866.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/pr33866.c 2011-04-12 15:22:06.000000000 +0100 > @@ -27,6 +27,6 @@ void test_select_fill_hyper_simple (long > } > > /* Needs interleaving support. */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/slp-reduc-6.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/slp-reduc-6.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/slp-reduc-6.c 2011-04-12 15:22:06.000000000 +0100 > @@ -42,7 +42,7 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail { vect_no_int_add || { ! vect_unpack } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail { vect_no_int_add || { ! { vect_unpack || vect_strided2 } } } } } } */ > /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ > /* { dg-final { scan-tree-dump-times "different interleaving chains in one node" 1 "vect" { target { ! vect_no_int_add } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > Index: gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -55,6 +55,6 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-store-u16-i4.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-store-u16-i4.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-store-u16-i4.c 2011-04-12 15:22:06.000000000 +0100 > @@ -65,8 +65,8 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_interleave && vect_pack_trunc } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { ! { vect_interleave } } && { vect_pack_trunc } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { { vect_interleave || vect_strided4 } && vect_pack_trunc } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { ! { vect_interleave || vect_strided4 } } && { vect_pack_trunc } } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > > Index: gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c > =================================================================== > --- gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c 2011-04-12 12:16:46.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c 2011-04-12 15:22:06.000000000 +0100 > @@ -39,7 +39,7 @@ int main (void) > } > > /* Needs interleaving support. */ > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_interleave } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_interleave || vect_strided2 } } } } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > >
Index: gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc/testsuite/lib/target-supports.exp 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/lib/target-supports.exp 2011-04-12 15:22:06.000000000 +0100 @@ -3143,22 +3143,30 @@ proc check_effective_target_vect_interle return $et_vect_interleave_saved } -# Return 1 if the target supports vector interleaving and extract even/odd, 0 otherwise. -proc check_effective_target_vect_strided { } { - global et_vect_strided_saved +foreach N {2 3 4 8} { + eval [string map [list N $N] { + # Return 1 if the target supports 2-vector interleaving + proc check_effective_target_vect_stridedN { } { + global et_vect_stridedN_saved + + if [info exists et_vect_stridedN_saved] { + verbose "check_effective_target_vect_stridedN: using cached result" 2 + } else { + set et_vect_stridedN_saved 0 + if { (N & -N) == N + && [check_effective_target_vect_interleave] + && [check_effective_target_vect_extract_even_odd] } { + set et_vect_stridedN_saved 1 + } + if { [istarget arm*-*-*] && N >= 2 && N <= 4 } { + set et_vect_stridedN_saved 1 + } + } - if [info exists et_vect_strided_saved] { - verbose "check_effective_target_vect_strided: using cached result" 2 - } else { - set et_vect_strided_saved 0 - if { [check_effective_target_vect_interleave] - && [check_effective_target_vect_extract_even_odd] } { - set et_vect_strided_saved 1 - } - } - - verbose "check_effective_target_vect_strided: returning $et_vect_strided_saved" 2 - return $et_vect_strided_saved + verbose "check_effective_target_vect_stridedN: returning $et_vect_stridedN_saved" 2 + return $et_vect_stridedN_saved + } + }] } # Return 1 if the target supports section-anchors Index: gcc/testsuite/gcc.dg/vect/O3-pr39675-2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/O3-pr39675-2.c 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/O3-pr39675-2.c 2011-04-12 15:22:06.000000000 +0100 @@ -26,7 +26,7 @@ foo () } } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided4 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c =================================================================== --- gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c 2011-04-12 15:22:06.000000000 +0100 @@ -113,7 +113,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" {target { vect_strided && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {target { vect_strided8 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" {target { vect_strided8 && vect_int_mult } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c =================================================================== --- gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c 2011-04-12 15:22:06.000000000 +0100 @@ -13,5 +13,5 @@ void foo(void) } } -/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target vect_strided } } } */ +/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c =================================================================== --- gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 2011-04-12 15:22:06.000000000 +0100 @@ -65,5 +65,5 @@ main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || {! vect_strided } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || { ! vect_strided2 } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/pr37539.c =================================================================== --- gcc/testsuite/gcc.dg/vect/pr37539.c 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/pr37539.c 2011-04-12 15:22:06.000000000 +0100 @@ -40,7 +40,7 @@ int main () return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_strided } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_strided4 && vect_strided2 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-11a.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-11a.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-11a.c 2011-04-12 15:22:06.000000000 +0100 @@ -69,7 +69,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided8 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided8 && vect_int_mult } } } } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-11b.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-11b.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-11b.c 2011-04-12 15:22:06.000000000 +0100 @@ -43,7 +43,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided4 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided4 && vect_int_mult } } } } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-11c.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-11c.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-11c.c 2011-04-12 15:22:06.000000000 +0100 @@ -40,7 +40,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { vect_uintfloat_cvt && vect_strided } && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { { vect_uintfloat_cvt && vect_strided } && vect_int_mult } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { vect_uintfloat_cvt && vect_strided2 } && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { { vect_uintfloat_cvt && vect_strided2 } && vect_int_mult } } } } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-12a.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-12a.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-12a.c 2011-04-12 15:22:06.000000000 +0100 @@ -73,8 +73,8 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided && vect_int_mult } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided8 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_strided8 && vect_int_mult } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_strided8 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided8 && vect_int_mult } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-12b.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-12b.c 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-12b.c 2011-04-12 15:22:06.000000000 +0100 @@ -43,9 +43,9 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" {target { { ! { vect_int_mult }} || { ! {vect_strided}}} } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" {target { vect_strided && vect_int_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" {target { { ! { vect_int_mult }} || { ! {vect_strided}}} } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided2 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { { ! { vect_strided2 && vect_int_mult } } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_strided2 && vect_int_mult } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { { ! { vect_strided2 && vect_int_mult } } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-18.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-18.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-18.c 2011-04-12 15:22:06.000000000 +0100 @@ -91,7 +91,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_strided } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target { vect_strided } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-19a.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-19a.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-19a.c 2011-04-12 15:22:06.000000000 +0100 @@ -54,8 +54,8 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided8 } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided8 } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided8} } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-19b.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-19b.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-19b.c 2011-04-12 15:22:06.000000000 +0100 @@ -51,8 +51,8 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! vect_strided4 } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_strided4 } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_strided4 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-21.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-21.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-21.c 2011-04-12 15:22:06.000000000 +0100 @@ -199,9 +199,9 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { vect_strided || vect_extract_even_odd } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided || vect_extract_even_odd } } } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_strided } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { vect_strided4 || vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided4 || vect_extract_even_odd } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_strided4 } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! { vect_strided4 } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-23.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-23.c 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-23.c 2011-04-12 15:22:06.000000000 +0100 @@ -106,8 +106,8 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target { vect_strided } && {! { vect_no_align} } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided || vect_no_align} } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target { vect_strided8 && { ! { vect_no_align} } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { vect_strided8 || vect_no_align } } } } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-cselim-1.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-cselim-1.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-cselim-1.c 2011-04-12 15:22:06.000000000 +0100 @@ -82,5 +82,5 @@ main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || {! vect_strided } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || { ! vect_strided2 } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c =================================================================== --- gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c 2011-04-12 15:22:06.000000000 +0100 @@ -56,5 +56,5 @@ main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10a.c =================================================================== --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10a.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10a.c 2011-04-12 15:22:06.000000000 +0100 @@ -54,5 +54,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10b.c =================================================================== --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10b.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-10b.c 2011-04-12 15:22:06.000000000 +0100 @@ -53,5 +53,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-20.c =================================================================== --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-20.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-20.c 2011-04-12 15:22:06.000000000 +0100 @@ -50,5 +50,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-1.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-1.c 2011-04-12 15:18:24.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-1.c 2011-04-12 15:22:06.000000000 +0100 @@ -85,6 +85,6 @@ foo (int n) fbar (a); } -/* { dg-final { scan-tree-dump-times "vectorized 6 loops" 1 "vect" { target vect_extract_even_odd } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 5 loops" 1 "vect" { xfail vect_extract_even_odd } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 6 loops" 1 "vect" { target vect_strided2 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 5 loops" 1 "vect" { xfail vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-10.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-10.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-10.c 2011-04-12 15:22:06.000000000 +0100 @@ -22,5 +22,5 @@ int foo () return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { ! vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { ! vect_strided2 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-98.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-98.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-98.c 2011-04-12 15:22:06.000000000 +0100 @@ -38,6 +38,6 @@ int main (void) } /* Needs interleaving support. */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail vect_strided4 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-107.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-107.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-107.c 2011-04-12 15:22:06.000000000 +0100 @@ -40,6 +40,6 @@ int main (void) return main1 (); } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_extract_even_odd } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail vect_extract_even_odd } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c 2011-04-12 15:22:06.000000000 +0100 @@ -71,6 +71,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i2.c 2011-04-12 15:22:06.000000000 +0100 @@ -55,6 +55,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i4.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i4.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-i4.c 2011-04-12 15:22:06.000000000 +0100 @@ -68,6 +68,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-mult.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-mult.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u16-mult.c 2011-04-12 15:22:06.000000000 +0100 @@ -62,6 +62,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u32-mult.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u32-mult.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u32-mult.c 2011-04-12 15:22:06.000000000 +0100 @@ -61,6 +61,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c 2011-04-12 15:22:06.000000000 +0100 @@ -69,6 +69,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap2.c 2011-04-12 15:22:06.000000000 +0100 @@ -76,6 +76,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap7.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap7.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i8-gap7.c 2011-04-12 15:22:06.000000000 +0100 @@ -81,6 +81,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-float.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-float.c 2011-04-12 15:18:25.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-float.c 2011-04-12 15:22:06.000000000 +0100 @@ -39,7 +39,7 @@ int main (void) } /* Needs interleaving support. */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-mult-char-ls.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-mult-char-ls.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-mult-char-ls.c 2011-04-12 15:22:06.000000000 +0100 @@ -71,6 +71,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-mult.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-mult.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-mult.c 2011-04-12 15:22:06.000000000 +0100 @@ -71,6 +71,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-same-dr.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-same-dr.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-same-dr.c 2011-04-12 15:22:06.000000000 +0100 @@ -72,5 +72,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u16-i2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u16-i2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u16-i2.c 2011-04-12 15:22:06.000000000 +0100 @@ -55,6 +55,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u16-i4.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u16-i4.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u16-i4.c 2011-04-12 15:22:06.000000000 +0100 @@ -68,6 +68,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u32-i4.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u32-i4.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u32-i4.c 2011-04-12 15:22:06.000000000 +0100 @@ -63,6 +63,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided4 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u32-i8.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u32-i8.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u32-i8.c 2011-04-12 15:22:06.000000000 +0100 @@ -77,6 +77,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u32-mult.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u32-mult.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u32-mult.c 2011-04-12 15:22:06.000000000 +0100 @@ -60,6 +60,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2-gap.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2-gap.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2-gap.c 2011-04-12 15:22:06.000000000 +0100 @@ -71,6 +71,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i2.c 2011-04-12 15:22:06.000000000 +0100 @@ -54,6 +54,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap2.c 2011-04-12 15:22:06.000000000 +0100 @@ -78,6 +78,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4.c 2011-04-12 15:22:06.000000000 +0100 @@ -98,6 +98,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap7.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap7.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap7.c 2011-04-12 15:22:06.000000000 +0100 @@ -83,6 +83,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8.c 2011-04-12 15:22:06.000000000 +0100 @@ -85,6 +85,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-vfa-03.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-vfa-03.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-vfa-03.c 2011-04-12 15:22:06.000000000 +0100 @@ -53,6 +53,6 @@ main (void) } /* Needs interleaving support. */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided2 } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { xfail vect_strided2 } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/no-scevccp-outer-18.c =================================================================== --- gcc/testsuite/gcc.dg/vect/no-scevccp-outer-18.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/no-scevccp-outer-18.c 2011-04-12 15:22:06.000000000 +0100 @@ -47,5 +47,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_interleave } } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/pr30843.c =================================================================== --- gcc/testsuite/gcc.dg/vect/pr30843.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/pr30843.c 2011-04-12 15:22:06.000000000 +0100 @@ -20,6 +20,6 @@ void dacP98FillRGBMap (unsigned char *pB } } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided4 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/pr33866.c =================================================================== --- gcc/testsuite/gcc.dg/vect/pr33866.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/pr33866.c 2011-04-12 15:22:06.000000000 +0100 @@ -27,6 +27,6 @@ void test_select_fill_hyper_simple (long } /* Needs interleaving support. */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/slp-reduc-6.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-reduc-6.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/slp-reduc-6.c 2011-04-12 15:22:06.000000000 +0100 @@ -42,7 +42,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail { vect_no_int_add || { ! vect_unpack } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail { vect_no_int_add || { ! { vect_unpack || vect_strided2 } } } } } } */ /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ /* { dg-final { scan-tree-dump-times "different interleaving chains in one node" 1 "vect" { target { ! vect_no_int_add } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c 2011-04-12 15:22:06.000000000 +0100 @@ -55,6 +55,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-store-u16-i4.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-store-u16-i4.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-store-u16-i4.c 2011-04-12 15:22:06.000000000 +0100 @@ -65,8 +65,8 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_interleave && vect_pack_trunc } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { ! { vect_interleave } } && { vect_pack_trunc } } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { { vect_interleave || vect_strided4 } && vect_pack_trunc } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { ! { vect_interleave || vect_strided4 } } && { vect_pack_trunc } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c =================================================================== --- gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c 2011-04-12 12:16:46.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c 2011-04-12 15:22:06.000000000 +0100 @@ -39,7 +39,7 @@ int main (void) } /* Needs interleaving support. */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_interleave } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave || vect_strided2 } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_interleave || vect_strided2 } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */