This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PPro and egcs
- To: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Subject: Re: PPro and egcs
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Fri, 31 Oct 1997 18:20:59 -0700
- cc: hjl at lucon dot org, egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <199711010110.BAA00592@phal.cygnus.co.uk>you write:
> > > # gcc -O -march=i686 -S foo.c -fomit-frame-pointer
> > > foo.c: In function `nfs_readpage_sync':
> > > foo.c:1618: internal error--insn does not satisfy its constraints:
> > > (insn 317 316 139 (parallel[
> > > (set (reg/v:SI 3 %ebx)
> > > (if_then_else:SI (ne (cc0)
> > > (const_int 0))
> > > (reg:SI 0 %eax)
> > > (const_int -22)))
> > > (clobber (reg:SI 0 %eax))
> > > ] ) 374 {movsicc_1} (nil)
> > > (expr_list:REG_DEAD (reg:SI 0 %eax)
> > > (expr_list:REG_UNUSED (reg:SI 0 %eax)
> > > (nil))))
> > > gcc: Internal compiler error: program cc1 got fatal signal 6
> > Well, I've got my ppro running, and I've actually been able to trip this
> > problem. No clue why I couldn't get it to trip with my cross compiler.
> >
> > It's a tough little nut to crack, largly because of reload's insistence
> > on replacing regs with CONST_INTs when the register has a REG_EQUIV note.
>
> movsicc_1 uses general_operand as constraint, which is clearly wrong if
> a CONST_INT isn't acceptable. Have you tried to replace this with
> nonimmediate_operand?
Yes.
jeff