diff --git a/ChangeLog b/ChangeLog index 4aa393a29915ffdf0e137a61ba93d0b84e2828e9..d2c8e6d1dec10db15b0c4f97f739ac8c76f46732 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-11-15 Niels Möller + + * macros.h (LE_READ_UINT64): New macro. + 2012-11-13 Niels Möller * sha3-permute.c (sha3_permute): Micro optimizations. Partial diff --git a/macros.h b/macros.h index dee35f8f0a3b30a7dffb612216112f62148c8d45..ee2060431d6d2f0dcde6ea69b55b9ccfb74f2ba2 100644 --- a/macros.h +++ b/macros.h @@ -87,6 +87,16 @@ do { \ } while(0) /* And the other, little-endian, byteorder */ +#define LE_READ_UINT64(p) \ +( (((uint64_t) (p)[7]) << 56) \ + | (((uint64_t) (p)[6]) << 48) \ + | (((uint64_t) (p)[5]) << 40) \ + | (((uint64_t) (p)[4]) << 32) \ + | (((uint64_t) (p)[3]) << 24) \ + | (((uint64_t) (p)[2]) << 16) \ + | (((uint64_t) (p)[1]) << 8) \ + | ((uint64_t) (p)[0])) + #define LE_WRITE_UINT64(p, i) \ do { \ (p)[7] = ((i) >> 56) & 0xff; \