Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
...