I think that LZO_USE_CTZ64 should only be defined for ARM64 and
not for 32-bit ARM.


On 2018-11-30 15:26, Dave Rodgman wrote:
> From: Matt Sealey <[email protected]>
> 
> ARMv6 Thumb state introduced an RBIT instruction which, combined with CLZ
> as present in ARMv5, introduces an extremely fast path for counting
> trailing zeroes.
> 
> Enable the use of the GCC builtin for this on ARMv6+ with
> CONFIG_THUMB2_KERNEL to ensure we get the 'new' instruction usage.
> 
> We do not bother enabling LZO_USE_CTZ64 support for ARMv5 as the builtin
> code path does the same thing as the LZO_USE_CTZ32 code, only with more
> register pressure.
> 
> Link: http://lkml.kernel.org/r/[email protected]
> Signed-off-by: Matt Sealey <[email protected]>
> Signed-off-by: Dave Rodgman <[email protected]>
> Cc: David S. Miller <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Herbert Xu <[email protected]>
> Cc: Markus F.X.J. Oberhumer <[email protected]>
> Cc: Minchan Kim <[email protected]>
> Cc: Nitin Gupta <[email protected]>
> Cc: Richard Purdie <[email protected]>
> Cc: Sergey Senozhatsky <[email protected]>
> Cc: Sonny Rao <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
>  lib/lzo/lzodefs.h | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/lzo/lzodefs.h b/lib/lzo/lzodefs.h
> index e1b3cf6459a9..c0193f726db0 100644
> --- a/lib/lzo/lzodefs.h
> +++ b/lib/lzo/lzodefs.h
> @@ -33,9 +33,14 @@
>  #define LZO_USE_CTZ32        1
>  #elif defined(CONFIG_X86) || defined(CONFIG_PPC)
>  #define LZO_USE_CTZ32        1
> -#elif defined(CONFIG_ARM) && (__LINUX_ARM_ARCH__ >= 5)
> +#elif defined(CONFIG_ARM)
> +#if (__LINUX_ARM_ARCH__ >= 5)
>  #define LZO_USE_CTZ32        1
>  #endif
> +#if (__LINUX_ARM_ARCH__ >= 6) && defined(CONFIG_THUMB2_KERNEL)
> +#define LZO_USE_CTZ64        1
> +#endif
> +#endif
>  
>  #define M1_MAX_OFFSET        0x0400
>  #define M2_MAX_OFFSET        0x0800
> 

-- 
Markus Oberhumer, <[email protected]>, http://www.oberhumer.com/

Reply via email to