summaryrefslogtreecommitdiff
path: root/cpu_features.h
diff options
context:
space:
mode:
authorCameron Cawley <ccawley2011@gmail.com>2023-04-15 19:08:05 +0100
committerHans Kristian Rosbach <hk-github@circlestorm.org>2023-04-25 12:07:55 +0200
commit38aa5751297709fa31b1a5b7e022384b57e1724d (patch)
treeb0c9b8a17b0ed69900616b150ae4267ecb570155 /cpu_features.h
parentfc49c98d1f47b4f041e0cc2668fa7b66c13a6377 (diff)
downloadProject-Tick-38aa5751297709fa31b1a5b7e022384b57e1724d.tar.gz
Project-Tick-38aa5751297709fa31b1a5b7e022384b57e1724d.zip
Ensure that unaligned compare256 variants are only used on little endian systems
Diffstat (limited to 'cpu_features.h')
-rw-r--r--cpu_features.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpu_features.h b/cpu_features.h
index b8ec883a22..2e1a888e38 100644
--- a/cpu_features.h
+++ b/cpu_features.h
@@ -155,7 +155,7 @@ extern uint32_t crc32_s390_vx(uint32_t crc, const uint8_t *buf, size_t len);
typedef uint32_t (*compare256_func)(const uint8_t *src0, const uint8_t *src1);
extern uint32_t compare256_c(const uint8_t *src0, const uint8_t *src1);
-#ifdef UNALIGNED_OK
+#if defined(UNALIGNED_OK) && BYTE_ORDER == LITTLE_ENDIAN
extern uint32_t compare256_unaligned_16(const uint8_t *src0, const uint8_t *src1);
#ifdef HAVE_BUILTIN_CTZ
extern uint32_t compare256_unaligned_32(const uint8_t *src0, const uint8_t *src1);
@@ -188,7 +188,7 @@ extern void insert_string_acle(deflate_state *const s, const uint32_t str, uint3
/* longest_match */
extern uint32_t longest_match_c(deflate_state *const s, Pos cur_match);
-#ifdef UNALIGNED_OK
+#if defined(UNALIGNED_OK) && BYTE_ORDER == LITTLE_ENDIAN
extern uint32_t longest_match_unaligned_16(deflate_state *const s, Pos cur_match);
#ifdef HAVE_BUILTIN_CTZ
extern uint32_t longest_match_unaligned_32(deflate_state *const s, Pos cur_match);
@@ -212,7 +212,7 @@ extern uint32_t longest_match_power9(deflate_state *const s, Pos cur_match);
/* longest_match_slow */
extern uint32_t longest_match_slow_c(deflate_state *const s, Pos cur_match);
-#ifdef UNALIGNED_OK
+#if defined(UNALIGNED_OK) && BYTE_ORDER == LITTLE_ENDIAN
extern uint32_t longest_match_slow_unaligned_16(deflate_state *const s, Pos cur_match);
extern uint32_t longest_match_slow_unaligned_32(deflate_state *const s, Pos cur_match);
#ifdef UNALIGNED64_OK