diff mbox

Fix fortran vector tests on powerpc and aarch64, PR tree-optimization/80925

Message ID 1503679563.28672.111.camel@cavium.com
State New
Headers show

Commit Message

Steve Ellcey Aug. 25, 2017, 4:46 p.m. UTC
My earlier patch to update tests and resolve PR tree-optimization/80925
did not include FORTRAN, just C and C++.  This patch makes the same
changes as the earlier patches but for FORTRAN.  Tested on aarch64.

OK to checkin?

Steve Ellcey
sellcey@cavium.com

Orginal patches/discussion is at:

https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01862.html
https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00000.html


2017-08-25  Steve Ellcey  <sellcey@cavium.com>

        PR tree-optimization/80925
        * gfortran.dg/vect/vect-2.f90: Add
        --param vect-max-peeling-for-alignment=0 option.
        Remove unaligned access and peeling checks.
        * gfortran.dg/vect/vect-3.f90: Ditto.
        * gfortran.dg/vect/vect-4.f90: Ditto.
        * gfortran.dg/vect/vect-5.f90: Ditto.

Comments

Steve Ellcey Sept. 12, 2017, 5:34 p.m. UTC | #1
Ping,  also adding fortran@gcc.gnu.org which I seem to left out when
sending this to gcc-patches@gcc.gnu.org.

Steve


On Fri, 2017-08-25 at 09:46 -0700, Steve Ellcey wrote:
> My earlier patch to update tests and resolve PR tree-
> optimization/80925
> did not include FORTRAN, just C and C++.  This patch makes the same
> changes as the earlier patches but for FORTRAN.  Tested on aarch64.
> 
> OK to checkin?
> 
> Steve Ellcey
> sellcey@cavium.com
> 
> Orginal patches/discussion is at:
> 
> https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01862.html
> https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00000.html
> 
> 
> 2017-08-25  Steve Ellcey  <sellcey@cavium.com>
> 
>         PR tree-optimization/80925
>         * gfortran.dg/vect/vect-2.f90: Add
>         --param vect-max-peeling-for-alignment=0 option.
>         Remove unaligned access and peeling checks.
>         * gfortran.dg/vect/vect-3.f90: Ditto.
>         * gfortran.dg/vect/vect-4.f90: Ditto.
>         * gfortran.dg/vect/vect-5.f90: Ditto.
>
Paul Richard Thomas Sept. 12, 2017, 6:12 p.m. UTC | #2
Hi Steve,

This looks fine from the fortran side - especially since it involves
removing checks :-)

Thanks

Paul

On 12 September 2017 at 18:34, Steve Ellcey <sellcey@cavium.com> wrote:
> Ping,  also adding fortran@gcc.gnu.org which I seem to left out when
> sending this to gcc-patches@gcc.gnu.org.
>
> Steve
>
>
> On Fri, 2017-08-25 at 09:46 -0700, Steve Ellcey wrote:
>> My earlier patch to update tests and resolve PR tree-
>> optimization/80925
>> did not include FORTRAN, just C and C++.  This patch makes the same
>> changes as the earlier patches but for FORTRAN.  Tested on aarch64.
>>
>> OK to checkin?
>>
>> Steve Ellcey
>> sellcey@cavium.com
>>
>> Orginal patches/discussion is at:
>>
>> https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01862.html
>> https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00000.html
>>
>>
>> 2017-08-25  Steve Ellcey  <sellcey@cavium.com>
>>
>>         PR tree-optimization/80925
>>         * gfortran.dg/vect/vect-2.f90: Add
>>         --param vect-max-peeling-for-alignment=0 option.
>>         Remove unaligned access and peeling checks.
>>         * gfortran.dg/vect/vect-3.f90: Ditto.
>>         * gfortran.dg/vect/vect-4.f90: Ditto.
>>         * gfortran.dg/vect/vect-5.f90: Ditto.
>>
diff mbox

Patch

diff --git a/gcc/testsuite/gfortran.dg/vect/vect-2.f90 b/gcc/testsuite/gfortran.dg/vect/vect-2.f90
index 24c7deb..956a05c 100644
--- a/gcc/testsuite/gfortran.dg/vect/vect-2.f90
+++ b/gcc/testsuite/gfortran.dg/vect/vect-2.f90
@@ -1,5 +1,6 @@ 
 ! { dg-do compile }
 ! { dg-require-effective-target vect_float }
+! { dg-additional-options "--param vect-max-peeling-for-alignment=0" }
 
 SUBROUTINE FOO(A, B, C)
 DIMENSION A(1000000), B(1000000), C(1000000)
@@ -15,7 +16,4 @@  END
 ! support unaligned loads).
 
 ! { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } }
-! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || { ! vector_alignment_reachable } } } } }
-! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target { { vect_no_align && { ! vect_hw_misalign } } && { ! vector_alignment_reachable } } } } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } }
 ! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" {target { { vect_no_align && { ! vect_hw_misalign } } || { { ! vector_alignment_reachable  } && { ! vect_hw_misalign } } } } } }
diff --git a/gcc/testsuite/gfortran.dg/vect/vect-3.f90 b/gcc/testsuite/gfortran.dg/vect/vect-3.f90
index abbdc90..b8ccbdd 100644
--- a/gcc/testsuite/gfortran.dg/vect/vect-3.f90
+++ b/gcc/testsuite/gfortran.dg/vect/vect-3.f90
@@ -1,5 +1,6 @@ 
 ! { dg-do compile }
 ! { dg-require-effective-target vect_float }
+! { dg-additional-options "--param vect-max-peeling-for-alignment=0" }
 
 SUBROUTINE SAXPY(X, Y, A, N)
 DIMENSION X(N), Y(N)
@@ -8,7 +9,4 @@  END
 
 ! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } }
 ! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { {! vect_no_align} && { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { target { {! vect_no_align} && { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } } }
-! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || {! vector_alignment_reachable}} } } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || { ! vector_alignment_reachable} } } } }
 
diff --git a/gcc/testsuite/gfortran.dg/vect/vect-4.f90 b/gcc/testsuite/gfortran.dg/vect/vect-4.f90
index 7602100..b567cbd 100644
--- a/gcc/testsuite/gfortran.dg/vect/vect-4.f90
+++ b/gcc/testsuite/gfortran.dg/vect/vect-4.f90
@@ -1,5 +1,6 @@ 
 ! { dg-do compile }
 ! { dg-require-effective-target vect_float }
+! { dg-additional-options "--param vect-max-peeling-for-alignment=0" }
 
 ! Peeling to align the store to Y will also align the load from Y.
 ! The load from X may still be misaligned.
@@ -10,7 +11,4 @@  Y = Y + A * X
 END
 
 ! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } 
-! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || {! vector_alignment_reachable} } } } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || {! vector_alignment_reachable} } } } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { target { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } }
 ! { dg-final { scan-tree-dump-times "accesses have the same alignment." 1 "vect" } }
diff --git a/gcc/testsuite/gfortran.dg/vect/vect-5.f90 b/gcc/testsuite/gfortran.dg/vect/vect-5.f90
index 4c6324e..54887f9 100644
--- a/gcc/testsuite/gfortran.dg/vect/vect-5.f90
+++ b/gcc/testsuite/gfortran.dg/vect/vect-5.f90
@@ -1,4 +1,5 @@ 
 ! { dg-require-effective-target vect_int }
+! { dg-additional-options "--param vect-max-peeling-for-alignment=0" }
 
         Subroutine foo (N, M)
         Integer N
@@ -36,7 +37,5 @@ 
         end
 
 ! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  } }
-! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || {! vector_alignment_reachable} } } } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } }
 ! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } }
 ! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } }