Patchwork [testsuite] PR 54868

login
register
mail settings
Submitter Marc Glisse
Date Oct. 11, 2012, 12:19 p.m.
Message ID <alpine.DEB.2.02.1210111338450.3732@laptop-mg.saclay.inria.fr>
Download mbox | patch
Permalink /patch/190887/
State New
Headers show

Comments

Marc Glisse - Oct. 11, 2012, 12:19 p.m.
Hello,

understanding the testsuite is hard, but this patch seems to work. The 
idea is that vect_double and others don't tell that vectors are supported 
with these options, just that there exist options that enable vectors. 
They are thus useless outside of a directory like vect/ that adds those 
flags.

2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

 	PR testsuite/54868
 	* gcc.dg/tree-ssa/forwprop-22.c: Move ...
 	* gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.
Richard Guenther - Oct. 11, 2012, 1:20 p.m.
On Thu, Oct 11, 2012 at 2:19 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
> Hello,
>
> understanding the testsuite is hard, but this patch seems to work. The idea
> is that vect_double and others don't tell that vectors are supported with
> these options, just that there exist options that enable vectors. They are
> thus useless outside of a directory like vect/ that adds those flags.

Ok.  But you need to cleanup vect dumps as those are enabled by default
in vect.exp I think.  Just check for remaining files in gcc/testsuite/gcc
when running testing with RUNTESTFLAGS="vect.exp=nodump-forwprop-22.c".
Ah, nodump- ... (I hate those weird name-based vect tests ...), so probably
fine as is.

Thanks,
Richard.

> 2012-10-11  Marc Glisse  <marc.glisse@inria.fr>
>
>         PR testsuite/54868
>         * gcc.dg/tree-ssa/forwprop-22.c: Move ...
>         * gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.
>
> --
> Marc Glisse
> Index: gcc.dg/vect/nodump-forwprop-22.c
> ===================================================================
> --- gcc.dg/vect/nodump-forwprop-22.c    (revision 192348)
> +++ gcc.dg/vect/nodump-forwprop-22.c    (working copy)
> @@ -1,14 +1,14 @@
>  /* { dg-do compile } */
>  /* { dg-require-effective-target vect_double } */
>  /* { dg-require-effective-target vect_perm } */
> -/* { dg-options "-O -fdump-tree-copyprop1" } */
> +/* { dg-additional-options "-fdump-tree-copyprop1" } */
>
>  typedef double vec __attribute__((vector_size (2 * sizeof (double))));
>  void f (vec *px, vec *y, vec *z)
>  {
>    vec x = *px;
>    vec t1 = { x[1], x[0] };
>    vec t2 = { x[0], x[1] };
>    *y = t1;
>    *z = t2;
>  }
>
Marc Glisse - Oct. 11, 2012, 1:36 p.m.
On Thu, 11 Oct 2012, Richard Biener wrote:

> On Thu, Oct 11, 2012 at 2:19 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
>> Hello,
>>
>> understanding the testsuite is hard, but this patch seems to work. The idea
>> is that vect_double and others don't tell that vectors are supported with
>> these options, just that there exist options that enable vectors. They are
>> thus useless outside of a directory like vect/ that adds those flags.
>
> Ok.  But you need to cleanup vect dumps as those are enabled by default
> in vect.exp I think.  Just check for remaining files in gcc/testsuite/gcc
> when running testing with RUNTESTFLAGS="vect.exp=nodump-forwprop-22.c".
> Ah, nodump- ... (I hate those weird name-based vect tests ...), so probably
> fine as is.

I didn't notice any remaining file, so I committed as is. Having the 
testcase compiled with -ftree-vectorize isn't great, but it doesn't hurt 
:-/

Patch

Index: gcc.dg/vect/nodump-forwprop-22.c

===================================================================
--- gcc.dg/vect/nodump-forwprop-22.c	(revision 192348)

+++ gcc.dg/vect/nodump-forwprop-22.c	(working copy)

@@ -1,14 +1,14 @@ 

 /* { dg-do compile } */
 /* { dg-require-effective-target vect_double } */
 /* { dg-require-effective-target vect_perm } */
-/* { dg-options "-O -fdump-tree-copyprop1" } */

+/* { dg-additional-options "-fdump-tree-copyprop1" } */

 
 typedef double vec __attribute__((vector_size (2 * sizeof (double))));
 void f (vec *px, vec *y, vec *z)
 {
   vec x = *px;
   vec t1 = { x[1], x[0] };
   vec t2 = { x[0], x[1] };
   *y = t1;
   *z = t2;
 }