diff options
Diffstat (limited to 'deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S')
-rw-r--r-- | deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S b/deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S index 2b68366d757..cd9cac97ca6 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S @@ -1530,18 +1530,18 @@ aes_v8_ctr32_encrypt_blocks: #ifndef __ARMEB__ rev w8, w8 #endif + orr v1.16b,v0.16b,v0.16b add w10, w8, #1 + orr v18.16b,v0.16b,v0.16b + add w8, w8, #2 orr v6.16b,v0.16b,v0.16b rev w10, w10 - mov v6.s[3],w10 - add w8, w8, #2 - orr v1.16b,v6.16b,v6.16b + mov v1.s[3],w10 b.ls .Lctr32_tail rev w12, w8 - mov v6.s[3],w12 sub x2,x2,#3 // bias - orr v18.16b,v6.16b,v6.16b - cmp x2,#2 + mov v18.s[3],w12 + cmp x2,#32 b.lo .Loop3x_ctr32 add w13,w8,#1 @@ -1732,11 +1732,11 @@ aes_v8_ctr32_encrypt_blocks: aese v1.16b,v16.16b aesmc v5.16b,v1.16b ld1 {v2.16b},[x0],#16 - add w9,w8,#1 + orr v0.16b,v6.16b,v6.16b aese v18.16b,v16.16b aesmc v18.16b,v18.16b ld1 {v3.16b},[x0],#16 - rev w9,w9 + orr v1.16b,v6.16b,v6.16b aese v4.16b,v17.16b aesmc v4.16b,v4.16b aese v5.16b,v17.16b @@ -1745,6 +1745,8 @@ aes_v8_ctr32_encrypt_blocks: mov x7,x3 aese v18.16b,v17.16b aesmc v17.16b,v18.16b + orr v18.16b,v6.16b,v6.16b + add w9,w8,#1 aese v4.16b,v20.16b aesmc v4.16b,v4.16b aese v5.16b,v20.16b @@ -1760,22 +1762,20 @@ aes_v8_ctr32_encrypt_blocks: aese v5.16b,v21.16b aesmc v5.16b,v5.16b eor v19.16b,v19.16b,v7.16b - mov v6.s[3], w9 + rev w9,w9 aese v17.16b,v21.16b aesmc v17.16b,v17.16b - orr v0.16b,v6.16b,v6.16b + mov v0.s[3], w9 rev w10,w10 aese v4.16b,v22.16b aesmc v4.16b,v4.16b - mov v6.s[3], w10 - rev w12,w8 aese v5.16b,v22.16b aesmc v5.16b,v5.16b - orr v1.16b,v6.16b,v6.16b - mov v6.s[3], w12 + mov v1.s[3], w10 + rev w12,w8 aese v17.16b,v22.16b aesmc v17.16b,v17.16b - orr v18.16b,v6.16b,v6.16b + mov v18.s[3], w12 subs x2,x2,#3 aese v4.16b,v23.16b aese v5.16b,v23.16b |