From: Ali Saidi Date: Sat, 17 Jun 2006 23:06:28 +0000 (-0400) Subject: add mac os x fast byte swap code X-Git-Tag: m5_2.0_beta1~36^2~61 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8dfc475a9d91eb17da5191e018c3991a3ff99c5a;p=gem5.git add mac os x fast byte swap code --HG-- extra : convert_revision : 591e5adbf86feb894fceea982b9303da70a41955 --- diff --git a/src/sim/byteswap.hh b/src/sim/byteswap.hh index c78c77364..c1d846aa8 100644 --- a/src/sim/byteswap.hh +++ b/src/sim/byteswap.hh @@ -49,6 +49,10 @@ #include #endif +#if defined(__APPLE__) +#include +#endif + //These functions actually perform the swapping for parameters //of various bit lengths static inline uint64_t @@ -56,6 +60,8 @@ swap_byte64(uint64_t x) { #if defined(linux) return bswap_64(x); +#elif defined(__APPLE__) + return OSSwapInt64(x); #else return (uint64_t)((((uint64_t)(x) & 0xff) << 56) | ((uint64_t)(x) & 0xff00ULL) << 40 | @@ -73,6 +79,8 @@ swap_byte32(uint32_t x) { #if defined(linux) return bswap_32(x); +#elif defined(__APPLE__) + return OSSwapInt32(x); #else return (uint32_t)(((uint32_t)(x) & 0xff) << 24 | ((uint32_t)(x) & 0xff00) << 8 | ((uint32_t)(x) & 0xff0000) >> 8 | @@ -85,6 +93,8 @@ swap_byte16(uint16_t x) { #if defined(linux) return bswap_16(x); +#elif defined(__APPLE__) + return OSSwapInt16(x); #else return (uint16_t)(((uint16_t)(x) & 0xff) << 8 | ((uint16_t)(x) & 0xff00) >> 8);