summaryrefslogtreecommitdiff
path: root/storage/innobase/ut/ut0crc32.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/ut/ut0crc32.cc')
-rw-r--r--storage/innobase/ut/ut0crc32.cc32
1 files changed, 17 insertions, 15 deletions
diff --git a/storage/innobase/ut/ut0crc32.cc b/storage/innobase/ut/ut0crc32.cc
index 3de51217d03..efe6dc0a729 100644
--- a/storage/innobase/ut/ut0crc32.cc
+++ b/storage/innobase/ut/ut0crc32.cc
@@ -215,21 +215,6 @@ ut_crc32_64_low_hw(
return(static_cast<uint32_t>(crc_64bit));
}
-/** Swap the byte order of an 8 byte integer.
-@param[in] i 8-byte integer
-@return 8-byte integer */
-inline uint64_t ut_crc32_swap_byteorder(uint64_t i)
-{
- return i << 56 |
- (i & 0x000000000000FF00ULL) << 40 |
- (i & 0x0000000000FF0000ULL) << 24 |
- (i & 0x00000000FF000000ULL) << 8 |
- (i & 0x000000FF00000000ULL) >> 8 |
- (i & 0x0000FF0000000000ULL) >> 24 |
- (i & 0x00FF000000000000ULL) >> 40 |
- i >> 56;
-}
-
/** Calculate CRC32 over 64-bit byte string using a hardware/CPU instruction.
@param[in,out] crc crc32 checksum so far when this function is called,
when the function ends it will contain the new checksum
@@ -405,6 +390,23 @@ ut_crc32_8_sw(
(*len)--;
}
+/** Swap the byte order of an 8 byte integer.
+@param[in] i 8-byte integer
+@return 8-byte integer */
+# ifdef WORDS_BIGENDIAN
+inline uint64_t ut_crc32_swap_byteorder(uint64_t i)
+{
+ return i << 56 |
+ (i & 0x000000000000FF00ULL) << 40 |
+ (i & 0x0000000000FF0000ULL) << 24 |
+ (i & 0x00000000FF000000ULL) << 8 |
+ (i & 0x000000FF00000000ULL) >> 8 |
+ (i & 0x0000FF0000000000ULL) >> 24 |
+ (i & 0x00FF000000000000ULL) >> 40 |
+ i >> 56;
+}
+# endif /* WORDS_BIGENDIAN */
+
/** Calculate CRC32 over a 64-bit integer using a software implementation.
@param[in] crc crc32 checksum so far
@param[in] data data to be checksummed