GCC produced this ICE when the attached program was compiled. I tried the fix from http://gcc.gnu.org/PR18641 but it did not fix the problem.
commandline options -O2 -msoft-float -m64 -c gcc output ================================= a.c: In function `do_select': a.c:12770: error: unable to find a register to spill in class `FLOAT_REGS' a.c:12770: error: this is the insn: (insn:HI 355 353 357 27 (set (mem/s:DI (plus:DI (reg/f:DI 31 31) (const_int 149 [0x95])) [4 fs_event.event_data2+0 S8 A8]) (reg/v:DI 125 [ __timeout ])) 322 {*movdi_internal64} (nil) (nil)) a.c:12770: confused by earlier errors, bailing out -- Summary: ICE: unable to find a register to spill in class `FLOAT_REGS' Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: raj dot khem at gmail dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: powerpc64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21616