http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51536
Bug #: 51536 Summary: ICE on mips64 with -march=octeon -O2 -g -fno-omit-frame-pointer Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: pins...@gcc.gnu.org t.c: In function 'can_migrate_task': t.c:11:1: internal compiler error: in maybe_record_trace_start, at dwarf2cfi.c:2244 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. --- CUT --- int can_migrate_task(int *p, int *sd) { int tsk_cache_hot; if (p[1] == 5) tsk_cache_hot = 1; else tsk_cache_hot = p[0] < 500000ULL; if (!tsk_cache_hot || *sd > 1) return 1; return 0; } --- CUT --- Branch delay slot is putting: (insn/f 52 10 11 (set (reg/f:DI 30 $fp) (reg/f:DI 29 $sp)) 276 {*movdi_64bit} (nil)) Which causes the ICE. This is related to PR 51471 but slightly different.