Loading crypto/chacha/asm/chacha-armv4.pl +7 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,12 @@ ChaCha20_ctr32: #else adr r14,.LChaCha20_ctr32 #endif 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 Loading Loading @@ -605,6 +611,7 @@ $code.=<<___; .Ldone: add sp,sp,#4*(32+3) .Lno_data: ldmia sp!,{r4-r11,pc} .size ChaCha20_ctr32,.-ChaCha20_ctr32 ___ Loading crypto/chacha/asm/chacha-s390x.pl +2 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,7 @@ $code.=<<___; .type ChaCha20_ctr32,\@function .align 32 ChaCha20_ctr32: cl${g}ije $len,0,.Lno_data # $len==0? a${g}hi $len,-64 l${g}hi %r1,-$frame stm${g} %r6,%r15,`6*$SIZE_T`($sp) Loading Loading @@ -271,6 +272,7 @@ $code.=<<___; stmg %r0,%r3,$stdframe+4*12($sp) lm${g} %r6,%r15,`$frame+6*$SIZE_T`($sp) .Lno_data: br %r14 .align 16 Loading crypto/chacha/asm/chacha-x86.pl +4 −0 Original line number Diff line number Diff line Loading @@ -123,6 +123,9 @@ my ($ap,$bp,$cp,$dp)=map(($_&~3)+(($_-1)&3),($ai,$bi,$ci,$di)); # previous &static_label("pic_point"); &function_begin("ChaCha20_ctr32"); &xor ("eax","eax"); &cmp ("eax",&wparam(2)); # len==0? &je (&label("no_data")); if ($xmm) { &call (&label("pic_point")); &set_label("pic_point"); Loading Loading @@ -356,6 +359,7 @@ if ($xmm) { &set_label("done"); &stack_pop(33); &set_label("no_data"); &function_end("ChaCha20_ctr32"); if ($xmm) { Loading crypto/chacha/asm/chacha-x86_64.pl +3 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,8 @@ $code.=<<___; .type ChaCha20_ctr32,\@function,5 .align 64 ChaCha20_ctr32: cmp \$0,$len je .Lno_data mov OPENSSL_ia32cap_P+4(%rip),%r10 test \$`1<<(41-32)`,%r10d jnz .LChaCha20_ssse3 Loading Loading @@ -375,6 +377,7 @@ $code.=<<___; pop %r12 pop %rbp pop %rbx .Lno_data: ret .size ChaCha20_ctr32,.-ChaCha20_ctr32 ___ Loading Loading
crypto/chacha/asm/chacha-armv4.pl +7 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,12 @@ ChaCha20_ctr32: #else adr r14,.LChaCha20_ctr32 #endif 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 Loading Loading @@ -605,6 +611,7 @@ $code.=<<___; .Ldone: add sp,sp,#4*(32+3) .Lno_data: ldmia sp!,{r4-r11,pc} .size ChaCha20_ctr32,.-ChaCha20_ctr32 ___ Loading
crypto/chacha/asm/chacha-s390x.pl +2 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,7 @@ $code.=<<___; .type ChaCha20_ctr32,\@function .align 32 ChaCha20_ctr32: cl${g}ije $len,0,.Lno_data # $len==0? a${g}hi $len,-64 l${g}hi %r1,-$frame stm${g} %r6,%r15,`6*$SIZE_T`($sp) Loading Loading @@ -271,6 +272,7 @@ $code.=<<___; stmg %r0,%r3,$stdframe+4*12($sp) lm${g} %r6,%r15,`$frame+6*$SIZE_T`($sp) .Lno_data: br %r14 .align 16 Loading
crypto/chacha/asm/chacha-x86.pl +4 −0 Original line number Diff line number Diff line Loading @@ -123,6 +123,9 @@ my ($ap,$bp,$cp,$dp)=map(($_&~3)+(($_-1)&3),($ai,$bi,$ci,$di)); # previous &static_label("pic_point"); &function_begin("ChaCha20_ctr32"); &xor ("eax","eax"); &cmp ("eax",&wparam(2)); # len==0? &je (&label("no_data")); if ($xmm) { &call (&label("pic_point")); &set_label("pic_point"); Loading Loading @@ -356,6 +359,7 @@ if ($xmm) { &set_label("done"); &stack_pop(33); &set_label("no_data"); &function_end("ChaCha20_ctr32"); if ($xmm) { Loading
crypto/chacha/asm/chacha-x86_64.pl +3 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,8 @@ $code.=<<___; .type ChaCha20_ctr32,\@function,5 .align 64 ChaCha20_ctr32: cmp \$0,$len je .Lno_data mov OPENSSL_ia32cap_P+4(%rip),%r10 test \$`1<<(41-32)`,%r10d jnz .LChaCha20_ssse3 Loading Loading @@ -375,6 +377,7 @@ $code.=<<___; pop %r12 pop %rbp pop %rbx .Lno_data: ret .size ChaCha20_ctr32,.-ChaCha20_ctr32 ___ Loading