diff options
author | Richard Biener <rguenther@suse.de> | 2019-10-23 12:41:49 +0000 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2019-10-23 12:41:49 +0000 |
commit | 516e07faa9cc6a8da2ccb26b36d4ecc319bcb879 (patch) | |
tree | eed4184c1fa462a64d4a722463477af5dab26a10 /gcc/testsuite | |
parent | dd27cbf13d16c69d0935289ed9f5d9557f6b1922 (diff) |
2019-10-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/65930
* tree-vect-loop.c (check_reduction_path): Allow conversions
that only change the sign.
(vectorizable_reduction): Relax latch def stmts we handle further.
* gcc.dg/vect/vect-reduc-2char-big-array.c: Adjust.
* gcc.dg/vect/vect-reduc-2char.c: Likewise.
* gcc.dg/vect/vect-reduc-2short.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
* gcc.dg/vect/vect-reduc-pattern-2c.c: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277322 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-reduc-2char-big-array.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2c.c | 5 |
6 files changed, 16 insertions, 12 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 790ffe4bf6d..a9c44136a2c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2019-10-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/65930 + * gcc.dg/vect/vect-reduc-2char-big-array.c: Adjust. + * gcc.dg/vect/vect-reduc-2char.c: Likewise. + * gcc.dg/vect/vect-reduc-2short.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. + * gcc.dg/vect/vect-reduc-pattern-2c.c: Likewise. + 2019-10-23 Jakub Jelinek <jakub@redhat.com> * g++.dg/cpp2a/constexpr-dtor3.C: Expect in 'constexpr' expansion of diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-2char-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-2char-big-array.c index e246ae7f3c6..c40f8625b84 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-2char-big-array.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-2char-big-array.c @@ -62,4 +62,4 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c index 5f0551ee372..dd3045502f1 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c @@ -46,4 +46,4 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c index 02c2bee8612..1a2d8d04f4e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c @@ -45,4 +45,4 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c index b036ad5b0b4..c0ee5dc01c5 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c @@ -12,12 +12,6 @@ signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); /* char->short->short dot product. The dot-product pattern should be detected. - The reduction is currently not vectorized becaus of the signed->unsigned->signed - casts, since this patch: - - 2005-12-26 Kazu Hirata <kazu@codesourcery.com> - - PR tree-optimization/25125 When the dot-product is detected, the loop should be vectorized on vect_sdot_qi targets (targets that support dot-product of signed char). @@ -60,5 +54,5 @@ int main (void) /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2c.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2c.c index 8190622d5d7..71df5741e16 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2c.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2c.c @@ -21,6 +21,8 @@ foo () 2005-12-26 Kazu Hirata <kazu@codesourcery.com> PR tree-optimization/25125 + + but we still handle the reduction. */ for (i = 0; i < N; i++) @@ -43,5 +45,4 @@ main (void) } /* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected" 1 "vect" { xfail *-*-* } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_qi_to_hi } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ |