Subject: Re: [PATCH] powerpc: Optimise the 64bit optimised __clear_user

From: Michael Neuling <[email-masked]>
Date: Thu, 07 Jun 2012 16:05:04 +1000

Benjamin Herrenschmidt <[email-masked]> wrote:

> On Wed, 2012-06-06 at 18:40 +0200, Segher Boessenkool wrote:
> > > +err1;	dcbz	r0,r3
> > 
> > There is no such instruction, you probably meant "dcbz 0,r3"?
> 
> This reminds me... what would happen if we changed all our
> 
> #define	r0	0
> #define	r1	1
> 
> etc... to:
> 
> #define r0	%r0
> #define r1	%r1
> 
> ?
> 
> I'm thinking it might help catch that sort of nasties (and some of them
> can be really nasty, such as inverting mfspr/mtspr arguments, or vs ori,
> etc... ). I'm sure we'd have a problem with a few macros & inline
> constructs but nothing we can't fix..

One problem with this is when we construct the instructions, like using
anything from ppc-opcode.h.  eg. using PPC_POPCNTB would need to go from:
    PPC_POPCNTB(r3,r3) 
to:
    PPC_POPCNTB(3,3) 
Which is less readable IMHO.

Mikey