Message ID | 20110603135911.GD17079@tyan-ft48-01.lab.bos.redhat.com |
---|---|
State | New |
Headers | show |
On Fri, Jun 3, 2011 at 3:59 PM, Jakub Jelinek <jakub@redhat.com> wrote: > Hi! > > This limits this testcase to i?86/x86_64 (moving to gcc.target/ would > be harder because it relies on all the weirdo vectorization options to be > passed), because apparently on strict alignment targets we don't handle > aligned (1) non-aggregates correctly. Or should it be instead xfailed > just on selected strict-aligned targets? This has come up in the past, I think we should have an strict-align target capability in our dejagnu harness (possibly just white-listing all patterns we know). So we can dg-skip this test for strict-align ones. Would you mind implementing that? Thanks, Richard. > 2011-06-03 Jakub Jelinek <jakub@redhat.com> > > PR tree-optimization/48377 > * gcc.dg/vect/pr48377.c: Only run the test to i?86/x86_64. > > --- gcc/testsuite/gcc.dg/vect/pr48377.c.jj 2011-05-02 18:39:10.000000000 +0200 > +++ gcc/testsuite/gcc.dg/vect/pr48377.c 2011-06-03 13:19:53.000000000 +0200 > @@ -1,4 +1,5 @@ > /* PR tree-optimization/48377 */ > +/* { dg-do run { target i?86-*-* x86_64-*-* } } */ > > typedef unsigned int U __attribute__((__aligned__ (1), __may_alias__)); > > > Jakub >
Richard Guenther <richard.guenther@gmail.com> writes: > On Fri, Jun 3, 2011 at 3:59 PM, Jakub Jelinek <jakub@redhat.com> wrote: >> Hi! >> >> This limits this testcase to i?86/x86_64 (moving to gcc.target/ would >> be harder because it relies on all the weirdo vectorization options to be >> passed), because apparently on strict alignment targets we don't handle >> aligned (1) non-aggregates correctly. Or should it be instead xfailed >> just on selected strict-aligned targets? > > This has come up in the past, I think we should have an > strict-align target capability in our dejagnu harness (possibly > just white-listing all patterns we know). So we can > dg-skip this test for strict-align ones. Would you mind implementing > that? That list is quite long, though: there are currently 28 instances of #define STRICT_ALIGNMENT 1 in gcc/config, with a couple of others being variable. Wouldn't it be better to have a proper testcase instead? Rainer
> This limits this testcase to i?86/x86_64 (moving to gcc.target/ would > be harder because it relies on all the weirdo vectorization options to be > passed), because apparently on strict alignment targets we don't handle > aligned (1) non-aggregates correctly. Or should it be instead xfailed > just on selected strict-aligned targets? The 6.4.1 release is approaching so please install the patch for now. TIA.
On Tue, Jun 14, 2011 at 11:10:13AM +0200, Eric Botcazou wrote: > > This limits this testcase to i?86/x86_64 (moving to gcc.target/ would > > be harder because it relies on all the weirdo vectorization options to be > > passed), because apparently on strict alignment targets we don't handle > > aligned (1) non-aggregates correctly. Or should it be instead xfailed > > just on selected strict-aligned targets? > > The 6.4.1 release is approaching so please install the patch for now. TIA. Well, Steve has a patch for non_strict_align effective_target in http://gcc.gnu.org/ml/gcc-patches/2011-06/msg00673.html (with s/strict_align/non_strict_align/g ), I was hoping it would be reviewed and I'd just adjust the testcase to use it as well. Jakub
> Well, Steve has a patch for non_strict_align effective_target > in http://gcc.gnu.org/ml/gcc-patches/2011-06/msg00673.html > (with s/strict_align/non_strict_align/g ), I was hoping it would be > reviewed and I'd just adjust the testcase to use it as well. Would it be applied to the 4.6 branch as well? If no, I think you should apply your patch to trunk and 4.6 branch and let Steve adjust it on trunk later.
--- gcc/testsuite/gcc.dg/vect/pr48377.c.jj 2011-05-02 18:39:10.000000000 +0200 +++ gcc/testsuite/gcc.dg/vect/pr48377.c 2011-06-03 13:19:53.000000000 +0200 @@ -1,4 +1,5 @@ /* PR tree-optimization/48377 */ +/* { dg-do run { target i?86-*-* x86_64-*-* } } */ typedef unsigned int U __attribute__((__aligned__ (1), __may_alias__));