Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Side by Side Diff: third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm

Issue 2695223006: Roll src/third_party/boringssl/src dc8c1d962..0f28691d3 (Closed)
Patch Set: Use correct parent. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 default rel 1 default rel
2 %define XMMWORD 2 %define XMMWORD
3 %define YMMWORD 3 %define YMMWORD
4 %define ZMMWORD 4 %define ZMMWORD
5 section .text code align=64 5 section .text code align=64
6 6
7 7
8 EXTERN OPENSSL_ia32cap_P 8 EXTERN OPENSSL_ia32cap_P
9 9
10 global bn_mul_mont 10 global bn_mul_mont
11 11
12 ALIGN 16 12 ALIGN 16
13 bn_mul_mont: 13 bn_mul_mont:
14 mov QWORD[8+rsp],rdi ;WIN64 prologue 14 mov QWORD[8+rsp],rdi ;WIN64 prologue
15 mov QWORD[16+rsp],rsi 15 mov QWORD[16+rsp],rsi
16 mov rax,rsp 16 mov rax,rsp
17 $L$SEH_begin_bn_mul_mont: 17 $L$SEH_begin_bn_mul_mont:
18 mov rdi,rcx 18 mov rdi,rcx
19 mov rsi,rdx 19 mov rsi,rdx
20 mov rdx,r8 20 mov rdx,r8
21 mov rcx,r9 21 mov rcx,r9
22 mov r8,QWORD[40+rsp] 22 mov r8,QWORD[40+rsp]
23 mov r9,QWORD[48+rsp] 23 mov r9,QWORD[48+rsp]
24 24
25 25
26 mov r9d,r9d
27 mov rax,rsp
26 test r9d,3 28 test r9d,3
27 jnz NEAR $L$mul_enter 29 jnz NEAR $L$mul_enter
28 cmp r9d,8 30 cmp r9d,8
29 jb NEAR $L$mul_enter 31 jb NEAR $L$mul_enter
30 cmp rdx,rsi 32 cmp rdx,rsi
31 jne NEAR $L$mul4x_enter 33 jne NEAR $L$mul4x_enter
32 test r9d,7 34 test r9d,7
33 jz NEAR $L$sqr8x_enter 35 jz NEAR $L$sqr8x_enter
34 jmp NEAR $L$mul4x_enter 36 jmp NEAR $L$mul4x_enter
35 37
36 ALIGN 16 38 ALIGN 16
37 $L$mul_enter: 39 $L$mul_enter:
38 push rbx 40 push rbx
39 push rbp 41 push rbp
40 push r12 42 push r12
41 push r13 43 push r13
42 push r14 44 push r14
43 push r15 45 push r15
44 46
45 » mov» r9d,r9d 47 » neg» r9
46 » lea» r10,[2+r9]
47 mov r11,rsp 48 mov r11,rsp
48 » neg» r10 49 » lea» r10,[((-16))+r9*8+rsp]
49 » lea» rsp,[r10*8+rsp] 50 » neg» r9
50 » and» rsp,-1024 51 » and» r10,-1024
51 52
52 » mov» QWORD[8+r9*8+rsp],r11 53
54
55
56
57
58
59
60
61 » sub» r11,r10
62 » and» r11,-4096
63 » lea» rsp,[r11*1+r10]
64 » mov» r11,QWORD[rsp]
65 » cmp» rsp,r10
66 » ja» NEAR $L$mul_page_walk
67 » jmp» NEAR $L$mul_page_walk_done
68
69 ALIGN» 16
70 $L$mul_page_walk:
71 » lea» rsp,[((-4096))+rsp]
72 » mov» r11,QWORD[rsp]
73 » cmp» rsp,r10
74 » ja» NEAR $L$mul_page_walk
75 $L$mul_page_walk_done:
76
77 » mov» QWORD[8+r9*8+rsp],rax
53 $L$mul_body: 78 $L$mul_body:
54 mov r12,rdx 79 mov r12,rdx
55 mov r8,QWORD[r8] 80 mov r8,QWORD[r8]
56 mov rbx,QWORD[r12] 81 mov rbx,QWORD[r12]
57 mov rax,QWORD[rsi] 82 mov rax,QWORD[rsi]
58 83
59 xor r14,r14 84 xor r14,r14
60 xor r15,r15 85 xor r15,r15
61 86
62 mov rbp,r8 87 mov rbp,r8
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 ALIGN 16 219 ALIGN 16
195 $L$sub: sbb rax,QWORD[r14*8+rcx] 220 $L$sub: sbb rax,QWORD[r14*8+rcx]
196 mov QWORD[r14*8+rdi],rax 221 mov QWORD[r14*8+rdi],rax
197 mov rax,QWORD[8+r14*8+rsi] 222 mov rax,QWORD[8+r14*8+rsi]
198 lea r14,[1+r14] 223 lea r14,[1+r14]
199 dec r15 224 dec r15
200 jnz NEAR $L$sub 225 jnz NEAR $L$sub
201 226
202 sbb rax,0 227 sbb rax,0
203 xor r14,r14 228 xor r14,r14
229 and rsi,rax
230 not rax
231 mov rcx,rdi
232 and rcx,rax
204 mov r15,r9 233 mov r15,r9
234 or rsi,rcx
205 ALIGN 16 235 ALIGN 16
206 $L$copy: 236 $L$copy:
207 » mov» rsi,QWORD[r14*8+rsp] 237 » mov» rax,QWORD[r14*8+rsi]
208 » mov» rcx,QWORD[r14*8+rdi]
209 » xor» rsi,rcx
210 » and» rsi,rax
211 » xor» rsi,rcx
212 mov QWORD[r14*8+rsp],r14 238 mov QWORD[r14*8+rsp],r14
213 » mov» QWORD[r14*8+rdi],rsi 239 » mov» QWORD[r14*8+rdi],rax
214 lea r14,[1+r14] 240 lea r14,[1+r14]
215 sub r15,1 241 sub r15,1
216 jnz NEAR $L$copy 242 jnz NEAR $L$copy
217 243
218 mov rsi,QWORD[8+r9*8+rsp] 244 mov rsi,QWORD[8+r9*8+rsp]
219 mov rax,1 245 mov rax,1
220 » mov» r15,QWORD[rsi] 246 » mov» r15,QWORD[((-48))+rsi]
221 » mov» r14,QWORD[8+rsi] 247 » mov» r14,QWORD[((-40))+rsi]
222 » mov» r13,QWORD[16+rsi] 248 » mov» r13,QWORD[((-32))+rsi]
223 » mov» r12,QWORD[24+rsi] 249 » mov» r12,QWORD[((-24))+rsi]
224 » mov» rbp,QWORD[32+rsi] 250 » mov» rbp,QWORD[((-16))+rsi]
225 » mov» rbx,QWORD[40+rsi] 251 » mov» rbx,QWORD[((-8))+rsi]
226 » lea» rsp,[48+rsi] 252 » lea» rsp,[rsi]
227 $L$mul_epilogue: 253 $L$mul_epilogue:
228 mov rdi,QWORD[8+rsp] ;WIN64 epilogue 254 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
229 mov rsi,QWORD[16+rsp] 255 mov rsi,QWORD[16+rsp]
230 DB 0F3h,0C3h ;repret 256 DB 0F3h,0C3h ;repret
231 $L$SEH_end_bn_mul_mont: 257 $L$SEH_end_bn_mul_mont:
232 258
233 ALIGN 16 259 ALIGN 16
234 bn_mul4x_mont: 260 bn_mul4x_mont:
235 mov QWORD[8+rsp],rdi ;WIN64 prologue 261 mov QWORD[8+rsp],rdi ;WIN64 prologue
236 mov QWORD[16+rsp],rsi 262 mov QWORD[16+rsp],rsi
237 mov rax,rsp 263 mov rax,rsp
238 $L$SEH_begin_bn_mul4x_mont: 264 $L$SEH_begin_bn_mul4x_mont:
239 mov rdi,rcx 265 mov rdi,rcx
240 mov rsi,rdx 266 mov rsi,rdx
241 mov rdx,r8 267 mov rdx,r8
242 mov rcx,r9 268 mov rcx,r9
243 mov r8,QWORD[40+rsp] 269 mov r8,QWORD[40+rsp]
244 mov r9,QWORD[48+rsp] 270 mov r9,QWORD[48+rsp]
245 271
246 272
273 mov r9d,r9d
274 mov rax,rsp
247 $L$mul4x_enter: 275 $L$mul4x_enter:
248 push rbx 276 push rbx
249 push rbp 277 push rbp
250 push r12 278 push r12
251 push r13 279 push r13
252 push r14 280 push r14
253 push r15 281 push r15
254 282
255 » mov» r9d,r9d 283 » neg» r9
256 » lea» r10,[4+r9]
257 mov r11,rsp 284 mov r11,rsp
258 » neg» r10 285 » lea» r10,[((-32))+r9*8+rsp]
259 » lea» rsp,[r10*8+rsp] 286 » neg» r9
260 » and» rsp,-1024 287 » and» r10,-1024
261 288
262 » mov» QWORD[8+r9*8+rsp],r11 289 » sub» r11,r10
290 » and» r11,-4096
291 » lea» rsp,[r11*1+r10]
292 » mov» r11,QWORD[rsp]
293 » cmp» rsp,r10
294 » ja» NEAR $L$mul4x_page_walk
295 » jmp» NEAR $L$mul4x_page_walk_done
296
297 $L$mul4x_page_walk:
298 » lea» rsp,[((-4096))+rsp]
299 » mov» r11,QWORD[rsp]
300 » cmp» rsp,r10
301 » ja» NEAR $L$mul4x_page_walk
302 $L$mul4x_page_walk_done:
303
304 » mov» QWORD[8+r9*8+rsp],rax
263 $L$mul4x_body: 305 $L$mul4x_body:
264 mov QWORD[16+r9*8+rsp],rdi 306 mov QWORD[16+r9*8+rsp],rdi
265 mov r12,rdx 307 mov r12,rdx
266 mov r8,QWORD[r8] 308 mov r8,QWORD[r8]
267 mov rbx,QWORD[r12] 309 mov rbx,QWORD[r12]
268 mov rax,QWORD[rsi] 310 mov rax,QWORD[rsi]
269 311
270 xor r14,r14 312 xor r14,r14
271 xor r15,r15 313 xor r15,r15
272 314
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 adc rdi,0 595 adc rdi,0
554 add r13,QWORD[r9*8+rsp] 596 add r13,QWORD[r9*8+rsp]
555 adc rdi,0 597 adc rdi,0
556 mov QWORD[((-8))+r15*8+rsp],r13 598 mov QWORD[((-8))+r15*8+rsp],r13
557 mov QWORD[r15*8+rsp],rdi 599 mov QWORD[r15*8+rsp],rdi
558 600
559 cmp r14,r9 601 cmp r14,r9
560 jb NEAR $L$outer4x 602 jb NEAR $L$outer4x
561 mov rdi,QWORD[16+r9*8+rsp] 603 mov rdi,QWORD[16+r9*8+rsp]
562 mov rax,QWORD[rsp] 604 mov rax,QWORD[rsp]
605 pxor xmm0,xmm0
563 mov rdx,QWORD[8+rsp] 606 mov rdx,QWORD[8+rsp]
564 shr r9,2 607 shr r9,2
565 lea rsi,[rsp] 608 lea rsi,[rsp]
566 xor r14,r14 609 xor r14,r14
567 610
568 sub rax,QWORD[rcx] 611 sub rax,QWORD[rcx]
569 mov rbx,QWORD[16+rsi] 612 mov rbx,QWORD[16+rsi]
570 mov rbp,QWORD[24+rsi] 613 mov rbp,QWORD[24+rsi]
571 sbb rdx,QWORD[8+rcx] 614 sbb rdx,QWORD[8+rcx]
572 lea r15,[((-1))+r9] 615 lea r15,[((-1))+r9]
(...skipping 17 matching lines...) Expand all
590 jnz NEAR $L$sub4x 633 jnz NEAR $L$sub4x
591 634
592 mov QWORD[r14*8+rdi],rax 635 mov QWORD[r14*8+rdi],rax
593 mov rax,QWORD[32+r14*8+rsi] 636 mov rax,QWORD[32+r14*8+rsi]
594 sbb rbx,QWORD[16+r14*8+rcx] 637 sbb rbx,QWORD[16+r14*8+rcx]
595 mov QWORD[8+r14*8+rdi],rdx 638 mov QWORD[8+r14*8+rdi],rdx
596 sbb rbp,QWORD[24+r14*8+rcx] 639 sbb rbp,QWORD[24+r14*8+rcx]
597 mov QWORD[16+r14*8+rdi],rbx 640 mov QWORD[16+r14*8+rdi],rbx
598 641
599 sbb rax,0 642 sbb rax,0
600 DB 66h, 48h, 0fh, 6eh, 0c0h
601 punpcklqdq xmm0,xmm0
602 mov QWORD[24+r14*8+rdi],rbp 643 mov QWORD[24+r14*8+rdi],rbp
603 xor r14,r14 644 xor r14,r14
645 and rsi,rax
646 not rax
647 mov rcx,rdi
648 and rcx,rax
649 lea r15,[((-1))+r9]
650 or rsi,rcx
604 651
605 » mov» r15,r9 652 » movdqu» xmm1,XMMWORD[rsi]
606 » pxor» xmm5,xmm5 653 » movdqa» XMMWORD[rsp],xmm0
654 » movdqu» XMMWORD[rdi],xmm1
607 jmp NEAR $L$copy4x 655 jmp NEAR $L$copy4x
608 ALIGN 16 656 ALIGN 16
609 $L$copy4x: 657 $L$copy4x:
610 » movdqu» xmm2,XMMWORD[r14*1+rsp] 658 » movdqu» xmm2,XMMWORD[16+r14*1+rsi]
611 » movdqu» xmm4,XMMWORD[16+r14*1+rsp] 659 » movdqu» xmm1,XMMWORD[32+r14*1+rsi]
612 » movdqu» xmm1,XMMWORD[r14*1+rdi] 660 » movdqa» XMMWORD[16+r14*1+rsp],xmm0
613 » movdqu» xmm3,XMMWORD[16+r14*1+rdi] 661 » movdqu» XMMWORD[16+r14*1+rdi],xmm2
614 » pxor» xmm2,xmm1 662 » movdqa» XMMWORD[32+r14*1+rsp],xmm0
615 » pxor» xmm4,xmm3 663 » movdqu» XMMWORD[32+r14*1+rdi],xmm1
616 » pand» xmm2,xmm0
617 » pand» xmm4,xmm0
618 » pxor» xmm2,xmm1
619 » pxor» xmm4,xmm3
620 » movdqu» XMMWORD[r14*1+rdi],xmm2
621 » movdqu» XMMWORD[16+r14*1+rdi],xmm4
622 » movdqa» XMMWORD[r14*1+rsp],xmm5
623 » movdqa» XMMWORD[16+r14*1+rsp],xmm5
624
625 lea r14,[32+r14] 664 lea r14,[32+r14]
626 dec r15 665 dec r15
627 jnz NEAR $L$copy4x 666 jnz NEAR $L$copy4x
628 667
629 shl r9,2 668 shl r9,2
669 movdqu xmm2,XMMWORD[16+r14*1+rsi]
670 movdqa XMMWORD[16+r14*1+rsp],xmm0
671 movdqu XMMWORD[16+r14*1+rdi],xmm2
630 mov rsi,QWORD[8+r9*8+rsp] 672 mov rsi,QWORD[8+r9*8+rsp]
631 mov rax,1 673 mov rax,1
632 » mov» r15,QWORD[rsi] 674 » mov» r15,QWORD[((-48))+rsi]
633 » mov» r14,QWORD[8+rsi] 675 » mov» r14,QWORD[((-40))+rsi]
634 » mov» r13,QWORD[16+rsi] 676 » mov» r13,QWORD[((-32))+rsi]
635 » mov» r12,QWORD[24+rsi] 677 » mov» r12,QWORD[((-24))+rsi]
636 » mov» rbp,QWORD[32+rsi] 678 » mov» rbp,QWORD[((-16))+rsi]
637 » mov» rbx,QWORD[40+rsi] 679 » mov» rbx,QWORD[((-8))+rsi]
638 » lea» rsp,[48+rsi] 680 » lea» rsp,[rsi]
639 $L$mul4x_epilogue: 681 $L$mul4x_epilogue:
640 mov rdi,QWORD[8+rsp] ;WIN64 epilogue 682 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
641 mov rsi,QWORD[16+rsp] 683 mov rsi,QWORD[16+rsp]
642 DB 0F3h,0C3h ;repret 684 DB 0F3h,0C3h ;repret
643 $L$SEH_end_bn_mul4x_mont: 685 $L$SEH_end_bn_mul4x_mont:
644 EXTERN bn_sqr8x_internal 686 EXTERN bn_sqr8x_internal
645 687
646 688
647 ALIGN 32 689 ALIGN 32
648 bn_sqr8x_mont: 690 bn_sqr8x_mont:
649 mov QWORD[8+rsp],rdi ;WIN64 prologue 691 mov QWORD[8+rsp],rdi ;WIN64 prologue
650 mov QWORD[16+rsp],rsi 692 mov QWORD[16+rsp],rsi
651 mov rax,rsp 693 mov rax,rsp
652 $L$SEH_begin_bn_sqr8x_mont: 694 $L$SEH_begin_bn_sqr8x_mont:
653 mov rdi,rcx 695 mov rdi,rcx
654 mov rsi,rdx 696 mov rsi,rdx
655 mov rdx,r8 697 mov rdx,r8
656 mov rcx,r9 698 mov rcx,r9
657 mov r8,QWORD[40+rsp] 699 mov r8,QWORD[40+rsp]
658 mov r9,QWORD[48+rsp] 700 mov r9,QWORD[48+rsp]
659 701
660 702
703 mov rax,rsp
661 $L$sqr8x_enter: 704 $L$sqr8x_enter:
662 mov rax,rsp
663 push rbx 705 push rbx
664 push rbp 706 push rbp
665 push r12 707 push r12
666 push r13 708 push r13
667 push r14 709 push r14
668 push r15 710 push r15
711 $L$sqr8x_prologue:
669 712
670 mov r10d,r9d 713 mov r10d,r9d
671 shl r9d,3 714 shl r9d,3
672 shl r10,3+2 715 shl r10,3+2
673 neg r9 716 neg r9
674 717
675 718
676 719
677 720
678 721
679 722
680 lea r11,[((-64))+r9*2+rsp] 723 lea r11,[((-64))+r9*2+rsp]
724 mov rbp,rsp
681 mov r8,QWORD[r8] 725 mov r8,QWORD[r8]
682 sub r11,rsi 726 sub r11,rsi
683 and r11,4095 727 and r11,4095
684 cmp r10,r11 728 cmp r10,r11
685 jb NEAR $L$sqr8x_sp_alt 729 jb NEAR $L$sqr8x_sp_alt
686 » sub» rsp,r11 730 » sub» rbp,r11
687 » lea» rsp,[((-64))+r9*2+rsp] 731 » lea» rbp,[((-64))+r9*2+rbp]
688 jmp NEAR $L$sqr8x_sp_done 732 jmp NEAR $L$sqr8x_sp_done
689 733
690 ALIGN 32 734 ALIGN 32
691 $L$sqr8x_sp_alt: 735 $L$sqr8x_sp_alt:
692 lea r10,[((4096-64))+r9*2] 736 lea r10,[((4096-64))+r9*2]
693 » lea» rsp,[((-64))+r9*2+rsp] 737 » lea» rbp,[((-64))+r9*2+rbp]
694 sub r11,r10 738 sub r11,r10
695 mov r10,0 739 mov r10,0
696 cmovc r11,r10 740 cmovc r11,r10
697 » sub» rsp,r11 741 » sub» rbp,r11
698 $L$sqr8x_sp_done: 742 $L$sqr8x_sp_done:
699 » and» rsp,-64 743 » and» rbp,-64
744 » mov» r11,rsp
745 » sub» r11,rbp
746 » and» r11,-4096
747 » lea» rsp,[rbp*1+r11]
748 » mov» r10,QWORD[rsp]
749 » cmp» rsp,rbp
750 » ja» NEAR $L$sqr8x_page_walk
751 » jmp» NEAR $L$sqr8x_page_walk_done
752
753 ALIGN» 16
754 $L$sqr8x_page_walk:
755 » lea» rsp,[((-4096))+rsp]
756 » mov» r10,QWORD[rsp]
757 » cmp» rsp,rbp
758 » ja» NEAR $L$sqr8x_page_walk
759 $L$sqr8x_page_walk_done:
760
700 mov r10,r9 761 mov r10,r9
701 neg r9 762 neg r9
702 763
703 mov QWORD[32+rsp],r8 764 mov QWORD[32+rsp],r8
704 mov QWORD[40+rsp],rax 765 mov QWORD[40+rsp],rax
705 $L$sqr8x_body: 766 $L$sqr8x_body:
706 767
707 DB 102,72,15,110,209 768 DB 102,72,15,110,209
708 pxor xmm0,xmm0 769 pxor xmm0,xmm0
709 DB 102,72,15,110,207 770 DB 102,72,15,110,207
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 883
823 mov rax,QWORD[152+r8] 884 mov rax,QWORD[152+r8]
824 885
825 mov r10d,DWORD[4+r11] 886 mov r10d,DWORD[4+r11]
826 lea r10,[r10*1+rsi] 887 lea r10,[r10*1+rsi]
827 cmp rbx,r10 888 cmp rbx,r10
828 jae NEAR $L$common_seh_tail 889 jae NEAR $L$common_seh_tail
829 890
830 mov r10,QWORD[192+r8] 891 mov r10,QWORD[192+r8]
831 mov rax,QWORD[8+r10*8+rax] 892 mov rax,QWORD[8+r10*8+rax]
832 lea rax,[48+rax]
833 893
834 » mov» rbx,QWORD[((-8))+rax] 894 » jmp» NEAR $L$common_pop_regs
835 » mov» rbp,QWORD[((-16))+rax]
836 » mov» r12,QWORD[((-24))+rax]
837 » mov» r13,QWORD[((-32))+rax]
838 » mov» r14,QWORD[((-40))+rax]
839 » mov» r15,QWORD[((-48))+rax]
840 » mov» QWORD[144+r8],rbx
841 » mov» QWORD[160+r8],rbp
842 » mov» QWORD[216+r8],r12
843 » mov» QWORD[224+r8],r13
844 » mov» QWORD[232+r8],r14
845 » mov» QWORD[240+r8],r15
846
847 » jmp» NEAR $L$common_seh_tail
848 895
849 896
850 897
851 ALIGN 16 898 ALIGN 16
852 sqr_handler: 899 sqr_handler:
853 push rsi 900 push rsi
854 push rdi 901 push rdi
855 push rbx 902 push rbx
856 push rbp 903 push rbp
857 push r12 904 push r12
858 push r13 905 push r13
859 push r14 906 push r14
860 push r15 907 push r15
861 pushfq 908 pushfq
862 sub rsp,64 909 sub rsp,64
863 910
864 mov rax,QWORD[120+r8] 911 mov rax,QWORD[120+r8]
865 mov rbx,QWORD[248+r8] 912 mov rbx,QWORD[248+r8]
866 913
867 mov rsi,QWORD[8+r9] 914 mov rsi,QWORD[8+r9]
868 mov r11,QWORD[56+r9] 915 mov r11,QWORD[56+r9]
869 916
870 mov r10d,DWORD[r11] 917 mov r10d,DWORD[r11]
871 lea r10,[r10*1+rsi] 918 lea r10,[r10*1+rsi]
872 cmp rbx,r10 919 cmp rbx,r10
873 jb NEAR $L$common_seh_tail 920 jb NEAR $L$common_seh_tail
874 921
922 mov r10d,DWORD[4+r11]
923 lea r10,[r10*1+rsi]
924 cmp rbx,r10
925 jb NEAR $L$common_pop_regs
926
875 mov rax,QWORD[152+r8] 927 mov rax,QWORD[152+r8]
876 928
877 » mov» r10d,DWORD[4+r11] 929 » mov» r10d,DWORD[8+r11]
878 lea r10,[r10*1+rsi] 930 lea r10,[r10*1+rsi]
879 cmp rbx,r10 931 cmp rbx,r10
880 jae NEAR $L$common_seh_tail 932 jae NEAR $L$common_seh_tail
881 933
882 mov rax,QWORD[40+rax] 934 mov rax,QWORD[40+rax]
883 935
936 $L$common_pop_regs:
884 mov rbx,QWORD[((-8))+rax] 937 mov rbx,QWORD[((-8))+rax]
885 mov rbp,QWORD[((-16))+rax] 938 mov rbp,QWORD[((-16))+rax]
886 mov r12,QWORD[((-24))+rax] 939 mov r12,QWORD[((-24))+rax]
887 mov r13,QWORD[((-32))+rax] 940 mov r13,QWORD[((-32))+rax]
888 mov r14,QWORD[((-40))+rax] 941 mov r14,QWORD[((-40))+rax]
889 mov r15,QWORD[((-48))+rax] 942 mov r15,QWORD[((-48))+rax]
890 mov QWORD[144+r8],rbx 943 mov QWORD[144+r8],rbx
891 mov QWORD[160+r8],rbp 944 mov QWORD[160+r8],rbp
892 mov QWORD[216+r8],r12 945 mov QWORD[216+r8],r12
893 mov QWORD[224+r8],r13 946 mov QWORD[224+r8],r13
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 DB 9,0,0,0 1006 DB 9,0,0,0
954 DD mul_handler wrt ..imagebase 1007 DD mul_handler wrt ..imagebase
955 DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase 1008 DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase
956 $L$SEH_info_bn_mul4x_mont: 1009 $L$SEH_info_bn_mul4x_mont:
957 DB 9,0,0,0 1010 DB 9,0,0,0
958 DD mul_handler wrt ..imagebase 1011 DD mul_handler wrt ..imagebase
959 DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase 1012 DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase
960 $L$SEH_info_bn_sqr8x_mont: 1013 $L$SEH_info_bn_sqr8x_mont:
961 DB 9,0,0,0 1014 DB 9,0,0,0
962 DD sqr_handler wrt ..imagebase 1015 DD sqr_handler wrt ..imagebase
963 » DD» $L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase 1016 » DD» $L$sqr8x_prologue wrt ..imagebase,$L$sqr8x_body wrt ..imagebase, $L$sqr8x_epilogue wrt ..imagebase
1017 ALIGN» 8
OLDNEW
« no previous file with comments | « third_party/boringssl/win-x86/crypto/bn/x86-mont.asm ('k') | third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont5.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698