PPro and egcs

Jeffrey A Law law@cygnus.com
Wed Oct 29 03:27:00 GMT 1997


  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



More information about the Gcc mailing list