[PATCH] powerpc: memcpy optimization for 64bit LE

Philippe Bergheaud felix at linux.vnet.ibm.com
Mon May 5 22:56:06 EST 2014


Anton Blanchard wrote:
> Unaligned stores take alignment exceptions on POWER7 running in little-endian.
> This is a dumb little-endian base memcpy that prevents unaligned stores.
> Once booted the feature fixup code switches over to the VMX copy loops
> (which are already endian safe).
> 
> The question is what we do before that switch over. The base 64bit
> memcpy takes alignment exceptions on POWER7 so we can't use it as is.
> Fixing the causes of alignment exception would slow it down, because
> we'd need to ensure all loads and stores are aligned either through
> rotate tricks or bytewise loads and stores. Either would be bad for
> all other 64bit platforms.
> 
> [ I simplified the loop a bit - Anton ]
Got it.

The 3 instructions that you have removed were modifying r5 for no reason,
as the last instruction was always resetting r5 to its initial value.

Philippe



More information about the Linuxppc-dev mailing list