From 7851a0d5106dfb287f30ca0432285c15c679cf96 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Sun, 20 Aug 2017 21:25:29 -0400 Subject: Remove BOOL macro value (GH #462) Currently the CRYPTOPP_BOOL_XXX macros set the macro value to 0 or 1. If we remove setting the 0 value (the #else part of the expression), then the self tests speed up by about 0.3 seconds. I can't explain it, but I have observed it repeatedly. This check-in prepares for the removal in Upstream master --- panama.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'panama.cpp') diff --git a/panama.cpp b/panama.cpp index 7773d4a6..8bca02a0 100644 --- a/panama.cpp +++ b/panama.cpp @@ -21,7 +21,7 @@ template void Panama::Reset() { memset(m_state, 0, m_state.SizeInBytes()); -#if CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) +#if CRYPTOPP_SSSE3_ASM_AVAILABLE && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) m_state[17] = HasSSSE3(); #endif } @@ -32,7 +32,7 @@ void Panama::Reset() extern "C" { void Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, const word32 *y); } -#elif CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) +#elif CRYPTOPP_SSE2_ASM_AVAILABLE && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) #ifdef CRYPTOPP_GENERATE_X64_MASM Panama_SSE2_Pull PROC FRAME @@ -88,7 +88,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, ASL(4) // gamma and pi -#if CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE +#if CRYPTOPP_SSSE3_ASM_AVAILABLE AS2( test AS_REG_6, 1) ASJ( jnz, 6, f) #endif @@ -99,7 +99,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, AS2( movdqa xmm7, xmm3) AS2( movss xmm7, xmm6) ASS( pshufd xmm6, xmm7, 0, 3, 2, 1) -#if CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE +#if CRYPTOPP_SSSE3_ASM_AVAILABLE ASJ( jmp, 7, f) ASL(6) AS2( movdqa xmm5, xmm3) @@ -206,7 +206,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, AS2( movdqa xmm1, XMMWORD_PTR [AS_REG_2+1*16]) AS2( movdqa xmm0, XMMWORD_PTR [AS_REG_2+0*16]) -#if CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE +#if CRYPTOPP_SSSE3_ASM_AVAILABLE AS2( test AS_REG_6, 1) ASJ( jnz, 8, f) #endif @@ -223,7 +223,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, ASS( pshufd xmm6, xmm6, 0, 3, 2, 1) ASS( pshufd xmm5, xmm5, 0, 3, 2, 1) ASS( pshufd xmm4, xmm4, 0, 3, 2, 1) -#if CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE +#if CRYPTOPP_SSSE3_ASM_AVAILABLE ASJ( jmp, 9, f) ASL(8) AS2( movd xmm7, eax) @@ -319,7 +319,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, #else } #endif -#endif // #ifdef CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE +#endif // #ifdef CRYPTOPP_SSE2_ASM_AVAILABLE #ifndef CRYPTOPP_GENERATE_X64_MASM @@ -477,7 +477,7 @@ void PanamaCipherPolicy::CipherResynchronize(byte *keystreamBuffer, const byt this->Iterate(1, buf); } -#if (CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) +#if (CRYPTOPP_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) if (B::ToEnum() == LITTLE_ENDIAN_ORDER && HasSSE2() && !IsP4()) // SSE2 code is slower on P4 Prescott Panama_SSE2_Pull(32, this->m_state, NULLPTR, NULLPTR); else @@ -488,7 +488,7 @@ void PanamaCipherPolicy::CipherResynchronize(byte *keystreamBuffer, const byt template unsigned int PanamaCipherPolicy::GetAlignment() const { -#if (CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) +#if (CRYPTOPP_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) if (B::ToEnum() == LITTLE_ENDIAN_ORDER && HasSSE2()) return 16; else @@ -499,7 +499,7 @@ unsigned int PanamaCipherPolicy::GetAlignment() const template void PanamaCipherPolicy::OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount) { -#if (CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) +#if (CRYPTOPP_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_PANAMA_ASM) if (B::ToEnum() == LITTLE_ENDIAN_ORDER && HasSSE2()) Panama_SSE2_Pull(iterationCount, this->m_state, (word32 *)(void *)output, (const word32 *)(void *)input); else -- cgit v1.2.1