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:
parent
27bddc4ace
commit
6ab5813c5b
2 changed files with 27 additions and 0 deletions
|
@ -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.
|
||||
|
|
22
gcc/testsuite/gfortran.dg/matmul_10.f90
Normal file
22
gcc/testsuite/gfortran.dg/matmul_10.f90
Normal 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
|
Loading…
Add table
Reference in a new issue