VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.9/crypto/genasm-elf/x86_64-mont5.S@ 100942

Last change on this file since 100942 was 97372, checked in by vboxsync, 2 years ago

libs: Switch to openssl-3.0.7, bugref:10317

File size: 35.0 KB
Line 
1.text
2
3
4
5.globl bn_mul_mont_gather5
6.type bn_mul_mont_gather5,@function
7.align 64
8bn_mul_mont_gather5:
9.cfi_startproc
10 movl %r9d,%r9d
11 movq %rsp,%rax
12.cfi_def_cfa_register %rax
13 testl $7,%r9d
14 jnz .Lmul_enter
15 jmp .Lmul4x_enter
16
17.align 16
18.Lmul_enter:
19 movd 8(%rsp),%xmm5
20 pushq %rbx
21.cfi_offset %rbx,-16
22 pushq %rbp
23.cfi_offset %rbp,-24
24 pushq %r12
25.cfi_offset %r12,-32
26 pushq %r13
27.cfi_offset %r13,-40
28 pushq %r14
29.cfi_offset %r14,-48
30 pushq %r15
31.cfi_offset %r15,-56
32
33 negq %r9
34 movq %rsp,%r11
35 leaq -280(%rsp,%r9,8),%r10
36 negq %r9
37 andq $-1024,%r10
38
39
40
41
42
43
44
45
46
47 subq %r10,%r11
48 andq $-4096,%r11
49 leaq (%r10,%r11,1),%rsp
50 movq (%rsp),%r11
51 cmpq %r10,%rsp
52 ja .Lmul_page_walk
53 jmp .Lmul_page_walk_done
54
55.Lmul_page_walk:
56 leaq -4096(%rsp),%rsp
57 movq (%rsp),%r11
58 cmpq %r10,%rsp
59 ja .Lmul_page_walk
60.Lmul_page_walk_done:
61
62 leaq .Linc(%rip),%r10
63 movq %rax,8(%rsp,%r9,8)
64.cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08
65.Lmul_body:
66
67 leaq 128(%rdx),%r12
68 movdqa 0(%r10),%xmm0
69 movdqa 16(%r10),%xmm1
70 leaq 24-112(%rsp,%r9,8),%r10
71 andq $-16,%r10
72
73 pshufd $0,%xmm5,%xmm5
74 movdqa %xmm1,%xmm4
75 movdqa %xmm1,%xmm2
76 paddd %xmm0,%xmm1
77 pcmpeqd %xmm5,%xmm0
78.byte 0x67
79 movdqa %xmm4,%xmm3
80 paddd %xmm1,%xmm2
81 pcmpeqd %xmm5,%xmm1
82 movdqa %xmm0,112(%r10)
83 movdqa %xmm4,%xmm0
84
85 paddd %xmm2,%xmm3
86 pcmpeqd %xmm5,%xmm2
87 movdqa %xmm1,128(%r10)
88 movdqa %xmm4,%xmm1
89
90 paddd %xmm3,%xmm0
91 pcmpeqd %xmm5,%xmm3
92 movdqa %xmm2,144(%r10)
93 movdqa %xmm4,%xmm2
94
95 paddd %xmm0,%xmm1
96 pcmpeqd %xmm5,%xmm0
97 movdqa %xmm3,160(%r10)
98 movdqa %xmm4,%xmm3
99 paddd %xmm1,%xmm2
100 pcmpeqd %xmm5,%xmm1
101 movdqa %xmm0,176(%r10)
102 movdqa %xmm4,%xmm0
103
104 paddd %xmm2,%xmm3
105 pcmpeqd %xmm5,%xmm2
106 movdqa %xmm1,192(%r10)
107 movdqa %xmm4,%xmm1
108
109 paddd %xmm3,%xmm0
110 pcmpeqd %xmm5,%xmm3
111 movdqa %xmm2,208(%r10)
112 movdqa %xmm4,%xmm2
113
114 paddd %xmm0,%xmm1
115 pcmpeqd %xmm5,%xmm0
116 movdqa %xmm3,224(%r10)
117 movdqa %xmm4,%xmm3
118 paddd %xmm1,%xmm2
119 pcmpeqd %xmm5,%xmm1
120 movdqa %xmm0,240(%r10)
121 movdqa %xmm4,%xmm0
122
123 paddd %xmm2,%xmm3
124 pcmpeqd %xmm5,%xmm2
125 movdqa %xmm1,256(%r10)
126 movdqa %xmm4,%xmm1
127
128 paddd %xmm3,%xmm0
129 pcmpeqd %xmm5,%xmm3
130 movdqa %xmm2,272(%r10)
131 movdqa %xmm4,%xmm2
132
133 paddd %xmm0,%xmm1
134 pcmpeqd %xmm5,%xmm0
135 movdqa %xmm3,288(%r10)
136 movdqa %xmm4,%xmm3
137 paddd %xmm1,%xmm2
138 pcmpeqd %xmm5,%xmm1
139 movdqa %xmm0,304(%r10)
140
141 paddd %xmm2,%xmm3
142.byte 0x67
143 pcmpeqd %xmm5,%xmm2
144 movdqa %xmm1,320(%r10)
145
146 pcmpeqd %xmm5,%xmm3
147 movdqa %xmm2,336(%r10)
148 pand 64(%r12),%xmm0
149
150 pand 80(%r12),%xmm1
151 pand 96(%r12),%xmm2
152 movdqa %xmm3,352(%r10)
153 pand 112(%r12),%xmm3
154 por %xmm2,%xmm0
155 por %xmm3,%xmm1
156 movdqa -128(%r12),%xmm4
157 movdqa -112(%r12),%xmm5
158 movdqa -96(%r12),%xmm2
159 pand 112(%r10),%xmm4
160 movdqa -80(%r12),%xmm3
161 pand 128(%r10),%xmm5
162 por %xmm4,%xmm0
163 pand 144(%r10),%xmm2
164 por %xmm5,%xmm1
165 pand 160(%r10),%xmm3
166 por %xmm2,%xmm0
167 por %xmm3,%xmm1
168 movdqa -64(%r12),%xmm4
169 movdqa -48(%r12),%xmm5
170 movdqa -32(%r12),%xmm2
171 pand 176(%r10),%xmm4
172 movdqa -16(%r12),%xmm3
173 pand 192(%r10),%xmm5
174 por %xmm4,%xmm0
175 pand 208(%r10),%xmm2
176 por %xmm5,%xmm1
177 pand 224(%r10),%xmm3
178 por %xmm2,%xmm0
179 por %xmm3,%xmm1
180 movdqa 0(%r12),%xmm4
181 movdqa 16(%r12),%xmm5
182 movdqa 32(%r12),%xmm2
183 pand 240(%r10),%xmm4
184 movdqa 48(%r12),%xmm3
185 pand 256(%r10),%xmm5
186 por %xmm4,%xmm0
187 pand 272(%r10),%xmm2
188 por %xmm5,%xmm1
189 pand 288(%r10),%xmm3
190 por %xmm2,%xmm0
191 por %xmm3,%xmm1
192 por %xmm1,%xmm0
193 pshufd $0x4e,%xmm0,%xmm1
194 por %xmm1,%xmm0
195 leaq 256(%r12),%r12
196.byte 102,72,15,126,195
197
198 movq (%r8),%r8
199 movq (%rsi),%rax
200
201 xorq %r14,%r14
202 xorq %r15,%r15
203
204 movq %r8,%rbp
205 mulq %rbx
206 movq %rax,%r10
207 movq (%rcx),%rax
208
209 imulq %r10,%rbp
210 movq %rdx,%r11
211
212 mulq %rbp
213 addq %rax,%r10
214 movq 8(%rsi),%rax
215 adcq $0,%rdx
216 movq %rdx,%r13
217
218 leaq 1(%r15),%r15
219 jmp .L1st_enter
220
221.align 16
222.L1st:
223 addq %rax,%r13
224 movq (%rsi,%r15,8),%rax
225 adcq $0,%rdx
226 addq %r11,%r13
227 movq %r10,%r11
228 adcq $0,%rdx
229 movq %r13,-16(%rsp,%r15,8)
230 movq %rdx,%r13
231
232.L1st_enter:
233 mulq %rbx
234 addq %rax,%r11
235 movq (%rcx,%r15,8),%rax
236 adcq $0,%rdx
237 leaq 1(%r15),%r15
238 movq %rdx,%r10
239
240 mulq %rbp
241 cmpq %r9,%r15
242 jne .L1st
243
244
245 addq %rax,%r13
246 adcq $0,%rdx
247 addq %r11,%r13
248 adcq $0,%rdx
249 movq %r13,-16(%rsp,%r9,8)
250 movq %rdx,%r13
251 movq %r10,%r11
252
253 xorq %rdx,%rdx
254 addq %r11,%r13
255 adcq $0,%rdx
256 movq %r13,-8(%rsp,%r9,8)
257 movq %rdx,(%rsp,%r9,8)
258
259 leaq 1(%r14),%r14
260 jmp .Louter
261.align 16
262.Louter:
263 leaq 24+128(%rsp,%r9,8),%rdx
264 andq $-16,%rdx
265 pxor %xmm4,%xmm4
266 pxor %xmm5,%xmm5
267 movdqa -128(%r12),%xmm0
268 movdqa -112(%r12),%xmm1
269 movdqa -96(%r12),%xmm2
270 movdqa -80(%r12),%xmm3
271 pand -128(%rdx),%xmm0
272 pand -112(%rdx),%xmm1
273 por %xmm0,%xmm4
274 pand -96(%rdx),%xmm2
275 por %xmm1,%xmm5
276 pand -80(%rdx),%xmm3
277 por %xmm2,%xmm4
278 por %xmm3,%xmm5
279 movdqa -64(%r12),%xmm0
280 movdqa -48(%r12),%xmm1
281 movdqa -32(%r12),%xmm2
282 movdqa -16(%r12),%xmm3
283 pand -64(%rdx),%xmm0
284 pand -48(%rdx),%xmm1
285 por %xmm0,%xmm4
286 pand -32(%rdx),%xmm2
287 por %xmm1,%xmm5
288 pand -16(%rdx),%xmm3
289 por %xmm2,%xmm4
290 por %xmm3,%xmm5
291 movdqa 0(%r12),%xmm0
292 movdqa 16(%r12),%xmm1
293 movdqa 32(%r12),%xmm2
294 movdqa 48(%r12),%xmm3
295 pand 0(%rdx),%xmm0
296 pand 16(%rdx),%xmm1
297 por %xmm0,%xmm4
298 pand 32(%rdx),%xmm2
299 por %xmm1,%xmm5
300 pand 48(%rdx),%xmm3
301 por %xmm2,%xmm4
302 por %xmm3,%xmm5
303 movdqa 64(%r12),%xmm0
304 movdqa 80(%r12),%xmm1
305 movdqa 96(%r12),%xmm2
306 movdqa 112(%r12),%xmm3
307 pand 64(%rdx),%xmm0
308 pand 80(%rdx),%xmm1
309 por %xmm0,%xmm4
310 pand 96(%rdx),%xmm2
311 por %xmm1,%xmm5
312 pand 112(%rdx),%xmm3
313 por %xmm2,%xmm4
314 por %xmm3,%xmm5
315 por %xmm5,%xmm4
316 pshufd $0x4e,%xmm4,%xmm0
317 por %xmm4,%xmm0
318 leaq 256(%r12),%r12
319
320 movq (%rsi),%rax
321.byte 102,72,15,126,195
322
323 xorq %r15,%r15
324 movq %r8,%rbp
325 movq (%rsp),%r10
326
327 mulq %rbx
328 addq %rax,%r10
329 movq (%rcx),%rax
330 adcq $0,%rdx
331
332 imulq %r10,%rbp
333 movq %rdx,%r11
334
335 mulq %rbp
336 addq %rax,%r10
337 movq 8(%rsi),%rax
338 adcq $0,%rdx
339 movq 8(%rsp),%r10
340 movq %rdx,%r13
341
342 leaq 1(%r15),%r15
343 jmp .Linner_enter
344
345.align 16
346.Linner:
347 addq %rax,%r13
348 movq (%rsi,%r15,8),%rax
349 adcq $0,%rdx
350 addq %r10,%r13
351 movq (%rsp,%r15,8),%r10
352 adcq $0,%rdx
353 movq %r13,-16(%rsp,%r15,8)
354 movq %rdx,%r13
355
356.Linner_enter:
357 mulq %rbx
358 addq %rax,%r11
359 movq (%rcx,%r15,8),%rax
360 adcq $0,%rdx
361 addq %r11,%r10
362 movq %rdx,%r11
363 adcq $0,%r11
364 leaq 1(%r15),%r15
365
366 mulq %rbp
367 cmpq %r9,%r15
368 jne .Linner
369
370 addq %rax,%r13
371 adcq $0,%rdx
372 addq %r10,%r13
373 movq (%rsp,%r9,8),%r10
374 adcq $0,%rdx
375 movq %r13,-16(%rsp,%r9,8)
376 movq %rdx,%r13
377
378 xorq %rdx,%rdx
379 addq %r11,%r13
380 adcq $0,%rdx
381 addq %r10,%r13
382 adcq $0,%rdx
383 movq %r13,-8(%rsp,%r9,8)
384 movq %rdx,(%rsp,%r9,8)
385
386 leaq 1(%r14),%r14
387 cmpq %r9,%r14
388 jb .Louter
389
390 xorq %r14,%r14
391 movq (%rsp),%rax
392 leaq (%rsp),%rsi
393 movq %r9,%r15
394 jmp .Lsub
395.align 16
396.Lsub: sbbq (%rcx,%r14,8),%rax
397 movq %rax,(%rdi,%r14,8)
398 movq 8(%rsi,%r14,8),%rax
399 leaq 1(%r14),%r14
400 decq %r15
401 jnz .Lsub
402
403 sbbq $0,%rax
404 movq $-1,%rbx
405 xorq %rax,%rbx
406 xorq %r14,%r14
407 movq %r9,%r15
408
409.Lcopy:
410 movq (%rdi,%r14,8),%rcx
411 movq (%rsp,%r14,8),%rdx
412 andq %rbx,%rcx
413 andq %rax,%rdx
414 movq %r14,(%rsp,%r14,8)
415 orq %rcx,%rdx
416 movq %rdx,(%rdi,%r14,8)
417 leaq 1(%r14),%r14
418 subq $1,%r15
419 jnz .Lcopy
420
421 movq 8(%rsp,%r9,8),%rsi
422.cfi_def_cfa %rsi,8
423 movq $1,%rax
424
425 movq -48(%rsi),%r15
426.cfi_restore %r15
427 movq -40(%rsi),%r14
428.cfi_restore %r14
429 movq -32(%rsi),%r13
430.cfi_restore %r13
431 movq -24(%rsi),%r12
432.cfi_restore %r12
433 movq -16(%rsi),%rbp
434.cfi_restore %rbp
435 movq -8(%rsi),%rbx
436.cfi_restore %rbx
437 leaq (%rsi),%rsp
438.cfi_def_cfa_register %rsp
439.Lmul_epilogue:
440 .byte 0xf3,0xc3
441.cfi_endproc
442.size bn_mul_mont_gather5,.-bn_mul_mont_gather5
443.type bn_mul4x_mont_gather5,@function
444.align 32
445bn_mul4x_mont_gather5:
446.cfi_startproc
447.byte 0x67
448 movq %rsp,%rax
449.cfi_def_cfa_register %rax
450.Lmul4x_enter:
451 pushq %rbx
452.cfi_offset %rbx,-16
453 pushq %rbp
454.cfi_offset %rbp,-24
455 pushq %r12
456.cfi_offset %r12,-32
457 pushq %r13
458.cfi_offset %r13,-40
459 pushq %r14
460.cfi_offset %r14,-48
461 pushq %r15
462.cfi_offset %r15,-56
463.Lmul4x_prologue:
464
465.byte 0x67
466 shll $3,%r9d
467 leaq (%r9,%r9,2),%r10
468 negq %r9
469
470
471
472
473
474
475
476
477
478
479 leaq -320(%rsp,%r9,2),%r11
480 movq %rsp,%rbp
481 subq %rdi,%r11
482 andq $4095,%r11
483 cmpq %r11,%r10
484 jb .Lmul4xsp_alt
485 subq %r11,%rbp
486 leaq -320(%rbp,%r9,2),%rbp
487 jmp .Lmul4xsp_done
488
489.align 32
490.Lmul4xsp_alt:
491 leaq 4096-320(,%r9,2),%r10
492 leaq -320(%rbp,%r9,2),%rbp
493 subq %r10,%r11
494 movq $0,%r10
495 cmovcq %r10,%r11
496 subq %r11,%rbp
497.Lmul4xsp_done:
498 andq $-64,%rbp
499 movq %rsp,%r11
500 subq %rbp,%r11
501 andq $-4096,%r11
502 leaq (%r11,%rbp,1),%rsp
503 movq (%rsp),%r10
504 cmpq %rbp,%rsp
505 ja .Lmul4x_page_walk
506 jmp .Lmul4x_page_walk_done
507
508.Lmul4x_page_walk:
509 leaq -4096(%rsp),%rsp
510 movq (%rsp),%r10
511 cmpq %rbp,%rsp
512 ja .Lmul4x_page_walk
513.Lmul4x_page_walk_done:
514
515 negq %r9
516
517 movq %rax,40(%rsp)
518.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
519.Lmul4x_body:
520
521 call mul4x_internal
522
523 movq 40(%rsp),%rsi
524.cfi_def_cfa %rsi,8
525 movq $1,%rax
526
527 movq -48(%rsi),%r15
528.cfi_restore %r15
529 movq -40(%rsi),%r14
530.cfi_restore %r14
531 movq -32(%rsi),%r13
532.cfi_restore %r13
533 movq -24(%rsi),%r12
534.cfi_restore %r12
535 movq -16(%rsi),%rbp
536.cfi_restore %rbp
537 movq -8(%rsi),%rbx
538.cfi_restore %rbx
539 leaq (%rsi),%rsp
540.cfi_def_cfa_register %rsp
541.Lmul4x_epilogue:
542 .byte 0xf3,0xc3
543.cfi_endproc
544.size bn_mul4x_mont_gather5,.-bn_mul4x_mont_gather5
545
546.type mul4x_internal,@function
547.align 32
548mul4x_internal:
549.cfi_startproc
550 shlq $5,%r9
551 movd 8(%rax),%xmm5
552 leaq .Linc(%rip),%rax
553 leaq 128(%rdx,%r9,1),%r13
554 shrq $5,%r9
555 movdqa 0(%rax),%xmm0
556 movdqa 16(%rax),%xmm1
557 leaq 88-112(%rsp,%r9,1),%r10
558 leaq 128(%rdx),%r12
559
560 pshufd $0,%xmm5,%xmm5
561 movdqa %xmm1,%xmm4
562.byte 0x67,0x67
563 movdqa %xmm1,%xmm2
564 paddd %xmm0,%xmm1
565 pcmpeqd %xmm5,%xmm0
566.byte 0x67
567 movdqa %xmm4,%xmm3
568 paddd %xmm1,%xmm2
569 pcmpeqd %xmm5,%xmm1
570 movdqa %xmm0,112(%r10)
571 movdqa %xmm4,%xmm0
572
573 paddd %xmm2,%xmm3
574 pcmpeqd %xmm5,%xmm2
575 movdqa %xmm1,128(%r10)
576 movdqa %xmm4,%xmm1
577
578 paddd %xmm3,%xmm0
579 pcmpeqd %xmm5,%xmm3
580 movdqa %xmm2,144(%r10)
581 movdqa %xmm4,%xmm2
582
583 paddd %xmm0,%xmm1
584 pcmpeqd %xmm5,%xmm0
585 movdqa %xmm3,160(%r10)
586 movdqa %xmm4,%xmm3
587 paddd %xmm1,%xmm2
588 pcmpeqd %xmm5,%xmm1
589 movdqa %xmm0,176(%r10)
590 movdqa %xmm4,%xmm0
591
592 paddd %xmm2,%xmm3
593 pcmpeqd %xmm5,%xmm2
594 movdqa %xmm1,192(%r10)
595 movdqa %xmm4,%xmm1
596
597 paddd %xmm3,%xmm0
598 pcmpeqd %xmm5,%xmm3
599 movdqa %xmm2,208(%r10)
600 movdqa %xmm4,%xmm2
601
602 paddd %xmm0,%xmm1
603 pcmpeqd %xmm5,%xmm0
604 movdqa %xmm3,224(%r10)
605 movdqa %xmm4,%xmm3
606 paddd %xmm1,%xmm2
607 pcmpeqd %xmm5,%xmm1
608 movdqa %xmm0,240(%r10)
609 movdqa %xmm4,%xmm0
610
611 paddd %xmm2,%xmm3
612 pcmpeqd %xmm5,%xmm2
613 movdqa %xmm1,256(%r10)
614 movdqa %xmm4,%xmm1
615
616 paddd %xmm3,%xmm0
617 pcmpeqd %xmm5,%xmm3
618 movdqa %xmm2,272(%r10)
619 movdqa %xmm4,%xmm2
620
621 paddd %xmm0,%xmm1
622 pcmpeqd %xmm5,%xmm0
623 movdqa %xmm3,288(%r10)
624 movdqa %xmm4,%xmm3
625 paddd %xmm1,%xmm2
626 pcmpeqd %xmm5,%xmm1
627 movdqa %xmm0,304(%r10)
628
629 paddd %xmm2,%xmm3
630.byte 0x67
631 pcmpeqd %xmm5,%xmm2
632 movdqa %xmm1,320(%r10)
633
634 pcmpeqd %xmm5,%xmm3
635 movdqa %xmm2,336(%r10)
636 pand 64(%r12),%xmm0
637
638 pand 80(%r12),%xmm1
639 pand 96(%r12),%xmm2
640 movdqa %xmm3,352(%r10)
641 pand 112(%r12),%xmm3
642 por %xmm2,%xmm0
643 por %xmm3,%xmm1
644 movdqa -128(%r12),%xmm4
645 movdqa -112(%r12),%xmm5
646 movdqa -96(%r12),%xmm2
647 pand 112(%r10),%xmm4
648 movdqa -80(%r12),%xmm3
649 pand 128(%r10),%xmm5
650 por %xmm4,%xmm0
651 pand 144(%r10),%xmm2
652 por %xmm5,%xmm1
653 pand 160(%r10),%xmm3
654 por %xmm2,%xmm0
655 por %xmm3,%xmm1
656 movdqa -64(%r12),%xmm4
657 movdqa -48(%r12),%xmm5
658 movdqa -32(%r12),%xmm2
659 pand 176(%r10),%xmm4
660 movdqa -16(%r12),%xmm3
661 pand 192(%r10),%xmm5
662 por %xmm4,%xmm0
663 pand 208(%r10),%xmm2
664 por %xmm5,%xmm1
665 pand 224(%r10),%xmm3
666 por %xmm2,%xmm0
667 por %xmm3,%xmm1
668 movdqa 0(%r12),%xmm4
669 movdqa 16(%r12),%xmm5
670 movdqa 32(%r12),%xmm2
671 pand 240(%r10),%xmm4
672 movdqa 48(%r12),%xmm3
673 pand 256(%r10),%xmm5
674 por %xmm4,%xmm0
675 pand 272(%r10),%xmm2
676 por %xmm5,%xmm1
677 pand 288(%r10),%xmm3
678 por %xmm2,%xmm0
679 por %xmm3,%xmm1
680 por %xmm1,%xmm0
681 pshufd $0x4e,%xmm0,%xmm1
682 por %xmm1,%xmm0
683 leaq 256(%r12),%r12
684.byte 102,72,15,126,195
685
686 movq %r13,16+8(%rsp)
687 movq %rdi,56+8(%rsp)
688
689 movq (%r8),%r8
690 movq (%rsi),%rax
691 leaq (%rsi,%r9,1),%rsi
692 negq %r9
693
694 movq %r8,%rbp
695 mulq %rbx
696 movq %rax,%r10
697 movq (%rcx),%rax
698
699 imulq %r10,%rbp
700 leaq 64+8(%rsp),%r14
701 movq %rdx,%r11
702
703 mulq %rbp
704 addq %rax,%r10
705 movq 8(%rsi,%r9,1),%rax
706 adcq $0,%rdx
707 movq %rdx,%rdi
708
709 mulq %rbx
710 addq %rax,%r11
711 movq 8(%rcx),%rax
712 adcq $0,%rdx
713 movq %rdx,%r10
714
715 mulq %rbp
716 addq %rax,%rdi
717 movq 16(%rsi,%r9,1),%rax
718 adcq $0,%rdx
719 addq %r11,%rdi
720 leaq 32(%r9),%r15
721 leaq 32(%rcx),%rcx
722 adcq $0,%rdx
723 movq %rdi,(%r14)
724 movq %rdx,%r13
725 jmp .L1st4x
726
727.align 32
728.L1st4x:
729 mulq %rbx
730 addq %rax,%r10
731 movq -16(%rcx),%rax
732 leaq 32(%r14),%r14
733 adcq $0,%rdx
734 movq %rdx,%r11
735
736 mulq %rbp
737 addq %rax,%r13
738 movq -8(%rsi,%r15,1),%rax
739 adcq $0,%rdx
740 addq %r10,%r13
741 adcq $0,%rdx
742 movq %r13,-24(%r14)
743 movq %rdx,%rdi
744
745 mulq %rbx
746 addq %rax,%r11
747 movq -8(%rcx),%rax
748 adcq $0,%rdx
749 movq %rdx,%r10
750
751 mulq %rbp
752 addq %rax,%rdi
753 movq (%rsi,%r15,1),%rax
754 adcq $0,%rdx
755 addq %r11,%rdi
756 adcq $0,%rdx
757 movq %rdi,-16(%r14)
758 movq %rdx,%r13
759
760 mulq %rbx
761 addq %rax,%r10
762 movq 0(%rcx),%rax
763 adcq $0,%rdx
764 movq %rdx,%r11
765
766 mulq %rbp
767 addq %rax,%r13
768 movq 8(%rsi,%r15,1),%rax
769 adcq $0,%rdx
770 addq %r10,%r13
771 adcq $0,%rdx
772 movq %r13,-8(%r14)
773 movq %rdx,%rdi
774
775 mulq %rbx
776 addq %rax,%r11
777 movq 8(%rcx),%rax
778 adcq $0,%rdx
779 movq %rdx,%r10
780
781 mulq %rbp
782 addq %rax,%rdi
783 movq 16(%rsi,%r15,1),%rax
784 adcq $0,%rdx
785 addq %r11,%rdi
786 leaq 32(%rcx),%rcx
787 adcq $0,%rdx
788 movq %rdi,(%r14)
789 movq %rdx,%r13
790
791 addq $32,%r15
792 jnz .L1st4x
793
794 mulq %rbx
795 addq %rax,%r10
796 movq -16(%rcx),%rax
797 leaq 32(%r14),%r14
798 adcq $0,%rdx
799 movq %rdx,%r11
800
801 mulq %rbp
802 addq %rax,%r13
803 movq -8(%rsi),%rax
804 adcq $0,%rdx
805 addq %r10,%r13
806 adcq $0,%rdx
807 movq %r13,-24(%r14)
808 movq %rdx,%rdi
809
810 mulq %rbx
811 addq %rax,%r11
812 movq -8(%rcx),%rax
813 adcq $0,%rdx
814 movq %rdx,%r10
815
816 mulq %rbp
817 addq %rax,%rdi
818 movq (%rsi,%r9,1),%rax
819 adcq $0,%rdx
820 addq %r11,%rdi
821 adcq $0,%rdx
822 movq %rdi,-16(%r14)
823 movq %rdx,%r13
824
825 leaq (%rcx,%r9,1),%rcx
826
827 xorq %rdi,%rdi
828 addq %r10,%r13
829 adcq $0,%rdi
830 movq %r13,-8(%r14)
831
832 jmp .Louter4x
833
834.align 32
835.Louter4x:
836 leaq 16+128(%r14),%rdx
837 pxor %xmm4,%xmm4
838 pxor %xmm5,%xmm5
839 movdqa -128(%r12),%xmm0
840 movdqa -112(%r12),%xmm1
841 movdqa -96(%r12),%xmm2
842 movdqa -80(%r12),%xmm3
843 pand -128(%rdx),%xmm0
844 pand -112(%rdx),%xmm1
845 por %xmm0,%xmm4
846 pand -96(%rdx),%xmm2
847 por %xmm1,%xmm5
848 pand -80(%rdx),%xmm3
849 por %xmm2,%xmm4
850 por %xmm3,%xmm5
851 movdqa -64(%r12),%xmm0
852 movdqa -48(%r12),%xmm1
853 movdqa -32(%r12),%xmm2
854 movdqa -16(%r12),%xmm3
855 pand -64(%rdx),%xmm0
856 pand -48(%rdx),%xmm1
857 por %xmm0,%xmm4
858 pand -32(%rdx),%xmm2
859 por %xmm1,%xmm5
860 pand -16(%rdx),%xmm3
861 por %xmm2,%xmm4
862 por %xmm3,%xmm5
863 movdqa 0(%r12),%xmm0
864 movdqa 16(%r12),%xmm1
865 movdqa 32(%r12),%xmm2
866 movdqa 48(%r12),%xmm3
867 pand 0(%rdx),%xmm0
868 pand 16(%rdx),%xmm1
869 por %xmm0,%xmm4
870 pand 32(%rdx),%xmm2
871 por %xmm1,%xmm5
872 pand 48(%rdx),%xmm3
873 por %xmm2,%xmm4
874 por %xmm3,%xmm5
875 movdqa 64(%r12),%xmm0
876 movdqa 80(%r12),%xmm1
877 movdqa 96(%r12),%xmm2
878 movdqa 112(%r12),%xmm3
879 pand 64(%rdx),%xmm0
880 pand 80(%rdx),%xmm1
881 por %xmm0,%xmm4
882 pand 96(%rdx),%xmm2
883 por %xmm1,%xmm5
884 pand 112(%rdx),%xmm3
885 por %xmm2,%xmm4
886 por %xmm3,%xmm5
887 por %xmm5,%xmm4
888 pshufd $0x4e,%xmm4,%xmm0
889 por %xmm4,%xmm0
890 leaq 256(%r12),%r12
891.byte 102,72,15,126,195
892
893 movq (%r14,%r9,1),%r10
894 movq %r8,%rbp
895 mulq %rbx
896 addq %rax,%r10
897 movq (%rcx),%rax
898 adcq $0,%rdx
899
900 imulq %r10,%rbp
901 movq %rdx,%r11
902 movq %rdi,(%r14)
903
904 leaq (%r14,%r9,1),%r14
905
906 mulq %rbp
907 addq %rax,%r10
908 movq 8(%rsi,%r9,1),%rax
909 adcq $0,%rdx
910 movq %rdx,%rdi
911
912 mulq %rbx
913 addq %rax,%r11
914 movq 8(%rcx),%rax
915 adcq $0,%rdx
916 addq 8(%r14),%r11
917 adcq $0,%rdx
918 movq %rdx,%r10
919
920 mulq %rbp
921 addq %rax,%rdi
922 movq 16(%rsi,%r9,1),%rax
923 adcq $0,%rdx
924 addq %r11,%rdi
925 leaq 32(%r9),%r15
926 leaq 32(%rcx),%rcx
927 adcq $0,%rdx
928 movq %rdx,%r13
929 jmp .Linner4x
930
931.align 32
932.Linner4x:
933 mulq %rbx
934 addq %rax,%r10
935 movq -16(%rcx),%rax
936 adcq $0,%rdx
937 addq 16(%r14),%r10
938 leaq 32(%r14),%r14
939 adcq $0,%rdx
940 movq %rdx,%r11
941
942 mulq %rbp
943 addq %rax,%r13
944 movq -8(%rsi,%r15,1),%rax
945 adcq $0,%rdx
946 addq %r10,%r13
947 adcq $0,%rdx
948 movq %rdi,-32(%r14)
949 movq %rdx,%rdi
950
951 mulq %rbx
952 addq %rax,%r11
953 movq -8(%rcx),%rax
954 adcq $0,%rdx
955 addq -8(%r14),%r11
956 adcq $0,%rdx
957 movq %rdx,%r10
958
959 mulq %rbp
960 addq %rax,%rdi
961 movq (%rsi,%r15,1),%rax
962 adcq $0,%rdx
963 addq %r11,%rdi
964 adcq $0,%rdx
965 movq %r13,-24(%r14)
966 movq %rdx,%r13
967
968 mulq %rbx
969 addq %rax,%r10
970 movq 0(%rcx),%rax
971 adcq $0,%rdx
972 addq (%r14),%r10
973 adcq $0,%rdx
974 movq %rdx,%r11
975
976 mulq %rbp
977 addq %rax,%r13
978 movq 8(%rsi,%r15,1),%rax
979 adcq $0,%rdx
980 addq %r10,%r13
981 adcq $0,%rdx
982 movq %rdi,-16(%r14)
983 movq %rdx,%rdi
984
985 mulq %rbx
986 addq %rax,%r11
987 movq 8(%rcx),%rax
988 adcq $0,%rdx
989 addq 8(%r14),%r11
990 adcq $0,%rdx
991 movq %rdx,%r10
992
993 mulq %rbp
994 addq %rax,%rdi
995 movq 16(%rsi,%r15,1),%rax
996 adcq $0,%rdx
997 addq %r11,%rdi
998 leaq 32(%rcx),%rcx
999 adcq $0,%rdx
1000 movq %r13,-8(%r14)
1001 movq %rdx,%r13
1002
1003 addq $32,%r15
1004 jnz .Linner4x
1005
1006 mulq %rbx
1007 addq %rax,%r10
1008 movq -16(%rcx),%rax
1009 adcq $0,%rdx
1010 addq 16(%r14),%r10
1011 leaq 32(%r14),%r14
1012 adcq $0,%rdx
1013 movq %rdx,%r11
1014
1015 mulq %rbp
1016 addq %rax,%r13
1017 movq -8(%rsi),%rax
1018 adcq $0,%rdx
1019 addq %r10,%r13
1020 adcq $0,%rdx
1021 movq %rdi,-32(%r14)
1022 movq %rdx,%rdi
1023
1024 mulq %rbx
1025 addq %rax,%r11
1026 movq %rbp,%rax
1027 movq -8(%rcx),%rbp
1028 adcq $0,%rdx
1029 addq -8(%r14),%r11
1030 adcq $0,%rdx
1031 movq %rdx,%r10
1032
1033 mulq %rbp
1034 addq %rax,%rdi
1035 movq (%rsi,%r9,1),%rax
1036 adcq $0,%rdx
1037 addq %r11,%rdi
1038 adcq $0,%rdx
1039 movq %r13,-24(%r14)
1040 movq %rdx,%r13
1041
1042 movq %rdi,-16(%r14)
1043 leaq (%rcx,%r9,1),%rcx
1044
1045 xorq %rdi,%rdi
1046 addq %r10,%r13
1047 adcq $0,%rdi
1048 addq (%r14),%r13
1049 adcq $0,%rdi
1050 movq %r13,-8(%r14)
1051
1052 cmpq 16+8(%rsp),%r12
1053 jb .Louter4x
1054 xorq %rax,%rax
1055 subq %r13,%rbp
1056 adcq %r15,%r15
1057 orq %r15,%rdi
1058 subq %rdi,%rax
1059 leaq (%r14,%r9,1),%rbx
1060 movq (%rcx),%r12
1061 leaq (%rcx),%rbp
1062 movq %r9,%rcx
1063 sarq $3+2,%rcx
1064 movq 56+8(%rsp),%rdi
1065 decq %r12
1066 xorq %r10,%r10
1067 movq 8(%rbp),%r13
1068 movq 16(%rbp),%r14
1069 movq 24(%rbp),%r15
1070 jmp .Lsqr4x_sub_entry
1071.cfi_endproc
1072.size mul4x_internal,.-mul4x_internal
1073.globl bn_power5
1074.type bn_power5,@function
1075.align 32
1076bn_power5:
1077.cfi_startproc
1078 movq %rsp,%rax
1079.cfi_def_cfa_register %rax
1080 pushq %rbx
1081.cfi_offset %rbx,-16
1082 pushq %rbp
1083.cfi_offset %rbp,-24
1084 pushq %r12
1085.cfi_offset %r12,-32
1086 pushq %r13
1087.cfi_offset %r13,-40
1088 pushq %r14
1089.cfi_offset %r14,-48
1090 pushq %r15
1091.cfi_offset %r15,-56
1092.Lpower5_prologue:
1093
1094 shll $3,%r9d
1095 leal (%r9,%r9,2),%r10d
1096 negq %r9
1097 movq (%r8),%r8
1098
1099
1100
1101
1102
1103
1104
1105
1106 leaq -320(%rsp,%r9,2),%r11
1107 movq %rsp,%rbp
1108 subq %rdi,%r11
1109 andq $4095,%r11
1110 cmpq %r11,%r10
1111 jb .Lpwr_sp_alt
1112 subq %r11,%rbp
1113 leaq -320(%rbp,%r9,2),%rbp
1114 jmp .Lpwr_sp_done
1115
1116.align 32
1117.Lpwr_sp_alt:
1118 leaq 4096-320(,%r9,2),%r10
1119 leaq -320(%rbp,%r9,2),%rbp
1120 subq %r10,%r11
1121 movq $0,%r10
1122 cmovcq %r10,%r11
1123 subq %r11,%rbp
1124.Lpwr_sp_done:
1125 andq $-64,%rbp
1126 movq %rsp,%r11
1127 subq %rbp,%r11
1128 andq $-4096,%r11
1129 leaq (%r11,%rbp,1),%rsp
1130 movq (%rsp),%r10
1131 cmpq %rbp,%rsp
1132 ja .Lpwr_page_walk
1133 jmp .Lpwr_page_walk_done
1134
1135.Lpwr_page_walk:
1136 leaq -4096(%rsp),%rsp
1137 movq (%rsp),%r10
1138 cmpq %rbp,%rsp
1139 ja .Lpwr_page_walk
1140.Lpwr_page_walk_done:
1141
1142 movq %r9,%r10
1143 negq %r9
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154 movq %r8,32(%rsp)
1155 movq %rax,40(%rsp)
1156.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
1157.Lpower5_body:
1158.byte 102,72,15,110,207
1159.byte 102,72,15,110,209
1160.byte 102,73,15,110,218
1161.byte 102,72,15,110,226
1162
1163 call __bn_sqr8x_internal
1164 call __bn_post4x_internal
1165 call __bn_sqr8x_internal
1166 call __bn_post4x_internal
1167 call __bn_sqr8x_internal
1168 call __bn_post4x_internal
1169 call __bn_sqr8x_internal
1170 call __bn_post4x_internal
1171 call __bn_sqr8x_internal
1172 call __bn_post4x_internal
1173
1174.byte 102,72,15,126,209
1175.byte 102,72,15,126,226
1176 movq %rsi,%rdi
1177 movq 40(%rsp),%rax
1178 leaq 32(%rsp),%r8
1179
1180 call mul4x_internal
1181
1182 movq 40(%rsp),%rsi
1183.cfi_def_cfa %rsi,8
1184 movq $1,%rax
1185 movq -48(%rsi),%r15
1186.cfi_restore %r15
1187 movq -40(%rsi),%r14
1188.cfi_restore %r14
1189 movq -32(%rsi),%r13
1190.cfi_restore %r13
1191 movq -24(%rsi),%r12
1192.cfi_restore %r12
1193 movq -16(%rsi),%rbp
1194.cfi_restore %rbp
1195 movq -8(%rsi),%rbx
1196.cfi_restore %rbx
1197 leaq (%rsi),%rsp
1198.cfi_def_cfa_register %rsp
1199.Lpower5_epilogue:
1200 .byte 0xf3,0xc3
1201.cfi_endproc
1202.size bn_power5,.-bn_power5
1203
1204.globl bn_sqr8x_internal
1205.hidden bn_sqr8x_internal
1206.type bn_sqr8x_internal,@function
1207.align 32
1208bn_sqr8x_internal:
1209__bn_sqr8x_internal:
1210.cfi_startproc
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284 leaq 32(%r10),%rbp
1285 leaq (%rsi,%r9,1),%rsi
1286
1287 movq %r9,%rcx
1288
1289
1290 movq -32(%rsi,%rbp,1),%r14
1291 leaq 48+8(%rsp,%r9,2),%rdi
1292 movq -24(%rsi,%rbp,1),%rax
1293 leaq -32(%rdi,%rbp,1),%rdi
1294 movq -16(%rsi,%rbp,1),%rbx
1295 movq %rax,%r15
1296
1297 mulq %r14
1298 movq %rax,%r10
1299 movq %rbx,%rax
1300 movq %rdx,%r11
1301 movq %r10,-24(%rdi,%rbp,1)
1302
1303 mulq %r14
1304 addq %rax,%r11
1305 movq %rbx,%rax
1306 adcq $0,%rdx
1307 movq %r11,-16(%rdi,%rbp,1)
1308 movq %rdx,%r10
1309
1310
1311 movq -8(%rsi,%rbp,1),%rbx
1312 mulq %r15
1313 movq %rax,%r12
1314 movq %rbx,%rax
1315 movq %rdx,%r13
1316
1317 leaq (%rbp),%rcx
1318 mulq %r14
1319 addq %rax,%r10
1320 movq %rbx,%rax
1321 movq %rdx,%r11
1322 adcq $0,%r11
1323 addq %r12,%r10
1324 adcq $0,%r11
1325 movq %r10,-8(%rdi,%rcx,1)
1326 jmp .Lsqr4x_1st
1327
1328.align 32
1329.Lsqr4x_1st:
1330 movq (%rsi,%rcx,1),%rbx
1331 mulq %r15
1332 addq %rax,%r13
1333 movq %rbx,%rax
1334 movq %rdx,%r12
1335 adcq $0,%r12
1336
1337 mulq %r14
1338 addq %rax,%r11
1339 movq %rbx,%rax
1340 movq 8(%rsi,%rcx,1),%rbx
1341 movq %rdx,%r10
1342 adcq $0,%r10
1343 addq %r13,%r11
1344 adcq $0,%r10
1345
1346
1347 mulq %r15
1348 addq %rax,%r12
1349 movq %rbx,%rax
1350 movq %r11,(%rdi,%rcx,1)
1351 movq %rdx,%r13
1352 adcq $0,%r13
1353
1354 mulq %r14
1355 addq %rax,%r10
1356 movq %rbx,%rax
1357 movq 16(%rsi,%rcx,1),%rbx
1358 movq %rdx,%r11
1359 adcq $0,%r11
1360 addq %r12,%r10
1361 adcq $0,%r11
1362
1363 mulq %r15
1364 addq %rax,%r13
1365 movq %rbx,%rax
1366 movq %r10,8(%rdi,%rcx,1)
1367 movq %rdx,%r12
1368 adcq $0,%r12
1369
1370 mulq %r14
1371 addq %rax,%r11
1372 movq %rbx,%rax
1373 movq 24(%rsi,%rcx,1),%rbx
1374 movq %rdx,%r10
1375 adcq $0,%r10
1376 addq %r13,%r11
1377 adcq $0,%r10
1378
1379
1380 mulq %r15
1381 addq %rax,%r12
1382 movq %rbx,%rax
1383 movq %r11,16(%rdi,%rcx,1)
1384 movq %rdx,%r13
1385 adcq $0,%r13
1386 leaq 32(%rcx),%rcx
1387
1388 mulq %r14
1389 addq %rax,%r10
1390 movq %rbx,%rax
1391 movq %rdx,%r11
1392 adcq $0,%r11
1393 addq %r12,%r10
1394 adcq $0,%r11
1395 movq %r10,-8(%rdi,%rcx,1)
1396
1397 cmpq $0,%rcx
1398 jne .Lsqr4x_1st
1399
1400 mulq %r15
1401 addq %rax,%r13
1402 leaq 16(%rbp),%rbp
1403 adcq $0,%rdx
1404 addq %r11,%r13
1405 adcq $0,%rdx
1406
1407 movq %r13,(%rdi)
1408 movq %rdx,%r12
1409 movq %rdx,8(%rdi)
1410 jmp .Lsqr4x_outer
1411
1412.align 32
1413.Lsqr4x_outer:
1414 movq -32(%rsi,%rbp,1),%r14
1415 leaq 48+8(%rsp,%r9,2),%rdi
1416 movq -24(%rsi,%rbp,1),%rax
1417 leaq -32(%rdi,%rbp,1),%rdi
1418 movq -16(%rsi,%rbp,1),%rbx
1419 movq %rax,%r15
1420
1421 mulq %r14
1422 movq -24(%rdi,%rbp,1),%r10
1423 addq %rax,%r10
1424 movq %rbx,%rax
1425 adcq $0,%rdx
1426 movq %r10,-24(%rdi,%rbp,1)
1427 movq %rdx,%r11
1428
1429 mulq %r14
1430 addq %rax,%r11
1431 movq %rbx,%rax
1432 adcq $0,%rdx
1433 addq -16(%rdi,%rbp,1),%r11
1434 movq %rdx,%r10
1435 adcq $0,%r10
1436 movq %r11,-16(%rdi,%rbp,1)
1437
1438 xorq %r12,%r12
1439
1440 movq -8(%rsi,%rbp,1),%rbx
1441 mulq %r15
1442 addq %rax,%r12
1443 movq %rbx,%rax
1444 adcq $0,%rdx
1445 addq -8(%rdi,%rbp,1),%r12
1446 movq %rdx,%r13
1447 adcq $0,%r13
1448
1449 mulq %r14
1450 addq %rax,%r10
1451 movq %rbx,%rax
1452 adcq $0,%rdx
1453 addq %r12,%r10
1454 movq %rdx,%r11
1455 adcq $0,%r11
1456 movq %r10,-8(%rdi,%rbp,1)
1457
1458 leaq (%rbp),%rcx
1459 jmp .Lsqr4x_inner
1460
1461.align 32
1462.Lsqr4x_inner:
1463 movq (%rsi,%rcx,1),%rbx
1464 mulq %r15
1465 addq %rax,%r13
1466 movq %rbx,%rax
1467 movq %rdx,%r12
1468 adcq $0,%r12
1469 addq (%rdi,%rcx,1),%r13
1470 adcq $0,%r12
1471
1472.byte 0x67
1473 mulq %r14
1474 addq %rax,%r11
1475 movq %rbx,%rax
1476 movq 8(%rsi,%rcx,1),%rbx
1477 movq %rdx,%r10
1478 adcq $0,%r10
1479 addq %r13,%r11
1480 adcq $0,%r10
1481
1482 mulq %r15
1483 addq %rax,%r12
1484 movq %r11,(%rdi,%rcx,1)
1485 movq %rbx,%rax
1486 movq %rdx,%r13
1487 adcq $0,%r13
1488 addq 8(%rdi,%rcx,1),%r12
1489 leaq 16(%rcx),%rcx
1490 adcq $0,%r13
1491
1492 mulq %r14
1493 addq %rax,%r10
1494 movq %rbx,%rax
1495 adcq $0,%rdx
1496 addq %r12,%r10
1497 movq %rdx,%r11
1498 adcq $0,%r11
1499 movq %r10,-8(%rdi,%rcx,1)
1500
1501 cmpq $0,%rcx
1502 jne .Lsqr4x_inner
1503
1504.byte 0x67
1505 mulq %r15
1506 addq %rax,%r13
1507 adcq $0,%rdx
1508 addq %r11,%r13
1509 adcq $0,%rdx
1510
1511 movq %r13,(%rdi)
1512 movq %rdx,%r12
1513 movq %rdx,8(%rdi)
1514
1515 addq $16,%rbp
1516 jnz .Lsqr4x_outer
1517
1518
1519 movq -32(%rsi),%r14
1520 leaq 48+8(%rsp,%r9,2),%rdi
1521 movq -24(%rsi),%rax
1522 leaq -32(%rdi,%rbp,1),%rdi
1523 movq -16(%rsi),%rbx
1524 movq %rax,%r15
1525
1526 mulq %r14
1527 addq %rax,%r10
1528 movq %rbx,%rax
1529 movq %rdx,%r11
1530 adcq $0,%r11
1531
1532 mulq %r14
1533 addq %rax,%r11
1534 movq %rbx,%rax
1535 movq %r10,-24(%rdi)
1536 movq %rdx,%r10
1537 adcq $0,%r10
1538 addq %r13,%r11
1539 movq -8(%rsi),%rbx
1540 adcq $0,%r10
1541
1542 mulq %r15
1543 addq %rax,%r12
1544 movq %rbx,%rax
1545 movq %r11,-16(%rdi)
1546 movq %rdx,%r13
1547 adcq $0,%r13
1548
1549 mulq %r14
1550 addq %rax,%r10
1551 movq %rbx,%rax
1552 movq %rdx,%r11
1553 adcq $0,%r11
1554 addq %r12,%r10
1555 adcq $0,%r11
1556 movq %r10,-8(%rdi)
1557
1558 mulq %r15
1559 addq %rax,%r13
1560 movq -16(%rsi),%rax
1561 adcq $0,%rdx
1562 addq %r11,%r13
1563 adcq $0,%rdx
1564
1565 movq %r13,(%rdi)
1566 movq %rdx,%r12
1567 movq %rdx,8(%rdi)
1568
1569 mulq %rbx
1570 addq $16,%rbp
1571 xorq %r14,%r14
1572 subq %r9,%rbp
1573 xorq %r15,%r15
1574
1575 addq %r12,%rax
1576 adcq $0,%rdx
1577 movq %rax,8(%rdi)
1578 movq %rdx,16(%rdi)
1579 movq %r15,24(%rdi)
1580
1581 movq -16(%rsi,%rbp,1),%rax
1582 leaq 48+8(%rsp),%rdi
1583 xorq %r10,%r10
1584 movq 8(%rdi),%r11
1585
1586 leaq (%r14,%r10,2),%r12
1587 shrq $63,%r10
1588 leaq (%rcx,%r11,2),%r13
1589 shrq $63,%r11
1590 orq %r10,%r13
1591 movq 16(%rdi),%r10
1592 movq %r11,%r14
1593 mulq %rax
1594 negq %r15
1595 movq 24(%rdi),%r11
1596 adcq %rax,%r12
1597 movq -8(%rsi,%rbp,1),%rax
1598 movq %r12,(%rdi)
1599 adcq %rdx,%r13
1600
1601 leaq (%r14,%r10,2),%rbx
1602 movq %r13,8(%rdi)
1603 sbbq %r15,%r15
1604 shrq $63,%r10
1605 leaq (%rcx,%r11,2),%r8
1606 shrq $63,%r11
1607 orq %r10,%r8
1608 movq 32(%rdi),%r10
1609 movq %r11,%r14
1610 mulq %rax
1611 negq %r15
1612 movq 40(%rdi),%r11
1613 adcq %rax,%rbx
1614 movq 0(%rsi,%rbp,1),%rax
1615 movq %rbx,16(%rdi)
1616 adcq %rdx,%r8
1617 leaq 16(%rbp),%rbp
1618 movq %r8,24(%rdi)
1619 sbbq %r15,%r15
1620 leaq 64(%rdi),%rdi
1621 jmp .Lsqr4x_shift_n_add
1622
1623.align 32
1624.Lsqr4x_shift_n_add:
1625 leaq (%r14,%r10,2),%r12
1626 shrq $63,%r10
1627 leaq (%rcx,%r11,2),%r13
1628 shrq $63,%r11
1629 orq %r10,%r13
1630 movq -16(%rdi),%r10
1631 movq %r11,%r14
1632 mulq %rax
1633 negq %r15
1634 movq -8(%rdi),%r11
1635 adcq %rax,%r12
1636 movq -8(%rsi,%rbp,1),%rax
1637 movq %r12,-32(%rdi)
1638 adcq %rdx,%r13
1639
1640 leaq (%r14,%r10,2),%rbx
1641 movq %r13,-24(%rdi)
1642 sbbq %r15,%r15
1643 shrq $63,%r10
1644 leaq (%rcx,%r11,2),%r8
1645 shrq $63,%r11
1646 orq %r10,%r8
1647 movq 0(%rdi),%r10
1648 movq %r11,%r14
1649 mulq %rax
1650 negq %r15
1651 movq 8(%rdi),%r11
1652 adcq %rax,%rbx
1653 movq 0(%rsi,%rbp,1),%rax
1654 movq %rbx,-16(%rdi)
1655 adcq %rdx,%r8
1656
1657 leaq (%r14,%r10,2),%r12
1658 movq %r8,-8(%rdi)
1659 sbbq %r15,%r15
1660 shrq $63,%r10
1661 leaq (%rcx,%r11,2),%r13
1662 shrq $63,%r11
1663 orq %r10,%r13
1664 movq 16(%rdi),%r10
1665 movq %r11,%r14
1666 mulq %rax
1667 negq %r15
1668 movq 24(%rdi),%r11
1669 adcq %rax,%r12
1670 movq 8(%rsi,%rbp,1),%rax
1671 movq %r12,0(%rdi)
1672 adcq %rdx,%r13
1673
1674 leaq (%r14,%r10,2),%rbx
1675 movq %r13,8(%rdi)
1676 sbbq %r15,%r15
1677 shrq $63,%r10
1678 leaq (%rcx,%r11,2),%r8
1679 shrq $63,%r11
1680 orq %r10,%r8
1681 movq 32(%rdi),%r10
1682 movq %r11,%r14
1683 mulq %rax
1684 negq %r15
1685 movq 40(%rdi),%r11
1686 adcq %rax,%rbx
1687 movq 16(%rsi,%rbp,1),%rax
1688 movq %rbx,16(%rdi)
1689 adcq %rdx,%r8
1690 movq %r8,24(%rdi)
1691 sbbq %r15,%r15
1692 leaq 64(%rdi),%rdi
1693 addq $32,%rbp
1694 jnz .Lsqr4x_shift_n_add
1695
1696 leaq (%r14,%r10,2),%r12
1697.byte 0x67
1698 shrq $63,%r10
1699 leaq (%rcx,%r11,2),%r13
1700 shrq $63,%r11
1701 orq %r10,%r13
1702 movq -16(%rdi),%r10
1703 movq %r11,%r14
1704 mulq %rax
1705 negq %r15
1706 movq -8(%rdi),%r11
1707 adcq %rax,%r12
1708 movq -8(%rsi),%rax
1709 movq %r12,-32(%rdi)
1710 adcq %rdx,%r13
1711
1712 leaq (%r14,%r10,2),%rbx
1713 movq %r13,-24(%rdi)
1714 sbbq %r15,%r15
1715 shrq $63,%r10
1716 leaq (%rcx,%r11,2),%r8
1717 shrq $63,%r11
1718 orq %r10,%r8
1719 mulq %rax
1720 negq %r15
1721 adcq %rax,%rbx
1722 adcq %rdx,%r8
1723 movq %rbx,-16(%rdi)
1724 movq %r8,-8(%rdi)
1725.byte 102,72,15,126,213
1726__bn_sqr8x_reduction:
1727 xorq %rax,%rax
1728 leaq (%r9,%rbp,1),%rcx
1729 leaq 48+8(%rsp,%r9,2),%rdx
1730 movq %rcx,0+8(%rsp)
1731 leaq 48+8(%rsp,%r9,1),%rdi
1732 movq %rdx,8+8(%rsp)
1733 negq %r9
1734 jmp .L8x_reduction_loop
1735
1736.align 32
1737.L8x_reduction_loop:
1738 leaq (%rdi,%r9,1),%rdi
1739.byte 0x66
1740 movq 0(%rdi),%rbx
1741 movq 8(%rdi),%r9
1742 movq 16(%rdi),%r10
1743 movq 24(%rdi),%r11
1744 movq 32(%rdi),%r12
1745 movq 40(%rdi),%r13
1746 movq 48(%rdi),%r14
1747 movq 56(%rdi),%r15
1748 movq %rax,(%rdx)
1749 leaq 64(%rdi),%rdi
1750
1751.byte 0x67
1752 movq %rbx,%r8
1753 imulq 32+8(%rsp),%rbx
1754 movq 0(%rbp),%rax
1755 movl $8,%ecx
1756 jmp .L8x_reduce
1757
1758.align 32
1759.L8x_reduce:
1760 mulq %rbx
1761 movq 8(%rbp),%rax
1762 negq %r8
1763 movq %rdx,%r8
1764 adcq $0,%r8
1765
1766 mulq %rbx
1767 addq %rax,%r9
1768 movq 16(%rbp),%rax
1769 adcq $0,%rdx
1770 addq %r9,%r8
1771 movq %rbx,48-8+8(%rsp,%rcx,8)
1772 movq %rdx,%r9
1773 adcq $0,%r9
1774
1775 mulq %rbx
1776 addq %rax,%r10
1777 movq 24(%rbp),%rax
1778 adcq $0,%rdx
1779 addq %r10,%r9
1780 movq 32+8(%rsp),%rsi
1781 movq %rdx,%r10
1782 adcq $0,%r10
1783
1784 mulq %rbx
1785 addq %rax,%r11
1786 movq 32(%rbp),%rax
1787 adcq $0,%rdx
1788 imulq %r8,%rsi
1789 addq %r11,%r10
1790 movq %rdx,%r11
1791 adcq $0,%r11
1792
1793 mulq %rbx
1794 addq %rax,%r12
1795 movq 40(%rbp),%rax
1796 adcq $0,%rdx
1797 addq %r12,%r11
1798 movq %rdx,%r12
1799 adcq $0,%r12
1800
1801 mulq %rbx
1802 addq %rax,%r13
1803 movq 48(%rbp),%rax
1804 adcq $0,%rdx
1805 addq %r13,%r12
1806 movq %rdx,%r13
1807 adcq $0,%r13
1808
1809 mulq %rbx
1810 addq %rax,%r14
1811 movq 56(%rbp),%rax
1812 adcq $0,%rdx
1813 addq %r14,%r13
1814 movq %rdx,%r14
1815 adcq $0,%r14
1816
1817 mulq %rbx
1818 movq %rsi,%rbx
1819 addq %rax,%r15
1820 movq 0(%rbp),%rax
1821 adcq $0,%rdx
1822 addq %r15,%r14
1823 movq %rdx,%r15
1824 adcq $0,%r15
1825
1826 decl %ecx
1827 jnz .L8x_reduce
1828
1829 leaq 64(%rbp),%rbp
1830 xorq %rax,%rax
1831 movq 8+8(%rsp),%rdx
1832 cmpq 0+8(%rsp),%rbp
1833 jae .L8x_no_tail
1834
1835.byte 0x66
1836 addq 0(%rdi),%r8
1837 adcq 8(%rdi),%r9
1838 adcq 16(%rdi),%r10
1839 adcq 24(%rdi),%r11
1840 adcq 32(%rdi),%r12
1841 adcq 40(%rdi),%r13
1842 adcq 48(%rdi),%r14
1843 adcq 56(%rdi),%r15
1844 sbbq %rsi,%rsi
1845
1846 movq 48+56+8(%rsp),%rbx
1847 movl $8,%ecx
1848 movq 0(%rbp),%rax
1849 jmp .L8x_tail
1850
1851.align 32
1852.L8x_tail:
1853 mulq %rbx
1854 addq %rax,%r8
1855 movq 8(%rbp),%rax
1856 movq %r8,(%rdi)
1857 movq %rdx,%r8
1858 adcq $0,%r8
1859
1860 mulq %rbx
1861 addq %rax,%r9
1862 movq 16(%rbp),%rax
1863 adcq $0,%rdx
1864 addq %r9,%r8
1865 leaq 8(%rdi),%rdi
1866 movq %rdx,%r9
1867 adcq $0,%r9
1868
1869 mulq %rbx
1870 addq %rax,%r10
1871 movq 24(%rbp),%rax
1872 adcq $0,%rdx
1873 addq %r10,%r9
1874 movq %rdx,%r10
1875 adcq $0,%r10
1876
1877 mulq %rbx
1878 addq %rax,%r11
1879 movq 32(%rbp),%rax
1880 adcq $0,%rdx
1881 addq %r11,%r10
1882 movq %rdx,%r11
1883 adcq $0,%r11
1884
1885 mulq %rbx
1886 addq %rax,%r12
1887 movq 40(%rbp),%rax
1888 adcq $0,%rdx
1889 addq %r12,%r11
1890 movq %rdx,%r12
1891 adcq $0,%r12
1892
1893 mulq %rbx
1894 addq %rax,%r13
1895 movq 48(%rbp),%rax
1896 adcq $0,%rdx
1897 addq %r13,%r12
1898 movq %rdx,%r13
1899 adcq $0,%r13
1900
1901 mulq %rbx
1902 addq %rax,%r14
1903 movq 56(%rbp),%rax
1904 adcq $0,%rdx
1905 addq %r14,%r13
1906 movq %rdx,%r14
1907 adcq $0,%r14
1908
1909 mulq %rbx
1910 movq 48-16+8(%rsp,%rcx,8),%rbx
1911 addq %rax,%r15
1912 adcq $0,%rdx
1913 addq %r15,%r14
1914 movq 0(%rbp),%rax
1915 movq %rdx,%r15
1916 adcq $0,%r15
1917
1918 decl %ecx
1919 jnz .L8x_tail
1920
1921 leaq 64(%rbp),%rbp
1922 movq 8+8(%rsp),%rdx
1923 cmpq 0+8(%rsp),%rbp
1924 jae .L8x_tail_done
1925
1926 movq 48+56+8(%rsp),%rbx
1927 negq %rsi
1928 movq 0(%rbp),%rax
1929 adcq 0(%rdi),%r8
1930 adcq 8(%rdi),%r9
1931 adcq 16(%rdi),%r10
1932 adcq 24(%rdi),%r11
1933 adcq 32(%rdi),%r12
1934 adcq 40(%rdi),%r13
1935 adcq 48(%rdi),%r14
1936 adcq 56(%rdi),%r15
1937 sbbq %rsi,%rsi
1938
1939 movl $8,%ecx
1940 jmp .L8x_tail
1941
1942.align 32
1943.L8x_tail_done:
1944 xorq %rax,%rax
1945 addq (%rdx),%r8
1946 adcq $0,%r9
1947 adcq $0,%r10
1948 adcq $0,%r11
1949 adcq $0,%r12
1950 adcq $0,%r13
1951 adcq $0,%r14
1952 adcq $0,%r15
1953 adcq $0,%rax
1954
1955 negq %rsi
1956.L8x_no_tail:
1957 adcq 0(%rdi),%r8
1958 adcq 8(%rdi),%r9
1959 adcq 16(%rdi),%r10
1960 adcq 24(%rdi),%r11
1961 adcq 32(%rdi),%r12
1962 adcq 40(%rdi),%r13
1963 adcq 48(%rdi),%r14
1964 adcq 56(%rdi),%r15
1965 adcq $0,%rax
1966 movq -8(%rbp),%rcx
1967 xorq %rsi,%rsi
1968
1969.byte 102,72,15,126,213
1970
1971 movq %r8,0(%rdi)
1972 movq %r9,8(%rdi)
1973.byte 102,73,15,126,217
1974 movq %r10,16(%rdi)
1975 movq %r11,24(%rdi)
1976 movq %r12,32(%rdi)
1977 movq %r13,40(%rdi)
1978 movq %r14,48(%rdi)
1979 movq %r15,56(%rdi)
1980 leaq 64(%rdi),%rdi
1981
1982 cmpq %rdx,%rdi
1983 jb .L8x_reduction_loop
1984 .byte 0xf3,0xc3
1985.cfi_endproc
1986.size bn_sqr8x_internal,.-bn_sqr8x_internal
1987.type __bn_post4x_internal,@function
1988.align 32
1989__bn_post4x_internal:
1990.cfi_startproc
1991 movq 0(%rbp),%r12
1992 leaq (%rdi,%r9,1),%rbx
1993 movq %r9,%rcx
1994.byte 102,72,15,126,207
1995 negq %rax
1996.byte 102,72,15,126,206
1997 sarq $3+2,%rcx
1998 decq %r12
1999 xorq %r10,%r10
2000 movq 8(%rbp),%r13
2001 movq 16(%rbp),%r14
2002 movq 24(%rbp),%r15
2003 jmp .Lsqr4x_sub_entry
2004
2005.align 16
2006.Lsqr4x_sub:
2007 movq 0(%rbp),%r12
2008 movq 8(%rbp),%r13
2009 movq 16(%rbp),%r14
2010 movq 24(%rbp),%r15
2011.Lsqr4x_sub_entry:
2012 leaq 32(%rbp),%rbp
2013 notq %r12
2014 notq %r13
2015 notq %r14
2016 notq %r15
2017 andq %rax,%r12
2018 andq %rax,%r13
2019 andq %rax,%r14
2020 andq %rax,%r15
2021
2022 negq %r10
2023 adcq 0(%rbx),%r12
2024 adcq 8(%rbx),%r13
2025 adcq 16(%rbx),%r14
2026 adcq 24(%rbx),%r15
2027 movq %r12,0(%rdi)
2028 leaq 32(%rbx),%rbx
2029 movq %r13,8(%rdi)
2030 sbbq %r10,%r10
2031 movq %r14,16(%rdi)
2032 movq %r15,24(%rdi)
2033 leaq 32(%rdi),%rdi
2034
2035 incq %rcx
2036 jnz .Lsqr4x_sub
2037
2038 movq %r9,%r10
2039 negq %r9
2040 .byte 0xf3,0xc3
2041.cfi_endproc
2042.size __bn_post4x_internal,.-__bn_post4x_internal
2043.globl bn_get_bits5
2044.type bn_get_bits5,@function
2045.align 16
2046bn_get_bits5:
2047.cfi_startproc
2048 leaq 0(%rdi),%r10
2049 leaq 1(%rdi),%r11
2050 movl %esi,%ecx
2051 shrl $4,%esi
2052 andl $15,%ecx
2053 leal -8(%rcx),%eax
2054 cmpl $11,%ecx
2055 cmovaq %r11,%r10
2056 cmoval %eax,%ecx
2057 movzwl (%r10,%rsi,2),%eax
2058 shrl %cl,%eax
2059 andl $31,%eax
2060 .byte 0xf3,0xc3
2061.cfi_endproc
2062.size bn_get_bits5,.-bn_get_bits5
2063
2064.globl bn_scatter5
2065.type bn_scatter5,@function
2066.align 16
2067bn_scatter5:
2068.cfi_startproc
2069 cmpl $0,%esi
2070 jz .Lscatter_epilogue
2071 leaq (%rdx,%rcx,8),%rdx
2072.Lscatter:
2073 movq (%rdi),%rax
2074 leaq 8(%rdi),%rdi
2075 movq %rax,(%rdx)
2076 leaq 256(%rdx),%rdx
2077 subl $1,%esi
2078 jnz .Lscatter
2079.Lscatter_epilogue:
2080 .byte 0xf3,0xc3
2081.cfi_endproc
2082.size bn_scatter5,.-bn_scatter5
2083
2084.globl bn_gather5
2085.type bn_gather5,@function
2086.align 32
2087bn_gather5:
2088.LSEH_begin_bn_gather5:
2089.cfi_startproc
2090
2091.byte 0x4c,0x8d,0x14,0x24
2092.byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00
2093 leaq .Linc(%rip),%rax
2094 andq $-16,%rsp
2095
2096 movd %ecx,%xmm5
2097 movdqa 0(%rax),%xmm0
2098 movdqa 16(%rax),%xmm1
2099 leaq 128(%rdx),%r11
2100 leaq 128(%rsp),%rax
2101
2102 pshufd $0,%xmm5,%xmm5
2103 movdqa %xmm1,%xmm4
2104 movdqa %xmm1,%xmm2
2105 paddd %xmm0,%xmm1
2106 pcmpeqd %xmm5,%xmm0
2107 movdqa %xmm4,%xmm3
2108
2109 paddd %xmm1,%xmm2
2110 pcmpeqd %xmm5,%xmm1
2111 movdqa %xmm0,-128(%rax)
2112 movdqa %xmm4,%xmm0
2113
2114 paddd %xmm2,%xmm3
2115 pcmpeqd %xmm5,%xmm2
2116 movdqa %xmm1,-112(%rax)
2117 movdqa %xmm4,%xmm1
2118
2119 paddd %xmm3,%xmm0
2120 pcmpeqd %xmm5,%xmm3
2121 movdqa %xmm2,-96(%rax)
2122 movdqa %xmm4,%xmm2
2123 paddd %xmm0,%xmm1
2124 pcmpeqd %xmm5,%xmm0
2125 movdqa %xmm3,-80(%rax)
2126 movdqa %xmm4,%xmm3
2127
2128 paddd %xmm1,%xmm2
2129 pcmpeqd %xmm5,%xmm1
2130 movdqa %xmm0,-64(%rax)
2131 movdqa %xmm4,%xmm0
2132
2133 paddd %xmm2,%xmm3
2134 pcmpeqd %xmm5,%xmm2
2135 movdqa %xmm1,-48(%rax)
2136 movdqa %xmm4,%xmm1
2137
2138 paddd %xmm3,%xmm0
2139 pcmpeqd %xmm5,%xmm3
2140 movdqa %xmm2,-32(%rax)
2141 movdqa %xmm4,%xmm2
2142 paddd %xmm0,%xmm1
2143 pcmpeqd %xmm5,%xmm0
2144 movdqa %xmm3,-16(%rax)
2145 movdqa %xmm4,%xmm3
2146
2147 paddd %xmm1,%xmm2
2148 pcmpeqd %xmm5,%xmm1
2149 movdqa %xmm0,0(%rax)
2150 movdqa %xmm4,%xmm0
2151
2152 paddd %xmm2,%xmm3
2153 pcmpeqd %xmm5,%xmm2
2154 movdqa %xmm1,16(%rax)
2155 movdqa %xmm4,%xmm1
2156
2157 paddd %xmm3,%xmm0
2158 pcmpeqd %xmm5,%xmm3
2159 movdqa %xmm2,32(%rax)
2160 movdqa %xmm4,%xmm2
2161 paddd %xmm0,%xmm1
2162 pcmpeqd %xmm5,%xmm0
2163 movdqa %xmm3,48(%rax)
2164 movdqa %xmm4,%xmm3
2165
2166 paddd %xmm1,%xmm2
2167 pcmpeqd %xmm5,%xmm1
2168 movdqa %xmm0,64(%rax)
2169 movdqa %xmm4,%xmm0
2170
2171 paddd %xmm2,%xmm3
2172 pcmpeqd %xmm5,%xmm2
2173 movdqa %xmm1,80(%rax)
2174 movdqa %xmm4,%xmm1
2175
2176 paddd %xmm3,%xmm0
2177 pcmpeqd %xmm5,%xmm3
2178 movdqa %xmm2,96(%rax)
2179 movdqa %xmm4,%xmm2
2180 movdqa %xmm3,112(%rax)
2181 jmp .Lgather
2182
2183.align 32
2184.Lgather:
2185 pxor %xmm4,%xmm4
2186 pxor %xmm5,%xmm5
2187 movdqa -128(%r11),%xmm0
2188 movdqa -112(%r11),%xmm1
2189 movdqa -96(%r11),%xmm2
2190 pand -128(%rax),%xmm0
2191 movdqa -80(%r11),%xmm3
2192 pand -112(%rax),%xmm1
2193 por %xmm0,%xmm4
2194 pand -96(%rax),%xmm2
2195 por %xmm1,%xmm5
2196 pand -80(%rax),%xmm3
2197 por %xmm2,%xmm4
2198 por %xmm3,%xmm5
2199 movdqa -64(%r11),%xmm0
2200 movdqa -48(%r11),%xmm1
2201 movdqa -32(%r11),%xmm2
2202 pand -64(%rax),%xmm0
2203 movdqa -16(%r11),%xmm3
2204 pand -48(%rax),%xmm1
2205 por %xmm0,%xmm4
2206 pand -32(%rax),%xmm2
2207 por %xmm1,%xmm5
2208 pand -16(%rax),%xmm3
2209 por %xmm2,%xmm4
2210 por %xmm3,%xmm5
2211 movdqa 0(%r11),%xmm0
2212 movdqa 16(%r11),%xmm1
2213 movdqa 32(%r11),%xmm2
2214 pand 0(%rax),%xmm0
2215 movdqa 48(%r11),%xmm3
2216 pand 16(%rax),%xmm1
2217 por %xmm0,%xmm4
2218 pand 32(%rax),%xmm2
2219 por %xmm1,%xmm5
2220 pand 48(%rax),%xmm3
2221 por %xmm2,%xmm4
2222 por %xmm3,%xmm5
2223 movdqa 64(%r11),%xmm0
2224 movdqa 80(%r11),%xmm1
2225 movdqa 96(%r11),%xmm2
2226 pand 64(%rax),%xmm0
2227 movdqa 112(%r11),%xmm3
2228 pand 80(%rax),%xmm1
2229 por %xmm0,%xmm4
2230 pand 96(%rax),%xmm2
2231 por %xmm1,%xmm5
2232 pand 112(%rax),%xmm3
2233 por %xmm2,%xmm4
2234 por %xmm3,%xmm5
2235 por %xmm5,%xmm4
2236 leaq 256(%r11),%r11
2237 pshufd $0x4e,%xmm4,%xmm0
2238 por %xmm4,%xmm0
2239 movq %xmm0,(%rdi)
2240 leaq 8(%rdi),%rdi
2241 subl $1,%esi
2242 jnz .Lgather
2243
2244 leaq (%r10),%rsp
2245 .byte 0xf3,0xc3
2246.LSEH_end_bn_gather5:
2247.cfi_endproc
2248.size bn_gather5,.-bn_gather5
2249.align 64
2250.Linc:
2251.long 0,0, 1,1
2252.long 2,2, 2,2
2253.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,119,105,116,104,32,115,99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2254 .section ".note.gnu.property", "a"
2255 .p2align 3
2256 .long 1f - 0f
2257 .long 4f - 1f
2258 .long 5
22590:
2260 # "GNU" encoded with .byte, since .asciz isn't supported
2261 # on Solaris.
2262 .byte 0x47
2263 .byte 0x4e
2264 .byte 0x55
2265 .byte 0
22661:
2267 .p2align 3
2268 .long 0xc0000002
2269 .long 3f - 2f
22702:
2271 .long 3
22723:
2273 .p2align 3
22744:
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette