On 12/04/12 16:48, Richard Earnshaw wrote:
If negation in Neon needs a scratch register, it seems to me to be
somewhat odd that we're disparaging the ARM version.
Good point, I'm really meaning to provide missing functionality in NEON
to prevent unnecessary moves, rather than cause them, so I should remove
the '?'s.
It probably doesn't need disparaging on A8, etiher?
Also, wouldn't it be sensible to support a variant that was
early-clobber on operand 0, but loaded immediate zero into that value first:
vmov Dd, #0
vsub Dd, Dd, Dm
That way you'll never need more than two registers, whereas today you
want three.
That does seem like a good option. I'll have a go and see what happens.
Andrew