From: Eric Andersen Date: Thu, 29 Jan 2004 22:33:28 +0000 (-0000) Subject: Apply a couple of optimizations X-Git-Tag: 1_00_pre6~13 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f88bb72f1fa65ea05293775d01eae79a341302d6;p=oweals%2Fbusybox.git Apply a couple of optimizations --- diff --git a/libbb/hash_fd.c b/libbb/hash_fd.c index 770ba09c4..58394522f 100644 --- a/libbb/hash_fd.c +++ b/libbb/hash_fd.c @@ -95,9 +95,9 @@ # define SHA1_MASK (SHA1_BLOCK_SIZE - 1) /* reverse byte order in 32-bit words */ -# define ch(x,y,z) (((x) & (y)) ^ (~(x) & (z))) -# define parity(x,y,z) ((x) ^ (y) ^ (z)) -# define maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) +#define ch(x,y,z) ((z) ^ ((x) & ((y) ^ (z)))) +#define parity(x,y,z) ((x) ^ (y) ^ (z)) +#define maj(x,y,z) (((x) & (y)) | ((z) & ((x) | (y)))) /* A normal version as set out in the FIPS. This version uses */ /* partial loop unrolling and is optimised for the Pentium 4 */ @@ -276,6 +276,8 @@ void sha1_end(unsigned char hval[], sha1_ctx_t *ctx) /* Handle endian-ness */ # if __BYTE_ORDER == __LITTLE_ENDIAN # define SWAP(n) (n) +# elif defined(bswap_32) +# define SWAP(n) bswap_32(n) # else # define SWAP(n) ((n << 24) | ((n&65280)<<8) | ((n&16711680)>>8) | (n>>24)) # endif