[openssl-commits] [openssl] master update

2015-11-18 Thread Andy Polyakov
The branch master has been updated
   via  ce24d2ed232a095349886aecc8cb959d5dda8342 (commit)
  from  0ee05b736aa41bd2a10a226afa04ec477aa4ac7d (commit)


- Log -
commit ce24d2ed232a095349886aecc8cb959d5dda8342
Author: Andy Polyakov 
Date:   Fri Nov 13 23:52:13 2015 +0100

aes/asm/vpaes-ppc.pl: eliminate overhung stores in misaligned cases.

Reviewed-by: Richard Levitte 

---

Summary of changes:
 crypto/aes/asm/vpaes-ppc.pl | 198 ++--
 1 file changed, 136 insertions(+), 62 deletions(-)

diff --git a/crypto/aes/asm/vpaes-ppc.pl b/crypto/aes/asm/vpaes-ppc.pl
index 7fda60e..1759ae9 100644
--- a/crypto/aes/asm/vpaes-ppc.pl
+++ b/crypto/aes/asm/vpaes-ppc.pl
@@ -337,24 +337,27 @@ Lenc_entry:
addi$inp, $inp, 15  # 15 is not a typo
 ?lvsr  $outperm, 0, $out
?lvsl   $keyperm, 0, $key   # prepare for unaligned access
-vnor   $outmask, v7, v7# 0xff..ff
lvx $inptail, 0, $inp   # redundant in aligned case
-?vperm $outmask, v7, $outmask, $outperm
-lvx$outhead, 0, $out
?vperm  v0, v0, $inptail, $inpperm
 
bl  _vpaes_encrypt_core
 
+   andi.   r8, $out, 15
+   li  r9, 16
+   beq Lenc_out_aligned
+
vperm   v0, v0, v0, $outperm# rotate right/left
-   vselv1, $outhead, v0, $outmask
-   vmr $outhead, v0
-   stvxv1, 0, $out
-   addi$out, $out, 15  # 15 is not a typo
-   
+   mtctr   r9
+Lenc_out_unaligned:
+   stvebx  v0, 0, $out
+   addi$out, $out, 1
+   bdnzLenc_out_unaligned
+   b   Lenc_done
 
-   lvx v1, 0, $out # redundant in aligned case
-   vselv1, $outhead, v1, $outmask
-   stvxv1, 0, $out
+.align 4
+Lenc_out_aligned:
+   stvxv0, 0, $out
+Lenc_done:
 
li  r10,`15+6*$SIZE_T`
li  r11,`31+6*$SIZE_T`
@@ -566,24 +569,27 @@ Ldec_entry:
addi$inp, $inp, 15  # 15 is not a typo
 ?lvsr  $outperm, 0, $out
?lvsl   $keyperm, 0, $key
-vnor   $outmask, v7, v7# 0xff..ff
lvx $inptail, 0, $inp   # redundant in aligned case
-?vperm $outmask, v7, $outmask, $outperm
-lvx$outhead, 0, $out
?vperm  v0, v0, $inptail, $inpperm
 
bl  _vpaes_decrypt_core
 
+   andi.   r8, $out, 15
+   li  r9, 16
+   beq Ldec_out_aligned
+
vperm   v0, v0, v0, $outperm# rotate right/left
-   vselv1, $outhead, v0, $outmask
-   vmr $outhead, v0
-   stvxv1, 0, $out
-   addi$out, $out, 15  # 15 is not a typo
-   
+   mtctr   r9
+Ldec_out_unaligned:
+   stvebx  v0, 0, $out
+   addi$out, $out, 1
+   bdnzLdec_out_unaligned
+   b   Ldec_done
 
-   lvx v1, 0, $out # redundant in aligned case
-   vselv1, $outhead, v1, $outmask
-   stvxv1, 0, $out
+.align 4
+Ldec_out_aligned:
+   stvxv0, 0, $out
+Ldec_done:
 
li  r10,`15+6*$SIZE_T`
li  r11,`31+6*$SIZE_T`
@@ -658,11 +664,11 @@ Ldec_entry:
$PUSH   r0, `$FRAME+$SIZE_T*2+$LRSAVE`($sp)
 
and r30, r5, r9 # copy length&-16
+   andi.   r9, $out, 15# is $out aligned?
mr  r5, r6  # copy pointer to key
mr  r31, r7 # copy pointer to iv
-   blt Lcbc_abort
-   cmpwi   r8, 0   # test direction
li  r6, -1
+   mcrfcr1, cr0# put aside $out alignment flag
mr  r7, r12 # copy vrsave
mtspr   256, r6 # preserve all AltiVec registers
 
@@ -672,6 +678,7 @@ Ldec_entry:
lvx v25, r9, r31
?vperm  v24, v24, v25, $inpperm
 
+   cmpwi   r8, 0   # test direction
neg r8, $inp# prepare for unaligned access
 vxor   v7, v7, v7
?lvsl   $keyperm, 0, $key
@@ -681,13 +688,37 @@ Ldec_entry:
lvx $inptail, 0, $inp
 ?vperm $outmask, v7, $outmask, $outperm
addi$inp, $inp, 15  # 15 is not a typo
-lvx$outhead, 0, $out
 
beq Lcbc_decrypt
 
bl  _vpaes_encrypt_preheat
li  r0, 16
 
+   beq cr1, Lcbc_enc_loop  # $out is aligned
+
+   vmr v0, $inptail
+   lvx $inptail, 0, $inp
+   addi$inp, $inp, 16
+   ?vperm  v0, v0, $inptail, $inpperm
+   vxorv0, v0, v24 # ^= iv
+
+   bl  _vpaes_encrypt_core
+
+   andi.   r8, $out, 15
+   vmr v24, v0 # put aside iv
+   sub r9, $out, r8
+   vperm   

[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

2015-11-18 Thread Andy Polyakov
The branch OpenSSL_1_0_2-stable has been updated
   via  bc2ab6ed2f07d56dd0afee2a2dfb631a27548934 (commit)
  from  bef7693860b4869613a6a4e82265ba82f9c0d460 (commit)


- Log -
commit bc2ab6ed2f07d56dd0afee2a2dfb631a27548934
Author: Andy Polyakov 
Date:   Fri Nov 13 23:52:13 2015 +0100

aes/asm/vpaes-ppc.pl: eliminate overhung stores in misaligned cases.

Reviewed-by: Richard Levitte 
(cherry picked from commit ce24d2ed232a095349886aecc8cb959d5dda8342)

---

Summary of changes:
 crypto/aes/asm/vpaes-ppc.pl | 198 ++--
 1 file changed, 136 insertions(+), 62 deletions(-)

diff --git a/crypto/aes/asm/vpaes-ppc.pl b/crypto/aes/asm/vpaes-ppc.pl
index 7fda60e..1759ae9 100644
--- a/crypto/aes/asm/vpaes-ppc.pl
+++ b/crypto/aes/asm/vpaes-ppc.pl
@@ -337,24 +337,27 @@ Lenc_entry:
addi$inp, $inp, 15  # 15 is not a typo
 ?lvsr  $outperm, 0, $out
?lvsl   $keyperm, 0, $key   # prepare for unaligned access
-vnor   $outmask, v7, v7# 0xff..ff
lvx $inptail, 0, $inp   # redundant in aligned case
-?vperm $outmask, v7, $outmask, $outperm
-lvx$outhead, 0, $out
?vperm  v0, v0, $inptail, $inpperm
 
bl  _vpaes_encrypt_core
 
+   andi.   r8, $out, 15
+   li  r9, 16
+   beq Lenc_out_aligned
+
vperm   v0, v0, v0, $outperm# rotate right/left
-   vselv1, $outhead, v0, $outmask
-   vmr $outhead, v0
-   stvxv1, 0, $out
-   addi$out, $out, 15  # 15 is not a typo
-   
+   mtctr   r9
+Lenc_out_unaligned:
+   stvebx  v0, 0, $out
+   addi$out, $out, 1
+   bdnzLenc_out_unaligned
+   b   Lenc_done
 
-   lvx v1, 0, $out # redundant in aligned case
-   vselv1, $outhead, v1, $outmask
-   stvxv1, 0, $out
+.align 4
+Lenc_out_aligned:
+   stvxv0, 0, $out
+Lenc_done:
 
li  r10,`15+6*$SIZE_T`
li  r11,`31+6*$SIZE_T`
@@ -566,24 +569,27 @@ Ldec_entry:
addi$inp, $inp, 15  # 15 is not a typo
 ?lvsr  $outperm, 0, $out
?lvsl   $keyperm, 0, $key
-vnor   $outmask, v7, v7# 0xff..ff
lvx $inptail, 0, $inp   # redundant in aligned case
-?vperm $outmask, v7, $outmask, $outperm
-lvx$outhead, 0, $out
?vperm  v0, v0, $inptail, $inpperm
 
bl  _vpaes_decrypt_core
 
+   andi.   r8, $out, 15
+   li  r9, 16
+   beq Ldec_out_aligned
+
vperm   v0, v0, v0, $outperm# rotate right/left
-   vselv1, $outhead, v0, $outmask
-   vmr $outhead, v0
-   stvxv1, 0, $out
-   addi$out, $out, 15  # 15 is not a typo
-   
+   mtctr   r9
+Ldec_out_unaligned:
+   stvebx  v0, 0, $out
+   addi$out, $out, 1
+   bdnzLdec_out_unaligned
+   b   Ldec_done
 
-   lvx v1, 0, $out # redundant in aligned case
-   vselv1, $outhead, v1, $outmask
-   stvxv1, 0, $out
+.align 4
+Ldec_out_aligned:
+   stvxv0, 0, $out
+Ldec_done:
 
li  r10,`15+6*$SIZE_T`
li  r11,`31+6*$SIZE_T`
@@ -658,11 +664,11 @@ Ldec_entry:
$PUSH   r0, `$FRAME+$SIZE_T*2+$LRSAVE`($sp)
 
and r30, r5, r9 # copy length&-16
+   andi.   r9, $out, 15# is $out aligned?
mr  r5, r6  # copy pointer to key
mr  r31, r7 # copy pointer to iv
-   blt Lcbc_abort
-   cmpwi   r8, 0   # test direction
li  r6, -1
+   mcrfcr1, cr0# put aside $out alignment flag
mr  r7, r12 # copy vrsave
mtspr   256, r6 # preserve all AltiVec registers
 
@@ -672,6 +678,7 @@ Ldec_entry:
lvx v25, r9, r31
?vperm  v24, v24, v25, $inpperm
 
+   cmpwi   r8, 0   # test direction
neg r8, $inp# prepare for unaligned access
 vxor   v7, v7, v7
?lvsl   $keyperm, 0, $key
@@ -681,13 +688,37 @@ Ldec_entry:
lvx $inptail, 0, $inp
 ?vperm $outmask, v7, $outmask, $outperm
addi$inp, $inp, 15  # 15 is not a typo
-lvx$outhead, 0, $out
 
beq Lcbc_decrypt
 
bl  _vpaes_encrypt_preheat
li  r0, 16
 
+   beq cr1, Lcbc_enc_loop  # $out is aligned
+
+   vmr v0, $inptail
+   lvx $inptail, 0, $inp
+   addi$inp, $inp, 16
+   ?vperm  v0, v0, $inptail, $inpperm
+   vxorv0, v0, v24 # ^= iv
+
+   bl  _vpaes_encrypt_core
+
+   andi.   r8, $out, 15
+   vmr   

[openssl-commits] [openssl] OpenSSL_1_0_1-stable update

2015-11-18 Thread Rich Salz
The branch OpenSSL_1_0_1-stable has been updated
   via  e71aab1c02e6a47ec56b1e341e80d09797d3d4de (commit)
  from  b77390a2ff1d8c707ea5aad4bd30cedbccedee5b (commit)


- Log -
commit e71aab1c02e6a47ec56b1e341e80d09797d3d4de
Author: Rich Salz 
Date:   Wed Nov 18 16:58:40 2015 -0500

Fix release in README.

Reviewed-by: Steve Marquess 

---

Summary of changes:
 README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README b/README
index cc20f57..edf5138 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 
- OpenSSL 1.1.0-dev
+ OpenSSL 1.0.1q-dev
 
  Copyright (c) 1998-2015 The OpenSSL Project
  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
_
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits


[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

2015-11-18 Thread Rich Salz
The branch OpenSSL_1_0_2-stable has been updated
   via  01d625e2c3c68038f7e5001421d291f124de4d8f (commit)
  from  bc2ab6ed2f07d56dd0afee2a2dfb631a27548934 (commit)


- Log -
commit 01d625e2c3c68038f7e5001421d291f124de4d8f
Author: Rich Salz 
Date:   Wed Nov 18 17:00:02 2015 -0500

Fix release in README

Reviewed-by: Steve Marquess 

---

Summary of changes:
 README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README b/README
index cc20f57..8754c02 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 
- OpenSSL 1.1.0-dev
+ OpenSSL 1.0.1e-dev
 
  Copyright (c) 1998-2015 The OpenSSL Project
  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
_
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits