PPro and egcs

Joern Rennecke amylaar@cygnus.co.uk
Fri Oct 31 17:23:00 GMT 1997


>   > # 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?



More information about the Gcc mailing list