diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-11-15 23:03:00 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-11-15 23:03:00 +0000 |
commit | 5d70ab07b65a3fda05fe3ea00434ab98a66e9272 (patch) | |
tree | 2043e90433038a86fd6bc5e64566a9569951e672 /gcc | |
parent | fd0477ca84491b35875ab913f3b607fd33cb1258 (diff) | |
download | gcc-5d70ab07b65a3fda05fe3ea00434ab98a66e9272.zip gcc-5d70ab07b65a3fda05fe3ea00434ab98a66e9272.tar.gz gcc-5d70ab07b65a3fda05fe3ea00434ab98a66e9272.tar.bz2 |
[multiple changes]
2016-11-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/51119
* Makefile.am: Add new optimization flags matmul.
* Makefile.in: Regenerate.
* m4/matmul.m4: For the case of all strides = 1, implement a
fast blocked matrix multiply. Fix some whitespace.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_i1.c: Regenerate.
* generated/matmul_i16.c: Regenerate.
* generated/matmul_i2.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_r8.c: Regenerate.
2016-11-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/51119
* gfortran.dg/matmul_12.f90: New test case.
From-SVN: r242462
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/matmul_12.f90 | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 74a84a3..65dac88 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-11-15 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR libgfortran/51119 + * gfortran.dg/matmul_12.f90: New test case. + 2016-11-15 Uros Bizjak <ubizjak@gmail.com> * gcc.target/i386/funcspec-56.inc: New file. diff --git a/gcc/testsuite/gfortran.dg/matmul_12.f90 b/gcc/testsuite/gfortran.dg/matmul_12.f90 new file mode 100644 index 0000000..5badd3f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/matmul_12.f90 @@ -0,0 +1,22 @@ +! { dg-do run } +program main + integer, parameter :: sz=5, su=3 + integer, parameter :: l=2 + integer, parameter :: u=l-1+su + integer(kind=4), dimension(sz,sz) :: r,a,b + integer :: i,j + do i=1,4 + do j=1,4 + a(i,j) = i*10+j + b(i,j) = 100+i*10+j + end do + end do + r = -1 + b(l:u,l:u) = reshape([(i,i=1,su*su)],[su,su]); + a(l:u,l:u) = reshape([(i,i=1,su*su)],[su,su]); + + r(1:su,1:su) = matmul(a(l:u,l:u),b(l:u,l:u)) + if (any(reshape(r,[sz*sz]) /= [30, 36, 42, -1, -1, 66, 81, 96, -1, -1,& + & 102, 126, 150, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])) & + call abort +end program main |