diff options
-rw-r--r-- | libbb/hash_md5_sha.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libbb/hash_md5_sha.c b/libbb/hash_md5_sha.c index 880ffab01..bbe58c77b 100644 --- a/libbb/hash_md5_sha.c +++ b/libbb/hash_md5_sha.c | |||
@@ -1178,7 +1178,7 @@ void FAST_FUNC sha1_begin(sha1_ctx_t *ctx) | |||
1178 | if (!shaNI) { | 1178 | if (!shaNI) { |
1179 | unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx; | 1179 | unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx; |
1180 | cpuid(&eax, &ebx, &ecx, &edx); | 1180 | cpuid(&eax, &ebx, &ecx, &edx); |
1181 | shaNI = ((ebx >> 29) << 1) - 1; | 1181 | shaNI = ((ebx >> 28) & 2) - 1; /* bit 29 -> 1 or -1 */ |
1182 | } | 1182 | } |
1183 | if (shaNI > 0) | 1183 | if (shaNI > 0) |
1184 | ctx->process_block = sha1_process_block64_shaNI; | 1184 | ctx->process_block = sha1_process_block64_shaNI; |
@@ -1232,7 +1232,7 @@ void FAST_FUNC sha256_begin(sha256_ctx_t *ctx) | |||
1232 | if (!shaNI) { | 1232 | if (!shaNI) { |
1233 | unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx; | 1233 | unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx; |
1234 | cpuid(&eax, &ebx, &ecx, &edx); | 1234 | cpuid(&eax, &ebx, &ecx, &edx); |
1235 | shaNI = ((ebx >> 29) << 1) - 1; | 1235 | shaNI = ((ebx >> 28) & 2) - 1; /* bit 29 -> 1 or -1 */ |
1236 | } | 1236 | } |
1237 | if (shaNI > 0) | 1237 | if (shaNI > 0) |
1238 | ctx->process_block = sha256_process_block64_shaNI; | 1238 | ctx->process_block = sha256_process_block64_shaNI; |