[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 <URL:http://gcc.gnu.org/bugs.html> 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 <variable>.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 <URL:http://gcc.gnu.org/bugs.html> 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). 

[EMAIL PROTECTED]:~>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 <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
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:

[EMAIL PROTECTED]:~>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 <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
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

Reply via email to