Works here with: 2008-08-19-r139224
fails here with: 2008-08-20-r139252
(Note both had some patches applied, but looking at the diffs to the trunk at
that time, they should not affect the failure.)
$ gfortran -O3 test.f90
test.f90: In function 'euler':
test.f90:1: internal compiler error: in vinfo_for_stmt, at
tree-vectorizer.h:546
SUBROUTINE euler(mrot,amat,alpha,beta,gamma)
IMPLICIT NONE
INTEGER, INTENT(IN) :: mrot(3,3)
REAL, INTENT(IN) :: amat(3,3)
REAL, INTENT(OUT) :: alpha,beta,gamma
INTEGER :: det,a1,a2,n
REAL :: mprop(3,3),amatinv(3,3),detr
REAL :: pi,sina,sinb,sinc,cosa,cosb,cosc
pi = atan(1.0)*4.0
det= mrot(1,1)*mrot(2,2)*mrot(3,3) + &
mrot(1,2)*mrot(2,3)*mrot(3,1) + &
mrot(2,1)*mrot(3,2)*mrot(1,3) - &
mrot(1,3)*mrot(2,2)*mrot(3,1) - &
mrot(2,3)*mrot(3,2)*mrot(1,1) - &
mrot(2,1)*mrot(1,2)*mrot(3,3)
mprop=REAL(det)*MATMUL(amat,MATMUL(REAL(mrot),amatinv))
cosb = mprop(3,3)
sinb = 1.00 - cosb*cosb
sinb = max(sinb,0.00)
sinb = sqrt(sinb)
IF ( abs(sinb).LT.1.0e-5 ) gamma = 0.0
END SUBROUTINE
--
Summary: [4.4 Regression] ICE in vinfo_for_stmt, at tree-
vectorizer.h:546
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37209