• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file is generated from a similarly-named Perl script in the BoringSSL
2# source tree. Do not edit by hand.
3
4#if defined(__i386__)
5#if defined(BORINGSSL_PREFIX)
6#include <boringssl_prefix_symbols_asm.h>
7#endif
8.text
9.globl	_GFp_aes_hw_encrypt
10.private_extern	_GFp_aes_hw_encrypt
11.align	4
12_GFp_aes_hw_encrypt:
13L_GFp_aes_hw_encrypt_begin:
14	movl	4(%esp),%eax
15	movl	12(%esp),%edx
16	movups	(%eax),%xmm2
17	movl	240(%edx),%ecx
18	movl	8(%esp),%eax
19	movups	(%edx),%xmm0
20	movups	16(%edx),%xmm1
21	leal	32(%edx),%edx
22	xorps	%xmm0,%xmm2
23L000enc1_loop_1:
24.byte	102,15,56,220,209
25	decl	%ecx
26	movups	(%edx),%xmm1
27	leal	16(%edx),%edx
28	jnz	L000enc1_loop_1
29.byte	102,15,56,221,209
30	pxor	%xmm0,%xmm0
31	pxor	%xmm1,%xmm1
32	movups	%xmm2,(%eax)
33	pxor	%xmm2,%xmm2
34	ret
35.private_extern	__aesni_encrypt2
36.align	4
37__aesni_encrypt2:
38	movups	(%edx),%xmm0
39	shll	$4,%ecx
40	movups	16(%edx),%xmm1
41	xorps	%xmm0,%xmm2
42	pxor	%xmm0,%xmm3
43	movups	32(%edx),%xmm0
44	leal	32(%edx,%ecx,1),%edx
45	negl	%ecx
46	addl	$16,%ecx
47L001enc2_loop:
48.byte	102,15,56,220,209
49.byte	102,15,56,220,217
50	movups	(%edx,%ecx,1),%xmm1
51	addl	$32,%ecx
52.byte	102,15,56,220,208
53.byte	102,15,56,220,216
54	movups	-16(%edx,%ecx,1),%xmm0
55	jnz	L001enc2_loop
56.byte	102,15,56,220,209
57.byte	102,15,56,220,217
58.byte	102,15,56,221,208
59.byte	102,15,56,221,216
60	ret
61.private_extern	__aesni_encrypt3
62.align	4
63__aesni_encrypt3:
64	movups	(%edx),%xmm0
65	shll	$4,%ecx
66	movups	16(%edx),%xmm1
67	xorps	%xmm0,%xmm2
68	pxor	%xmm0,%xmm3
69	pxor	%xmm0,%xmm4
70	movups	32(%edx),%xmm0
71	leal	32(%edx,%ecx,1),%edx
72	negl	%ecx
73	addl	$16,%ecx
74L002enc3_loop:
75.byte	102,15,56,220,209
76.byte	102,15,56,220,217
77.byte	102,15,56,220,225
78	movups	(%edx,%ecx,1),%xmm1
79	addl	$32,%ecx
80.byte	102,15,56,220,208
81.byte	102,15,56,220,216
82.byte	102,15,56,220,224
83	movups	-16(%edx,%ecx,1),%xmm0
84	jnz	L002enc3_loop
85.byte	102,15,56,220,209
86.byte	102,15,56,220,217
87.byte	102,15,56,220,225
88.byte	102,15,56,221,208
89.byte	102,15,56,221,216
90.byte	102,15,56,221,224
91	ret
92.private_extern	__aesni_encrypt4
93.align	4
94__aesni_encrypt4:
95	movups	(%edx),%xmm0
96	movups	16(%edx),%xmm1
97	shll	$4,%ecx
98	xorps	%xmm0,%xmm2
99	pxor	%xmm0,%xmm3
100	pxor	%xmm0,%xmm4
101	pxor	%xmm0,%xmm5
102	movups	32(%edx),%xmm0
103	leal	32(%edx,%ecx,1),%edx
104	negl	%ecx
105.byte	15,31,64,0
106	addl	$16,%ecx
107L003enc4_loop:
108.byte	102,15,56,220,209
109.byte	102,15,56,220,217
110.byte	102,15,56,220,225
111.byte	102,15,56,220,233
112	movups	(%edx,%ecx,1),%xmm1
113	addl	$32,%ecx
114.byte	102,15,56,220,208
115.byte	102,15,56,220,216
116.byte	102,15,56,220,224
117.byte	102,15,56,220,232
118	movups	-16(%edx,%ecx,1),%xmm0
119	jnz	L003enc4_loop
120.byte	102,15,56,220,209
121.byte	102,15,56,220,217
122.byte	102,15,56,220,225
123.byte	102,15,56,220,233
124.byte	102,15,56,221,208
125.byte	102,15,56,221,216
126.byte	102,15,56,221,224
127.byte	102,15,56,221,232
128	ret
129.private_extern	__aesni_encrypt6
130.align	4
131__aesni_encrypt6:
132	movups	(%edx),%xmm0
133	shll	$4,%ecx
134	movups	16(%edx),%xmm1
135	xorps	%xmm0,%xmm2
136	pxor	%xmm0,%xmm3
137	pxor	%xmm0,%xmm4
138.byte	102,15,56,220,209
139	pxor	%xmm0,%xmm5
140	pxor	%xmm0,%xmm6
141.byte	102,15,56,220,217
142	leal	32(%edx,%ecx,1),%edx
143	negl	%ecx
144.byte	102,15,56,220,225
145	pxor	%xmm0,%xmm7
146	movups	(%edx,%ecx,1),%xmm0
147	addl	$16,%ecx
148	jmp	L004_aesni_encrypt6_inner
149.align	4,0x90
150L005enc6_loop:
151.byte	102,15,56,220,209
152.byte	102,15,56,220,217
153.byte	102,15,56,220,225
154L004_aesni_encrypt6_inner:
155.byte	102,15,56,220,233
156.byte	102,15,56,220,241
157.byte	102,15,56,220,249
158L_aesni_encrypt6_enter:
159	movups	(%edx,%ecx,1),%xmm1
160	addl	$32,%ecx
161.byte	102,15,56,220,208
162.byte	102,15,56,220,216
163.byte	102,15,56,220,224
164.byte	102,15,56,220,232
165.byte	102,15,56,220,240
166.byte	102,15,56,220,248
167	movups	-16(%edx,%ecx,1),%xmm0
168	jnz	L005enc6_loop
169.byte	102,15,56,220,209
170.byte	102,15,56,220,217
171.byte	102,15,56,220,225
172.byte	102,15,56,220,233
173.byte	102,15,56,220,241
174.byte	102,15,56,220,249
175.byte	102,15,56,221,208
176.byte	102,15,56,221,216
177.byte	102,15,56,221,224
178.byte	102,15,56,221,232
179.byte	102,15,56,221,240
180.byte	102,15,56,221,248
181	ret
182.globl	_GFp_aes_hw_ctr32_encrypt_blocks
183.private_extern	_GFp_aes_hw_ctr32_encrypt_blocks
184.align	4
185_GFp_aes_hw_ctr32_encrypt_blocks:
186L_GFp_aes_hw_ctr32_encrypt_blocks_begin:
187	pushl	%ebp
188	pushl	%ebx
189	pushl	%esi
190	pushl	%edi
191	movl	20(%esp),%esi
192	movl	24(%esp),%edi
193	movl	28(%esp),%eax
194	movl	32(%esp),%edx
195	movl	36(%esp),%ebx
196	movl	%esp,%ebp
197	subl	$88,%esp
198	andl	$-16,%esp
199	movl	%ebp,80(%esp)
200	cmpl	$1,%eax
201	je	L006ctr32_one_shortcut
202	movdqu	(%ebx),%xmm7
203	movl	$202182159,(%esp)
204	movl	$134810123,4(%esp)
205	movl	$67438087,8(%esp)
206	movl	$66051,12(%esp)
207	movl	$6,%ecx
208	xorl	%ebp,%ebp
209	movl	%ecx,16(%esp)
210	movl	%ecx,20(%esp)
211	movl	%ecx,24(%esp)
212	movl	%ebp,28(%esp)
213.byte	102,15,58,22,251,3
214.byte	102,15,58,34,253,3
215	movl	240(%edx),%ecx
216	bswap	%ebx
217	pxor	%xmm0,%xmm0
218	pxor	%xmm1,%xmm1
219	movdqa	(%esp),%xmm2
220.byte	102,15,58,34,195,0
221	leal	3(%ebx),%ebp
222.byte	102,15,58,34,205,0
223	incl	%ebx
224.byte	102,15,58,34,195,1
225	incl	%ebp
226.byte	102,15,58,34,205,1
227	incl	%ebx
228.byte	102,15,58,34,195,2
229	incl	%ebp
230.byte	102,15,58,34,205,2
231	movdqa	%xmm0,48(%esp)
232.byte	102,15,56,0,194
233	movdqu	(%edx),%xmm6
234	movdqa	%xmm1,64(%esp)
235.byte	102,15,56,0,202
236	pshufd	$192,%xmm0,%xmm2
237	pshufd	$128,%xmm0,%xmm3
238	cmpl	$6,%eax
239	jb	L007ctr32_tail
240	pxor	%xmm6,%xmm7
241	shll	$4,%ecx
242	movl	$16,%ebx
243	movdqa	%xmm7,32(%esp)
244	movl	%edx,%ebp
245	subl	%ecx,%ebx
246	leal	32(%edx,%ecx,1),%edx
247	subl	$6,%eax
248	jmp	L008ctr32_loop6
249.align	4,0x90
250L008ctr32_loop6:
251	pshufd	$64,%xmm0,%xmm4
252	movdqa	32(%esp),%xmm0
253	pshufd	$192,%xmm1,%xmm5
254	pxor	%xmm0,%xmm2
255	pshufd	$128,%xmm1,%xmm6
256	pxor	%xmm0,%xmm3
257	pshufd	$64,%xmm1,%xmm7
258	movups	16(%ebp),%xmm1
259	pxor	%xmm0,%xmm4
260	pxor	%xmm0,%xmm5
261.byte	102,15,56,220,209
262	pxor	%xmm0,%xmm6
263	pxor	%xmm0,%xmm7
264.byte	102,15,56,220,217
265	movups	32(%ebp),%xmm0
266	movl	%ebx,%ecx
267.byte	102,15,56,220,225
268.byte	102,15,56,220,233
269.byte	102,15,56,220,241
270.byte	102,15,56,220,249
271	call	L_aesni_encrypt6_enter
272	movups	(%esi),%xmm1
273	movups	16(%esi),%xmm0
274	xorps	%xmm1,%xmm2
275	movups	32(%esi),%xmm1
276	xorps	%xmm0,%xmm3
277	movups	%xmm2,(%edi)
278	movdqa	16(%esp),%xmm0
279	xorps	%xmm1,%xmm4
280	movdqa	64(%esp),%xmm1
281	movups	%xmm3,16(%edi)
282	movups	%xmm4,32(%edi)
283	paddd	%xmm0,%xmm1
284	paddd	48(%esp),%xmm0
285	movdqa	(%esp),%xmm2
286	movups	48(%esi),%xmm3
287	movups	64(%esi),%xmm4
288	xorps	%xmm3,%xmm5
289	movups	80(%esi),%xmm3
290	leal	96(%esi),%esi
291	movdqa	%xmm0,48(%esp)
292.byte	102,15,56,0,194
293	xorps	%xmm4,%xmm6
294	movups	%xmm5,48(%edi)
295	xorps	%xmm3,%xmm7
296	movdqa	%xmm1,64(%esp)
297.byte	102,15,56,0,202
298	movups	%xmm6,64(%edi)
299	pshufd	$192,%xmm0,%xmm2
300	movups	%xmm7,80(%edi)
301	leal	96(%edi),%edi
302	pshufd	$128,%xmm0,%xmm3
303	subl	$6,%eax
304	jnc	L008ctr32_loop6
305	addl	$6,%eax
306	jz	L009ctr32_ret
307	movdqu	(%ebp),%xmm7
308	movl	%ebp,%edx
309	pxor	32(%esp),%xmm7
310	movl	240(%ebp),%ecx
311L007ctr32_tail:
312	por	%xmm7,%xmm2
313	cmpl	$2,%eax
314	jb	L010ctr32_one
315	pshufd	$64,%xmm0,%xmm4
316	por	%xmm7,%xmm3
317	je	L011ctr32_two
318	pshufd	$192,%xmm1,%xmm5
319	por	%xmm7,%xmm4
320	cmpl	$4,%eax
321	jb	L012ctr32_three
322	pshufd	$128,%xmm1,%xmm6
323	por	%xmm7,%xmm5
324	je	L013ctr32_four
325	por	%xmm7,%xmm6
326	call	__aesni_encrypt6
327	movups	(%esi),%xmm1
328	movups	16(%esi),%xmm0
329	xorps	%xmm1,%xmm2
330	movups	32(%esi),%xmm1
331	xorps	%xmm0,%xmm3
332	movups	48(%esi),%xmm0
333	xorps	%xmm1,%xmm4
334	movups	64(%esi),%xmm1
335	xorps	%xmm0,%xmm5
336	movups	%xmm2,(%edi)
337	xorps	%xmm1,%xmm6
338	movups	%xmm3,16(%edi)
339	movups	%xmm4,32(%edi)
340	movups	%xmm5,48(%edi)
341	movups	%xmm6,64(%edi)
342	jmp	L009ctr32_ret
343.align	4,0x90
344L006ctr32_one_shortcut:
345	movups	(%ebx),%xmm2
346	movl	240(%edx),%ecx
347L010ctr32_one:
348	movups	(%edx),%xmm0
349	movups	16(%edx),%xmm1
350	leal	32(%edx),%edx
351	xorps	%xmm0,%xmm2
352L014enc1_loop_2:
353.byte	102,15,56,220,209
354	decl	%ecx
355	movups	(%edx),%xmm1
356	leal	16(%edx),%edx
357	jnz	L014enc1_loop_2
358.byte	102,15,56,221,209
359	movups	(%esi),%xmm6
360	xorps	%xmm2,%xmm6
361	movups	%xmm6,(%edi)
362	jmp	L009ctr32_ret
363.align	4,0x90
364L011ctr32_two:
365	call	__aesni_encrypt2
366	movups	(%esi),%xmm5
367	movups	16(%esi),%xmm6
368	xorps	%xmm5,%xmm2
369	xorps	%xmm6,%xmm3
370	movups	%xmm2,(%edi)
371	movups	%xmm3,16(%edi)
372	jmp	L009ctr32_ret
373.align	4,0x90
374L012ctr32_three:
375	call	__aesni_encrypt3
376	movups	(%esi),%xmm5
377	movups	16(%esi),%xmm6
378	xorps	%xmm5,%xmm2
379	movups	32(%esi),%xmm7
380	xorps	%xmm6,%xmm3
381	movups	%xmm2,(%edi)
382	xorps	%xmm7,%xmm4
383	movups	%xmm3,16(%edi)
384	movups	%xmm4,32(%edi)
385	jmp	L009ctr32_ret
386.align	4,0x90
387L013ctr32_four:
388	call	__aesni_encrypt4
389	movups	(%esi),%xmm6
390	movups	16(%esi),%xmm7
391	movups	32(%esi),%xmm1
392	xorps	%xmm6,%xmm2
393	movups	48(%esi),%xmm0
394	xorps	%xmm7,%xmm3
395	movups	%xmm2,(%edi)
396	xorps	%xmm1,%xmm4
397	movups	%xmm3,16(%edi)
398	xorps	%xmm0,%xmm5
399	movups	%xmm4,32(%edi)
400	movups	%xmm5,48(%edi)
401L009ctr32_ret:
402	pxor	%xmm0,%xmm0
403	pxor	%xmm1,%xmm1
404	pxor	%xmm2,%xmm2
405	pxor	%xmm3,%xmm3
406	pxor	%xmm4,%xmm4
407	movdqa	%xmm0,32(%esp)
408	pxor	%xmm5,%xmm5
409	movdqa	%xmm0,48(%esp)
410	pxor	%xmm6,%xmm6
411	movdqa	%xmm0,64(%esp)
412	pxor	%xmm7,%xmm7
413	movl	80(%esp),%esp
414	popl	%edi
415	popl	%esi
416	popl	%ebx
417	popl	%ebp
418	ret
419.private_extern	__aesni_set_encrypt_key
420.align	4
421__aesni_set_encrypt_key:
422	pushl	%ebp
423	pushl	%ebx
424	testl	%eax,%eax
425	jz	L015bad_pointer
426	testl	%edx,%edx
427	jz	L015bad_pointer
428	call	L016pic
429L016pic:
430	popl	%ebx
431	leal	Lkey_const-L016pic(%ebx),%ebx
432	movl	L_GFp_ia32cap_P$non_lazy_ptr-Lkey_const(%ebx),%ebp
433	movups	(%eax),%xmm0
434	xorps	%xmm4,%xmm4
435	movl	4(%ebp),%ebp
436	leal	16(%edx),%edx
437	andl	$268437504,%ebp
438	cmpl	$256,%ecx
439	je	L01714rounds
440	cmpl	$128,%ecx
441	jne	L018bad_keybits
442.align	4,0x90
443L01910rounds:
444	cmpl	$268435456,%ebp
445	je	L02010rounds_alt
446	movl	$9,%ecx
447	movups	%xmm0,-16(%edx)
448.byte	102,15,58,223,200,1
449	call	L021key_128_cold
450.byte	102,15,58,223,200,2
451	call	L022key_128
452.byte	102,15,58,223,200,4
453	call	L022key_128
454.byte	102,15,58,223,200,8
455	call	L022key_128
456.byte	102,15,58,223,200,16
457	call	L022key_128
458.byte	102,15,58,223,200,32
459	call	L022key_128
460.byte	102,15,58,223,200,64
461	call	L022key_128
462.byte	102,15,58,223,200,128
463	call	L022key_128
464.byte	102,15,58,223,200,27
465	call	L022key_128
466.byte	102,15,58,223,200,54
467	call	L022key_128
468	movups	%xmm0,(%edx)
469	movl	%ecx,80(%edx)
470	jmp	L023good_key
471.align	4,0x90
472L022key_128:
473	movups	%xmm0,(%edx)
474	leal	16(%edx),%edx
475L021key_128_cold:
476	shufps	$16,%xmm0,%xmm4
477	xorps	%xmm4,%xmm0
478	shufps	$140,%xmm0,%xmm4
479	xorps	%xmm4,%xmm0
480	shufps	$255,%xmm1,%xmm1
481	xorps	%xmm1,%xmm0
482	ret
483.align	4,0x90
484L02010rounds_alt:
485	movdqa	(%ebx),%xmm5
486	movl	$8,%ecx
487	movdqa	32(%ebx),%xmm4
488	movdqa	%xmm0,%xmm2
489	movdqu	%xmm0,-16(%edx)
490L024loop_key128:
491.byte	102,15,56,0,197
492.byte	102,15,56,221,196
493	pslld	$1,%xmm4
494	leal	16(%edx),%edx
495	movdqa	%xmm2,%xmm3
496	pslldq	$4,%xmm2
497	pxor	%xmm2,%xmm3
498	pslldq	$4,%xmm2
499	pxor	%xmm2,%xmm3
500	pslldq	$4,%xmm2
501	pxor	%xmm3,%xmm2
502	pxor	%xmm2,%xmm0
503	movdqu	%xmm0,-16(%edx)
504	movdqa	%xmm0,%xmm2
505	decl	%ecx
506	jnz	L024loop_key128
507	movdqa	48(%ebx),%xmm4
508.byte	102,15,56,0,197
509.byte	102,15,56,221,196
510	pslld	$1,%xmm4
511	movdqa	%xmm2,%xmm3
512	pslldq	$4,%xmm2
513	pxor	%xmm2,%xmm3
514	pslldq	$4,%xmm2
515	pxor	%xmm2,%xmm3
516	pslldq	$4,%xmm2
517	pxor	%xmm3,%xmm2
518	pxor	%xmm2,%xmm0
519	movdqu	%xmm0,(%edx)
520	movdqa	%xmm0,%xmm2
521.byte	102,15,56,0,197
522.byte	102,15,56,221,196
523	movdqa	%xmm2,%xmm3
524	pslldq	$4,%xmm2
525	pxor	%xmm2,%xmm3
526	pslldq	$4,%xmm2
527	pxor	%xmm2,%xmm3
528	pslldq	$4,%xmm2
529	pxor	%xmm3,%xmm2
530	pxor	%xmm2,%xmm0
531	movdqu	%xmm0,16(%edx)
532	movl	$9,%ecx
533	movl	%ecx,96(%edx)
534	jmp	L023good_key
535.align	4,0x90
536L01714rounds:
537	movups	16(%eax),%xmm2
538	leal	16(%edx),%edx
539	cmpl	$268435456,%ebp
540	je	L02514rounds_alt
541	movl	$13,%ecx
542	movups	%xmm0,-32(%edx)
543	movups	%xmm2,-16(%edx)
544.byte	102,15,58,223,202,1
545	call	L026key_256a_cold
546.byte	102,15,58,223,200,1
547	call	L027key_256b
548.byte	102,15,58,223,202,2
549	call	L028key_256a
550.byte	102,15,58,223,200,2
551	call	L027key_256b
552.byte	102,15,58,223,202,4
553	call	L028key_256a
554.byte	102,15,58,223,200,4
555	call	L027key_256b
556.byte	102,15,58,223,202,8
557	call	L028key_256a
558.byte	102,15,58,223,200,8
559	call	L027key_256b
560.byte	102,15,58,223,202,16
561	call	L028key_256a
562.byte	102,15,58,223,200,16
563	call	L027key_256b
564.byte	102,15,58,223,202,32
565	call	L028key_256a
566.byte	102,15,58,223,200,32
567	call	L027key_256b
568.byte	102,15,58,223,202,64
569	call	L028key_256a
570	movups	%xmm0,(%edx)
571	movl	%ecx,16(%edx)
572	xorl	%eax,%eax
573	jmp	L023good_key
574.align	4,0x90
575L028key_256a:
576	movups	%xmm2,(%edx)
577	leal	16(%edx),%edx
578L026key_256a_cold:
579	shufps	$16,%xmm0,%xmm4
580	xorps	%xmm4,%xmm0
581	shufps	$140,%xmm0,%xmm4
582	xorps	%xmm4,%xmm0
583	shufps	$255,%xmm1,%xmm1
584	xorps	%xmm1,%xmm0
585	ret
586.align	4,0x90
587L027key_256b:
588	movups	%xmm0,(%edx)
589	leal	16(%edx),%edx
590	shufps	$16,%xmm2,%xmm4
591	xorps	%xmm4,%xmm2
592	shufps	$140,%xmm2,%xmm4
593	xorps	%xmm4,%xmm2
594	shufps	$170,%xmm1,%xmm1
595	xorps	%xmm1,%xmm2
596	ret
597.align	4,0x90
598L02514rounds_alt:
599	movdqa	(%ebx),%xmm5
600	movdqa	32(%ebx),%xmm4
601	movl	$7,%ecx
602	movdqu	%xmm0,-32(%edx)
603	movdqa	%xmm2,%xmm1
604	movdqu	%xmm2,-16(%edx)
605L029loop_key256:
606.byte	102,15,56,0,213
607.byte	102,15,56,221,212
608	movdqa	%xmm0,%xmm3
609	pslldq	$4,%xmm0
610	pxor	%xmm0,%xmm3
611	pslldq	$4,%xmm0
612	pxor	%xmm0,%xmm3
613	pslldq	$4,%xmm0
614	pxor	%xmm3,%xmm0
615	pslld	$1,%xmm4
616	pxor	%xmm2,%xmm0
617	movdqu	%xmm0,(%edx)
618	decl	%ecx
619	jz	L030done_key256
620	pshufd	$255,%xmm0,%xmm2
621	pxor	%xmm3,%xmm3
622.byte	102,15,56,221,211
623	movdqa	%xmm1,%xmm3
624	pslldq	$4,%xmm1
625	pxor	%xmm1,%xmm3
626	pslldq	$4,%xmm1
627	pxor	%xmm1,%xmm3
628	pslldq	$4,%xmm1
629	pxor	%xmm3,%xmm1
630	pxor	%xmm1,%xmm2
631	movdqu	%xmm2,16(%edx)
632	leal	32(%edx),%edx
633	movdqa	%xmm2,%xmm1
634	jmp	L029loop_key256
635L030done_key256:
636	movl	$13,%ecx
637	movl	%ecx,16(%edx)
638L023good_key:
639	pxor	%xmm0,%xmm0
640	pxor	%xmm1,%xmm1
641	pxor	%xmm2,%xmm2
642	pxor	%xmm3,%xmm3
643	pxor	%xmm4,%xmm4
644	pxor	%xmm5,%xmm5
645	xorl	%eax,%eax
646	popl	%ebx
647	popl	%ebp
648	ret
649.align	2,0x90
650L015bad_pointer:
651	movl	$-1,%eax
652	popl	%ebx
653	popl	%ebp
654	ret
655.align	2,0x90
656L018bad_keybits:
657	pxor	%xmm0,%xmm0
658	movl	$-2,%eax
659	popl	%ebx
660	popl	%ebp
661	ret
662.globl	_GFp_aes_hw_set_encrypt_key
663.private_extern	_GFp_aes_hw_set_encrypt_key
664.align	4
665_GFp_aes_hw_set_encrypt_key:
666L_GFp_aes_hw_set_encrypt_key_begin:
667	movl	4(%esp),%eax
668	movl	8(%esp),%ecx
669	movl	12(%esp),%edx
670	call	__aesni_set_encrypt_key
671	ret
672.align	6,0x90
673Lkey_const:
674.long	202313229,202313229,202313229,202313229
675.long	67569157,67569157,67569157,67569157
676.long	1,1,1,1
677.long	27,27,27,27
678.byte	65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
679.byte	83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
680.byte	32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
681.byte	115,108,46,111,114,103,62,0
682.section __IMPORT,__pointers,non_lazy_symbol_pointers
683L_GFp_ia32cap_P$non_lazy_ptr:
684.indirect_symbol	_GFp_ia32cap_P
685.long	0
686#endif
687