This may be a duplicate of PR34393 and/or PR34412, but it does not seem totally
target specific. The following code (extracted from the Polyhedron test suite):

      SUBROUTINE RELDISP()

      IMPLICIT NONE
      REAL :: SRAMB, EPSEFF

      SAVE 

      SRAMB = SQRT(EPSEFF)

      END

gives when compiled with '-O -ffast-math -mrecip' on i686-apple-darwin9:

aermod_red1.f90: In function 'reldisp':
aermod_red1.f90:8: error: unrecognizable insn:
(insn 12 11 13 3 aermod_red1.f90:8 (set (reg:SF 66)
        (ne:SF (mem/u/c/i:SF (reg/f:SI 60) [0 epseff+0 S4 A32])
            (reg:SF 71))) -1 (nil))
aermod_red1.f90:8: internal compiler error: in extract_insn, at recog.c:1990

and on x86_64-unknown-linux-gnu:

aermod_red1.f90: In function ‘reldisp’:
aermod_red1.f90:8: error: unrecognizable insn:
(insn 8 7 9 3 aermod_red1.f90:8 (set (reg:SF 65)
        (ne:SF (mem/u/c/i:SF (symbol_ref:DI ("epseff.857") [flags 0x2]
<var_decl 0x2a95d28e70 epseff>) [0 epseff+0 S4 A32])
            (reg:SF 68))) -1 (nil))
aermod_red1.f90:8: internal compiler error: in extract_insn, at recog.c:1990

I don't get the ICE on powerpc-apple-darwin9. The ICE disappears if I remove
the "SAVE" or the '-mrecip' option or if I use -m32 on
x86_64-unknown-linux-gnu.


-- 
           Summary: ICE in extract_insn, at recog.c:1990
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dominiq at lps dot ens dot fr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34673

Reply via email to