From 99f61dd05a51a11d57d0ea0a4c4461b9f8854afd Mon Sep 17 00:00:00 2001 From: rguenth Date: Thu, 27 May 2010 13:23:45 +0000 Subject: [PATCH] 2010-05-27 Richard Guenther PR tree-optimization/44284 * tree-vect-stmts.c (vectorizable_assignment): Handle sign-changing conversions as simple copy. * gcc.dg/vect/vect-118.c: New testcase. * gcc.dg/vect/bb-slp-20.c: Adjust. * gcc.dg/vect/no-section-anchors-vect-36.c: Likewise. * gcc.dg/vect/slp-9.c: Likewise. * gcc.dg/vect/slp-reduc-4.c: Likewise. * gcc.dg/vect/vect-10.c: Likewise. * gcc.dg/vect/vect-109.c: Likewise. * gcc.dg/vect/vect-12.c: Likewise. * gcc.dg/vect/vect-36.c: Likewise. * gcc.dg/vect/vect-7.c: Likewise. * gcc.dg/vect/vect-iv-8.c: Likewise. * gcc.dg/vect/vect-multitypes-10.c: Likewise. * gcc.dg/vect/vect-multitypes-13.c: Likewise. * gcc.dg/vect/vect-multitypes-14.c: Likewise. * gcc.dg/vect/vect-multitypes-15.c: Likewise. * gcc.dg/vect/vect-multitypes-7.c: Likewise. * gcc.dg/vect/vect-multitypes-8.c: Likewise. * gcc.dg/vect/vect-multitypes-9.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. * gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise. * gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise. * gcc.dg/vect/vect-strided-u32-mult.c: Likewise. * gcc.dg/vect/vect-widen-mult-s16.c: Likewise. * gcc.dg/vect/vect-widen-mult-s8.c: Likewise. * gcc.dg/vect/vect-widen-mult-sum.c: Likewise. * gcc.dg/vect/vect-widen-mult-u16.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159920 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++ gcc/testsuite/ChangeLog | 32 +++++++++++++++++++ gcc/testsuite/gcc.dg/vect/bb-slp-20.c | 5 ++- .../gcc.dg/vect/no-section-anchors-vect-36.c | 1 + gcc/testsuite/gcc.dg/vect/slp-9.c | 1 + gcc/testsuite/gcc.dg/vect/slp-reduc-4.c | 5 ++- gcc/testsuite/gcc.dg/vect/vect-10.c | 5 ++- gcc/testsuite/gcc.dg/vect/vect-109.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-118.c | 12 +++++++ gcc/testsuite/gcc.dg/vect/vect-12.c | 4 +-- gcc/testsuite/gcc.dg/vect/vect-36.c | 1 + gcc/testsuite/gcc.dg/vect/vect-7.c | 3 +- gcc/testsuite/gcc.dg/vect/vect-iv-8.c | 6 +--- .../gcc.dg/vect/vect-multitypes-10.c | 1 + .../gcc.dg/vect/vect-multitypes-13.c | 1 + .../gcc.dg/vect/vect-multitypes-14.c | 1 + .../gcc.dg/vect/vect-multitypes-15.c | 1 + gcc/testsuite/gcc.dg/vect/vect-multitypes-7.c | 1 + gcc/testsuite/gcc.dg/vect/vect-multitypes-8.c | 1 + gcc/testsuite/gcc.dg/vect/vect-multitypes-9.c | 1 + .../gcc.dg/vect/vect-reduc-dot-s16a.c | 1 + .../gcc.dg/vect/vect-reduc-dot-s16b.c | 1 + .../gcc.dg/vect/vect-reduc-dot-s8a.c | 1 + .../gcc.dg/vect/vect-reduc-dot-s8b.c | 1 + .../gcc.dg/vect/vect-reduc-dot-s8c.c | 1 + .../gcc.dg/vect/vect-reduc-dot-u16b.c | 1 + .../gcc.dg/vect/vect-strided-a-u32-mult.c | 3 +- .../gcc.dg/vect/vect-strided-u32-mult.c | 3 +- .../gcc.dg/vect/vect-widen-mult-s16.c | 1 + .../gcc.dg/vect/vect-widen-mult-s8.c | 1 + .../gcc.dg/vect/vect-widen-mult-sum.c | 1 + .../gcc.dg/vect/vect-widen-mult-u16.c | 1 + gcc/tree-vect-stmts.c | 22 +++++++++++-- 33 files changed, 104 insertions(+), 24 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/vect/vect-118.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d8c2e8df302..947d1b11c8da 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-27 Richard Guenther + + PR tree-optimization/44284 + * tree-vect-stmts.c (vectorizable_assignment): Handle + sign-changing conversions as simple copy. + 2010-05-27 Maxim Kuvyrkov * gthr-posix.h (pthread_cancel): Don't declare if compiling against diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cdcbc2fe8a67..e9d2a9ac39ae 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,35 @@ +2010-05-27 Richard Guenther + + PR tree-optimization/44284 + * gcc.dg/vect/vect-118.c: New testcase. + * gcc.dg/vect/bb-slp-20.c: Adjust. + * gcc.dg/vect/no-section-anchors-vect-36.c: Likewise. + * gcc.dg/vect/slp-9.c: Likewise. + * gcc.dg/vect/slp-reduc-4.c: Likewise. + * gcc.dg/vect/vect-10.c: Likewise. + * gcc.dg/vect/vect-109.c: Likewise. + * gcc.dg/vect/vect-12.c: Likewise. + * gcc.dg/vect/vect-36.c: Likewise. + * gcc.dg/vect/vect-7.c: Likewise. + * gcc.dg/vect/vect-iv-8.c: Likewise. + * gcc.dg/vect/vect-multitypes-10.c: Likewise. + * gcc.dg/vect/vect-multitypes-13.c: Likewise. + * gcc.dg/vect/vect-multitypes-14.c: Likewise. + * gcc.dg/vect/vect-multitypes-15.c: Likewise. + * gcc.dg/vect/vect-multitypes-7.c: Likewise. + * gcc.dg/vect/vect-multitypes-8.c: Likewise. + * gcc.dg/vect/vect-multitypes-9.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise. + * gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise. + * gcc.dg/vect/vect-strided-u32-mult.c: Likewise. + * gcc.dg/vect/vect-widen-mult-s16.c: Likewise. + * gcc.dg/vect/vect-widen-mult-s8.c: Likewise. + * gcc.dg/vect/vect-widen-mult-sum.c: Likewise. + * gcc.dg/vect/vect-widen-mult-u16.c: Likewise. + 2010-05-27 Maxim Kuvyrkov * gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: Remove, no longer diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-20.c b/gcc/testsuite/gcc.dg/vect/bb-slp-20.c index a40a629d1e7d..910eae5baff6 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-20.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-20.c @@ -21,8 +21,7 @@ main1 (unsigned int x, unsigned int y) else y = x; - /* Two SLP instances in the basic block, only one is supported for now, - the second one contains type conversion. */ + /* Two SLP instances in the basic block. */ a0 = in[0] + 23; a1 = in[1] + 142; a2 = in[2] + 2; @@ -63,6 +62,6 @@ int main (void) } /* { dg-final { scan-tree-dump-times "basic block vectorized using SLP" 1 "slp" { target vect_int_mult } } } */ -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "slp" { target vect_int_mult } } } */ +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "slp" { target vect_int_mult } } } */ /* { dg-final { cleanup-tree-dump "slp" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-36.c b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-36.c index 351463bb152c..947677346886 100644 --- a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-36.c +++ b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-36.c @@ -18,6 +18,7 @@ int main1 () for (i = 0; i < N; i++) { s.cb[i] = 3*i; + __asm__ volatile (""); } for (i = 0; i < N; i++) diff --git a/gcc/testsuite/gcc.dg/vect/slp-9.c b/gcc/testsuite/gcc.dg/vect/slp-9.c index eefb81680a40..7e1ede4b3f85 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-9.c +++ b/gcc/testsuite/gcc.dg/vect/slp-9.c @@ -29,6 +29,7 @@ int main (void) for (i=0; i