diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-05-08 17:56:13 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-05-08 17:56:13 +0000 |
commit | fd9910392bc2854ecc5c91fd6f089fa4e66edb44 (patch) | |
tree | 644a36f58118c3fd22c9a3fc368ec218e1e7d524 /gcc/testsuite | |
parent | d16d5eac2a0132adcd9e88ae288bedd03abfc513 (diff) | |
download | gcc-fd9910392bc2854ecc5c91fd6f089fa4e66edb44.zip gcc-fd9910392bc2854ecc5c91fd6f089fa4e66edb44.tar.gz gcc-fd9910392bc2854ecc5c91fd6f089fa4e66edb44.tar.bz2 |
re PR libfortran/80602 (Reduce stack usage for blocked matmul)
2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/80602
* m4/matmul_internal.m4: 'matmul_name`: Change
t1 to a VLA of the required size.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.
2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/80602
* gfortran.dg/matmul_15.f90: New test case.
From-SVN: r247753
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/matmul_15.f90 | 34 |
2 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 14f201b..6e2e599 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/80602 + * gfortran.dg/matmul_15.f90: New test case. + 2017-05-08 Wilco Dijkstra <wdijkstr@arm.com> * testsuite/gcc.dg/vect/vect-44.c: Add -fno-vect-cost-model. diff --git a/gcc/testsuite/gfortran.dg/matmul_15.f90 b/gcc/testsuite/gfortran.dg/matmul_15.f90 new file mode 100644 index 0000000..9e731ed --- /dev/null +++ b/gcc/testsuite/gfortran.dg/matmul_15.f90 @@ -0,0 +1,34 @@ +! { dg-do run } +! { dg-options "-finline-matmul-limit=0" } +! Stress-test the matmul blocking code with sizes close to or +! equal to powers ot two. + +program main + implicit none + integer, dimension(*), parameter :: nn = & + & [2,3,4,5, 7,8,9, 15,16,17, 31,32,33, 63,64,65, & + 127 ,228,129, 255,256,257]; + integer, parameter :: s = size(nn) + real, dimension(:,:),allocatable :: a, b, c + integer :: i1, i2, i3 + integer :: nx, ny, count + real :: sm + + sm = 0.0 + do i1=1, s + nx = nn(i1) + do i2=1,s + ny = nn(i2) + do i3=1,s + count = nn(i3) + allocate (a(nx,ny), b(ny,count), c(nx,count)) + call random_number(a) + call random_number(b) + c = matmul(a,b) + sm = sm + sum(c) + deallocate(a,b,c) + end do + end do + end do + +end program main |