diff -r f6dc17424a45 -r c371e003ecc3 cryptlib/bn-sol.s --- a/cryptlib/bn-sol.s Tue Aug 28 18:34:05 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2149 +0,0 @@ - / Don't even think of reading this code - / It was automatically generated by x86.pl - / Which is a perl program used to generate the x86 assember for - / any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris - / eric - - .file "x86.s" - .version "01.01" -gcc2_compiled.: -.text - .align 16 -.globl bn_mul_add_words - .type bn_mul_add_words,@function -bn_mul_add_words: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - - xorl %esi, %esi - movl 20(%esp), %edi - movl 28(%esp), %ecx - movl 24(%esp), %ebx - andl $4294967288, %ecx - movl 32(%esp), %ebp - pushl %ecx - jz .L000maw_finish -.L001maw_loop: - movl %ecx, (%esp) - / Round 0 - movl (%ebx), %eax - mull %ebp - addl %esi, %eax - movl (%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, (%edi) - movl %edx, %esi - / Round 4 - movl 4(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 4(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 4(%edi) - movl %edx, %esi - / Round 8 - movl 8(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 8(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 8(%edi) - movl %edx, %esi - / Round 12 - movl 12(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 12(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 12(%edi) - movl %edx, %esi - / Round 16 - movl 16(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 16(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 16(%edi) - movl %edx, %esi - / Round 20 - movl 20(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 20(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 20(%edi) - movl %edx, %esi - / Round 24 - movl 24(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 24(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 24(%edi) - movl %edx, %esi - / Round 28 - movl 28(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 28(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 28(%edi) - movl %edx, %esi - - movl (%esp), %ecx - addl $32, %ebx - addl $32, %edi - subl $8, %ecx - jnz .L001maw_loop -.L000maw_finish: - movl 32(%esp), %ecx - andl $7, %ecx - jnz .L002maw_finish2 - jmp .L003maw_end -.align 16 -.L002maw_finish2: - / Tail Round 0 - movl (%ebx), %eax - mull %ebp - addl %esi, %eax - movl (%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - decl %ecx - movl %eax, (%edi) - movl %edx, %esi - jz .L003maw_end - / Tail Round 1 - movl 4(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 4(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - decl %ecx - movl %eax, 4(%edi) - movl %edx, %esi - jz .L003maw_end - / Tail Round 2 - movl 8(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 8(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - decl %ecx - movl %eax, 8(%edi) - movl %edx, %esi - jz .L003maw_end - / Tail Round 3 - movl 12(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 12(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - decl %ecx - movl %eax, 12(%edi) - movl %edx, %esi - jz .L003maw_end - / Tail Round 4 - movl 16(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 16(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - decl %ecx - movl %eax, 16(%edi) - movl %edx, %esi - jz .L003maw_end - / Tail Round 5 - movl 20(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 20(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - decl %ecx - movl %eax, 20(%edi) - movl %edx, %esi - jz .L003maw_end - / Tail Round 6 - movl 24(%ebx), %eax - mull %ebp - addl %esi, %eax - movl 24(%edi), %esi - adcl $0, %edx - addl %esi, %eax - adcl $0, %edx - movl %eax, 24(%edi) - movl %edx, %esi -.L003maw_end: - movl %esi, %eax - popl %ecx - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.bn_mul_add_words_end: - .size bn_mul_add_words,.bn_mul_add_words_end-bn_mul_add_words -.ident "bn_mul_add_words" -.text - .align 16 -.globl bn_mul_words - .type bn_mul_words,@function -bn_mul_words: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - - xorl %esi, %esi - movl 20(%esp), %edi - movl 24(%esp), %ebx - movl 28(%esp), %ebp - movl 32(%esp), %ecx - andl $4294967288, %ebp - jz .L004mw_finish -.L005mw_loop: - / Round 0 - movl (%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, (%edi) - movl %edx, %esi - / Round 4 - movl 4(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 4(%edi) - movl %edx, %esi - / Round 8 - movl 8(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 8(%edi) - movl %edx, %esi - / Round 12 - movl 12(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 12(%edi) - movl %edx, %esi - / Round 16 - movl 16(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 16(%edi) - movl %edx, %esi - / Round 20 - movl 20(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 20(%edi) - movl %edx, %esi - / Round 24 - movl 24(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 24(%edi) - movl %edx, %esi - / Round 28 - movl 28(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 28(%edi) - movl %edx, %esi - - addl $32, %ebx - addl $32, %edi - subl $8, %ebp - jz .L004mw_finish - jmp .L005mw_loop -.L004mw_finish: - movl 28(%esp), %ebp - andl $7, %ebp - jnz .L006mw_finish2 - jmp .L007mw_end -.align 16 -.L006mw_finish2: - / Tail Round 0 - movl (%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, (%edi) - movl %edx, %esi - decl %ebp - jz .L007mw_end - / Tail Round 1 - movl 4(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 4(%edi) - movl %edx, %esi - decl %ebp - jz .L007mw_end - / Tail Round 2 - movl 8(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 8(%edi) - movl %edx, %esi - decl %ebp - jz .L007mw_end - / Tail Round 3 - movl 12(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 12(%edi) - movl %edx, %esi - decl %ebp - jz .L007mw_end - / Tail Round 4 - movl 16(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 16(%edi) - movl %edx, %esi - decl %ebp - jz .L007mw_end - / Tail Round 5 - movl 20(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 20(%edi) - movl %edx, %esi - decl %ebp - jz .L007mw_end - / Tail Round 6 - movl 24(%ebx), %eax - mull %ecx - addl %esi, %eax - adcl $0, %edx - movl %eax, 24(%edi) - movl %edx, %esi -.L007mw_end: - movl %esi, %eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.bn_mul_words_end: - .size bn_mul_words,.bn_mul_words_end-bn_mul_words -.ident "bn_mul_words" -.text - .align 16 -.globl bn_sqr_words - .type bn_sqr_words,@function -bn_sqr_words: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - - movl 20(%esp), %esi - movl 24(%esp), %edi - movl 28(%esp), %ebx - andl $4294967288, %ebx - jz .L008sw_finish -.L009sw_loop: - / Round 0 - movl (%edi), %eax - mull %eax - movl %eax, (%esi) - movl %edx, 4(%esi) - / Round 4 - movl 4(%edi), %eax - mull %eax - movl %eax, 8(%esi) - movl %edx, 12(%esi) - / Round 8 - movl 8(%edi), %eax - mull %eax - movl %eax, 16(%esi) - movl %edx, 20(%esi) - / Round 12 - movl 12(%edi), %eax - mull %eax - movl %eax, 24(%esi) - movl %edx, 28(%esi) - / Round 16 - movl 16(%edi), %eax - mull %eax - movl %eax, 32(%esi) - movl %edx, 36(%esi) - / Round 20 - movl 20(%edi), %eax - mull %eax - movl %eax, 40(%esi) - movl %edx, 44(%esi) - / Round 24 - movl 24(%edi), %eax - mull %eax - movl %eax, 48(%esi) - movl %edx, 52(%esi) - / Round 28 - movl 28(%edi), %eax - mull %eax - movl %eax, 56(%esi) - movl %edx, 60(%esi) - - addl $32, %edi - addl $64, %esi - subl $8, %ebx - jnz .L009sw_loop -.L008sw_finish: - movl 28(%esp), %ebx - andl $7, %ebx - jz .L010sw_end - / Tail Round 0 - movl (%edi), %eax - mull %eax - movl %eax, (%esi) - decl %ebx - movl %edx, 4(%esi) - jz .L010sw_end - / Tail Round 1 - movl 4(%edi), %eax - mull %eax - movl %eax, 8(%esi) - decl %ebx - movl %edx, 12(%esi) - jz .L010sw_end - / Tail Round 2 - movl 8(%edi), %eax - mull %eax - movl %eax, 16(%esi) - decl %ebx - movl %edx, 20(%esi) - jz .L010sw_end - / Tail Round 3 - movl 12(%edi), %eax - mull %eax - movl %eax, 24(%esi) - decl %ebx - movl %edx, 28(%esi) - jz .L010sw_end - / Tail Round 4 - movl 16(%edi), %eax - mull %eax - movl %eax, 32(%esi) - decl %ebx - movl %edx, 36(%esi) - jz .L010sw_end - / Tail Round 5 - movl 20(%edi), %eax - mull %eax - movl %eax, 40(%esi) - decl %ebx - movl %edx, 44(%esi) - jz .L010sw_end - / Tail Round 6 - movl 24(%edi), %eax - mull %eax - movl %eax, 48(%esi) - movl %edx, 52(%esi) -.L010sw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.bn_sqr_words_end: - .size bn_sqr_words,.bn_sqr_words_end-bn_sqr_words -.ident "bn_sqr_words" -.text - .align 16 -.globl bn_div_words - .type bn_div_words,@function -bn_div_words: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - movl 20(%esp), %edx - movl 24(%esp), %eax - movl 28(%esp), %ebx - divl %ebx - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.bn_div_words_end: - .size bn_div_words,.bn_div_words_end-bn_div_words -.ident "bn_div_words" -.text - .align 16 -.globl bn_add_words - .type bn_add_words,@function -bn_add_words: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - - movl 20(%esp), %ebx - movl 24(%esp), %esi - movl 28(%esp), %edi - movl 32(%esp), %ebp - xorl %eax, %eax - andl $4294967288, %ebp - jz .L011aw_finish -.L012aw_loop: - / Round 0 - movl (%esi), %ecx - movl (%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, (%ebx) - / Round 1 - movl 4(%esi), %ecx - movl 4(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 4(%ebx) - / Round 2 - movl 8(%esi), %ecx - movl 8(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 8(%ebx) - / Round 3 - movl 12(%esi), %ecx - movl 12(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 12(%ebx) - / Round 4 - movl 16(%esi), %ecx - movl 16(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 16(%ebx) - / Round 5 - movl 20(%esi), %ecx - movl 20(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 20(%ebx) - / Round 6 - movl 24(%esi), %ecx - movl 24(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 24(%ebx) - / Round 7 - movl 28(%esi), %ecx - movl 28(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 28(%ebx) - - addl $32, %esi - addl $32, %edi - addl $32, %ebx - subl $8, %ebp - jnz .L012aw_loop -.L011aw_finish: - movl 32(%esp), %ebp - andl $7, %ebp - jz .L013aw_end - / Tail Round 0 - movl (%esi), %ecx - movl (%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, (%ebx) - jz .L013aw_end - / Tail Round 1 - movl 4(%esi), %ecx - movl 4(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 4(%ebx) - jz .L013aw_end - / Tail Round 2 - movl 8(%esi), %ecx - movl 8(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 8(%ebx) - jz .L013aw_end - / Tail Round 3 - movl 12(%esi), %ecx - movl 12(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 12(%ebx) - jz .L013aw_end - / Tail Round 4 - movl 16(%esi), %ecx - movl 16(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 16(%ebx) - jz .L013aw_end - / Tail Round 5 - movl 20(%esi), %ecx - movl 20(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 20(%ebx) - jz .L013aw_end - / Tail Round 6 - movl 24(%esi), %ecx - movl 24(%edi), %edx - addl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - addl %edx, %ecx - adcl $0, %eax - movl %ecx, 24(%ebx) -.L013aw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.bn_add_words_end: - .size bn_add_words,.bn_add_words_end-bn_add_words -.ident "bn_add_words" -.text - .align 16 -.globl bn_sub_words - .type bn_sub_words,@function -bn_sub_words: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - - movl 20(%esp), %ebx - movl 24(%esp), %esi - movl 28(%esp), %edi - movl 32(%esp), %ebp - xorl %eax, %eax - andl $4294967288, %ebp - jz .L014aw_finish -.L015aw_loop: - / Round 0 - movl (%esi), %ecx - movl (%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, (%ebx) - / Round 1 - movl 4(%esi), %ecx - movl 4(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 4(%ebx) - / Round 2 - movl 8(%esi), %ecx - movl 8(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 8(%ebx) - / Round 3 - movl 12(%esi), %ecx - movl 12(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 12(%ebx) - / Round 4 - movl 16(%esi), %ecx - movl 16(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 16(%ebx) - / Round 5 - movl 20(%esi), %ecx - movl 20(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 20(%ebx) - / Round 6 - movl 24(%esi), %ecx - movl 24(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 24(%ebx) - / Round 7 - movl 28(%esi), %ecx - movl 28(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 28(%ebx) - - addl $32, %esi - addl $32, %edi - addl $32, %ebx - subl $8, %ebp - jnz .L015aw_loop -.L014aw_finish: - movl 32(%esp), %ebp - andl $7, %ebp - jz .L016aw_end - / Tail Round 0 - movl (%esi), %ecx - movl (%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, (%ebx) - jz .L016aw_end - / Tail Round 1 - movl 4(%esi), %ecx - movl 4(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 4(%ebx) - jz .L016aw_end - / Tail Round 2 - movl 8(%esi), %ecx - movl 8(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 8(%ebx) - jz .L016aw_end - / Tail Round 3 - movl 12(%esi), %ecx - movl 12(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 12(%ebx) - jz .L016aw_end - / Tail Round 4 - movl 16(%esi), %ecx - movl 16(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 16(%ebx) - jz .L016aw_end - / Tail Round 5 - movl 20(%esi), %ecx - movl 20(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - decl %ebp - movl %ecx, 20(%ebx) - jz .L016aw_end - / Tail Round 6 - movl 24(%esi), %ecx - movl 24(%edi), %edx - subl %eax, %ecx - movl $0, %eax - adcl %eax, %eax - subl %edx, %ecx - adcl $0, %eax - movl %ecx, 24(%ebx) -.L016aw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.bn_sub_words_end: - .size bn_sub_words,.bn_sub_words_end-bn_sub_words -.ident "bn_sub_words" -.text - .align 16 -.globl bn_mul_comba8 - .type bn_mul_comba8,@function -bn_mul_comba8: - pushl %esi - movl 12(%esp), %esi - pushl %edi - movl 20(%esp), %edi - pushl %ebp - pushl %ebx - xorl %ebx, %ebx - movl (%esi), %eax - xorl %ecx, %ecx - movl (%edi), %edx - / ################## Calculate word 0 - xorl %ebp, %ebp - / mul a[0]*b[0] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl (%edi), %edx - adcl $0, %ebp - movl %ebx, (%eax) - movl 4(%esi), %eax - / saved r[0] - / ################## Calculate word 1 - xorl %ebx, %ebx - / mul a[1]*b[0] - mull %edx - addl %eax, %ecx - movl (%esi), %eax - adcl %edx, %ebp - movl 4(%edi), %edx - adcl $0, %ebx - / mul a[0]*b[1] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl (%edi), %edx - adcl $0, %ebx - movl %ecx, 4(%eax) - movl 8(%esi), %eax - / saved r[1] - / ################## Calculate word 2 - xorl %ecx, %ecx - / mul a[2]*b[0] - mull %edx - addl %eax, %ebp - movl 4(%esi), %eax - adcl %edx, %ebx - movl 4(%edi), %edx - adcl $0, %ecx - / mul a[1]*b[1] - mull %edx - addl %eax, %ebp - movl (%esi), %eax - adcl %edx, %ebx - movl 8(%edi), %edx - adcl $0, %ecx - / mul a[0]*b[2] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - movl (%edi), %edx - adcl $0, %ecx - movl %ebp, 8(%eax) - movl 12(%esi), %eax - / saved r[2] - / ################## Calculate word 3 - xorl %ebp, %ebp - / mul a[3]*b[0] - mull %edx - addl %eax, %ebx - movl 8(%esi), %eax - adcl %edx, %ecx - movl 4(%edi), %edx - adcl $0, %ebp - / mul a[2]*b[1] - mull %edx - addl %eax, %ebx - movl 4(%esi), %eax - adcl %edx, %ecx - movl 8(%edi), %edx - adcl $0, %ebp - / mul a[1]*b[2] - mull %edx - addl %eax, %ebx - movl (%esi), %eax - adcl %edx, %ecx - movl 12(%edi), %edx - adcl $0, %ebp - / mul a[0]*b[3] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl (%edi), %edx - adcl $0, %ebp - movl %ebx, 12(%eax) - movl 16(%esi), %eax - / saved r[3] - / ################## Calculate word 4 - xorl %ebx, %ebx - / mul a[4]*b[0] - mull %edx - addl %eax, %ecx - movl 12(%esi), %eax - adcl %edx, %ebp - movl 4(%edi), %edx - adcl $0, %ebx - / mul a[3]*b[1] - mull %edx - addl %eax, %ecx - movl 8(%esi), %eax - adcl %edx, %ebp - movl 8(%edi), %edx - adcl $0, %ebx - / mul a[2]*b[2] - mull %edx - addl %eax, %ecx - movl 4(%esi), %eax - adcl %edx, %ebp - movl 12(%edi), %edx - adcl $0, %ebx - / mul a[1]*b[3] - mull %edx - addl %eax, %ecx - movl (%esi), %eax - adcl %edx, %ebp - movl 16(%edi), %edx - adcl $0, %ebx - / mul a[0]*b[4] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl (%edi), %edx - adcl $0, %ebx - movl %ecx, 16(%eax) - movl 20(%esi), %eax - / saved r[4] - / ################## Calculate word 5 - xorl %ecx, %ecx - / mul a[5]*b[0] - mull %edx - addl %eax, %ebp - movl 16(%esi), %eax - adcl %edx, %ebx - movl 4(%edi), %edx - adcl $0, %ecx - / mul a[4]*b[1] - mull %edx - addl %eax, %ebp - movl 12(%esi), %eax - adcl %edx, %ebx - movl 8(%edi), %edx - adcl $0, %ecx - / mul a[3]*b[2] - mull %edx - addl %eax, %ebp - movl 8(%esi), %eax - adcl %edx, %ebx - movl 12(%edi), %edx - adcl $0, %ecx - / mul a[2]*b[3] - mull %edx - addl %eax, %ebp - movl 4(%esi), %eax - adcl %edx, %ebx - movl 16(%edi), %edx - adcl $0, %ecx - / mul a[1]*b[4] - mull %edx - addl %eax, %ebp - movl (%esi), %eax - adcl %edx, %ebx - movl 20(%edi), %edx - adcl $0, %ecx - / mul a[0]*b[5] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - movl (%edi), %edx - adcl $0, %ecx - movl %ebp, 20(%eax) - movl 24(%esi), %eax - / saved r[5] - / ################## Calculate word 6 - xorl %ebp, %ebp - / mul a[6]*b[0] - mull %edx - addl %eax, %ebx - movl 20(%esi), %eax - adcl %edx, %ecx - movl 4(%edi), %edx - adcl $0, %ebp - / mul a[5]*b[1] - mull %edx - addl %eax, %ebx - movl 16(%esi), %eax - adcl %edx, %ecx - movl 8(%edi), %edx - adcl $0, %ebp - / mul a[4]*b[2] - mull %edx - addl %eax, %ebx - movl 12(%esi), %eax - adcl %edx, %ecx - movl 12(%edi), %edx - adcl $0, %ebp - / mul a[3]*b[3] - mull %edx - addl %eax, %ebx - movl 8(%esi), %eax - adcl %edx, %ecx - movl 16(%edi), %edx - adcl $0, %ebp - / mul a[2]*b[4] - mull %edx - addl %eax, %ebx - movl 4(%esi), %eax - adcl %edx, %ecx - movl 20(%edi), %edx - adcl $0, %ebp - / mul a[1]*b[5] - mull %edx - addl %eax, %ebx - movl (%esi), %eax - adcl %edx, %ecx - movl 24(%edi), %edx - adcl $0, %ebp - / mul a[0]*b[6] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl (%edi), %edx - adcl $0, %ebp - movl %ebx, 24(%eax) - movl 28(%esi), %eax - / saved r[6] - / ################## Calculate word 7 - xorl %ebx, %ebx - / mul a[7]*b[0] - mull %edx - addl %eax, %ecx - movl 24(%esi), %eax - adcl %edx, %ebp - movl 4(%edi), %edx - adcl $0, %ebx - / mul a[6]*b[1] - mull %edx - addl %eax, %ecx - movl 20(%esi), %eax - adcl %edx, %ebp - movl 8(%edi), %edx - adcl $0, %ebx - / mul a[5]*b[2] - mull %edx - addl %eax, %ecx - movl 16(%esi), %eax - adcl %edx, %ebp - movl 12(%edi), %edx - adcl $0, %ebx - / mul a[4]*b[3] - mull %edx - addl %eax, %ecx - movl 12(%esi), %eax - adcl %edx, %ebp - movl 16(%edi), %edx - adcl $0, %ebx - / mul a[3]*b[4] - mull %edx - addl %eax, %ecx - movl 8(%esi), %eax - adcl %edx, %ebp - movl 20(%edi), %edx - adcl $0, %ebx - / mul a[2]*b[5] - mull %edx - addl %eax, %ecx - movl 4(%esi), %eax - adcl %edx, %ebp - movl 24(%edi), %edx - adcl $0, %ebx - / mul a[1]*b[6] - mull %edx - addl %eax, %ecx - movl (%esi), %eax - adcl %edx, %ebp - movl 28(%edi), %edx - adcl $0, %ebx - / mul a[0]*b[7] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl 4(%edi), %edx - adcl $0, %ebx - movl %ecx, 28(%eax) - movl 28(%esi), %eax - / saved r[7] - / ################## Calculate word 8 - xorl %ecx, %ecx - / mul a[7]*b[1] - mull %edx - addl %eax, %ebp - movl 24(%esi), %eax - adcl %edx, %ebx - movl 8(%edi), %edx - adcl $0, %ecx - / mul a[6]*b[2] - mull %edx - addl %eax, %ebp - movl 20(%esi), %eax - adcl %edx, %ebx - movl 12(%edi), %edx - adcl $0, %ecx - / mul a[5]*b[3] - mull %edx - addl %eax, %ebp - movl 16(%esi), %eax - adcl %edx, %ebx - movl 16(%edi), %edx - adcl $0, %ecx - / mul a[4]*b[4] - mull %edx - addl %eax, %ebp - movl 12(%esi), %eax - adcl %edx, %ebx - movl 20(%edi), %edx - adcl $0, %ecx - / mul a[3]*b[5] - mull %edx - addl %eax, %ebp - movl 8(%esi), %eax - adcl %edx, %ebx - movl 24(%edi), %edx - adcl $0, %ecx - / mul a[2]*b[6] - mull %edx - addl %eax, %ebp - movl 4(%esi), %eax - adcl %edx, %ebx - movl 28(%edi), %edx - adcl $0, %ecx - / mul a[1]*b[7] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - movl 8(%edi), %edx - adcl $0, %ecx - movl %ebp, 32(%eax) - movl 28(%esi), %eax - / saved r[8] - / ################## Calculate word 9 - xorl %ebp, %ebp - / mul a[7]*b[2] - mull %edx - addl %eax, %ebx - movl 24(%esi), %eax - adcl %edx, %ecx - movl 12(%edi), %edx - adcl $0, %ebp - / mul a[6]*b[3] - mull %edx - addl %eax, %ebx - movl 20(%esi), %eax - adcl %edx, %ecx - movl 16(%edi), %edx - adcl $0, %ebp - / mul a[5]*b[4] - mull %edx - addl %eax, %ebx - movl 16(%esi), %eax - adcl %edx, %ecx - movl 20(%edi), %edx - adcl $0, %ebp - / mul a[4]*b[5] - mull %edx - addl %eax, %ebx - movl 12(%esi), %eax - adcl %edx, %ecx - movl 24(%edi), %edx - adcl $0, %ebp - / mul a[3]*b[6] - mull %edx - addl %eax, %ebx - movl 8(%esi), %eax - adcl %edx, %ecx - movl 28(%edi), %edx - adcl $0, %ebp - / mul a[2]*b[7] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl 12(%edi), %edx - adcl $0, %ebp - movl %ebx, 36(%eax) - movl 28(%esi), %eax - / saved r[9] - / ################## Calculate word 10 - xorl %ebx, %ebx - / mul a[7]*b[3] - mull %edx - addl %eax, %ecx - movl 24(%esi), %eax - adcl %edx, %ebp - movl 16(%edi), %edx - adcl $0, %ebx - / mul a[6]*b[4] - mull %edx - addl %eax, %ecx - movl 20(%esi), %eax - adcl %edx, %ebp - movl 20(%edi), %edx - adcl $0, %ebx - / mul a[5]*b[5] - mull %edx - addl %eax, %ecx - movl 16(%esi), %eax - adcl %edx, %ebp - movl 24(%edi), %edx - adcl $0, %ebx - / mul a[4]*b[6] - mull %edx - addl %eax, %ecx - movl 12(%esi), %eax - adcl %edx, %ebp - movl 28(%edi), %edx - adcl $0, %ebx - / mul a[3]*b[7] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl 16(%edi), %edx - adcl $0, %ebx - movl %ecx, 40(%eax) - movl 28(%esi), %eax - / saved r[10] - / ################## Calculate word 11 - xorl %ecx, %ecx - / mul a[7]*b[4] - mull %edx - addl %eax, %ebp - movl 24(%esi), %eax - adcl %edx, %ebx - movl 20(%edi), %edx - adcl $0, %ecx - / mul a[6]*b[5] - mull %edx - addl %eax, %ebp - movl 20(%esi), %eax - adcl %edx, %ebx - movl 24(%edi), %edx - adcl $0, %ecx - / mul a[5]*b[6] - mull %edx - addl %eax, %ebp - movl 16(%esi), %eax - adcl %edx, %ebx - movl 28(%edi), %edx - adcl $0, %ecx - / mul a[4]*b[7] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - movl 20(%edi), %edx - adcl $0, %ecx - movl %ebp, 44(%eax) - movl 28(%esi), %eax - / saved r[11] - / ################## Calculate word 12 - xorl %ebp, %ebp - / mul a[7]*b[5] - mull %edx - addl %eax, %ebx - movl 24(%esi), %eax - adcl %edx, %ecx - movl 24(%edi), %edx - adcl $0, %ebp - / mul a[6]*b[6] - mull %edx - addl %eax, %ebx - movl 20(%esi), %eax - adcl %edx, %ecx - movl 28(%edi), %edx - adcl $0, %ebp - / mul a[5]*b[7] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl 24(%edi), %edx - adcl $0, %ebp - movl %ebx, 48(%eax) - movl 28(%esi), %eax - / saved r[12] - / ################## Calculate word 13 - xorl %ebx, %ebx - / mul a[7]*b[6] - mull %edx - addl %eax, %ecx - movl 24(%esi), %eax - adcl %edx, %ebp - movl 28(%edi), %edx - adcl $0, %ebx - / mul a[6]*b[7] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl 28(%edi), %edx - adcl $0, %ebx - movl %ecx, 52(%eax) - movl 28(%esi), %eax - / saved r[13] - / ################## Calculate word 14 - xorl %ecx, %ecx - / mul a[7]*b[7] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - adcl $0, %ecx - movl %ebp, 56(%eax) - / saved r[14] - / save r[15] - movl %ebx, 60(%eax) - popl %ebx - popl %ebp - popl %edi - popl %esi - ret -.L_bn_mul_comba8_end: - .size bn_mul_comba8,.L_bn_mul_comba8_end-bn_mul_comba8 -.ident "desasm.pl" -.text - .align 16 -.globl bn_mul_comba4 - .type bn_mul_comba4,@function -bn_mul_comba4: - pushl %esi - movl 12(%esp), %esi - pushl %edi - movl 20(%esp), %edi - pushl %ebp - pushl %ebx - xorl %ebx, %ebx - movl (%esi), %eax - xorl %ecx, %ecx - movl (%edi), %edx - / ################## Calculate word 0 - xorl %ebp, %ebp - / mul a[0]*b[0] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl (%edi), %edx - adcl $0, %ebp - movl %ebx, (%eax) - movl 4(%esi), %eax - / saved r[0] - / ################## Calculate word 1 - xorl %ebx, %ebx - / mul a[1]*b[0] - mull %edx - addl %eax, %ecx - movl (%esi), %eax - adcl %edx, %ebp - movl 4(%edi), %edx - adcl $0, %ebx - / mul a[0]*b[1] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl (%edi), %edx - adcl $0, %ebx - movl %ecx, 4(%eax) - movl 8(%esi), %eax - / saved r[1] - / ################## Calculate word 2 - xorl %ecx, %ecx - / mul a[2]*b[0] - mull %edx - addl %eax, %ebp - movl 4(%esi), %eax - adcl %edx, %ebx - movl 4(%edi), %edx - adcl $0, %ecx - / mul a[1]*b[1] - mull %edx - addl %eax, %ebp - movl (%esi), %eax - adcl %edx, %ebx - movl 8(%edi), %edx - adcl $0, %ecx - / mul a[0]*b[2] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - movl (%edi), %edx - adcl $0, %ecx - movl %ebp, 8(%eax) - movl 12(%esi), %eax - / saved r[2] - / ################## Calculate word 3 - xorl %ebp, %ebp - / mul a[3]*b[0] - mull %edx - addl %eax, %ebx - movl 8(%esi), %eax - adcl %edx, %ecx - movl 4(%edi), %edx - adcl $0, %ebp - / mul a[2]*b[1] - mull %edx - addl %eax, %ebx - movl 4(%esi), %eax - adcl %edx, %ecx - movl 8(%edi), %edx - adcl $0, %ebp - / mul a[1]*b[2] - mull %edx - addl %eax, %ebx - movl (%esi), %eax - adcl %edx, %ecx - movl 12(%edi), %edx - adcl $0, %ebp - / mul a[0]*b[3] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - movl 4(%edi), %edx - adcl $0, %ebp - movl %ebx, 12(%eax) - movl 12(%esi), %eax - / saved r[3] - / ################## Calculate word 4 - xorl %ebx, %ebx - / mul a[3]*b[1] - mull %edx - addl %eax, %ecx - movl 8(%esi), %eax - adcl %edx, %ebp - movl 8(%edi), %edx - adcl $0, %ebx - / mul a[2]*b[2] - mull %edx - addl %eax, %ecx - movl 4(%esi), %eax - adcl %edx, %ebp - movl 12(%edi), %edx - adcl $0, %ebx - / mul a[1]*b[3] - mull %edx - addl %eax, %ecx - movl 20(%esp), %eax - adcl %edx, %ebp - movl 8(%edi), %edx - adcl $0, %ebx - movl %ecx, 16(%eax) - movl 12(%esi), %eax - / saved r[4] - / ################## Calculate word 5 - xorl %ecx, %ecx - / mul a[3]*b[2] - mull %edx - addl %eax, %ebp - movl 8(%esi), %eax - adcl %edx, %ebx - movl 12(%edi), %edx - adcl $0, %ecx - / mul a[2]*b[3] - mull %edx - addl %eax, %ebp - movl 20(%esp), %eax - adcl %edx, %ebx - movl 12(%edi), %edx - adcl $0, %ecx - movl %ebp, 20(%eax) - movl 12(%esi), %eax - / saved r[5] - / ################## Calculate word 6 - xorl %ebp, %ebp - / mul a[3]*b[3] - mull %edx - addl %eax, %ebx - movl 20(%esp), %eax - adcl %edx, %ecx - adcl $0, %ebp - movl %ebx, 24(%eax) - / saved r[6] - / save r[7] - movl %ecx, 28(%eax) - popl %ebx - popl %ebp - popl %edi - popl %esi - ret -.L_bn_mul_comba4_end: - .size bn_mul_comba4,.L_bn_mul_comba4_end-bn_mul_comba4 -.ident "desasm.pl" -.text - .align 16 -.globl bn_sqr_comba8 - .type bn_sqr_comba8,@function -bn_sqr_comba8: - pushl %esi - pushl %edi - pushl %ebp - pushl %ebx - movl 20(%esp), %edi - movl 24(%esp), %esi - xorl %ebx, %ebx - xorl %ecx, %ecx - movl (%esi), %eax - / ############### Calculate word 0 - xorl %ebp, %ebp - / sqr a[0]*a[0] - mull %eax - addl %eax, %ebx - adcl %edx, %ecx - movl (%esi), %edx - adcl $0, %ebp - movl %ebx, (%edi) - movl 4(%esi), %eax - / saved r[0] - / ############### Calculate word 1 - xorl %ebx, %ebx - / sqr a[1]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 8(%esi), %eax - adcl $0, %ebx - movl %ecx, 4(%edi) - movl (%esi), %edx - / saved r[1] - / ############### Calculate word 2 - xorl %ecx, %ecx - / sqr a[2]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 4(%esi), %eax - adcl $0, %ecx - / sqr a[1]*a[1] - mull %eax - addl %eax, %ebp - adcl %edx, %ebx - movl (%esi), %edx - adcl $0, %ecx - movl %ebp, 8(%edi) - movl 12(%esi), %eax - / saved r[2] - / ############### Calculate word 3 - xorl %ebp, %ebp - / sqr a[3]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 8(%esi), %eax - adcl $0, %ebp - movl 4(%esi), %edx - / sqr a[2]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 16(%esi), %eax - adcl $0, %ebp - movl %ebx, 12(%edi) - movl (%esi), %edx - / saved r[3] - / ############### Calculate word 4 - xorl %ebx, %ebx - / sqr a[4]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 12(%esi), %eax - adcl $0, %ebx - movl 4(%esi), %edx - / sqr a[3]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 8(%esi), %eax - adcl $0, %ebx - / sqr a[2]*a[2] - mull %eax - addl %eax, %ecx - adcl %edx, %ebp - movl (%esi), %edx - adcl $0, %ebx - movl %ecx, 16(%edi) - movl 20(%esi), %eax - / saved r[4] - / ############### Calculate word 5 - xorl %ecx, %ecx - / sqr a[5]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 16(%esi), %eax - adcl $0, %ecx - movl 4(%esi), %edx - / sqr a[4]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 12(%esi), %eax - adcl $0, %ecx - movl 8(%esi), %edx - / sqr a[3]*a[2] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 24(%esi), %eax - adcl $0, %ecx - movl %ebp, 20(%edi) - movl (%esi), %edx - / saved r[5] - / ############### Calculate word 6 - xorl %ebp, %ebp - / sqr a[6]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 20(%esi), %eax - adcl $0, %ebp - movl 4(%esi), %edx - / sqr a[5]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 16(%esi), %eax - adcl $0, %ebp - movl 8(%esi), %edx - / sqr a[4]*a[2] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 12(%esi), %eax - adcl $0, %ebp - / sqr a[3]*a[3] - mull %eax - addl %eax, %ebx - adcl %edx, %ecx - movl (%esi), %edx - adcl $0, %ebp - movl %ebx, 24(%edi) - movl 28(%esi), %eax - / saved r[6] - / ############### Calculate word 7 - xorl %ebx, %ebx - / sqr a[7]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 24(%esi), %eax - adcl $0, %ebx - movl 4(%esi), %edx - / sqr a[6]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 20(%esi), %eax - adcl $0, %ebx - movl 8(%esi), %edx - / sqr a[5]*a[2] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 16(%esi), %eax - adcl $0, %ebx - movl 12(%esi), %edx - / sqr a[4]*a[3] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 28(%esi), %eax - adcl $0, %ebx - movl %ecx, 28(%edi) - movl 4(%esi), %edx - / saved r[7] - / ############### Calculate word 8 - xorl %ecx, %ecx - / sqr a[7]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 24(%esi), %eax - adcl $0, %ecx - movl 8(%esi), %edx - / sqr a[6]*a[2] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 20(%esi), %eax - adcl $0, %ecx - movl 12(%esi), %edx - / sqr a[5]*a[3] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 16(%esi), %eax - adcl $0, %ecx - / sqr a[4]*a[4] - mull %eax - addl %eax, %ebp - adcl %edx, %ebx - movl 8(%esi), %edx - adcl $0, %ecx - movl %ebp, 32(%edi) - movl 28(%esi), %eax - / saved r[8] - / ############### Calculate word 9 - xorl %ebp, %ebp - / sqr a[7]*a[2] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 24(%esi), %eax - adcl $0, %ebp - movl 12(%esi), %edx - / sqr a[6]*a[3] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 20(%esi), %eax - adcl $0, %ebp - movl 16(%esi), %edx - / sqr a[5]*a[4] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 28(%esi), %eax - adcl $0, %ebp - movl %ebx, 36(%edi) - movl 12(%esi), %edx - / saved r[9] - / ############### Calculate word 10 - xorl %ebx, %ebx - / sqr a[7]*a[3] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 24(%esi), %eax - adcl $0, %ebx - movl 16(%esi), %edx - / sqr a[6]*a[4] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 20(%esi), %eax - adcl $0, %ebx - / sqr a[5]*a[5] - mull %eax - addl %eax, %ecx - adcl %edx, %ebp - movl 16(%esi), %edx - adcl $0, %ebx - movl %ecx, 40(%edi) - movl 28(%esi), %eax - / saved r[10] - / ############### Calculate word 11 - xorl %ecx, %ecx - / sqr a[7]*a[4] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 24(%esi), %eax - adcl $0, %ecx - movl 20(%esi), %edx - / sqr a[6]*a[5] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 28(%esi), %eax - adcl $0, %ecx - movl %ebp, 44(%edi) - movl 20(%esi), %edx - / saved r[11] - / ############### Calculate word 12 - xorl %ebp, %ebp - / sqr a[7]*a[5] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 24(%esi), %eax - adcl $0, %ebp - / sqr a[6]*a[6] - mull %eax - addl %eax, %ebx - adcl %edx, %ecx - movl 24(%esi), %edx - adcl $0, %ebp - movl %ebx, 48(%edi) - movl 28(%esi), %eax - / saved r[12] - / ############### Calculate word 13 - xorl %ebx, %ebx - / sqr a[7]*a[6] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 28(%esi), %eax - adcl $0, %ebx - movl %ecx, 52(%edi) - / saved r[13] - / ############### Calculate word 14 - xorl %ecx, %ecx - / sqr a[7]*a[7] - mull %eax - addl %eax, %ebp - adcl %edx, %ebx - adcl $0, %ecx - movl %ebp, 56(%edi) - / saved r[14] - movl %ebx, 60(%edi) - popl %ebx - popl %ebp - popl %edi - popl %esi - ret -.L_bn_sqr_comba8_end: - .size bn_sqr_comba8,.L_bn_sqr_comba8_end-bn_sqr_comba8 -.ident "desasm.pl" -.text - .align 16 -.globl bn_sqr_comba4 - .type bn_sqr_comba4,@function -bn_sqr_comba4: - pushl %esi - pushl %edi - pushl %ebp - pushl %ebx - movl 20(%esp), %edi - movl 24(%esp), %esi - xorl %ebx, %ebx - xorl %ecx, %ecx - movl (%esi), %eax - / ############### Calculate word 0 - xorl %ebp, %ebp - / sqr a[0]*a[0] - mull %eax - addl %eax, %ebx - adcl %edx, %ecx - movl (%esi), %edx - adcl $0, %ebp - movl %ebx, (%edi) - movl 4(%esi), %eax - / saved r[0] - / ############### Calculate word 1 - xorl %ebx, %ebx - / sqr a[1]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 8(%esi), %eax - adcl $0, %ebx - movl %ecx, 4(%edi) - movl (%esi), %edx - / saved r[1] - / ############### Calculate word 2 - xorl %ecx, %ecx - / sqr a[2]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 4(%esi), %eax - adcl $0, %ecx - / sqr a[1]*a[1] - mull %eax - addl %eax, %ebp - adcl %edx, %ebx - movl (%esi), %edx - adcl $0, %ecx - movl %ebp, 8(%edi) - movl 12(%esi), %eax - / saved r[2] - / ############### Calculate word 3 - xorl %ebp, %ebp - / sqr a[3]*a[0] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 8(%esi), %eax - adcl $0, %ebp - movl 4(%esi), %edx - / sqr a[2]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebp - addl %eax, %ebx - adcl %edx, %ecx - movl 12(%esi), %eax - adcl $0, %ebp - movl %ebx, 12(%edi) - movl 4(%esi), %edx - / saved r[3] - / ############### Calculate word 4 - xorl %ebx, %ebx - / sqr a[3]*a[1] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ebx - addl %eax, %ecx - adcl %edx, %ebp - movl 8(%esi), %eax - adcl $0, %ebx - / sqr a[2]*a[2] - mull %eax - addl %eax, %ecx - adcl %edx, %ebp - movl 8(%esi), %edx - adcl $0, %ebx - movl %ecx, 16(%edi) - movl 12(%esi), %eax - / saved r[4] - / ############### Calculate word 5 - xorl %ecx, %ecx - / sqr a[3]*a[2] - mull %edx - addl %eax, %eax - adcl %edx, %edx - adcl $0, %ecx - addl %eax, %ebp - adcl %edx, %ebx - movl 12(%esi), %eax - adcl $0, %ecx - movl %ebp, 20(%edi) - / saved r[5] - / ############### Calculate word 6 - xorl %ebp, %ebp - / sqr a[3]*a[3] - mull %eax - addl %eax, %ebx - adcl %edx, %ecx - adcl $0, %ebp - movl %ebx, 24(%edi) - / saved r[6] - movl %ecx, 28(%edi) - popl %ebx - popl %ebp - popl %edi - popl %esi - ret -.L_bn_sqr_comba4_end: - .size bn_sqr_comba4,.L_bn_sqr_comba4_end-bn_sqr_comba4 -.ident "desasm.pl"