[Bug tree-optimization/51058] New: [4.7 Regression] ICE: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992
dominiq at lps dot ens.fr
gcc-bugzilla@gcc.gnu.org
Wed Nov 9 13:41:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51058
Bug #: 51058
Summary: [4.7 Regression] ICE: gimple check: expected
gimple_assign(error_mark), have gimple_call() in
gimple_assign_rhs_code, at gimple.h:1992
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: dominiq@lps.ens.fr
CC: ira@gcc.gnu.org, jakub@gcc.gnu.org, rguenther@suse.de
On x86_64-apple-darwin10 at revision 181200, compiling the polyhedron test
mdbx.f90 with '-O2 -ftree-vectorize' gives an ICE:
[macbook] lin/test% gfc -c mdbx.f90 -O2 -ftree-vectorize
mdbx.f90: In function 'mlist':
mdbx.f90:1199:0: internal compiler error: gimple check: expected
gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at
gimple.h:1992
Revision 181085 is OK. The following reduced test reproduces the ICE:
SUBROUTINE MLIST(MOLsp,PBCx,PBCy,PBCz, X0)
IMPLICIT NONE
INTEGER, PARAMETER :: NM=16384
INTEGER :: MOLsp, i
DOUBLE PRECISION :: PBCx, PBCy, PBCz, boxjmp, HALf=1./2.
DOUBLE PRECISION :: X0(3,-2:NM)
DO i = 1 , MOLsp
boxjmp = PBCx*INT(X0(1,i)+SIGN(HALf,X0(1,i)))
X0(1,i) = X0(1,i) - boxjmp
boxjmp = PBCy*INT(X0(2,i)+SIGN(HALf,X0(2,i)))
X0(2,i) = X0(2,i) - boxjmp
boxjmp = PBCz*INT(X0(3,i)+SIGN(HALf,X0(3,i)))
X0(3,i) = X0(3,i) - boxjmp
ENDDO
END
More information about the Gcc-bugs
mailing list