diff --git a/snappy-internal.h b/snappy-internal.h index d2a22e8..0cccba1 100644 --- a/snappy-internal.h +++ b/snappy-internal.h @@ -80,9 +80,8 @@ char* CompressFragment(const char* input, // Does not read *(s1 + (s2_limit - s2)) or beyond. // Requires that s2_limit >= s2. // -// Separate implementation for x86_64, for speed. Uses the fact that -// x86_64 is little endian. -#if defined(ARCH_K8) +// Separate implementation for 64-bit, little-endian cpus. +#if defined(ARCH_K8) || (defined(ARCH_PPC) && !defined(WORDS_BIGENDIAN)) static inline std::pair FindMatchLength(const char* s1, const char* s2, const char* s2_limit) { diff --git a/snappy-stubs-internal.h b/snappy-stubs-internal.h index f818970..6979e1a 100644 --- a/snappy-stubs-internal.h +++ b/snappy-stubs-internal.h @@ -52,6 +52,10 @@ // Enable 64-bit optimized versions of some routines. #define ARCH_K8 1 +#elif defined(__ppc64__) + +#define ARCH_PPC 1 + #endif // Needed by OS X, among others.