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.

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.

This patch implements the changes you suggested.

I've done a full bootstrap and test and found no regressions.

OK?

Andrew

P.S. This patch can't actually be committed until my "NEON DImode immediate constants" patch is approved and committed. (Without that the load #0 needs a constant pool, and loading constants this late has a bug at -O0.)

Reply via email to