summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Prekas <prekageo@amazon.com>2019-05-03 16:44:56 (GMT)
committerGeorge Prekas <prekageo@amazon.com>2019-05-07 13:36:06 (GMT)
commit605d811e6cc94736dd609c644404dd24c013fd6f (patch)
tree5946083ae57635d58c06d479aa3ea4927dae0733
parent02914300185515097cdbebcd95c379508b5d3053 (diff)
downloadlz4-605d811e6cc94736dd609c644404dd24c013fd6f.zip
lz4-605d811e6cc94736dd609c644404dd24c013fd6f.tar.gz
lz4-605d811e6cc94736dd609c644404dd24c013fd6f.tar.bz2
enable LZ4_FAST_DEC_LOOP build macro on aarch64/GCC by default
-rw-r--r--lib/lz4.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/lz4.c b/lib/lz4.c
index 69143c0..070dd7e 100644
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -317,6 +317,11 @@ static const int dec64table[8] = {0, 0, 0, -1, -4, 1, 2, 3};
#ifndef LZ4_FAST_DEC_LOOP
# if defined(__i386__) || defined(__x86_64__)
# define LZ4_FAST_DEC_LOOP 1
+# elif defined(__aarch64__) && !defined(__clang__)
+ /* On aarch64, we disable this optimization for clang because on certain
+ * mobile chipsets and clang, it reduces performance. For more information
+ * refer to https://github.com/lz4/lz4/pull/707. */
+# define LZ4_FAST_DEC_LOOP 1
# else
# define LZ4_FAST_DEC_LOOP 0
# endif