1
Index: openssl/crypto/aes/asm/vpaes-x86.pl
2
RCS File: /v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86.pl,v
3
rcsdiff -q -kk '-r1.5.4.4' '-r1.5.4.5' -u '/v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86.pl,v' 2>/dev/null
4
--- a/crypto/aes/asm/vpaes-x86.pl 2011/12/15 22:20:26 1.5.4.4
5
+++ b/crypto/aes/asm/vpaes-x86.pl 2012/03/31 16:55:18 1.5.4.5
7
&mov ($out,&wparam(1)); # out
8
&mov ($round,&wparam(2)); # len
9
&mov ($key,&wparam(3)); # key
11
+ &jc (&label("cbc_abort"));
12
&lea ($base,&DWP(-56,"esp"));
13
&mov ($const,&wparam(4)); # ivp
16
&mov (&DWP(48,"esp"),$base);
18
&mov (&DWP(0,"esp"),$out); # save out
20
&mov (&DWP(4,"esp"),$key) # save key
21
&mov (&DWP(8,"esp"),$const); # save ivp
22
&mov ($out,$round); # $out works as $len
24
&mov ($base,&DWP(8,"esp")); # restore ivp
25
&mov ("esp",&DWP(48,"esp"));
26
&movdqu (&QWP(0,$base),"xmm1"); # write IV
27
+&set_label("cbc_abort");
28
&function_end("${PREFIX}_cbc_encrypt");
31
Index: openssl/crypto/aes/asm/vpaes-x86_64.pl
32
RCS File: /v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86_64.pl,v
33
rcsdiff -q -kk '-r1.4.4.2' '-r1.4.4.3' -u '/v/openssl/cvs/openssl/crypto/aes/asm/vpaes-x86_64.pl,v' 2>/dev/null
34
--- a/crypto/aes/asm/vpaes-x86_64.pl 2011/11/14 21:01:17 1.4.4.2
35
+++ a/crypto/aes/asm/vpaes-x86_64.pl 2012/03/31 16:55:18 1.4.4.3
37
pshufb %xmm2, %xmm4 # 4 = sbou
38
pxor %xmm0, %xmm4 # 4 = sb1u + k
39
movdqa 0x70(%r10), %xmm0 # 0 : sbot
40
- movdqa .Lk_sr-.Lk_dsbd(%r11), %xmm2
41
+ movdqa -0x160(%r11), %xmm2 # .Lk_sr-.Lk_dsbd=-0x160
42
pshufb %xmm3, %xmm0 # 0 = sb1t
43
pxor %xmm4, %xmm0 # 0 = A
47
($len,$key)=($key,$len);
52
$code.=<<___ if ($win64);
56
movdqu ($ivp),%xmm6 # load IV
68
.size ${PREFIX}_cbc_encrypt,.-${PREFIX}_cbc_encrypt