diff options
Diffstat (limited to 'umac.c')
-rw-r--r-- | umac.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -122,7 +122,11 @@ typedef unsigned int UWORD; /* Register */ /* --- Endian Conversion --- Forcing assembly on some platforms */ /* ---------------------------------------------------------------------- */ -#if 0 +#if HAVE_SWAP32 +#define LOAD_UINT32_REVERSED(p) (swap32(*(UINT32 *)(p))) +#define STORE_UINT32_REVERSED(p,v) (*(UINT32 *)(p) = swap32(v)) +#else /* HAVE_SWAP32 */ + static UINT32 LOAD_UINT32_REVERSED(void *ptr) { UINT32 temp = *(UINT32 *)ptr; @@ -137,15 +141,12 @@ static void STORE_UINT32_REVERSED(void *ptr, UINT32 x) *(UINT32 *)ptr = (i >> 24) | ((i & 0x00FF0000) >> 8 ) | ((i & 0x0000FF00) << 8 ) | (i << 24); } -#endif +#endif /* HAVE_SWAP32 */ /* The following definitions use the above reversal-primitives to do the right * thing on endian specific load and stores. */ -#define LOAD_UINT32_REVERSED(p) (swap32(*(UINT32 *)(p))) -#define STORE_UINT32_REVERSED(p,v) (*(UINT32 *)(p) = swap32(v)) - #if (__LITTLE_ENDIAN__) #define LOAD_UINT32_LITTLE(ptr) (*(UINT32 *)(ptr)) #define STORE_UINT32_BIG(ptr,x) STORE_UINT32_REVERSED(ptr,x) @@ -154,8 +155,6 @@ static void STORE_UINT32_REVERSED(void *ptr, UINT32 x) #define STORE_UINT32_BIG(ptr,x) (*(UINT32 *)(ptr) = (UINT32)(x)) #endif - - /* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */ /* ----- Begin KDF & PDF Section ---------------------------------------- */ |