From 452506fc4153be072fe443fe3e3cbf76d9563a42 Mon Sep 17 00:00:00 2001 From: Nils Schneider Date: Fri, 30 Sep 2011 16:23:26 +0200 Subject: [PATCH] simpler ByteReverse --- src/util.h | 21 +-------------------- 1 files changed, 1 insertions(+), 20 deletions(-) diff --git a/src/util.h b/src/util.h index 14853a0..c05143b 100644 --- a/src/util.h +++ b/src/util.h @@ -726,29 +726,10 @@ inline bool AffinityBugWorkaround(void(*pfn)(void*)) return false; } -template inline T rotlFixed(T x, unsigned int y) -{ - assert(y < sizeof(T)*8); - return T((x<>(sizeof(T)*8-y))); -} - -template inline T rotrFixed(T x, unsigned int y) -{ - assert(y < sizeof(T)*8); - return T((x>>y) | (x<<(sizeof(T)*8-y))); -} - inline uint32_t ByteReverse(uint32_t value) { -#if defined(__MWERKS__) && TARGET_CPU_PPC - return (uint32_t)__lwbrx(&value,0); -#elif _MSC_VER >= 1400 || (_MSC_VER >= 1300 && !defined(_DLL)) - return _byteswap_ulong(value); -#else - // 6 instructions with rotate instruction, 8 without value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8); - return rotlFixed(value, 16U); -#endif + return (value<<16) | (value>>16); } #endif -- 1.7.1