summaryrefslogtreecommitdiff
path: root/cham.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-06-24 01:22:37 -0400
committerJeffrey Walton <noloader@gmail.com>2018-06-24 01:22:37 -0400
commitb53842bcdcdfbbfc93d749e1471e8442ab704cfd (patch)
tree5ec028490e10cf1fb78503c5a38d0090841a9dd2 /cham.cpp
parentd12229d4636f2fc0a815cb10db437d0d9b1d3068 (diff)
downloadcryptopp-git-b53842bcdcdfbbfc93d749e1471e8442ab704cfd.tar.gz
Fix CRYPTOPP_DISABLE_ASM build
Diffstat (limited to 'cham.cpp')
-rw-r--r--cham.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/cham.cpp b/cham.cpp
index 9ae866d6..15298bbe 100644
--- a/cham.cpp
+++ b/cham.cpp
@@ -97,6 +97,7 @@ ANONYMOUS_NAMESPACE_END
NAMESPACE_BEGIN(CryptoPP)
#if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
+# if (CRYPTOPP_SSSE3_AVAILABLE)
extern size_t CHAM64_Enc_AdvancedProcessBlocks_SSSE3(const word16* subKeys, size_t rounds,
const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags);
@@ -108,7 +109,8 @@ extern size_t CHAM128_Enc_AdvancedProcessBlocks_SSSE3(const word32* subKeys, siz
extern size_t CHAM128_Dec_AdvancedProcessBlocks_SSSE3(const word32* subKeys, size_t rounds,
const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags);
-#endif
+# endif // CRYPTOPP_SSSE3_AVAILABLE
+#endif // CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
void CHAM64::Base::UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs &params)
{
@@ -318,42 +320,50 @@ void CHAM128::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock,
size_t CHAM64::Enc::AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks,
byte *outBlocks, size_t length, word32 flags) const
{
+# if (CRYPTOPP_SSSE3_AVAILABLE)
if (HasSSSE3()) {
return CHAM64_Enc_AdvancedProcessBlocks_SSSE3(m_rk, 80,
inBlocks, xorBlocks, outBlocks, length, flags);
}
+# endif // CRYPTOPP_SSSE3_AVAILABLE
return BlockTransformation::AdvancedProcessBlocks(inBlocks, xorBlocks, outBlocks, length, flags);
}
size_t CHAM64::Dec::AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks,
byte *outBlocks, size_t length, word32 flags) const
{
+# if (CRYPTOPP_SSSE3_AVAILABLE)
if (HasSSSE3()) {
return CHAM64_Dec_AdvancedProcessBlocks_SSSE3(m_rk, 80,
inBlocks, xorBlocks, outBlocks, length, flags);
}
+# endif // CRYPTOPP_SSSE3_AVAILABLE
return BlockTransformation::AdvancedProcessBlocks(inBlocks, xorBlocks, outBlocks, length, flags);
}
size_t CHAM128::Enc::AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks,
byte *outBlocks, size_t length, word32 flags) const
{
+# if (CRYPTOPP_SSSE3_AVAILABLE)
if (HasSSSE3()) {
const size_t rounds = (m_kw == 4 ? 80 : 96);
return CHAM128_Enc_AdvancedProcessBlocks_SSSE3(m_rk, rounds,
inBlocks, xorBlocks, outBlocks, length, flags);
}
+# endif // CRYPTOPP_SSSE3_AVAILABLE
return BlockTransformation::AdvancedProcessBlocks(inBlocks, xorBlocks, outBlocks, length, flags);
}
size_t CHAM128::Dec::AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks,
byte *outBlocks, size_t length, word32 flags) const
{
+# if (CRYPTOPP_SSSE3_AVAILABLE)
if (HasSSSE3()) {
const size_t rounds = (m_kw == 4 ? 80 : 96);
return CHAM128_Dec_AdvancedProcessBlocks_SSSE3(m_rk, rounds,
inBlocks, xorBlocks, outBlocks, length, flags);
}
+# endif // CRYPTOPP_SSSE3_AVAILABLE
return BlockTransformation::AdvancedProcessBlocks(inBlocks, xorBlocks, outBlocks, length, flags);
}
#endif // CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS