Re: hpux asm vs GNU as
On Sun, Oct 10, 2004 at 05:41:01PM -0700, Randolph Chung wrote:
> > > 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...
> 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 :)
Thanks a lot for the explanation.
I decided to rewrite that code with gcc __asm__ inline to avoid the
function call overhead (and trouble). I have completed 4 functions
Now I have a question, how can I move values from integer registers
to floating point registers ? Is it really required to commit the
value to memory for this task?
Imagine a large red swirl here.