aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2013-01-15 21:50:41 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2013-01-15 21:50:41 +0100
commit8e7312e12fb088ba99f4f875903926f2ef9ed235 (patch)
tree14463200a24f1f8d416f093c48ce9ffd4e05a92e
parent5b7f50f37210706c0f508788991de88244c7b29b (diff)
downloadbusybox-w32-8e7312e12fb088ba99f4f875903926f2ef9ed235.tar.gz
busybox-w32-8e7312e12fb088ba99f4f875903926f2ef9ed235.tar.bz2
busybox-w32-8e7312e12fb088ba99f4f875903926f2ef9ed235.zip
sha3: tweak choice of a fast code path for 64-bit
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--libbb/hash_md5_sha.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libbb/hash_md5_sha.c b/libbb/hash_md5_sha.c
index 18e426079..7ae0b6385 100644
--- a/libbb/hash_md5_sha.c
+++ b/libbb/hash_md5_sha.c
@@ -1057,7 +1057,7 @@ static void KeccakF(uint64_t *state)
1057 1057
1058 /* Chi */ 1058 /* Chi */
1059 for (y = 0; y <= 20; y += 5) { 1059 for (y = 0; y <= 20; y += 5) {
1060 if (SHA3_SMALL) { 1060 if (SHA3_SMALL && !ARCH_IS_64BIT) {
1061 uint64_t BC[5]; 1061 uint64_t BC[5];
1062 BC[0] = state[y + 0]; 1062 BC[0] = state[y + 0];
1063 BC[1] = state[y + 1]; 1063 BC[1] = state[y + 1];
@@ -1071,6 +1071,7 @@ static void KeccakF(uint64_t *state)
1071 } 1071 }
1072 } else { 1072 } else {
1073 /* 32-bit x86: +50 bytes code, 10% faster */ 1073 /* 32-bit x86: +50 bytes code, 10% faster */
1074 /* 64-bit x86: ~same code size, 30% faster */
1074 uint64_t BC0, BC1, BC2, BC3, BC4; 1075 uint64_t BC0, BC1, BC2, BC3, BC4;
1075 BC0 = state[y + 0]; 1076 BC0 = state[y + 0];
1076 BC1 = state[y + 1]; 1077 BC1 = state[y + 1];