This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PPro and egcs





--
Jeff Law (law@cygnus.com)
Cygnus Solutions		EGCS GNU Compiler System
http://www.cygnus.com		http://www.cygnus.com/egcs

  In message <m0xPwLd-0004edC@ocean.lucon.org>you write:
  > > 
  > > 
  > >   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
  > > I don't have a ppro, nor do I know anything about the architecture.
  > > 
  > > Can the cmov instruction accept a constant as a source operand?
  > > 
  > 
  > No. How about we do this?
  > 
  > If operands 2/3 are immediate operands, we emit
  > 
  > 
  > 	jmp next
  > 	.align	4
  > operand2:
  > 	.4bytes	operand2
  > operand3:
  > 	.4bytes	operand3
  > next:
  > 	cmovxx	operand2,operand0
  > 	cmovyy	operand3,operand0
Possibly, but we'd be better off disallowing constants to begin with if
that's the code we'd have to generate to support them.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]