Messages in this thread | | | Subject | Re: [PATCH 3/8] lib/lzo: enable 64-bit CTZ on Arm | From | "Markus F.X.J. Oberhumer" <> | Date | Thu, 6 Dec 2018 16:51:55 +0100 |
| |
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 <matt.sealey@arm.com> > > 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/20181127161913.23863-4-dave.rodgman@arm.com > Signed-off-by: Matt Sealey <matt.sealey@arm.com> > Signed-off-by: Dave Rodgman <dave.rodgman@arm.com> > Cc: David S. Miller <davem@davemloft.net> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Herbert Xu <herbert@gondor.apana.org.au> > Cc: Markus F.X.J. Oberhumer <markus@oberhumer.com> > Cc: Minchan Kim <minchan@kernel.org> > Cc: Nitin Gupta <nitingupta910@gmail.com> > Cc: Richard Purdie <rpurdie@openedhand.com> > Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> > Cc: Sonny Rao <sonnyrao@google.com> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> > --- > 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, <markus@oberhumer.com>, http://www.oberhumer.com/
| |