Performance of crypto operations. A sign of a ‘mature’ project - performance is improved and at the expense of readability!
See a snippet from ecp_nistz256-x86_64.pl
:
Code Block |
---|
$code.=<<___;
.globl ecp_nistz256_mul_by_2
.type ecp_nistz256_mul_by_2,\@function,2
.align 64
ecp_nistz256_mul_by_2:
.cfi_startproc
push %r12
.cfi_push %r12
push %r13
.cfi_push %r13
.Lmul_by_2_body:
mov 8*0($a_ptr), $a0
xor $t4,$t4
mov 8*1($a_ptr), $a1
... |