http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
Bug #: 52976 Summary: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: domi...@lps.ens.fr CC: rgue...@gcc.gnu.org, tkoe...@gcc.gnu.org, wschm...@gcc.gnu.org On powerpc-apple-darwin9 and x86_64-apple-darwin10, the polyhedron tests aermod.f90 and doduc.f90 are broken after revision 186384 at -O3 -ffast-math: [macbook] lin/test% gfc -O3 -ffast-math -fno-tree-vectorize aermod.f90 aermod.f90: In function 'grdurban': aermod.f90:27214:0: error: definition in block 9 follows the use SUBROUTINE GRDURBAN ^ for SSA_NAME: reassocpow.22077_36 in statement: D.56565_32 = D.56564_31 * reassocpow.22077_36; aermod.f90:27214:0: internal compiler error: verify_ssa failed SUBROUTINE GRDURBAN ^ [macbook] lin/test% gfc -O3 -ffast-math -fno-tree-vectorize doduc.f90 doduc.f90: In function 's55199': doduc.f90:4384:0: internal compiler error: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs1, at gimple.h:1850 SUBROUTINE S55199(H,P,T,Rho,Dvdhp,Dvdph,Dtdh,Dtdp) ^ The SUBROUTINE S55199 can be reduced to SUBROUTINE S55199(P,Dvdph) implicit none real(8) :: c1,c2,c3,P,Dvdph c1=0.1d0 c2=0.2d0 c3=0.3d0 Dvdph = c1 + 2.*P*c2 + 3.*P**2*c3 END which gives the following ICE at r186417 [macbook] test/doduc_tst% gfc -O3 -ffast-math -fno-tree-vectorize s55199_red.f90 -c s55199_red.f90: In function 's55199': s55199_red.f90:1:0: internal compiler error: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs1, at gimple.h:1850 SUBROUTINE S55199(P,Dvdph) ^ or s55199_red.f90: In function 's55199': s55199_red.f90:1:0: internal compiler error: in zero_one_operation, at tree-ssa-reassoc.c:1041 SUBROUTINE S55199(P,Dvdph) ^ for gcc configured with --enable-checking=release.