> > 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 -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/

