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