Deleted Added
full compact
x86_64-mont5.pl (312826) x86_64-mont5.pl (325337)
1#!/usr/bin/env perl
2
3# ====================================================================
4# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
5# project. The module is, however, dual licensed under OpenSSL and
6# CRYPTOGAMS licenses depending on where you obtain it. For further
7# details see http://www.openssl.org/~appro/cryptogams/.
8# ====================================================================

--- 3076 unchanged lines hidden (view full) ---

3085 .byte 0x67
3086 sbb %rax,%rax # mov %cf,%rax
3087 xor %ebx,%ebx # cf=0, of=0
3088 mov %rax,16+8(%rsp) # offload carry
3089 jmp .Lsqrx8x_loop
3090
3091.align 32
3092.Lsqrx8x_break:
1#!/usr/bin/env perl
2
3# ====================================================================
4# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
5# project. The module is, however, dual licensed under OpenSSL and
6# CRYPTOGAMS licenses depending on where you obtain it. For further
7# details see http://www.openssl.org/~appro/cryptogams/.
8# ====================================================================

--- 3076 unchanged lines hidden (view full) ---

3085 .byte 0x67
3086 sbb %rax,%rax # mov %cf,%rax
3087 xor %ebx,%ebx # cf=0, of=0
3088 mov %rax,16+8(%rsp) # offload carry
3089 jmp .Lsqrx8x_loop
3090
3091.align 32
3092.Lsqrx8x_break:
3093 sub 16+8(%rsp),%r8 # consume last carry
3093 xor $zero,$zero
3094 sub 16+8(%rsp),%rbx # mov 16(%rsp),%cf
3095 adcx $zero,%r8
3094 mov 24+8(%rsp),$carry # initial $tptr, borrow $carry
3096 mov 24+8(%rsp),$carry # initial $tptr, borrow $carry
3097 adcx $zero,%r9
3095 mov 0*8($aptr),%rdx # a[8], modulo-scheduled
3098 mov 0*8($aptr),%rdx # a[8], modulo-scheduled
3096 xor %ebp,%ebp # xor $zero,$zero
3099 adc \$0,%r10
3097 mov %r8,0*8($tptr)
3100 mov %r8,0*8($tptr)
3101 adc \$0,%r11
3102 adc \$0,%r12
3103 adc \$0,%r13
3104 adc \$0,%r14
3105 adc \$0,%r15
3098 cmp $carry,$tptr # cf=0, of=0
3099 je .Lsqrx8x_outer_loop
3100
3101 mov %r9,1*8($tptr)
3102 mov 1*8($carry),%r9
3103 mov %r10,2*8($tptr)
3104 mov 2*8($carry),%r10
3105 mov %r11,3*8($tptr)

--- 713 unchanged lines hidden ---
3106 cmp $carry,$tptr # cf=0, of=0
3107 je .Lsqrx8x_outer_loop
3108
3109 mov %r9,1*8($tptr)
3110 mov 1*8($carry),%r9
3111 mov %r10,2*8($tptr)
3112 mov 2*8($carry),%r10
3113 mov %r11,3*8($tptr)

--- 713 unchanged lines hidden ---