re PR fortran/71961 (178.galgel in SPEC CPU 2000 is miscompiled)

2016-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71961
	* gfortran.dg/matmul_10.f90:  New testcase.

From-SVN: r239220
This commit is contained in:
Thomas Koenig 2016-08-07 13:24:32 +00:00
parent 27bddc4ace
commit 6ab5813c5b
2 changed files with 27 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71961
* gfortran.dg/matmul_10.f90: New testcase.
2016-08-07 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update testcase.

View file

@ -0,0 +1,22 @@
! { dg-do run }
! { dg-options "-Warray-temporaries" }
! PR 71961 - no array temporary was created.
! Original test case by Joost VandeVondele
program main
implicit none
integer :: i
integer, dimension(:,:), pointer :: a
integer, dimension(:,:), allocatable :: b
ALLOCATE(a(4,4),b(4,2))
a=1 ; b=2
a(:,1:2)=matmul(a(:,1:4),b(:,:)) ! { dg-warning "Creating array temporary" }
if (any(a /= reshape((/8,8,8,8,8,8,8,8,1,1,1,1,1,1,1,1/),(/4,4/)))) &
call abort
a = reshape([((-1**i)*i,i=1,16)],[4,4])
b = reshape([((-1**(i-1))*i**2,i=1,8)],[4,2])
b(1:2,1:2) = matmul(a(1:2,:),b) ! { dg-warning "Creating array temporary" }
if (any(b /= reshape([310, 340, -9, -16, 1478, 1652, -49, -64],[4,2]))) &
call abort
deallocate(a)
deallocate(b)
end program main