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