Most benchmarks in SPEC CPU2000 fail to compile with an ICE when compiled with "-O2 -fmodulo-sched -freorder-blocks-and-partition" for powerpc* and s390* targets. Compiling the following minimized testcase:
unsigned res; void foo (unsigned code, int len) { int i; for (i = 0; i < len; i++) res |= code & 1; } gives the output: bug.c: In function foo: bug.c:8: error: fallthru edge crosses section boundary (bb 9) bug.c:8: error: fallthru edge crosses section boundary (bb 7) bug.c:8: error: fallthru edge crosses section boundary (bb 13) bug.c:8: error: fallthru edge crosses section boundary (bb 12) bug.c:8: error: fallthru edge crosses section boundary (bb 3) bug.c:8: internal compiler error: verify_flow_info failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. The failure starts with this patch: http://gcc.gnu.org/viewcvs?view=rev&rev=127293 r127293 | revitale | 2007-08-08 12:21:37 +0000 (Wed, 08 Aug 2007) -- Summary: ICE in verify_flow_info for -fmodulo-sched -freorder- blocks-and-partition Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33648