1#include <machine/asm.h>
2.text
3.globl    bn_mul_add_words
4.type     bn_mul_add_words,@function
5.align    16
6bn_mul_add_words:
7.L_bn_mul_add_words_begin:
8          #ifdef __CET__
9
10.byte     243,15,30,251
11          #endif
12
13          call      .L000PIC_me_up
14.L000PIC_me_up:
15          popl      %eax
16          leal      OPENSSL_ia32cap_P-.L000PIC_me_up(%eax),%eax
17          btl       $26,(%eax)
18          jnc       .L001maw_non_sse2
19          movl      4(%esp),%eax
20          movl      8(%esp),%edx
21          movl      12(%esp),%ecx
22          movd      16(%esp),%mm0
23          pxor      %mm1,%mm1
24          jmp       .L002maw_sse2_entry
25.align    16
26.L003maw_sse2_unrolled:
27          movd      (%eax),%mm3
28          paddq     %mm3,%mm1
29          movd      (%edx),%mm2
30          pmuludq   %mm0,%mm2
31          movd      4(%edx),%mm4
32          pmuludq   %mm0,%mm4
33          movd      8(%edx),%mm6
34          pmuludq   %mm0,%mm6
35          movd      12(%edx),%mm7
36          pmuludq   %mm0,%mm7
37          paddq     %mm2,%mm1
38          movd      4(%eax),%mm3
39          paddq     %mm4,%mm3
40          movd      8(%eax),%mm5
41          paddq     %mm6,%mm5
42          movd      12(%eax),%mm4
43          paddq     %mm4,%mm7
44          movd      %mm1,(%eax)
45          movd      16(%edx),%mm2
46          pmuludq   %mm0,%mm2
47          psrlq     $32,%mm1
48          movd      20(%edx),%mm4
49          pmuludq   %mm0,%mm4
50          paddq     %mm3,%mm1
51          movd      24(%edx),%mm6
52          pmuludq   %mm0,%mm6
53          movd      %mm1,4(%eax)
54          psrlq     $32,%mm1
55          movd      28(%edx),%mm3
56          addl      $32,%edx
57          pmuludq   %mm0,%mm3
58          paddq     %mm5,%mm1
59          movd      16(%eax),%mm5
60          paddq     %mm5,%mm2
61          movd      %mm1,8(%eax)
62          psrlq     $32,%mm1
63          paddq     %mm7,%mm1
64          movd      20(%eax),%mm5
65          paddq     %mm5,%mm4
66          movd      %mm1,12(%eax)
67          psrlq     $32,%mm1
68          paddq     %mm2,%mm1
69          movd      24(%eax),%mm5
70          paddq     %mm5,%mm6
71          movd      %mm1,16(%eax)
72          psrlq     $32,%mm1
73          paddq     %mm4,%mm1
74          movd      28(%eax),%mm5
75          paddq     %mm5,%mm3
76          movd      %mm1,20(%eax)
77          psrlq     $32,%mm1
78          paddq     %mm6,%mm1
79          movd      %mm1,24(%eax)
80          psrlq     $32,%mm1
81          paddq     %mm3,%mm1
82          movd      %mm1,28(%eax)
83          leal      32(%eax),%eax
84          psrlq     $32,%mm1
85          subl      $8,%ecx
86          jz        .L004maw_sse2_exit
87.L002maw_sse2_entry:
88          testl     $4294967288,%ecx
89          jnz       .L003maw_sse2_unrolled
90.align    4
91.L005maw_sse2_loop:
92          movd      (%edx),%mm2
93          movd      (%eax),%mm3
94          pmuludq   %mm0,%mm2
95          leal      4(%edx),%edx
96          paddq     %mm3,%mm1
97          paddq     %mm2,%mm1
98          movd      %mm1,(%eax)
99          subl      $1,%ecx
100          psrlq     $32,%mm1
101          leal      4(%eax),%eax
102          jnz       .L005maw_sse2_loop
103.L004maw_sse2_exit:
104          movd      %mm1,%eax
105          emms
106          ret
107.align    16
108.L001maw_non_sse2:
109          pushl     %ebp
110          pushl     %ebx
111          pushl     %esi
112          pushl     %edi
113
114          xorl      %esi,%esi
115          movl      20(%esp),%edi
116          movl      28(%esp),%ecx
117          movl      24(%esp),%ebx
118          andl      $4294967288,%ecx
119          movl      32(%esp),%ebp
120          pushl     %ecx
121          jz        .L006maw_finish
122.align    16
123.L007maw_loop:
124
125          movl      (%ebx),%eax
126          mull      %ebp
127          addl      %esi,%eax
128          adcl      $0,%edx
129          addl      (%edi),%eax
130          adcl      $0,%edx
131          movl      %eax,(%edi)
132          movl      %edx,%esi
133
134          movl      4(%ebx),%eax
135          mull      %ebp
136          addl      %esi,%eax
137          adcl      $0,%edx
138          addl      4(%edi),%eax
139          adcl      $0,%edx
140          movl      %eax,4(%edi)
141          movl      %edx,%esi
142
143          movl      8(%ebx),%eax
144          mull      %ebp
145          addl      %esi,%eax
146          adcl      $0,%edx
147          addl      8(%edi),%eax
148          adcl      $0,%edx
149          movl      %eax,8(%edi)
150          movl      %edx,%esi
151
152          movl      12(%ebx),%eax
153          mull      %ebp
154          addl      %esi,%eax
155          adcl      $0,%edx
156          addl      12(%edi),%eax
157          adcl      $0,%edx
158          movl      %eax,12(%edi)
159          movl      %edx,%esi
160
161          movl      16(%ebx),%eax
162          mull      %ebp
163          addl      %esi,%eax
164          adcl      $0,%edx
165          addl      16(%edi),%eax
166          adcl      $0,%edx
167          movl      %eax,16(%edi)
168          movl      %edx,%esi
169
170          movl      20(%ebx),%eax
171          mull      %ebp
172          addl      %esi,%eax
173          adcl      $0,%edx
174          addl      20(%edi),%eax
175          adcl      $0,%edx
176          movl      %eax,20(%edi)
177          movl      %edx,%esi
178
179          movl      24(%ebx),%eax
180          mull      %ebp
181          addl      %esi,%eax
182          adcl      $0,%edx
183          addl      24(%edi),%eax
184          adcl      $0,%edx
185          movl      %eax,24(%edi)
186          movl      %edx,%esi
187
188          movl      28(%ebx),%eax
189          mull      %ebp
190          addl      %esi,%eax
191          adcl      $0,%edx
192          addl      28(%edi),%eax
193          adcl      $0,%edx
194          movl      %eax,28(%edi)
195          movl      %edx,%esi
196
197          subl      $8,%ecx
198          leal      32(%ebx),%ebx
199          leal      32(%edi),%edi
200          jnz       .L007maw_loop
201.L006maw_finish:
202          movl      32(%esp),%ecx
203          andl      $7,%ecx
204          jnz       .L008maw_finish2
205          jmp       .L009maw_end
206.L008maw_finish2:
207
208          movl      (%ebx),%eax
209          mull      %ebp
210          addl      %esi,%eax
211          adcl      $0,%edx
212          addl      (%edi),%eax
213          adcl      $0,%edx
214          decl      %ecx
215          movl      %eax,(%edi)
216          movl      %edx,%esi
217          jz        .L009maw_end
218
219          movl      4(%ebx),%eax
220          mull      %ebp
221          addl      %esi,%eax
222          adcl      $0,%edx
223          addl      4(%edi),%eax
224          adcl      $0,%edx
225          decl      %ecx
226          movl      %eax,4(%edi)
227          movl      %edx,%esi
228          jz        .L009maw_end
229
230          movl      8(%ebx),%eax
231          mull      %ebp
232          addl      %esi,%eax
233          adcl      $0,%edx
234          addl      8(%edi),%eax
235          adcl      $0,%edx
236          decl      %ecx
237          movl      %eax,8(%edi)
238          movl      %edx,%esi
239          jz        .L009maw_end
240
241          movl      12(%ebx),%eax
242          mull      %ebp
243          addl      %esi,%eax
244          adcl      $0,%edx
245          addl      12(%edi),%eax
246          adcl      $0,%edx
247          decl      %ecx
248          movl      %eax,12(%edi)
249          movl      %edx,%esi
250          jz        .L009maw_end
251
252          movl      16(%ebx),%eax
253          mull      %ebp
254          addl      %esi,%eax
255          adcl      $0,%edx
256          addl      16(%edi),%eax
257          adcl      $0,%edx
258          decl      %ecx
259          movl      %eax,16(%edi)
260          movl      %edx,%esi
261          jz        .L009maw_end
262
263          movl      20(%ebx),%eax
264          mull      %ebp
265          addl      %esi,%eax
266          adcl      $0,%edx
267          addl      20(%edi),%eax
268          adcl      $0,%edx
269          decl      %ecx
270          movl      %eax,20(%edi)
271          movl      %edx,%esi
272          jz        .L009maw_end
273
274          movl      24(%ebx),%eax
275          mull      %ebp
276          addl      %esi,%eax
277          adcl      $0,%edx
278          addl      24(%edi),%eax
279          adcl      $0,%edx
280          movl      %eax,24(%edi)
281          movl      %edx,%esi
282.L009maw_end:
283          movl      %esi,%eax
284          popl      %ecx
285          popl      %edi
286          popl      %esi
287          popl      %ebx
288          popl      %ebp
289          ret
290.size     bn_mul_add_words,.-.L_bn_mul_add_words_begin
291.globl    bn_mul_words
292.type     bn_mul_words,@function
293.align    16
294bn_mul_words:
295.L_bn_mul_words_begin:
296          #ifdef __CET__
297
298.byte     243,15,30,251
299          #endif
300
301          call      .L010PIC_me_up
302.L010PIC_me_up:
303          popl      %eax
304          leal      OPENSSL_ia32cap_P-.L010PIC_me_up(%eax),%eax
305          btl       $26,(%eax)
306          jnc       .L011mw_non_sse2
307          movl      4(%esp),%eax
308          movl      8(%esp),%edx
309          movl      12(%esp),%ecx
310          movd      16(%esp),%mm0
311          pxor      %mm1,%mm1
312.align    16
313.L012mw_sse2_loop:
314          movd      (%edx),%mm2
315          pmuludq   %mm0,%mm2
316          leal      4(%edx),%edx
317          paddq     %mm2,%mm1
318          movd      %mm1,(%eax)
319          subl      $1,%ecx
320          psrlq     $32,%mm1
321          leal      4(%eax),%eax
322          jnz       .L012mw_sse2_loop
323          movd      %mm1,%eax
324          emms
325          ret
326.align    16
327.L011mw_non_sse2:
328          pushl     %ebp
329          pushl     %ebx
330          pushl     %esi
331          pushl     %edi
332
333          xorl      %esi,%esi
334          movl      20(%esp),%edi
335          movl      24(%esp),%ebx
336          movl      28(%esp),%ebp
337          movl      32(%esp),%ecx
338          andl      $4294967288,%ebp
339          jz        .L013mw_finish
340.L014mw_loop:
341
342          movl      (%ebx),%eax
343          mull      %ecx
344          addl      %esi,%eax
345          adcl      $0,%edx
346          movl      %eax,(%edi)
347          movl      %edx,%esi
348
349          movl      4(%ebx),%eax
350          mull      %ecx
351          addl      %esi,%eax
352          adcl      $0,%edx
353          movl      %eax,4(%edi)
354          movl      %edx,%esi
355
356          movl      8(%ebx),%eax
357          mull      %ecx
358          addl      %esi,%eax
359          adcl      $0,%edx
360          movl      %eax,8(%edi)
361          movl      %edx,%esi
362
363          movl      12(%ebx),%eax
364          mull      %ecx
365          addl      %esi,%eax
366          adcl      $0,%edx
367          movl      %eax,12(%edi)
368          movl      %edx,%esi
369
370          movl      16(%ebx),%eax
371          mull      %ecx
372          addl      %esi,%eax
373          adcl      $0,%edx
374          movl      %eax,16(%edi)
375          movl      %edx,%esi
376
377          movl      20(%ebx),%eax
378          mull      %ecx
379          addl      %esi,%eax
380          adcl      $0,%edx
381          movl      %eax,20(%edi)
382          movl      %edx,%esi
383
384          movl      24(%ebx),%eax
385          mull      %ecx
386          addl      %esi,%eax
387          adcl      $0,%edx
388          movl      %eax,24(%edi)
389          movl      %edx,%esi
390
391          movl      28(%ebx),%eax
392          mull      %ecx
393          addl      %esi,%eax
394          adcl      $0,%edx
395          movl      %eax,28(%edi)
396          movl      %edx,%esi
397
398          addl      $32,%ebx
399          addl      $32,%edi
400          subl      $8,%ebp
401          jz        .L013mw_finish
402          jmp       .L014mw_loop
403.L013mw_finish:
404          movl      28(%esp),%ebp
405          andl      $7,%ebp
406          jnz       .L015mw_finish2
407          jmp       .L016mw_end
408.L015mw_finish2:
409
410          movl      (%ebx),%eax
411          mull      %ecx
412          addl      %esi,%eax
413          adcl      $0,%edx
414          movl      %eax,(%edi)
415          movl      %edx,%esi
416          decl      %ebp
417          jz        .L016mw_end
418
419          movl      4(%ebx),%eax
420          mull      %ecx
421          addl      %esi,%eax
422          adcl      $0,%edx
423          movl      %eax,4(%edi)
424          movl      %edx,%esi
425          decl      %ebp
426          jz        .L016mw_end
427
428          movl      8(%ebx),%eax
429          mull      %ecx
430          addl      %esi,%eax
431          adcl      $0,%edx
432          movl      %eax,8(%edi)
433          movl      %edx,%esi
434          decl      %ebp
435          jz        .L016mw_end
436
437          movl      12(%ebx),%eax
438          mull      %ecx
439          addl      %esi,%eax
440          adcl      $0,%edx
441          movl      %eax,12(%edi)
442          movl      %edx,%esi
443          decl      %ebp
444          jz        .L016mw_end
445
446          movl      16(%ebx),%eax
447          mull      %ecx
448          addl      %esi,%eax
449          adcl      $0,%edx
450          movl      %eax,16(%edi)
451          movl      %edx,%esi
452          decl      %ebp
453          jz        .L016mw_end
454
455          movl      20(%ebx),%eax
456          mull      %ecx
457          addl      %esi,%eax
458          adcl      $0,%edx
459          movl      %eax,20(%edi)
460          movl      %edx,%esi
461          decl      %ebp
462          jz        .L016mw_end
463
464          movl      24(%ebx),%eax
465          mull      %ecx
466          addl      %esi,%eax
467          adcl      $0,%edx
468          movl      %eax,24(%edi)
469          movl      %edx,%esi
470.L016mw_end:
471          movl      %esi,%eax
472          popl      %edi
473          popl      %esi
474          popl      %ebx
475          popl      %ebp
476          ret
477.size     bn_mul_words,.-.L_bn_mul_words_begin
478.globl    bn_sqr_words
479.type     bn_sqr_words,@function
480.align    16
481bn_sqr_words:
482.L_bn_sqr_words_begin:
483          #ifdef __CET__
484
485.byte     243,15,30,251
486          #endif
487
488          call      .L017PIC_me_up
489.L017PIC_me_up:
490          popl      %eax
491          leal      OPENSSL_ia32cap_P-.L017PIC_me_up(%eax),%eax
492          btl       $26,(%eax)
493          jnc       .L018sqr_non_sse2
494          movl      4(%esp),%eax
495          movl      8(%esp),%edx
496          movl      12(%esp),%ecx
497.align    16
498.L019sqr_sse2_loop:
499          movd      (%edx),%mm0
500          pmuludq   %mm0,%mm0
501          leal      4(%edx),%edx
502          movq      %mm0,(%eax)
503          subl      $1,%ecx
504          leal      8(%eax),%eax
505          jnz       .L019sqr_sse2_loop
506          emms
507          ret
508.align    16
509.L018sqr_non_sse2:
510          pushl     %ebp
511          pushl     %ebx
512          pushl     %esi
513          pushl     %edi
514
515          movl      20(%esp),%esi
516          movl      24(%esp),%edi
517          movl      28(%esp),%ebx
518          andl      $4294967288,%ebx
519          jz        .L020sw_finish
520.L021sw_loop:
521
522          movl      (%edi),%eax
523          mull      %eax
524          movl      %eax,(%esi)
525          movl      %edx,4(%esi)
526
527          movl      4(%edi),%eax
528          mull      %eax
529          movl      %eax,8(%esi)
530          movl      %edx,12(%esi)
531
532          movl      8(%edi),%eax
533          mull      %eax
534          movl      %eax,16(%esi)
535          movl      %edx,20(%esi)
536
537          movl      12(%edi),%eax
538          mull      %eax
539          movl      %eax,24(%esi)
540          movl      %edx,28(%esi)
541
542          movl      16(%edi),%eax
543          mull      %eax
544          movl      %eax,32(%esi)
545          movl      %edx,36(%esi)
546
547          movl      20(%edi),%eax
548          mull      %eax
549          movl      %eax,40(%esi)
550          movl      %edx,44(%esi)
551
552          movl      24(%edi),%eax
553          mull      %eax
554          movl      %eax,48(%esi)
555          movl      %edx,52(%esi)
556
557          movl      28(%edi),%eax
558          mull      %eax
559          movl      %eax,56(%esi)
560          movl      %edx,60(%esi)
561
562          addl      $32,%edi
563          addl      $64,%esi
564          subl      $8,%ebx
565          jnz       .L021sw_loop
566.L020sw_finish:
567          movl      28(%esp),%ebx
568          andl      $7,%ebx
569          jz        .L022sw_end
570
571          movl      (%edi),%eax
572          mull      %eax
573          movl      %eax,(%esi)
574          decl      %ebx
575          movl      %edx,4(%esi)
576          jz        .L022sw_end
577
578          movl      4(%edi),%eax
579          mull      %eax
580          movl      %eax,8(%esi)
581          decl      %ebx
582          movl      %edx,12(%esi)
583          jz        .L022sw_end
584
585          movl      8(%edi),%eax
586          mull      %eax
587          movl      %eax,16(%esi)
588          decl      %ebx
589          movl      %edx,20(%esi)
590          jz        .L022sw_end
591
592          movl      12(%edi),%eax
593          mull      %eax
594          movl      %eax,24(%esi)
595          decl      %ebx
596          movl      %edx,28(%esi)
597          jz        .L022sw_end
598
599          movl      16(%edi),%eax
600          mull      %eax
601          movl      %eax,32(%esi)
602          decl      %ebx
603          movl      %edx,36(%esi)
604          jz        .L022sw_end
605
606          movl      20(%edi),%eax
607          mull      %eax
608          movl      %eax,40(%esi)
609          decl      %ebx
610          movl      %edx,44(%esi)
611          jz        .L022sw_end
612
613          movl      24(%edi),%eax
614          mull      %eax
615          movl      %eax,48(%esi)
616          movl      %edx,52(%esi)
617.L022sw_end:
618          popl      %edi
619          popl      %esi
620          popl      %ebx
621          popl      %ebp
622          ret
623.size     bn_sqr_words,.-.L_bn_sqr_words_begin
624.globl    bn_div_words
625.type     bn_div_words,@function
626.align    16
627bn_div_words:
628.L_bn_div_words_begin:
629          #ifdef __CET__
630
631.byte     243,15,30,251
632          #endif
633
634          movl      4(%esp),%edx
635          movl      8(%esp),%eax
636          movl      12(%esp),%ecx
637          divl      %ecx
638          ret
639.size     bn_div_words,.-.L_bn_div_words_begin
640.globl    bn_add_words
641.type     bn_add_words,@function
642.align    16
643bn_add_words:
644.L_bn_add_words_begin:
645          #ifdef __CET__
646
647.byte     243,15,30,251
648          #endif
649
650          pushl     %ebp
651          pushl     %ebx
652          pushl     %esi
653          pushl     %edi
654
655          movl      20(%esp),%ebx
656          movl      24(%esp),%esi
657          movl      28(%esp),%edi
658          movl      32(%esp),%ebp
659          xorl      %eax,%eax
660          andl      $4294967288,%ebp
661          jz        .L023aw_finish
662.L024aw_loop:
663
664          movl      (%esi),%ecx
665          movl      (%edi),%edx
666          addl      %eax,%ecx
667          movl      $0,%eax
668          adcl      %eax,%eax
669          addl      %edx,%ecx
670          adcl      $0,%eax
671          movl      %ecx,(%ebx)
672
673          movl      4(%esi),%ecx
674          movl      4(%edi),%edx
675          addl      %eax,%ecx
676          movl      $0,%eax
677          adcl      %eax,%eax
678          addl      %edx,%ecx
679          adcl      $0,%eax
680          movl      %ecx,4(%ebx)
681
682          movl      8(%esi),%ecx
683          movl      8(%edi),%edx
684          addl      %eax,%ecx
685          movl      $0,%eax
686          adcl      %eax,%eax
687          addl      %edx,%ecx
688          adcl      $0,%eax
689          movl      %ecx,8(%ebx)
690
691          movl      12(%esi),%ecx
692          movl      12(%edi),%edx
693          addl      %eax,%ecx
694          movl      $0,%eax
695          adcl      %eax,%eax
696          addl      %edx,%ecx
697          adcl      $0,%eax
698          movl      %ecx,12(%ebx)
699
700          movl      16(%esi),%ecx
701          movl      16(%edi),%edx
702          addl      %eax,%ecx
703          movl      $0,%eax
704          adcl      %eax,%eax
705          addl      %edx,%ecx
706          adcl      $0,%eax
707          movl      %ecx,16(%ebx)
708
709          movl      20(%esi),%ecx
710          movl      20(%edi),%edx
711          addl      %eax,%ecx
712          movl      $0,%eax
713          adcl      %eax,%eax
714          addl      %edx,%ecx
715          adcl      $0,%eax
716          movl      %ecx,20(%ebx)
717
718          movl      24(%esi),%ecx
719          movl      24(%edi),%edx
720          addl      %eax,%ecx
721          movl      $0,%eax
722          adcl      %eax,%eax
723          addl      %edx,%ecx
724          adcl      $0,%eax
725          movl      %ecx,24(%ebx)
726
727          movl      28(%esi),%ecx
728          movl      28(%edi),%edx
729          addl      %eax,%ecx
730          movl      $0,%eax
731          adcl      %eax,%eax
732          addl      %edx,%ecx
733          adcl      $0,%eax
734          movl      %ecx,28(%ebx)
735
736          addl      $32,%esi
737          addl      $32,%edi
738          addl      $32,%ebx
739          subl      $8,%ebp
740          jnz       .L024aw_loop
741.L023aw_finish:
742          movl      32(%esp),%ebp
743          andl      $7,%ebp
744          jz        .L025aw_end
745
746          movl      (%esi),%ecx
747          movl      (%edi),%edx
748          addl      %eax,%ecx
749          movl      $0,%eax
750          adcl      %eax,%eax
751          addl      %edx,%ecx
752          adcl      $0,%eax
753          decl      %ebp
754          movl      %ecx,(%ebx)
755          jz        .L025aw_end
756
757          movl      4(%esi),%ecx
758          movl      4(%edi),%edx
759          addl      %eax,%ecx
760          movl      $0,%eax
761          adcl      %eax,%eax
762          addl      %edx,%ecx
763          adcl      $0,%eax
764          decl      %ebp
765          movl      %ecx,4(%ebx)
766          jz        .L025aw_end
767
768          movl      8(%esi),%ecx
769          movl      8(%edi),%edx
770          addl      %eax,%ecx
771          movl      $0,%eax
772          adcl      %eax,%eax
773          addl      %edx,%ecx
774          adcl      $0,%eax
775          decl      %ebp
776          movl      %ecx,8(%ebx)
777          jz        .L025aw_end
778
779          movl      12(%esi),%ecx
780          movl      12(%edi),%edx
781          addl      %eax,%ecx
782          movl      $0,%eax
783          adcl      %eax,%eax
784          addl      %edx,%ecx
785          adcl      $0,%eax
786          decl      %ebp
787          movl      %ecx,12(%ebx)
788          jz        .L025aw_end
789
790          movl      16(%esi),%ecx
791          movl      16(%edi),%edx
792          addl      %eax,%ecx
793          movl      $0,%eax
794          adcl      %eax,%eax
795          addl      %edx,%ecx
796          adcl      $0,%eax
797          decl      %ebp
798          movl      %ecx,16(%ebx)
799          jz        .L025aw_end
800
801          movl      20(%esi),%ecx
802          movl      20(%edi),%edx
803          addl      %eax,%ecx
804          movl      $0,%eax
805          adcl      %eax,%eax
806          addl      %edx,%ecx
807          adcl      $0,%eax
808          decl      %ebp
809          movl      %ecx,20(%ebx)
810          jz        .L025aw_end
811
812          movl      24(%esi),%ecx
813          movl      24(%edi),%edx
814          addl      %eax,%ecx
815          movl      $0,%eax
816          adcl      %eax,%eax
817          addl      %edx,%ecx
818          adcl      $0,%eax
819          movl      %ecx,24(%ebx)
820.L025aw_end:
821          popl      %edi
822          popl      %esi
823          popl      %ebx
824          popl      %ebp
825          ret
826.size     bn_add_words,.-.L_bn_add_words_begin
827.globl    bn_sub_words
828.type     bn_sub_words,@function
829.align    16
830bn_sub_words:
831.L_bn_sub_words_begin:
832          #ifdef __CET__
833
834.byte     243,15,30,251
835          #endif
836
837          pushl     %ebp
838          pushl     %ebx
839          pushl     %esi
840          pushl     %edi
841
842          movl      20(%esp),%ebx
843          movl      24(%esp),%esi
844          movl      28(%esp),%edi
845          movl      32(%esp),%ebp
846          xorl      %eax,%eax
847          andl      $4294967288,%ebp
848          jz        .L026aw_finish
849.L027aw_loop:
850
851          movl      (%esi),%ecx
852          movl      (%edi),%edx
853          subl      %eax,%ecx
854          movl      $0,%eax
855          adcl      %eax,%eax
856          subl      %edx,%ecx
857          adcl      $0,%eax
858          movl      %ecx,(%ebx)
859
860          movl      4(%esi),%ecx
861          movl      4(%edi),%edx
862          subl      %eax,%ecx
863          movl      $0,%eax
864          adcl      %eax,%eax
865          subl      %edx,%ecx
866          adcl      $0,%eax
867          movl      %ecx,4(%ebx)
868
869          movl      8(%esi),%ecx
870          movl      8(%edi),%edx
871          subl      %eax,%ecx
872          movl      $0,%eax
873          adcl      %eax,%eax
874          subl      %edx,%ecx
875          adcl      $0,%eax
876          movl      %ecx,8(%ebx)
877
878          movl      12(%esi),%ecx
879          movl      12(%edi),%edx
880          subl      %eax,%ecx
881          movl      $0,%eax
882          adcl      %eax,%eax
883          subl      %edx,%ecx
884          adcl      $0,%eax
885          movl      %ecx,12(%ebx)
886
887          movl      16(%esi),%ecx
888          movl      16(%edi),%edx
889          subl      %eax,%ecx
890          movl      $0,%eax
891          adcl      %eax,%eax
892          subl      %edx,%ecx
893          adcl      $0,%eax
894          movl      %ecx,16(%ebx)
895
896          movl      20(%esi),%ecx
897          movl      20(%edi),%edx
898          subl      %eax,%ecx
899          movl      $0,%eax
900          adcl      %eax,%eax
901          subl      %edx,%ecx
902          adcl      $0,%eax
903          movl      %ecx,20(%ebx)
904
905          movl      24(%esi),%ecx
906          movl      24(%edi),%edx
907          subl      %eax,%ecx
908          movl      $0,%eax
909          adcl      %eax,%eax
910          subl      %edx,%ecx
911          adcl      $0,%eax
912          movl      %ecx,24(%ebx)
913
914          movl      28(%esi),%ecx
915          movl      28(%edi),%edx
916          subl      %eax,%ecx
917          movl      $0,%eax
918          adcl      %eax,%eax
919          subl      %edx,%ecx
920          adcl      $0,%eax
921          movl      %ecx,28(%ebx)
922
923          addl      $32,%esi
924          addl      $32,%edi
925          addl      $32,%ebx
926          subl      $8,%ebp
927          jnz       .L027aw_loop
928.L026aw_finish:
929          movl      32(%esp),%ebp
930          andl      $7,%ebp
931          jz        .L028aw_end
932
933          movl      (%esi),%ecx
934          movl      (%edi),%edx
935          subl      %eax,%ecx
936          movl      $0,%eax
937          adcl      %eax,%eax
938          subl      %edx,%ecx
939          adcl      $0,%eax
940          decl      %ebp
941          movl      %ecx,(%ebx)
942          jz        .L028aw_end
943
944          movl      4(%esi),%ecx
945          movl      4(%edi),%edx
946          subl      %eax,%ecx
947          movl      $0,%eax
948          adcl      %eax,%eax
949          subl      %edx,%ecx
950          adcl      $0,%eax
951          decl      %ebp
952          movl      %ecx,4(%ebx)
953          jz        .L028aw_end
954
955          movl      8(%esi),%ecx
956          movl      8(%edi),%edx
957          subl      %eax,%ecx
958          movl      $0,%eax
959          adcl      %eax,%eax
960          subl      %edx,%ecx
961          adcl      $0,%eax
962          decl      %ebp
963          movl      %ecx,8(%ebx)
964          jz        .L028aw_end
965
966          movl      12(%esi),%ecx
967          movl      12(%edi),%edx
968          subl      %eax,%ecx
969          movl      $0,%eax
970          adcl      %eax,%eax
971          subl      %edx,%ecx
972          adcl      $0,%eax
973          decl      %ebp
974          movl      %ecx,12(%ebx)
975          jz        .L028aw_end
976
977          movl      16(%esi),%ecx
978          movl      16(%edi),%edx
979          subl      %eax,%ecx
980          movl      $0,%eax
981          adcl      %eax,%eax
982          subl      %edx,%ecx
983          adcl      $0,%eax
984          decl      %ebp
985          movl      %ecx,16(%ebx)
986          jz        .L028aw_end
987
988          movl      20(%esi),%ecx
989          movl      20(%edi),%edx
990          subl      %eax,%ecx
991          movl      $0,%eax
992          adcl      %eax,%eax
993          subl      %edx,%ecx
994          adcl      $0,%eax
995          decl      %ebp
996          movl      %ecx,20(%ebx)
997          jz        .L028aw_end
998
999          movl      24(%esi),%ecx
1000          movl      24(%edi),%edx
1001          subl      %eax,%ecx
1002          movl      $0,%eax
1003          adcl      %eax,%eax
1004          subl      %edx,%ecx
1005          adcl      $0,%eax
1006          movl      %ecx,24(%ebx)
1007.L028aw_end:
1008          popl      %edi
1009          popl      %esi
1010          popl      %ebx
1011          popl      %ebp
1012          ret
1013.size     bn_sub_words,.-.L_bn_sub_words_begin
1014.globl    bn_sub_part_words
1015.type     bn_sub_part_words,@function
1016.align    16
1017bn_sub_part_words:
1018.L_bn_sub_part_words_begin:
1019          #ifdef __CET__
1020
1021.byte     243,15,30,251
1022          #endif
1023
1024          pushl     %ebp
1025          pushl     %ebx
1026          pushl     %esi
1027          pushl     %edi
1028
1029          movl      20(%esp),%ebx
1030          movl      24(%esp),%esi
1031          movl      28(%esp),%edi
1032          movl      32(%esp),%ebp
1033          xorl      %eax,%eax
1034          andl      $4294967288,%ebp
1035          jz        .L029aw_finish
1036.L030aw_loop:
1037
1038          movl      (%esi),%ecx
1039          movl      (%edi),%edx
1040          subl      %eax,%ecx
1041          movl      $0,%eax
1042          adcl      %eax,%eax
1043          subl      %edx,%ecx
1044          adcl      $0,%eax
1045          movl      %ecx,(%ebx)
1046
1047          movl      4(%esi),%ecx
1048          movl      4(%edi),%edx
1049          subl      %eax,%ecx
1050          movl      $0,%eax
1051          adcl      %eax,%eax
1052          subl      %edx,%ecx
1053          adcl      $0,%eax
1054          movl      %ecx,4(%ebx)
1055
1056          movl      8(%esi),%ecx
1057          movl      8(%edi),%edx
1058          subl      %eax,%ecx
1059          movl      $0,%eax
1060          adcl      %eax,%eax
1061          subl      %edx,%ecx
1062          adcl      $0,%eax
1063          movl      %ecx,8(%ebx)
1064
1065          movl      12(%esi),%ecx
1066          movl      12(%edi),%edx
1067          subl      %eax,%ecx
1068          movl      $0,%eax
1069          adcl      %eax,%eax
1070          subl      %edx,%ecx
1071          adcl      $0,%eax
1072          movl      %ecx,12(%ebx)
1073
1074          movl      16(%esi),%ecx
1075          movl      16(%edi),%edx
1076          subl      %eax,%ecx
1077          movl      $0,%eax
1078          adcl      %eax,%eax
1079          subl      %edx,%ecx
1080          adcl      $0,%eax
1081          movl      %ecx,16(%ebx)
1082
1083          movl      20(%esi),%ecx
1084          movl      20(%edi),%edx
1085          subl      %eax,%ecx
1086          movl      $0,%eax
1087          adcl      %eax,%eax
1088          subl      %edx,%ecx
1089          adcl      $0,%eax
1090          movl      %ecx,20(%ebx)
1091
1092          movl      24(%esi),%ecx
1093          movl      24(%edi),%edx
1094          subl      %eax,%ecx
1095          movl      $0,%eax
1096          adcl      %eax,%eax
1097          subl      %edx,%ecx
1098          adcl      $0,%eax
1099          movl      %ecx,24(%ebx)
1100
1101          movl      28(%esi),%ecx
1102          movl      28(%edi),%edx
1103          subl      %eax,%ecx
1104          movl      $0,%eax
1105          adcl      %eax,%eax
1106          subl      %edx,%ecx
1107          adcl      $0,%eax
1108          movl      %ecx,28(%ebx)
1109
1110          addl      $32,%esi
1111          addl      $32,%edi
1112          addl      $32,%ebx
1113          subl      $8,%ebp
1114          jnz       .L030aw_loop
1115.L029aw_finish:
1116          movl      32(%esp),%ebp
1117          andl      $7,%ebp
1118          jz        .L031aw_end
1119
1120          movl      (%esi),%ecx
1121          movl      (%edi),%edx
1122          subl      %eax,%ecx
1123          movl      $0,%eax
1124          adcl      %eax,%eax
1125          subl      %edx,%ecx
1126          adcl      $0,%eax
1127          movl      %ecx,(%ebx)
1128          addl      $4,%esi
1129          addl      $4,%edi
1130          addl      $4,%ebx
1131          decl      %ebp
1132          jz        .L031aw_end
1133
1134          movl      (%esi),%ecx
1135          movl      (%edi),%edx
1136          subl      %eax,%ecx
1137          movl      $0,%eax
1138          adcl      %eax,%eax
1139          subl      %edx,%ecx
1140          adcl      $0,%eax
1141          movl      %ecx,(%ebx)
1142          addl      $4,%esi
1143          addl      $4,%edi
1144          addl      $4,%ebx
1145          decl      %ebp
1146          jz        .L031aw_end
1147
1148          movl      (%esi),%ecx
1149          movl      (%edi),%edx
1150          subl      %eax,%ecx
1151          movl      $0,%eax
1152          adcl      %eax,%eax
1153          subl      %edx,%ecx
1154          adcl      $0,%eax
1155          movl      %ecx,(%ebx)
1156          addl      $4,%esi
1157          addl      $4,%edi
1158          addl      $4,%ebx
1159          decl      %ebp
1160          jz        .L031aw_end
1161
1162          movl      (%esi),%ecx
1163          movl      (%edi),%edx
1164          subl      %eax,%ecx
1165          movl      $0,%eax
1166          adcl      %eax,%eax
1167          subl      %edx,%ecx
1168          adcl      $0,%eax
1169          movl      %ecx,(%ebx)
1170          addl      $4,%esi
1171          addl      $4,%edi
1172          addl      $4,%ebx
1173          decl      %ebp
1174          jz        .L031aw_end
1175
1176          movl      (%esi),%ecx
1177          movl      (%edi),%edx
1178          subl      %eax,%ecx
1179          movl      $0,%eax
1180          adcl      %eax,%eax
1181          subl      %edx,%ecx
1182          adcl      $0,%eax
1183          movl      %ecx,(%ebx)
1184          addl      $4,%esi
1185          addl      $4,%edi
1186          addl      $4,%ebx
1187          decl      %ebp
1188          jz        .L031aw_end
1189
1190          movl      (%esi),%ecx
1191          movl      (%edi),%edx
1192          subl      %eax,%ecx
1193          movl      $0,%eax
1194          adcl      %eax,%eax
1195          subl      %edx,%ecx
1196          adcl      $0,%eax
1197          movl      %ecx,(%ebx)
1198          addl      $4,%esi
1199          addl      $4,%edi
1200          addl      $4,%ebx
1201          decl      %ebp
1202          jz        .L031aw_end
1203
1204          movl      (%esi),%ecx
1205          movl      (%edi),%edx
1206          subl      %eax,%ecx
1207          movl      $0,%eax
1208          adcl      %eax,%eax
1209          subl      %edx,%ecx
1210          adcl      $0,%eax
1211          movl      %ecx,(%ebx)
1212          addl      $4,%esi
1213          addl      $4,%edi
1214          addl      $4,%ebx
1215.L031aw_end:
1216          cmpl      $0,36(%esp)
1217          je        .L032pw_end
1218          movl      36(%esp),%ebp
1219          cmpl      $0,%ebp
1220          je        .L032pw_end
1221          jge       .L033pw_pos
1222
1223          movl      $0,%edx
1224          subl      %ebp,%edx
1225          movl      %edx,%ebp
1226          andl      $4294967288,%ebp
1227          jz        .L034pw_neg_finish
1228.L035pw_neg_loop:
1229
1230          movl      $0,%ecx
1231          movl      (%edi),%edx
1232          subl      %eax,%ecx
1233          movl      $0,%eax
1234          adcl      %eax,%eax
1235          subl      %edx,%ecx
1236          adcl      $0,%eax
1237          movl      %ecx,(%ebx)
1238
1239          movl      $0,%ecx
1240          movl      4(%edi),%edx
1241          subl      %eax,%ecx
1242          movl      $0,%eax
1243          adcl      %eax,%eax
1244          subl      %edx,%ecx
1245          adcl      $0,%eax
1246          movl      %ecx,4(%ebx)
1247
1248          movl      $0,%ecx
1249          movl      8(%edi),%edx
1250          subl      %eax,%ecx
1251          movl      $0,%eax
1252          adcl      %eax,%eax
1253          subl      %edx,%ecx
1254          adcl      $0,%eax
1255          movl      %ecx,8(%ebx)
1256
1257          movl      $0,%ecx
1258          movl      12(%edi),%edx
1259          subl      %eax,%ecx
1260          movl      $0,%eax
1261          adcl      %eax,%eax
1262          subl      %edx,%ecx
1263          adcl      $0,%eax
1264          movl      %ecx,12(%ebx)
1265
1266          movl      $0,%ecx
1267          movl      16(%edi),%edx
1268          subl      %eax,%ecx
1269          movl      $0,%eax
1270          adcl      %eax,%eax
1271          subl      %edx,%ecx
1272          adcl      $0,%eax
1273          movl      %ecx,16(%ebx)
1274
1275          movl      $0,%ecx
1276          movl      20(%edi),%edx
1277          subl      %eax,%ecx
1278          movl      $0,%eax
1279          adcl      %eax,%eax
1280          subl      %edx,%ecx
1281          adcl      $0,%eax
1282          movl      %ecx,20(%ebx)
1283
1284          movl      $0,%ecx
1285          movl      24(%edi),%edx
1286          subl      %eax,%ecx
1287          movl      $0,%eax
1288          adcl      %eax,%eax
1289          subl      %edx,%ecx
1290          adcl      $0,%eax
1291          movl      %ecx,24(%ebx)
1292
1293          movl      $0,%ecx
1294          movl      28(%edi),%edx
1295          subl      %eax,%ecx
1296          movl      $0,%eax
1297          adcl      %eax,%eax
1298          subl      %edx,%ecx
1299          adcl      $0,%eax
1300          movl      %ecx,28(%ebx)
1301
1302          addl      $32,%edi
1303          addl      $32,%ebx
1304          subl      $8,%ebp
1305          jnz       .L035pw_neg_loop
1306.L034pw_neg_finish:
1307          movl      36(%esp),%edx
1308          movl      $0,%ebp
1309          subl      %edx,%ebp
1310          andl      $7,%ebp
1311          jz        .L032pw_end
1312
1313          movl      $0,%ecx
1314          movl      (%edi),%edx
1315          subl      %eax,%ecx
1316          movl      $0,%eax
1317          adcl      %eax,%eax
1318          subl      %edx,%ecx
1319          adcl      $0,%eax
1320          decl      %ebp
1321          movl      %ecx,(%ebx)
1322          jz        .L032pw_end
1323
1324          movl      $0,%ecx
1325          movl      4(%edi),%edx
1326          subl      %eax,%ecx
1327          movl      $0,%eax
1328          adcl      %eax,%eax
1329          subl      %edx,%ecx
1330          adcl      $0,%eax
1331          decl      %ebp
1332          movl      %ecx,4(%ebx)
1333          jz        .L032pw_end
1334
1335          movl      $0,%ecx
1336          movl      8(%edi),%edx
1337          subl      %eax,%ecx
1338          movl      $0,%eax
1339          adcl      %eax,%eax
1340          subl      %edx,%ecx
1341          adcl      $0,%eax
1342          decl      %ebp
1343          movl      %ecx,8(%ebx)
1344          jz        .L032pw_end
1345
1346          movl      $0,%ecx
1347          movl      12(%edi),%edx
1348          subl      %eax,%ecx
1349          movl      $0,%eax
1350          adcl      %eax,%eax
1351          subl      %edx,%ecx
1352          adcl      $0,%eax
1353          decl      %ebp
1354          movl      %ecx,12(%ebx)
1355          jz        .L032pw_end
1356
1357          movl      $0,%ecx
1358          movl      16(%edi),%edx
1359          subl      %eax,%ecx
1360          movl      $0,%eax
1361          adcl      %eax,%eax
1362          subl      %edx,%ecx
1363          adcl      $0,%eax
1364          decl      %ebp
1365          movl      %ecx,16(%ebx)
1366          jz        .L032pw_end
1367
1368          movl      $0,%ecx
1369          movl      20(%edi),%edx
1370          subl      %eax,%ecx
1371          movl      $0,%eax
1372          adcl      %eax,%eax
1373          subl      %edx,%ecx
1374          adcl      $0,%eax
1375          decl      %ebp
1376          movl      %ecx,20(%ebx)
1377          jz        .L032pw_end
1378
1379          movl      $0,%ecx
1380          movl      24(%edi),%edx
1381          subl      %eax,%ecx
1382          movl      $0,%eax
1383          adcl      %eax,%eax
1384          subl      %edx,%ecx
1385          adcl      $0,%eax
1386          movl      %ecx,24(%ebx)
1387          jmp       .L032pw_end
1388.L033pw_pos:
1389          andl      $4294967288,%ebp
1390          jz        .L036pw_pos_finish
1391.L037pw_pos_loop:
1392
1393          movl      (%esi),%ecx
1394          subl      %eax,%ecx
1395          movl      %ecx,(%ebx)
1396          jnc       .L038pw_nc0
1397
1398          movl      4(%esi),%ecx
1399          subl      %eax,%ecx
1400          movl      %ecx,4(%ebx)
1401          jnc       .L039pw_nc1
1402
1403          movl      8(%esi),%ecx
1404          subl      %eax,%ecx
1405          movl      %ecx,8(%ebx)
1406          jnc       .L040pw_nc2
1407
1408          movl      12(%esi),%ecx
1409          subl      %eax,%ecx
1410          movl      %ecx,12(%ebx)
1411          jnc       .L041pw_nc3
1412
1413          movl      16(%esi),%ecx
1414          subl      %eax,%ecx
1415          movl      %ecx,16(%ebx)
1416          jnc       .L042pw_nc4
1417
1418          movl      20(%esi),%ecx
1419          subl      %eax,%ecx
1420          movl      %ecx,20(%ebx)
1421          jnc       .L043pw_nc5
1422
1423          movl      24(%esi),%ecx
1424          subl      %eax,%ecx
1425          movl      %ecx,24(%ebx)
1426          jnc       .L044pw_nc6
1427
1428          movl      28(%esi),%ecx
1429          subl      %eax,%ecx
1430          movl      %ecx,28(%ebx)
1431          jnc       .L045pw_nc7
1432
1433          addl      $32,%esi
1434          addl      $32,%ebx
1435          subl      $8,%ebp
1436          jnz       .L037pw_pos_loop
1437.L036pw_pos_finish:
1438          movl      36(%esp),%ebp
1439          andl      $7,%ebp
1440          jz        .L032pw_end
1441
1442          movl      (%esi),%ecx
1443          subl      %eax,%ecx
1444          movl      %ecx,(%ebx)
1445          jnc       .L046pw_tail_nc0
1446          decl      %ebp
1447          jz        .L032pw_end
1448
1449          movl      4(%esi),%ecx
1450          subl      %eax,%ecx
1451          movl      %ecx,4(%ebx)
1452          jnc       .L047pw_tail_nc1
1453          decl      %ebp
1454          jz        .L032pw_end
1455
1456          movl      8(%esi),%ecx
1457          subl      %eax,%ecx
1458          movl      %ecx,8(%ebx)
1459          jnc       .L048pw_tail_nc2
1460          decl      %ebp
1461          jz        .L032pw_end
1462
1463          movl      12(%esi),%ecx
1464          subl      %eax,%ecx
1465          movl      %ecx,12(%ebx)
1466          jnc       .L049pw_tail_nc3
1467          decl      %ebp
1468          jz        .L032pw_end
1469
1470          movl      16(%esi),%ecx
1471          subl      %eax,%ecx
1472          movl      %ecx,16(%ebx)
1473          jnc       .L050pw_tail_nc4
1474          decl      %ebp
1475          jz        .L032pw_end
1476
1477          movl      20(%esi),%ecx
1478          subl      %eax,%ecx
1479          movl      %ecx,20(%ebx)
1480          jnc       .L051pw_tail_nc5
1481          decl      %ebp
1482          jz        .L032pw_end
1483
1484          movl      24(%esi),%ecx
1485          subl      %eax,%ecx
1486          movl      %ecx,24(%ebx)
1487          jnc       .L052pw_tail_nc6
1488          movl      $1,%eax
1489          jmp       .L032pw_end
1490.L053pw_nc_loop:
1491          movl      (%esi),%ecx
1492          movl      %ecx,(%ebx)
1493.L038pw_nc0:
1494          movl      4(%esi),%ecx
1495          movl      %ecx,4(%ebx)
1496.L039pw_nc1:
1497          movl      8(%esi),%ecx
1498          movl      %ecx,8(%ebx)
1499.L040pw_nc2:
1500          movl      12(%esi),%ecx
1501          movl      %ecx,12(%ebx)
1502.L041pw_nc3:
1503          movl      16(%esi),%ecx
1504          movl      %ecx,16(%ebx)
1505.L042pw_nc4:
1506          movl      20(%esi),%ecx
1507          movl      %ecx,20(%ebx)
1508.L043pw_nc5:
1509          movl      24(%esi),%ecx
1510          movl      %ecx,24(%ebx)
1511.L044pw_nc6:
1512          movl      28(%esi),%ecx
1513          movl      %ecx,28(%ebx)
1514.L045pw_nc7:
1515
1516          addl      $32,%esi
1517          addl      $32,%ebx
1518          subl      $8,%ebp
1519          jnz       .L053pw_nc_loop
1520          movl      36(%esp),%ebp
1521          andl      $7,%ebp
1522          jz        .L054pw_nc_end
1523          movl      (%esi),%ecx
1524          movl      %ecx,(%ebx)
1525.L046pw_tail_nc0:
1526          decl      %ebp
1527          jz        .L054pw_nc_end
1528          movl      4(%esi),%ecx
1529          movl      %ecx,4(%ebx)
1530.L047pw_tail_nc1:
1531          decl      %ebp
1532          jz        .L054pw_nc_end
1533          movl      8(%esi),%ecx
1534          movl      %ecx,8(%ebx)
1535.L048pw_tail_nc2:
1536          decl      %ebp
1537          jz        .L054pw_nc_end
1538          movl      12(%esi),%ecx
1539          movl      %ecx,12(%ebx)
1540.L049pw_tail_nc3:
1541          decl      %ebp
1542          jz        .L054pw_nc_end
1543          movl      16(%esi),%ecx
1544          movl      %ecx,16(%ebx)
1545.L050pw_tail_nc4:
1546          decl      %ebp
1547          jz        .L054pw_nc_end
1548          movl      20(%esi),%ecx
1549          movl      %ecx,20(%ebx)
1550.L051pw_tail_nc5:
1551          decl      %ebp
1552          jz        .L054pw_nc_end
1553          movl      24(%esi),%ecx
1554          movl      %ecx,24(%ebx)
1555.L052pw_tail_nc6:
1556.L054pw_nc_end:
1557          movl      $0,%eax
1558.L032pw_end:
1559          popl      %edi
1560          popl      %esi
1561          popl      %ebx
1562          popl      %ebp
1563          ret
1564.size     bn_sub_part_words,.-.L_bn_sub_part_words_begin
1565.comm     OPENSSL_ia32cap_P,16,4
1566
1567          .section ".note.gnu.property", "a"
1568          .p2align 2
1569          .long 1f - 0f
1570          .long 4f - 1f
1571          .long 5
15720:
1573          .asciz "GNU"
15741:
1575          .p2align 2
1576          .long 0xc0000002
1577          .long 3f - 2f
15782:
1579          .long 3
15803:
1581          .p2align 2
15824:
1583