summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--algparam.h2
-rw-r--r--rijndael.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/algparam.h b/algparam.h
index 80bbbc6..5728cce 100644
--- a/algparam.h
+++ b/algparam.h
@@ -373,7 +373,7 @@ protected:
member_ptr<AlgorithmParametersBase> & Next() const {return const_cast<AlgorithmParameters *>(this)->Next();}
bool m_constructed, m_defaultThrowIfNotUsed;
- char m_first[sizeof(AlgorithmParametersBase) + 16];
+ size_t m_first[(sizeof(AlgorithmParametersBase) + 19)/sizeof(size_t)];
};
//! Create an object that implements NameValuePairs for passing parameters
diff --git a/rijndael.cpp b/rijndael.cpp
index 05c403a..4f40285 100644
--- a/rijndael.cpp
+++ b/rijndael.cpp
@@ -675,6 +675,8 @@ void Rijndael_Enc_AdvancedProcessBlocks(void *locals, const word32 *k);
}
#endif
+#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)
+
static inline bool AliasedWithTable(const byte *begin, const byte *end)
{
size_t s0 = size_t(begin)%4096, s1 = size_t(end)%4096;
@@ -746,9 +748,11 @@ size_t Rijndael::Enc::AdvancedProcessBlocks(const byte *inBlocks, const byte *xo
return BlockTransformation::AdvancedProcessBlocks(inBlocks, xorBlocks, outBlocks, length, flags);
}
+#endif
+
void Rijndael::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
-#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE
+#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)
if (HasSSE2())
{
Rijndael::Enc::AdvancedProcessBlocks(inBlock, xorBlock, outBlock, 16, 0);