update main-with-bazel from master branch
This commit is contained in:
@@ -29,42 +29,17 @@ Lsigma:
|
||||
.long 0x61707865,0x3320646e,0x79622d32,0x6b206574 @ endian-neutral
|
||||
Lone:
|
||||
.long 1,0,0,0
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
LOPENSSL_armcap:
|
||||
.word OPENSSL_armcap_P-Lsigma
|
||||
#else
|
||||
.word -1
|
||||
#endif
|
||||
|
||||
.globl _ChaCha20_ctr32
|
||||
.private_extern _ChaCha20_ctr32
|
||||
.globl _ChaCha20_ctr32_nohw
|
||||
.private_extern _ChaCha20_ctr32_nohw
|
||||
#ifdef __thumb2__
|
||||
.thumb_func _ChaCha20_ctr32
|
||||
.thumb_func _ChaCha20_ctr32_nohw
|
||||
#endif
|
||||
.align 5
|
||||
_ChaCha20_ctr32:
|
||||
LChaCha20_ctr32:
|
||||
_ChaCha20_ctr32_nohw:
|
||||
ldr r12,[sp,#0] @ pull pointer to counter and nonce
|
||||
stmdb sp!,{r0,r1,r2,r4-r11,lr}
|
||||
adr r14,Lsigma
|
||||
cmp r2,#0 @ len==0?
|
||||
#ifdef __thumb2__
|
||||
itt eq
|
||||
#endif
|
||||
addeq sp,sp,#4*3
|
||||
beq Lno_data
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
cmp r2,#192 @ test len
|
||||
bls Lshort
|
||||
ldr r4,[r14,#32]
|
||||
ldr r4,[r14,r4]
|
||||
# ifdef __APPLE__
|
||||
ldr r4,[r4]
|
||||
# endif
|
||||
tst r4,#ARMV7_NEON
|
||||
bne LChaCha20_neon
|
||||
Lshort:
|
||||
#endif
|
||||
ldmia r12,{r4,r5,r6,r7} @ load counter and nonce
|
||||
sub sp,sp,#4*(16) @ off-load area
|
||||
stmdb sp!,{r4,r5,r6,r7} @ copy counter and nonce
|
||||
@@ -793,21 +768,21 @@ Loop_tail:
|
||||
|
||||
Ldone:
|
||||
add sp,sp,#4*(32+3)
|
||||
Lno_data:
|
||||
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc}
|
||||
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
|
||||
|
||||
|
||||
.globl _ChaCha20_ctr32_neon
|
||||
.private_extern _ChaCha20_ctr32_neon
|
||||
#ifdef __thumb2__
|
||||
.thumb_func ChaCha20_neon
|
||||
.thumb_func _ChaCha20_ctr32_neon
|
||||
#endif
|
||||
.align 5
|
||||
ChaCha20_neon:
|
||||
_ChaCha20_ctr32_neon:
|
||||
ldr r12,[sp,#0] @ pull pointer to counter and nonce
|
||||
stmdb sp!,{r0,r1,r2,r4-r11,lr}
|
||||
LChaCha20_neon:
|
||||
adr r14,Lsigma
|
||||
vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI spec says so
|
||||
stmdb sp!,{r0,r1,r2,r3}
|
||||
@@ -1476,10 +1451,5 @@ Ldone_neon:
|
||||
add sp,sp,#4*(16+3)
|
||||
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc}
|
||||
|
||||
.comm _OPENSSL_armcap_P,4
|
||||
.non_lazy_symbol_pointer
|
||||
OPENSSL_armcap_P:
|
||||
.indirect_symbol _OPENSSL_armcap_P
|
||||
.long 0
|
||||
#endif
|
||||
#endif // !OPENSSL_NO_ASM && defined(OPENSSL_ARM) && defined(__APPLE__)
|
||||
|
||||
@@ -29,40 +29,15 @@
|
||||
.long 0x61707865,0x3320646e,0x79622d32,0x6b206574 @ endian-neutral
|
||||
.Lone:
|
||||
.long 1,0,0,0
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
.LOPENSSL_armcap:
|
||||
.word OPENSSL_armcap_P-.Lsigma
|
||||
#else
|
||||
.word -1
|
||||
#endif
|
||||
|
||||
.globl ChaCha20_ctr32
|
||||
.hidden ChaCha20_ctr32
|
||||
.type ChaCha20_ctr32,%function
|
||||
.globl ChaCha20_ctr32_nohw
|
||||
.hidden ChaCha20_ctr32_nohw
|
||||
.type ChaCha20_ctr32_nohw,%function
|
||||
.align 5
|
||||
ChaCha20_ctr32:
|
||||
.LChaCha20_ctr32:
|
||||
ChaCha20_ctr32_nohw:
|
||||
ldr r12,[sp,#0] @ pull pointer to counter and nonce
|
||||
stmdb sp!,{r0,r1,r2,r4-r11,lr}
|
||||
adr r14,.Lsigma
|
||||
cmp r2,#0 @ len==0?
|
||||
#ifdef __thumb2__
|
||||
itt eq
|
||||
#endif
|
||||
addeq sp,sp,#4*3
|
||||
beq .Lno_data
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
cmp r2,#192 @ test len
|
||||
bls .Lshort
|
||||
ldr r4,[r14,#32]
|
||||
ldr r4,[r14,r4]
|
||||
# ifdef __APPLE__
|
||||
ldr r4,[r4]
|
||||
# endif
|
||||
tst r4,#ARMV7_NEON
|
||||
bne .LChaCha20_neon
|
||||
.Lshort:
|
||||
#endif
|
||||
ldmia r12,{r4,r5,r6,r7} @ load counter and nonce
|
||||
sub sp,sp,#4*(16) @ off-load area
|
||||
stmdb sp!,{r4,r5,r6,r7} @ copy counter and nonce
|
||||
@@ -791,19 +766,19 @@ ChaCha20_ctr32:
|
||||
|
||||
.Ldone:
|
||||
add sp,sp,#4*(32+3)
|
||||
.Lno_data:
|
||||
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc}
|
||||
.size ChaCha20_ctr32,.-ChaCha20_ctr32
|
||||
.size ChaCha20_ctr32_nohw,.-ChaCha20_ctr32_nohw
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
.arch armv7-a
|
||||
.fpu neon
|
||||
|
||||
.type ChaCha20_neon,%function
|
||||
.globl ChaCha20_ctr32_neon
|
||||
.hidden ChaCha20_ctr32_neon
|
||||
.type ChaCha20_ctr32_neon,%function
|
||||
.align 5
|
||||
ChaCha20_neon:
|
||||
ChaCha20_ctr32_neon:
|
||||
ldr r12,[sp,#0] @ pull pointer to counter and nonce
|
||||
stmdb sp!,{r0,r1,r2,r4-r11,lr}
|
||||
.LChaCha20_neon:
|
||||
adr r14,.Lsigma
|
||||
vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI spec says so
|
||||
stmdb sp!,{r0,r1,r2,r3}
|
||||
@@ -1471,7 +1446,6 @@ ChaCha20_neon:
|
||||
vldmia sp,{d8,d9,d10,d11,d12,d13,d14,d15}
|
||||
add sp,sp,#4*(16+3)
|
||||
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc}
|
||||
.size ChaCha20_neon,.-ChaCha20_neon
|
||||
.comm OPENSSL_armcap_P,4,4
|
||||
.size ChaCha20_ctr32_neon,.-ChaCha20_ctr32_neon
|
||||
#endif
|
||||
#endif // !OPENSSL_NO_ASM && defined(OPENSSL_ARM) && defined(__ELF__)
|
||||
|
||||
@@ -196,39 +196,14 @@ $code.=<<___;
|
||||
.long 0x61707865,0x3320646e,0x79622d32,0x6b206574 @ endian-neutral
|
||||
.Lone:
|
||||
.long 1,0,0,0
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
.LOPENSSL_armcap:
|
||||
.word OPENSSL_armcap_P-.Lsigma
|
||||
#else
|
||||
.word -1
|
||||
#endif
|
||||
|
||||
.globl ChaCha20_ctr32
|
||||
.type ChaCha20_ctr32,%function
|
||||
.globl ChaCha20_ctr32_nohw
|
||||
.type ChaCha20_ctr32_nohw,%function
|
||||
.align 5
|
||||
ChaCha20_ctr32:
|
||||
.LChaCha20_ctr32:
|
||||
ChaCha20_ctr32_nohw:
|
||||
ldr r12,[sp,#0] @ pull pointer to counter and nonce
|
||||
stmdb sp!,{r0-r2,r4-r11,lr}
|
||||
adr r14,.Lsigma
|
||||
cmp r2,#0 @ len==0?
|
||||
#ifdef __thumb2__
|
||||
itt eq
|
||||
#endif
|
||||
addeq sp,sp,#4*3
|
||||
beq .Lno_data
|
||||
#if __ARM_MAX_ARCH__>=7
|
||||
cmp r2,#192 @ test len
|
||||
bls .Lshort
|
||||
ldr r4,[r14,#32]
|
||||
ldr r4,[r14,r4]
|
||||
# ifdef __APPLE__
|
||||
ldr r4,[r4]
|
||||
# endif
|
||||
tst r4,#ARMV7_NEON
|
||||
bne .LChaCha20_neon
|
||||
.Lshort:
|
||||
#endif
|
||||
ldmia r12,{r4-r7} @ load counter and nonce
|
||||
sub sp,sp,#4*(16) @ off-load area
|
||||
stmdb sp!,{r4-r7} @ copy counter and nonce
|
||||
@@ -621,9 +596,8 @@ $code.=<<___;
|
||||
|
||||
.Ldone:
|
||||
add sp,sp,#4*(32+3)
|
||||
.Lno_data:
|
||||
ldmia sp!,{r4-r11,pc}
|
||||
.size ChaCha20_ctr32,.-ChaCha20_ctr32
|
||||
.size ChaCha20_ctr32_nohw,.-ChaCha20_ctr32_nohw
|
||||
___
|
||||
|
||||
{{{
|
||||
@@ -665,12 +639,12 @@ $code.=<<___;
|
||||
.arch armv7-a
|
||||
.fpu neon
|
||||
|
||||
.type ChaCha20_neon,%function
|
||||
.globl ChaCha20_ctr32_neon
|
||||
.type ChaCha20_ctr32_neon,%function
|
||||
.align 5
|
||||
ChaCha20_neon:
|
||||
ChaCha20_ctr32_neon:
|
||||
ldr r12,[sp,#0] @ pull pointer to counter and nonce
|
||||
stmdb sp!,{r0-r2,r4-r11,lr}
|
||||
.LChaCha20_neon:
|
||||
adr r14,.Lsigma
|
||||
vstmdb sp!,{d8-d15} @ ABI spec says so
|
||||
stmdb sp!,{r0-r3}
|
||||
@@ -1145,8 +1119,7 @@ $code.=<<___;
|
||||
vldmia sp,{d8-d15}
|
||||
add sp,sp,#4*(16+3)
|
||||
ldmia sp!,{r4-r11,pc}
|
||||
.size ChaCha20_neon,.-ChaCha20_neon
|
||||
.comm OPENSSL_armcap_P,4,4
|
||||
.size ChaCha20_ctr32_neon,.-ChaCha20_ctr32_neon
|
||||
#endif
|
||||
___
|
||||
}}}
|
||||
|
||||
@@ -30,11 +30,12 @@ void CRYPTO_hchacha20(uint8_t out[32], const uint8_t key[32],
|
||||
const uint8_t nonce[16]);
|
||||
|
||||
#if !defined(OPENSSL_NO_ASM) && \
|
||||
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || defined(OPENSSL_ARM))
|
||||
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64))
|
||||
|
||||
#define CHACHA20_ASM
|
||||
|
||||
#elif !defined(OPENSSL_NO_ASM) && defined(OPENSSL_AARCH64)
|
||||
#elif !defined(OPENSSL_NO_ASM) && \
|
||||
(defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
|
||||
|
||||
#define CHACHA20_ASM_NOHW
|
||||
|
||||
|
||||
Reference in New Issue
Block a user