[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hpux asm vs GNU as

> >         addil   lt'overflow,%r19,%r1
> >         add     %arg0,%arg1,%ret0
> >         ldw     rt'overflow(%r1),%r20
> >         addc    0,0,%r22
> >         stw     %r22,0(%r20)
> > 
> > Look like it expext only 2 arguments and get three...
> > 
> No - it expects 3 arguments. parisc needs two insn to load a constant
> 32-bit pointer. Likely the constant you have is bigger than that.
> Or it's a difference of pa1.1 vs pa2.0. One might have more bits available
> for the immediate value in the instruction encoding. You'll have to
> determine the imediate value and check the PA1.1/PA2.0 arch ref manuals
> that are available from parisc-linux.or (and from HP).

um, no, this is not right.

addil is hardwired to put the result in r1. gas as doesn't let you put
the %r1 there.

just remove the ,%r1 from the first line. it does the same thing as what
you have.

GNU as has several idiosyncracies. it works with what gcc generates, the
rest is sometimes iffy :)

Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports

Reply to: