diff options
author | Victor Costan <pwnall@chromium.org> | 2021-08-13 23:24:49 +0000 |
---|---|---|
committer | Victor Costan <pwnall@chromium.org> | 2021-08-13 23:24:49 +0000 |
commit | 5c87bc61b6d44cdfc1cc7855fd606c0f3370ce70 (patch) | |
tree | cb0e1d5b58be8fc2bd53f6d8f653ae7a45f6f3bb | |
parent | f2db8f77ce469ce00e33657b981e41a1bd1daf16 (diff) | |
parent | f52721b2b4e4949d26fa51572e3ad9000e1ed3be (diff) | |
download | snappy-git-5c87bc61b6d44cdfc1cc7855fd606c0f3370ce70.tar.gz |
Merge pull request #136 from JunHe77:ext_arm
PiperOrigin-RevId: 390715690
-rw-r--r-- | snappy.cc | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1081,6 +1081,10 @@ inline uint32_t ExtractOffset(uint32_t val, size_t tag_type) { reinterpret_cast<const char*>(&kExtractMasksCombined) + 2 * tag_type, sizeof(result)); return val & result; +#elif defined(__aarch64__) + constexpr uint64_t kExtractMasksCombined = 0x0000FFFF00FF0000ull; + return val & static_cast<uint32_t>( + (kExtractMasksCombined >> (tag_type * 16)) & 0xFFFF); #else static constexpr uint32_t kExtractMasks[4] = {0, 0xFF, 0xFFFF, 0}; return val & kExtractMasks[tag_type]; |