GCC trunk gets a ICE when building SPEC CPU2000 test 301.apsi with "-O2 -fnon-call-exceptions -fpeel-loops -fexceptions", as demonstrated by this minimized testcase:
SUBROUTINE TEST(HELP,WM,NZ) IMPLICIT REAL*8 (A-H, O-Z) REAL*8 HELP(NZ) COMPLEX*16 WM(NZ) DO K=1,NZ ZNEW=ABS(WM(K)) ZOLD=HELP(K) HELP(K)=ZNEW ENDDO RETURN END elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/gfortran -c -O2 -fexceptions -fnon-call-exceptions -fpeel-loops bug.f /tmp/ccZKTZkM.s: Assembler messages: /tmp/ccZKTZkM.s:38: Error: syntax error; found `,' but expected `(' /tmp/ccZKTZkM.s:38: Error: junk at end of line: `,3 The assembly code here is: lwz 4,4(9) lwz 3,9,3 <---- line 38 lwz 5,8(9) lwz 6,12(9) bl cabs The failure begins with this patch: http://gcc.gnu.org/viewcvs?view=rev&rev=154688 r154688 | bernds | 2009-11-26 21:41:42 +0000 (Thu, 26 Nov 2009) I ran into this by running CPU2000 with a number of sets of options generated by a tool called allpairs. -- Summary: invalid assembly code for 301.apsi for -fnon-call- exceptions Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42427