[forwarded from http://bugs.debian.org/319087] works with 3.3.6 and 3.4 CVS, fails with 4.0 CVS and HEAD: $ gcc-4.0 -O2 -mno-ieee-fp -c bug-319087.c fractal.c: In function 'set_fractalc': fractal.c:314: internal compiler error: in expand_simple_unop, at optabs.c:2049 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. $ gcc-4.1 -O2 -mno-ieee-fp -c bug-319087.c fractal.c: In function 'set_formula': fractal.c:367: error: unrecognizable insn: (jump_insn 109 108 204 18 (parallel [ (set (pc) (if_then_else (ne (reg:XF 86) (mem/s:XF (plus:SI (reg/v/f:SI 63 [ c ]) (const_int 52 [0x34])) [10 .angle+0 S12 A32])) (label_ref 112) (pc))) (clobber (reg:CCFP 18 fpsr)) (clobber (reg:CCFP 17 flags)) (clobber (scratch:HI)) ]) -1 (nil) (expr_list:REG_BR_PROB (const_int 5000 [0x1388]) (nil))) fractal.c:367: internal compiler error: in extract_insn, at recog.c:2084 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Original report: I ran into an ICE while building xaos with gcc 4.0 (after working around several other changes that make it FTBFS). joey@dragon:~>gcc -O2 -mno-ieee-fp -c fractal.c -o fractal.o fractal.c: In function ‘combine_methods’: fractal.c:219: internal compiler error: in redirect_branch_edge, at cfgrtl.c:935 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. For Debian GNU/Linux specific bug reporting instructions, see . zsh: exit 1 gcc -O -mno-ieee-fp -c fractal.c -o fractal.o I've attached fractal.c, which is a preprocessed version of the one from xaos. If I remove either the -O2 or the -mno-ieee-fp options the build succeeds. Other -O options cause the same problem with combined with -mno-ieee-fp, including -Os and regular -O. Another ICE is triggered if I combine a -O flag with -ffast-math: fjoey@dragon:~>gcc -O2 -ffast-math -c fractal.c -o fractal.o fractal.c: In function ‘set_fractalc’: fractal.c:314: internal compiler error: in expand_simple_unop, at optabs.c:2049 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. For Debian GNU/Linux specific bug reporting instructions, see . zsh: exit 1 gcc -O2 -ffast-math -c fractal.c -o fractal.o -- Summary: [4.0/4.1 regression] ICE in expand_simple_unop Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: critical Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: debian-gcc at lists dot debian dot org CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22585