diff options
-rw-r--r-- | algparam.h | 2 | ||||
-rw-r--r-- | rijndael.cpp | 6 |
2 files changed, 6 insertions, 2 deletions
@@ -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); |