On Tuesday 20 January 2009 09:50:56 Patrick R. Michaud wrote:

> > > What's the replacement opcode for n_neg ?
> > If we remove n_neg, the replacement is likely a two-step operation:
> >
> >     clone $P1, $P2
> >     neg $P1
>
> Please, not this -- it's terribly inconsistent.
>
> When we got rid of the other n_* opcodes, their non-n_* counterparts
> were given the "create a new PMC" semantics that the n_* version had.
> We should do the same for n_neg, such that what was previously
>
>     n_add $P0, $P1, $P2    # construct $P0 as sum of $P1 and $P2
>     n_neg $P0, $P1         # construct $P0 as negation of $P1
>
> is now
>
>     add $P0, $P1, $P2      # construct $P0 as sum of $P1 and $P2
>     neg $P0, $P1           # construct $P0 as negation of $P1

Hm, now that I look closer, this already exists and works that way.  Thus the 
replacement is to use:

        neg $P0, $P1

-- c

Reply via email to