This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PPro and egcs
- To: hjl at lucon dot org (H.J. Lu)
- Subject: Re: PPro and egcs
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 28 Oct 1997 22:57:13 -0700
- cc: egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <m0xPI2T-0004edC@ocean.lucon.org>you write:
> Hi,
>
> Has anyone tried egcs on PPro? I got an error.
>
> # 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
Odd. Your testcase works fine for me using the a cross compiler
with the current sources; I don't see any recent changes that would
account for the different behavior.
Can you get this failure to happen with the stage1 compiler? Just
to make sure we're not chasing a case where the stageN compiler is
mis-compiling the stageN+1 compiler which is then crapping out on
your code.
For reference I have the following in my .greg dump. Note how the
clobber is a different reg than the input.
(insn:HI 317 316 285 (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 5 %edi))
] ) 374 {movsicc_1} (nil)
(expr_list:REG_DEAD (reg:SI 0 %eax)
(expr_list:REG_UNUSED (reg:SI 5 %edi)
(nil))))
My ppro just arrived, it'll take a little while before I can do anything
real like bootstrap gcc, but it shouldn't be too long...
jeff
jeff