mirror of
https://github.com/Xahau/xahaud.git
synced 2025-11-19 01:55:48 +00:00
14 lines
730 B
Diff
14 lines
730 B
Diff
diff --git a/snappy.cc b/snappy.cc
|
|
index d414718..e4efb59 100644
|
|
--- a/snappy.cc
|
|
+++ b/snappy.cc
|
|
@@ -1132,7 +1132,7 @@ inline size_t AdvanceToNextTagX86Optimized(const uint8_t** ip_p, size_t* tag) {
|
|
size_t literal_len = *tag >> 2;
|
|
size_t tag_type = *tag;
|
|
bool is_literal;
|
|
-#if defined(__GCC_ASM_FLAG_OUTPUTS__) && defined(__x86_64__)
|
|
+#if defined(__GCC_ASM_FLAG_OUTPUTS__) && defined(__x86_64__) && ( (!defined(__clang__) && !defined(__APPLE__)) || (!defined(__APPLE__) && defined(__clang__) && (__clang_major__ >= 9)) || (defined(__APPLE__) && defined(__clang__) && (__clang_major__ > 11)) )
|
|
// TODO clang misses the fact that the (c & 3) already correctly
|
|
// sets the zero flag.
|
|
asm("and $3, %k[tag_type]\n\t"
|