diff options
Diffstat (limited to 'crypto/blake2/blake2_impl.h')
-rw-r--r-- | crypto/blake2/blake2_impl.h | 53 |
1 files changed, 24 insertions, 29 deletions
diff --git a/crypto/blake2/blake2_impl.h b/crypto/blake2/blake2_impl.h index c613abd308..335a38302f 100644 --- a/crypto/blake2/blake2_impl.h +++ b/crypto/blake2/blake2_impl.h @@ -30,10 +30,10 @@ static ossl_inline uint32_t load32(const uint8_t *src) memcpy(&w, src, sizeof(w)); return w; } else { - uint32_t w = *src++; - w |= (uint32_t)(*src++) << 8; - w |= (uint32_t)(*src++) << 16; - w |= (uint32_t)(*src++) << 24; + uint32_t w = ((uint32_t)src[0]) + | ((uint32_t)src[1] << 8) + | ((uint32_t)src[2] << 16) + | ((uint32_t)src[3] << 24); return w; } } @@ -50,14 +50,14 @@ static ossl_inline uint64_t load64(const uint8_t *src) memcpy(&w, src, sizeof(w)); return w; } else { - uint64_t w = *src++; - w |= (uint64_t)(*src++) << 8; - w |= (uint64_t)(*src++) << 16; - w |= (uint64_t)(*src++) << 24; - w |= (uint64_t)(*src++) << 32; - w |= (uint64_t)(*src++) << 40; - w |= (uint64_t)(*src++) << 48; - w |= (uint64_t)(*src++) << 56; + uint64_t w = ((uint64_t)src[0]) + | ((uint64_t)src[1] << 8) + | ((uint64_t)src[2] << 16) + | ((uint64_t)src[3] << 24) + | ((uint64_t)src[4] << 32) + | ((uint64_t)src[5] << 40) + | ((uint64_t)src[6] << 48) + | ((uint64_t)src[7] << 56); return w; } } @@ -100,29 +100,24 @@ static ossl_inline void store64(uint8_t *dst, uint64_t w) static ossl_inline uint64_t load48(const uint8_t *src) { - uint64_t w = *src++; - w |= (uint64_t)(*src++) << 8; - w |= (uint64_t)(*src++) << 16; - w |= (uint64_t)(*src++) << 24; - w |= (uint64_t)(*src++) << 32; - w |= (uint64_t)(*src++) << 40; + uint64_t w = ((uint64_t)src[0]) + | ((uint64_t)src[1] << 8) + | ((uint64_t)src[2] << 16) + | ((uint64_t)src[3] << 24) + | ((uint64_t)src[4] << 32) + | ((uint64_t)src[5] << 40); return w; } static ossl_inline void store48(uint8_t *dst, uint64_t w) { uint8_t *p = (uint8_t *)dst; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; + p[0] = (uint8_t)w; + p[1] = (uint8_t)(w>>8); + p[2] = (uint8_t)(w>>16); + p[3] = (uint8_t)(w>>24); + p[4] = (uint8_t)(w>>32); + p[5] = (uint8_t)(w>>40); } static ossl_inline uint32_t rotr32(const uint32_t w, const unsigned int c) |