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