diff mbox

[RFT] Fix PR testsuite/48498

Message ID OF7758E34A.5D293F78-ONC2257878.003D3519-C2257878.003EB4DA@il.ibm.com
State New
Headers show

Commit Message

Ira Rosen April 20, 2011, 11:24 a.m. UTC
Hi,

In gcc.dg/vect/slp-3.c and gcc.dg/vect/no-vfa-pr29145.c vectorization is
expected to fail on targets vect_no_align. But no realignment is necessary
here except for having the array bases aligned. This patch removes xfail
for vect_no_align (and increases a loop bound in slp-3.c to prevent
complete unrolling).  It is supposed to fix the XPASSes on SPARC, I also
checked it with a cross-compiler on ia64-linux-gnu, and tested on
x86_64-suse-linux.

vect_no_align is true for

        if { [istarget mipsisa64*-*-*]
             || [istarget sparc*-*-*]
             || [istarget ia64-*-*]
             || [check_effective_target_arm_vect_no_misalign]
             || ([istarget mips*-*-*]
                 && [check_effective_target_mips_loongson]) } {
            set et_vect_no_align_saved 1
        }

so I'd appreciate testing on these targets.

Thanks,
Ira

testsuite/ChangeLog

	PR testsuite/48498
  	* gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail
	on vect_no_align targets.
	* gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
	vect_no_align targets.

+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */

Comments

Ira Rosen May 1, 2011, 7:31 a.m. UTC | #1
gcc-patches-owner@gcc.gnu.org wrote on 20/04/2011 02:24:55 PM:

>
> Hi,
>
> In gcc.dg/vect/slp-3.c and gcc.dg/vect/no-vfa-pr29145.c vectorization is
> expected to fail on targets vect_no_align. But no realignment is
necessary
> here except for having the array bases aligned. This patch removes xfail
> for vect_no_align (and increases a loop bound in slp-3.c to prevent
> complete unrolling).  It is supposed to fix the XPASSes on SPARC, I also
> checked it with a cross-compiler on ia64-linux-gnu, and tested on
> x86_64-suse-linux.
>
> vect_no_align is true for
>
>         if { [istarget mipsisa64*-*-*]
>              || [istarget sparc*-*-*]
>              || [istarget ia64-*-*]
>              || [check_effective_target_arm_vect_no_misalign]
>              || ([istarget mips*-*-*]
>                  && [check_effective_target_mips_loongson]) } {
>             set et_vect_no_align_saved 1
>         }
>
> so I'd appreciate testing on these targets.

Was tested by Rainer on SPARC.

OK to apply?

Thanks,
Ira

>
> Thanks,
> Ira
>
> testsuite/ChangeLog
>
>    PR testsuite/48498
>      * gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail
>    on vect_no_align targets.
>    * gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
>    vect_no_align targets.
>
> Index: testsuite/gcc.dg/vect/slp-3.c
> ===================================================================
> --- testsuite/gcc.dg/vect/slp-3.c       (revision 172765)
> +++ testsuite/gcc.dg/vect/slp-3.c       (working copy)
> @@ -4,9 +4,9 @@
>  #include <stdarg.h>
>  #include "tree-vect.h"
>
> -#define N 8
> +#define N 12
>
> -unsigned short in[N*8] =
> {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
> 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
> 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
> +unsigned short in[N*8] =
> {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
> 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
> 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,
> 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
>
>  int
>  main1 ()
> @@ -142,7 +142,7 @@
>    return 0;
>  }
>
> -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1
"vect" { xfail
> vect_no_align } } } */
> -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3
> "vect" { xfail vect_no_align } } } */
> +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } }
*/
> +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3
> "vect" } } */
>  /* { dg-final { cleanup-tree-dump "vect" } } */
>
> Index: testsuite/gcc.dg/vect/no-vfa-pr29145.c
> ===================================================================
> --- testsuite/gcc.dg/vect/no-vfa-pr29145.c      (revision 172765)
> +++ testsuite/gcc.dg/vect/no-vfa-pr29145.c      (working copy)
> @@ -48,6 +48,6 @@
>    return 0;
>  }
>
> -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2
> "vect"  { xfail vect_no_align } } } */
> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1
> "vect"  { xfail vect_no_align } } } */
> +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2 "vect" } }
*/
> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
*/
>  /* { dg-final { cleanup-tree-dump "vect" } } */
>
Richard Biener May 2, 2011, 9:46 a.m. UTC | #2
On Sun, May 1, 2011 at 9:31 AM, Ira Rosen <IRAR@il.ibm.com> wrote:
>
>
> gcc-patches-owner@gcc.gnu.org wrote on 20/04/2011 02:24:55 PM:
>
>>
>> Hi,
>>
>> In gcc.dg/vect/slp-3.c and gcc.dg/vect/no-vfa-pr29145.c vectorization is
>> expected to fail on targets vect_no_align. But no realignment is
> necessary
>> here except for having the array bases aligned. This patch removes xfail
>> for vect_no_align (and increases a loop bound in slp-3.c to prevent
>> complete unrolling).  It is supposed to fix the XPASSes on SPARC, I also
>> checked it with a cross-compiler on ia64-linux-gnu, and tested on
>> x86_64-suse-linux.
>>
>> vect_no_align is true for
>>
>>         if { [istarget mipsisa64*-*-*]
>>              || [istarget sparc*-*-*]
>>              || [istarget ia64-*-*]
>>              || [check_effective_target_arm_vect_no_misalign]
>>              || ([istarget mips*-*-*]
>>                  && [check_effective_target_mips_loongson]) } {
>>             set et_vect_no_align_saved 1
>>         }
>>
>> so I'd appreciate testing on these targets.
>
> Was tested by Rainer on SPARC.
>
> OK to apply?

Ok.

Thanks,
Richard.

> Thanks,
> Ira
>
>>
>> Thanks,
>> Ira
>>
>> testsuite/ChangeLog
>>
>>    PR testsuite/48498
>>      * gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail
>>    on vect_no_align targets.
>>    * gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
>>    vect_no_align targets.
>>
>> Index: testsuite/gcc.dg/vect/slp-3.c
>> ===================================================================
>> --- testsuite/gcc.dg/vect/slp-3.c       (revision 172765)
>> +++ testsuite/gcc.dg/vect/slp-3.c       (working copy)
>> @@ -4,9 +4,9 @@
>>  #include <stdarg.h>
>>  #include "tree-vect.h"
>>
>> -#define N 8
>> +#define N 12
>>
>> -unsigned short in[N*8] =
>> {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
>> 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
>> 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +unsigned short in[N*8] =
>> {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
>> 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
>> 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,
>> 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
>>
>>  int
>>  main1 ()
>> @@ -142,7 +142,7 @@
>>    return 0;
>>  }
>>
>> -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1
> "vect" { xfail
>> vect_no_align } } } */
>> -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3
>> "vect" { xfail vect_no_align } } } */
>> +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } }
> */
>> +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3
>> "vect" } } */
>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>
>> Index: testsuite/gcc.dg/vect/no-vfa-pr29145.c
>> ===================================================================
>> --- testsuite/gcc.dg/vect/no-vfa-pr29145.c      (revision 172765)
>> +++ testsuite/gcc.dg/vect/no-vfa-pr29145.c      (working copy)
>> @@ -48,6 +48,6 @@
>>    return 0;
>>  }
>>
>> -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2
>> "vect"  { xfail vect_no_align } } } */
>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1
>> "vect"  { xfail vect_no_align } } } */
>> +/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2 "vect" } }
> */
>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
> */
>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>
>
>
diff mbox

Patch

Index: testsuite/gcc.dg/vect/slp-3.c
===================================================================
--- testsuite/gcc.dg/vect/slp-3.c       (revision 172765)
+++ testsuite/gcc.dg/vect/slp-3.c       (working copy)
@@ -4,9 +4,9 @@ 
 #include <stdarg.h>
 #include "tree-vect.h"

-#define N 8
+#define N 12

-unsigned short in[N*8] =
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
+unsigned short in[N*8] =
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};

 int
 main1 ()
@@ -142,7 +142,7 @@ 
   return 0;
 }

-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail
vect_no_align } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3
"vect" { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3
"vect" } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */

Index: testsuite/gcc.dg/vect/no-vfa-pr29145.c
===================================================================
--- testsuite/gcc.dg/vect/no-vfa-pr29145.c      (revision 172765)
+++ testsuite/gcc.dg/vect/no-vfa-pr29145.c      (working copy)
@@ -48,6 +48,6 @@ 
   return 0;
 }

-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2
"vect"  { xfail vect_no_align } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1
"vect"  { xfail vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2 "vect" } } */