summaryrefslogtreecommitdiff
path: root/rijndael.cpp
diff options
context:
space:
mode:
authorweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2009-03-10 02:56:19 +0000
committerweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2009-03-10 02:56:19 +0000
commitcc319dc33cc73b0ec368864a4220604170acb674 (patch)
tree1c52d52d455d3b48e60bfc8b075f4d611068be14 /rijndael.cpp
parent77d342339b3149f02aaa3521a27b6216468d43dc (diff)
downloadcryptopp-cc319dc33cc73b0ec368864a4220604170acb674.tar.gz
add x86/x64 assembly for SHA-256,
add DEFAULT_CHANNEL and AAD_CHANNEL, fix macChannel for AuthenticatedEncryptionFilter git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@440 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'rijndael.cpp')
-rw-r--r--rijndael.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/rijndael.cpp b/rijndael.cpp
index 589733e..04e1f21 100644
--- a/rijndael.cpp
+++ b/rijndael.cpp
@@ -534,8 +534,10 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
#endif
#if CRYPTOPP_BOOL_X86
- AS_PUSH_IF86( bx)
- AS_PUSH_IF86( bp)
+#if !defined(_MSC_VER) || (_MSC_VER < 1300)
+ AS_PUSH_IF86(bx)
+#endif
+ AS_PUSH_IF86(bp)
AS2( mov [ecx+16*12+16*4], esp)
AS2( lea esp, [ecx-512])
#endif
@@ -583,7 +585,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
// counter mode one-time setup
AS2( mov WORD_REG(bp), [L_INBLOCKS])
- AS2( movdqa xmm2, [WORD_REG(bp)]) // counter
+ AS2( movdqu xmm2, [WORD_REG(bp)]) // counter
AS2( pxor xmm2, xmm1)
AS2( psrldq xmm1, 14)
AS2( movd eax, xmm1)
@@ -843,11 +845,13 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
#else
AS2( mov rbp, [L_BP])
#endif
- AS_POP_IF86( bp)
- AS_POP_IF86( bx)
+ AS_POP_IF86(bp)
+#if !defined(_MSC_VER) || (_MSC_VER < 1300)
+ AS_POP_IF86(bx)
+#endif
#ifndef __GNUC__
- AS_POP_IF86( di)
- AS_POP_IF86( si)
+ AS_POP_IF86(di)
+ AS_POP_IF86(si)
#endif
#ifdef CRYPTOPP_GENERATE_X64_MASM
pop r12