[PATCH] powerpc: Optimise the 64bit optimised __clear_user

Scott Wood scottwood at freescale.com
Fri Jun 8 03:51:04 EST 2012


On 06/06/2012 10:04 PM, Paul Mackerras wrote:
> On Wed, Jun 06, 2012 at 06:40:54PM +0200, Segher Boessenkool wrote:
>>> +err1;	dcbz	r0,r3
>>
>> There is no such instruction, you probably meant "dcbz 0,r3"?
> 
> There certainly is such an instruction, though it doesn't do exactly
> what a naive reader might expect.  Using 0 rather than r0 or %r0
> improves readability but makes no difference to the assembler or the
> cpu.

The assembler can't tell that you used r0 rather than 0, because that's
handled by the preprocessor, but it seems like a bug (or at least lax
error checking) that it accepts %r0 there, and that objdump decodes it
as "dcbz r0,r3" rather than "dcbz 0,r3".

It's also odd that objdump produces output containing "r3" (not %r3)
when the assembler won't directly accept it.

-Scott



More information about the Linuxppc-dev mailing list