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.=<<___; .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 ...