aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2017-05-08 17:56:13 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2017-05-08 17:56:13 +0000
commitfd9910392bc2854ecc5c91fd6f089fa4e66edb44 (patch)
tree644a36f58118c3fd22c9a3fc368ec218e1e7d524 /gcc/testsuite
parentd16d5eac2a0132adcd9e88ae288bedd03abfc513 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/matmul_15.f9034
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