diff options
author | Markus F.X.J. Oberhumer <markus@oberhumer.com> | 2013-02-04 02:26:14 +0100 |
---|---|---|
committer | Simon Shields <keepcalm444@gmail.com> | 2016-06-12 21:20:20 +1000 |
commit | 579b11bb139ae8ab650f2bb6d6c0fc71bec529cf (patch) | |
tree | 9bee9d6931a69b32ef44002e7b89eaafaf1e4c15 /lib/lzo/lzodefs.h | |
parent | 39a4e2420fe3fec2019dc3ad9ebfc6c4ae7869c3 (diff) | |
download | kernel_samsung_smdk4412-579b11bb139ae8ab650f2bb6d6c0fc71bec529cf.zip kernel_samsung_smdk4412-579b11bb139ae8ab650f2bb6d6c0fc71bec529cf.tar.gz kernel_samsung_smdk4412-579b11bb139ae8ab650f2bb6d6c0fc71bec529cf.tar.bz2 |
lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
Change-Id: I4dc172b2822504c3f2db1913ed9404e031861d55
Signed-off-by: Markus F.X.J. Oberhumer <markus@oberhumer.com>
Diffstat (limited to 'lib/lzo/lzodefs.h')
-rw-r--r-- | lib/lzo/lzodefs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/lzo/lzodefs.h b/lib/lzo/lzodefs.h index 6710b83..db756cc 100644 --- a/lib/lzo/lzodefs.h +++ b/lib/lzo/lzodefs.h @@ -12,8 +12,14 @@ */ +#if 1 && defined(__arm__) && ((__LINUX_ARM_ARCH__ >= 6) || defined(__ARM_FEATURE_UNALIGNED)) +#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1 +#define COPY4(dst, src) \ + * (u32 *) (void *) (dst) = * (const u32 *) (const void *) (src) +#else #define COPY4(dst, src) \ put_unaligned(get_unaligned((const u32 *)(src)), (u32 *)(dst)) +#endif #if defined(__x86_64__) #define COPY8(dst, src) \ put_unaligned(get_unaligned((const u64 *)(src)), (u64 *)(dst)) |