summaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm/aesni-sha256-x86_64.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2017-03-20 11:38:25 +0100
committerAndy Polyakov <appro@openssl.org>2017-03-22 11:02:56 +0100
commit08d09628d2c9f3ef599399d8cad021a07ab98347 (patch)
tree1ac3d48364eea7939311f0b1fc530513ffd63413 /crypto/aes/asm/aesni-sha256-x86_64.pl
parent0a5d1a38f2106e526081500e30ee11b785824f1f (diff)
aes/asm/aesni-sha*-x86_64.pl: fix IV handling in SHAEXT paths.
Initial IV was disregarded on SHAEXT-capable processors. Amazingly enough bulk AES128-SHA* talk-to-yourself tests were passing. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2992)
Diffstat (limited to 'crypto/aes/asm/aesni-sha256-x86_64.pl')
-rw-r--r--crypto/aes/asm/aesni-sha256-x86_64.pl1
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/aes/asm/aesni-sha256-x86_64.pl b/crypto/aes/asm/aesni-sha256-x86_64.pl
index ceec9a6e1e..74ec844952 100644
--- a/crypto/aes/asm/aesni-sha256-x86_64.pl
+++ b/crypto/aes/asm/aesni-sha256-x86_64.pl
@@ -1361,6 +1361,7 @@ $code.=<<___;
mov 240($key),$rounds
sub $in0,$out
movups ($key),$rndkey0 # $key[0]
+ movups ($ivp),$iv # load IV
movups 16($key),$rndkey[0] # forward reference
lea 112($key),$key # size optimization