2 /* Do not modify. This file is auto-generated from aesni-gcm-x86_64.pl. */
5 .type _aesni_ctr32_ghash_6x,@function
11 vpxor %xmm4,%xmm4,%xmm4
12 vmovdqu 0-128(%rcx),%xmm15
13 vpaddb %xmm2,%xmm1,%xmm10
14 vpaddb %xmm2,%xmm10,%xmm11
15 vpaddb %xmm2,%xmm11,%xmm12
16 vpaddb %xmm2,%xmm12,%xmm13
17 vpaddb %xmm2,%xmm13,%xmm14
18 vpxor %xmm15,%xmm1,%xmm9
19 vmovdqu %xmm4,16+8(%rsp)
26 vmovdqu 0-32(%r9),%xmm3
27 vpaddb %xmm2,%xmm14,%xmm1
28 vpxor %xmm15,%xmm10,%xmm10
29 vpxor %xmm15,%xmm11,%xmm11
33 vpclmulqdq $0x10,%xmm3,%xmm7,%xmm5
34 vpxor %xmm15,%xmm12,%xmm12
35 vmovups 16-128(%rcx),%xmm2
36 vpclmulqdq $0x01,%xmm3,%xmm7,%xmm6
40 vaesenc %xmm2,%xmm9,%xmm9
41 vmovdqu 48+8(%rsp),%xmm0
42 vpxor %xmm15,%xmm13,%xmm13
43 vpclmulqdq $0x00,%xmm3,%xmm7,%xmm1
44 vaesenc %xmm2,%xmm10,%xmm10
45 vpxor %xmm15,%xmm14,%xmm14
47 vpclmulqdq $0x11,%xmm3,%xmm7,%xmm7
48 vaesenc %xmm2,%xmm11,%xmm11
49 vmovdqu 16-32(%r9),%xmm3
51 vaesenc %xmm2,%xmm12,%xmm12
52 vpxor %xmm5,%xmm6,%xmm6
53 vpclmulqdq $0x00,%xmm3,%xmm0,%xmm5
54 vpxor %xmm4,%xmm8,%xmm8
55 vaesenc %xmm2,%xmm13,%xmm13
56 vpxor %xmm5,%xmm1,%xmm4
58 vmovups 32-128(%rcx),%xmm15
59 vpclmulqdq $0x10,%xmm3,%xmm0,%xmm1
60 vaesenc %xmm2,%xmm14,%xmm14
62 vpclmulqdq $0x01,%xmm3,%xmm0,%xmm2
63 leaq (%r14,%r12,1),%r14
64 vaesenc %xmm15,%xmm9,%xmm9
65 vpxor 16+8(%rsp),%xmm8,%xmm8
66 vpclmulqdq $0x11,%xmm3,%xmm0,%xmm3
67 vmovdqu 64+8(%rsp),%xmm0
68 vaesenc %xmm15,%xmm10,%xmm10
70 vaesenc %xmm15,%xmm11,%xmm11
72 vaesenc %xmm15,%xmm12,%xmm12
74 vaesenc %xmm15,%xmm13,%xmm13
76 vmovdqu 48-32(%r9),%xmm5
77 vaesenc %xmm15,%xmm14,%xmm14
79 vmovups 48-128(%rcx),%xmm15
80 vpxor %xmm1,%xmm6,%xmm6
81 vpclmulqdq $0x00,%xmm5,%xmm0,%xmm1
82 vaesenc %xmm15,%xmm9,%xmm9
83 vpxor %xmm2,%xmm6,%xmm6
84 vpclmulqdq $0x10,%xmm5,%xmm0,%xmm2
85 vaesenc %xmm15,%xmm10,%xmm10
86 vpxor %xmm3,%xmm7,%xmm7
87 vpclmulqdq $0x01,%xmm5,%xmm0,%xmm3
88 vaesenc %xmm15,%xmm11,%xmm11
89 vpclmulqdq $0x11,%xmm5,%xmm0,%xmm5
90 vmovdqu 80+8(%rsp),%xmm0
91 vaesenc %xmm15,%xmm12,%xmm12
92 vaesenc %xmm15,%xmm13,%xmm13
93 vpxor %xmm1,%xmm4,%xmm4
94 vmovdqu 64-32(%r9),%xmm1
95 vaesenc %xmm15,%xmm14,%xmm14
97 vmovups 64-128(%rcx),%xmm15
98 vpxor %xmm2,%xmm6,%xmm6
99 vpclmulqdq $0x00,%xmm1,%xmm0,%xmm2
100 vaesenc %xmm15,%xmm9,%xmm9
101 vpxor %xmm3,%xmm6,%xmm6
102 vpclmulqdq $0x10,%xmm1,%xmm0,%xmm3
103 vaesenc %xmm15,%xmm10,%xmm10
105 vpxor %xmm5,%xmm7,%xmm7
106 vpclmulqdq $0x01,%xmm1,%xmm0,%xmm5
107 vaesenc %xmm15,%xmm11,%xmm11
109 vpclmulqdq $0x11,%xmm1,%xmm0,%xmm1
110 vmovdqu 96+8(%rsp),%xmm0
111 vaesenc %xmm15,%xmm12,%xmm12
113 vaesenc %xmm15,%xmm13,%xmm13
115 vpxor %xmm2,%xmm4,%xmm4
116 vmovdqu 96-32(%r9),%xmm2
117 vaesenc %xmm15,%xmm14,%xmm14
119 vmovups 80-128(%rcx),%xmm15
120 vpxor %xmm3,%xmm6,%xmm6
121 vpclmulqdq $0x00,%xmm2,%xmm0,%xmm3
122 vaesenc %xmm15,%xmm9,%xmm9
123 vpxor %xmm5,%xmm6,%xmm6
124 vpclmulqdq $0x10,%xmm2,%xmm0,%xmm5
125 vaesenc %xmm15,%xmm10,%xmm10
127 vpxor %xmm1,%xmm7,%xmm7
128 vpclmulqdq $0x01,%xmm2,%xmm0,%xmm1
129 vpxor 112+8(%rsp),%xmm8,%xmm8
130 vaesenc %xmm15,%xmm11,%xmm11
132 vpclmulqdq $0x11,%xmm2,%xmm0,%xmm2
133 vaesenc %xmm15,%xmm12,%xmm12
135 vaesenc %xmm15,%xmm13,%xmm13
137 vpxor %xmm3,%xmm4,%xmm4
138 vmovdqu 112-32(%r9),%xmm3
139 vaesenc %xmm15,%xmm14,%xmm14
141 vmovups 96-128(%rcx),%xmm15
142 vpxor %xmm5,%xmm6,%xmm6
143 vpclmulqdq $0x10,%xmm3,%xmm8,%xmm5
144 vaesenc %xmm15,%xmm9,%xmm9
145 vpxor %xmm1,%xmm6,%xmm6
146 vpclmulqdq $0x01,%xmm3,%xmm8,%xmm1
147 vaesenc %xmm15,%xmm10,%xmm10
149 vpxor %xmm2,%xmm7,%xmm7
150 vpclmulqdq $0x00,%xmm3,%xmm8,%xmm2
151 vaesenc %xmm15,%xmm11,%xmm11
153 vpclmulqdq $0x11,%xmm3,%xmm8,%xmm8
154 vaesenc %xmm15,%xmm12,%xmm12
156 vaesenc %xmm15,%xmm13,%xmm13
158 vpxor %xmm5,%xmm6,%xmm6
159 vaesenc %xmm15,%xmm14,%xmm14
160 vpxor %xmm1,%xmm6,%xmm6
162 vmovups 112-128(%rcx),%xmm15
163 vpslldq $8,%xmm6,%xmm5
164 vpxor %xmm2,%xmm4,%xmm4
165 vmovdqu 16(%r11),%xmm3
167 vaesenc %xmm15,%xmm9,%xmm9
168 vpxor %xmm8,%xmm7,%xmm7
169 vaesenc %xmm15,%xmm10,%xmm10
170 vpxor %xmm5,%xmm4,%xmm4
172 vaesenc %xmm15,%xmm11,%xmm11
174 vpalignr $8,%xmm4,%xmm4,%xmm0
175 vpclmulqdq $0x10,%xmm3,%xmm4,%xmm4
177 vaesenc %xmm15,%xmm12,%xmm12
178 movq %r12,104+8(%rsp)
179 vaesenc %xmm15,%xmm13,%xmm13
180 vmovups 128-128(%rcx),%xmm1
181 vaesenc %xmm15,%xmm14,%xmm14
183 vaesenc %xmm1,%xmm9,%xmm9
184 vmovups 144-128(%rcx),%xmm15
185 vaesenc %xmm1,%xmm10,%xmm10
186 vpsrldq $8,%xmm6,%xmm6
187 vaesenc %xmm1,%xmm11,%xmm11
188 vpxor %xmm6,%xmm7,%xmm7
189 vaesenc %xmm1,%xmm12,%xmm12
190 vpxor %xmm0,%xmm4,%xmm4
192 vaesenc %xmm1,%xmm13,%xmm13
194 vaesenc %xmm1,%xmm14,%xmm14
195 vmovups 160-128(%rcx),%xmm1
199 vaesenc %xmm15,%xmm9,%xmm9
200 vaesenc %xmm15,%xmm10,%xmm10
201 vaesenc %xmm15,%xmm11,%xmm11
202 vaesenc %xmm15,%xmm12,%xmm12
203 vaesenc %xmm15,%xmm13,%xmm13
204 vaesenc %xmm15,%xmm14,%xmm14
206 vaesenc %xmm1,%xmm9,%xmm9
207 vaesenc %xmm1,%xmm10,%xmm10
208 vaesenc %xmm1,%xmm11,%xmm11
209 vaesenc %xmm1,%xmm12,%xmm12
210 vaesenc %xmm1,%xmm13,%xmm13
211 vmovups 176-128(%rcx),%xmm15
212 vaesenc %xmm1,%xmm14,%xmm14
213 vmovups 192-128(%rcx),%xmm1
216 vaesenc %xmm15,%xmm9,%xmm9
217 vaesenc %xmm15,%xmm10,%xmm10
218 vaesenc %xmm15,%xmm11,%xmm11
219 vaesenc %xmm15,%xmm12,%xmm12
220 vaesenc %xmm15,%xmm13,%xmm13
221 vaesenc %xmm15,%xmm14,%xmm14
223 vaesenc %xmm1,%xmm9,%xmm9
224 vaesenc %xmm1,%xmm10,%xmm10
225 vaesenc %xmm1,%xmm11,%xmm11
226 vaesenc %xmm1,%xmm12,%xmm12
227 vaesenc %xmm1,%xmm13,%xmm13
228 vmovups 208-128(%rcx),%xmm15
229 vaesenc %xmm1,%xmm14,%xmm14
230 vmovups 224-128(%rcx),%xmm1
236 vpshufb %xmm0,%xmm1,%xmm6
237 vmovdqu 48(%r11),%xmm5
238 vpaddd 64(%r11),%xmm6,%xmm10
239 vpaddd %xmm5,%xmm6,%xmm11
240 vmovdqu 0-32(%r9),%xmm3
241 vpaddd %xmm5,%xmm10,%xmm12
242 vpshufb %xmm0,%xmm10,%xmm10
243 vpaddd %xmm5,%xmm11,%xmm13
244 vpshufb %xmm0,%xmm11,%xmm11
245 vpxor %xmm15,%xmm10,%xmm10
246 vpaddd %xmm5,%xmm12,%xmm14
247 vpshufb %xmm0,%xmm12,%xmm12
248 vpxor %xmm15,%xmm11,%xmm11
249 vpaddd %xmm5,%xmm13,%xmm1
250 vpshufb %xmm0,%xmm13,%xmm13
251 vpshufb %xmm0,%xmm14,%xmm14
252 vpshufb %xmm0,%xmm1,%xmm1
257 vaesenc %xmm15,%xmm9,%xmm9
258 vmovdqu %xmm7,16+8(%rsp)
259 vpalignr $8,%xmm4,%xmm4,%xmm8
260 vaesenc %xmm15,%xmm10,%xmm10
261 vpclmulqdq $0x10,%xmm3,%xmm4,%xmm4
262 vpxor 0(%rdi),%xmm1,%xmm2
263 vaesenc %xmm15,%xmm11,%xmm11
264 vpxor 16(%rdi),%xmm1,%xmm0
265 vaesenc %xmm15,%xmm12,%xmm12
266 vpxor 32(%rdi),%xmm1,%xmm5
267 vaesenc %xmm15,%xmm13,%xmm13
268 vpxor 48(%rdi),%xmm1,%xmm6
269 vaesenc %xmm15,%xmm14,%xmm14
270 vpxor 64(%rdi),%xmm1,%xmm7
271 vpxor 80(%rdi),%xmm1,%xmm3
274 vaesenclast %xmm2,%xmm9,%xmm9
275 vmovdqu 32(%r11),%xmm2
276 vaesenclast %xmm0,%xmm10,%xmm10
277 vpaddb %xmm2,%xmm1,%xmm0
278 movq %r13,112+8(%rsp)
280 vaesenclast %xmm5,%xmm11,%xmm11
281 vpaddb %xmm2,%xmm0,%xmm5
282 movq %r12,120+8(%rsp)
284 vmovdqu 0-128(%rcx),%xmm15
285 vaesenclast %xmm6,%xmm12,%xmm12
286 vpaddb %xmm2,%xmm5,%xmm6
287 vaesenclast %xmm7,%xmm13,%xmm13
288 vpaddb %xmm2,%xmm6,%xmm7
289 vaesenclast %xmm3,%xmm14,%xmm14
290 vpaddb %xmm2,%xmm7,%xmm3
296 vmovups %xmm9,-96(%rsi)
297 vpxor %xmm15,%xmm1,%xmm9
298 vmovups %xmm10,-80(%rsi)
300 vmovups %xmm11,-64(%rsi)
302 vmovups %xmm12,-48(%rsi)
304 vmovups %xmm13,-32(%rsi)
306 vmovups %xmm14,-16(%rsi)
308 vmovdqu 32+8(%rsp),%xmm7
312 vpxor 16+8(%rsp),%xmm8,%xmm8
313 vpxor %xmm4,%xmm8,%xmm8
317 .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x
318 .globl aesni_gcm_decrypt
319 .type aesni_gcm_decrypt,@function
328 .cfi_def_cfa_register %rax
346 leaq .Lbswap_mask(%rip),%r11
354 movl 240-128(%rcx),%ebp
355 vpshufb %xmm0,%xmm8,%xmm8
360 jc .Ldec_no_key_aliasing
362 jnc .Ldec_no_key_aliasing
364 .Ldec_no_key_aliasing:
366 vmovdqu 80(%rdi),%xmm7
368 vmovdqu 64(%rdi),%xmm4
369 leaq -192(%rdi,%rdx,1),%r15
370 vmovdqu 48(%rdi),%xmm5
373 vmovdqu 32(%rdi),%xmm6
374 vpshufb %xmm0,%xmm7,%xmm7
375 vmovdqu 16(%rdi),%xmm2
376 vpshufb %xmm0,%xmm4,%xmm4
378 vpshufb %xmm0,%xmm5,%xmm5
379 vmovdqu %xmm4,48(%rsp)
380 vpshufb %xmm0,%xmm6,%xmm6
381 vmovdqu %xmm5,64(%rsp)
382 vpshufb %xmm0,%xmm2,%xmm2
383 vmovdqu %xmm6,80(%rsp)
384 vpshufb %xmm0,%xmm3,%xmm3
385 vmovdqu %xmm2,96(%rsp)
386 vmovdqu %xmm3,112(%rsp)
388 call _aesni_ctr32_ghash_6x
390 vmovups %xmm9,-96(%rsi)
391 vmovups %xmm10,-80(%rsi)
392 vmovups %xmm11,-64(%rsi)
393 vmovups %xmm12,-48(%rsi)
394 vmovups %xmm13,-32(%rsi)
395 vmovups %xmm14,-16(%rsi)
397 vpshufb (%r11),%xmm8,%xmm8
398 vmovdqu %xmm8,-64(%r9)
414 .cfi_def_cfa_register %rsp
419 .size aesni_gcm_decrypt,.-aesni_gcm_decrypt
420 .type _aesni_ctr32_6x,@function
424 vmovdqu 0-128(%rcx),%xmm4
425 vmovdqu 32(%r11),%xmm2
427 vmovups 16-128(%rcx),%xmm15
428 leaq 32-128(%rcx),%r12
429 vpxor %xmm4,%xmm1,%xmm9
432 vpaddb %xmm2,%xmm1,%xmm10
433 vpaddb %xmm2,%xmm10,%xmm11
434 vpxor %xmm4,%xmm10,%xmm10
435 vpaddb %xmm2,%xmm11,%xmm12
436 vpxor %xmm4,%xmm11,%xmm11
437 vpaddb %xmm2,%xmm12,%xmm13
438 vpxor %xmm4,%xmm12,%xmm12
439 vpaddb %xmm2,%xmm13,%xmm14
440 vpxor %xmm4,%xmm13,%xmm13
441 vpaddb %xmm2,%xmm14,%xmm1
442 vpxor %xmm4,%xmm14,%xmm14
447 vaesenc %xmm15,%xmm9,%xmm9
448 vaesenc %xmm15,%xmm10,%xmm10
449 vaesenc %xmm15,%xmm11,%xmm11
450 vaesenc %xmm15,%xmm12,%xmm12
451 vaesenc %xmm15,%xmm13,%xmm13
452 vaesenc %xmm15,%xmm14,%xmm14
453 vmovups (%r12),%xmm15
459 vaesenc %xmm15,%xmm9,%xmm9
460 vpxor 0(%rdi),%xmm3,%xmm4
461 vaesenc %xmm15,%xmm10,%xmm10
462 vpxor 16(%rdi),%xmm3,%xmm5
463 vaesenc %xmm15,%xmm11,%xmm11
464 vpxor 32(%rdi),%xmm3,%xmm6
465 vaesenc %xmm15,%xmm12,%xmm12
466 vpxor 48(%rdi),%xmm3,%xmm8
467 vaesenc %xmm15,%xmm13,%xmm13
468 vpxor 64(%rdi),%xmm3,%xmm2
469 vaesenc %xmm15,%xmm14,%xmm14
470 vpxor 80(%rdi),%xmm3,%xmm3
473 vaesenclast %xmm4,%xmm9,%xmm9
474 vaesenclast %xmm5,%xmm10,%xmm10
475 vaesenclast %xmm6,%xmm11,%xmm11
476 vaesenclast %xmm8,%xmm12,%xmm12
477 vaesenclast %xmm2,%xmm13,%xmm13
478 vaesenclast %xmm3,%xmm14,%xmm14
479 vmovups %xmm9,0(%rsi)
480 vmovups %xmm10,16(%rsi)
481 vmovups %xmm11,32(%rsi)
482 vmovups %xmm12,48(%rsi)
483 vmovups %xmm13,64(%rsi)
484 vmovups %xmm14,80(%rsi)
490 vpshufb %xmm0,%xmm1,%xmm6
491 vmovdqu 48(%r11),%xmm5
492 vpaddd 64(%r11),%xmm6,%xmm10
493 vpaddd %xmm5,%xmm6,%xmm11
494 vpaddd %xmm5,%xmm10,%xmm12
495 vpshufb %xmm0,%xmm10,%xmm10
496 vpaddd %xmm5,%xmm11,%xmm13
497 vpshufb %xmm0,%xmm11,%xmm11
498 vpxor %xmm4,%xmm10,%xmm10
499 vpaddd %xmm5,%xmm12,%xmm14
500 vpshufb %xmm0,%xmm12,%xmm12
501 vpxor %xmm4,%xmm11,%xmm11
502 vpaddd %xmm5,%xmm13,%xmm1
503 vpshufb %xmm0,%xmm13,%xmm13
504 vpxor %xmm4,%xmm12,%xmm12
505 vpshufb %xmm0,%xmm14,%xmm14
506 vpxor %xmm4,%xmm13,%xmm13
507 vpshufb %xmm0,%xmm1,%xmm1
508 vpxor %xmm4,%xmm14,%xmm14
511 .size _aesni_ctr32_6x,.-_aesni_ctr32_6x
513 .globl aesni_gcm_encrypt
514 .type aesni_gcm_encrypt,@function
523 .cfi_def_cfa_register %rax
541 leaq .Lbswap_mask(%rip),%r11
547 movl 240-128(%rcx),%ebp
552 jc .Lenc_no_key_aliasing
554 jnc .Lenc_no_key_aliasing
556 .Lenc_no_key_aliasing:
559 leaq -192(%rsi,%rdx,1),%r15
563 vpshufb %xmm0,%xmm9,%xmm8
564 vpshufb %xmm0,%xmm10,%xmm2
565 vmovdqu %xmm8,112(%rsp)
566 vpshufb %xmm0,%xmm11,%xmm4
567 vmovdqu %xmm2,96(%rsp)
568 vpshufb %xmm0,%xmm12,%xmm5
569 vmovdqu %xmm4,80(%rsp)
570 vpshufb %xmm0,%xmm13,%xmm6
571 vmovdqu %xmm5,64(%rsp)
572 vpshufb %xmm0,%xmm14,%xmm7
573 vmovdqu %xmm6,48(%rsp)
581 vpshufb %xmm0,%xmm8,%xmm8
583 call _aesni_ctr32_ghash_6x
584 vmovdqu 32(%rsp),%xmm7
586 vmovdqu 0-32(%r9),%xmm3
587 vpunpckhqdq %xmm7,%xmm7,%xmm1
588 vmovdqu 32-32(%r9),%xmm15
589 vmovups %xmm9,-96(%rsi)
590 vpshufb %xmm0,%xmm9,%xmm9
591 vpxor %xmm7,%xmm1,%xmm1
592 vmovups %xmm10,-80(%rsi)
593 vpshufb %xmm0,%xmm10,%xmm10
594 vmovups %xmm11,-64(%rsi)
595 vpshufb %xmm0,%xmm11,%xmm11
596 vmovups %xmm12,-48(%rsi)
597 vpshufb %xmm0,%xmm12,%xmm12
598 vmovups %xmm13,-32(%rsi)
599 vpshufb %xmm0,%xmm13,%xmm13
600 vmovups %xmm14,-16(%rsi)
601 vpshufb %xmm0,%xmm14,%xmm14
602 vmovdqu %xmm9,16(%rsp)
603 vmovdqu 48(%rsp),%xmm6
604 vmovdqu 16-32(%r9),%xmm0
605 vpunpckhqdq %xmm6,%xmm6,%xmm2
606 vpclmulqdq $0x00,%xmm3,%xmm7,%xmm5
607 vpxor %xmm6,%xmm2,%xmm2
608 vpclmulqdq $0x11,%xmm3,%xmm7,%xmm7
609 vpclmulqdq $0x00,%xmm15,%xmm1,%xmm1
611 vmovdqu 64(%rsp),%xmm9
612 vpclmulqdq $0x00,%xmm0,%xmm6,%xmm4
613 vmovdqu 48-32(%r9),%xmm3
614 vpxor %xmm5,%xmm4,%xmm4
615 vpunpckhqdq %xmm9,%xmm9,%xmm5
616 vpclmulqdq $0x11,%xmm0,%xmm6,%xmm6
617 vpxor %xmm9,%xmm5,%xmm5
618 vpxor %xmm7,%xmm6,%xmm6
619 vpclmulqdq $0x10,%xmm15,%xmm2,%xmm2
620 vmovdqu 80-32(%r9),%xmm15
621 vpxor %xmm1,%xmm2,%xmm2
623 vmovdqu 80(%rsp),%xmm1
624 vpclmulqdq $0x00,%xmm3,%xmm9,%xmm7
625 vmovdqu 64-32(%r9),%xmm0
626 vpxor %xmm4,%xmm7,%xmm7
627 vpunpckhqdq %xmm1,%xmm1,%xmm4
628 vpclmulqdq $0x11,%xmm3,%xmm9,%xmm9
629 vpxor %xmm1,%xmm4,%xmm4
630 vpxor %xmm6,%xmm9,%xmm9
631 vpclmulqdq $0x00,%xmm15,%xmm5,%xmm5
632 vpxor %xmm2,%xmm5,%xmm5
634 vmovdqu 96(%rsp),%xmm2
635 vpclmulqdq $0x00,%xmm0,%xmm1,%xmm6
636 vmovdqu 96-32(%r9),%xmm3
637 vpxor %xmm7,%xmm6,%xmm6
638 vpunpckhqdq %xmm2,%xmm2,%xmm7
639 vpclmulqdq $0x11,%xmm0,%xmm1,%xmm1
640 vpxor %xmm2,%xmm7,%xmm7
641 vpxor %xmm9,%xmm1,%xmm1
642 vpclmulqdq $0x10,%xmm15,%xmm4,%xmm4
643 vmovdqu 128-32(%r9),%xmm15
644 vpxor %xmm5,%xmm4,%xmm4
646 vpxor 112(%rsp),%xmm8,%xmm8
647 vpclmulqdq $0x00,%xmm3,%xmm2,%xmm5
648 vmovdqu 112-32(%r9),%xmm0
649 vpunpckhqdq %xmm8,%xmm8,%xmm9
650 vpxor %xmm6,%xmm5,%xmm5
651 vpclmulqdq $0x11,%xmm3,%xmm2,%xmm2
652 vpxor %xmm8,%xmm9,%xmm9
653 vpxor %xmm1,%xmm2,%xmm2
654 vpclmulqdq $0x00,%xmm15,%xmm7,%xmm7
655 vpxor %xmm4,%xmm7,%xmm4
657 vpclmulqdq $0x00,%xmm0,%xmm8,%xmm6
658 vmovdqu 0-32(%r9),%xmm3
659 vpunpckhqdq %xmm14,%xmm14,%xmm1
660 vpclmulqdq $0x11,%xmm0,%xmm8,%xmm8
661 vpxor %xmm14,%xmm1,%xmm1
662 vpxor %xmm5,%xmm6,%xmm5
663 vpclmulqdq $0x10,%xmm15,%xmm9,%xmm9
664 vmovdqu 32-32(%r9),%xmm15
665 vpxor %xmm2,%xmm8,%xmm7
666 vpxor %xmm4,%xmm9,%xmm6
668 vmovdqu 16-32(%r9),%xmm0
669 vpxor %xmm5,%xmm7,%xmm9
670 vpclmulqdq $0x00,%xmm3,%xmm14,%xmm4
671 vpxor %xmm9,%xmm6,%xmm6
672 vpunpckhqdq %xmm13,%xmm13,%xmm2
673 vpclmulqdq $0x11,%xmm3,%xmm14,%xmm14
674 vpxor %xmm13,%xmm2,%xmm2
675 vpslldq $8,%xmm6,%xmm9
676 vpclmulqdq $0x00,%xmm15,%xmm1,%xmm1
677 vpxor %xmm9,%xmm5,%xmm8
678 vpsrldq $8,%xmm6,%xmm6
679 vpxor %xmm6,%xmm7,%xmm7
681 vpclmulqdq $0x00,%xmm0,%xmm13,%xmm5
682 vmovdqu 48-32(%r9),%xmm3
683 vpxor %xmm4,%xmm5,%xmm5
684 vpunpckhqdq %xmm12,%xmm12,%xmm9
685 vpclmulqdq $0x11,%xmm0,%xmm13,%xmm13
686 vpxor %xmm12,%xmm9,%xmm9
687 vpxor %xmm14,%xmm13,%xmm13
688 vpalignr $8,%xmm8,%xmm8,%xmm14
689 vpclmulqdq $0x10,%xmm15,%xmm2,%xmm2
690 vmovdqu 80-32(%r9),%xmm15
691 vpxor %xmm1,%xmm2,%xmm2
693 vpclmulqdq $0x00,%xmm3,%xmm12,%xmm4
694 vmovdqu 64-32(%r9),%xmm0
695 vpxor %xmm5,%xmm4,%xmm4
696 vpunpckhqdq %xmm11,%xmm11,%xmm1
697 vpclmulqdq $0x11,%xmm3,%xmm12,%xmm12
698 vpxor %xmm11,%xmm1,%xmm1
699 vpxor %xmm13,%xmm12,%xmm12
700 vxorps 16(%rsp),%xmm7,%xmm7
701 vpclmulqdq $0x00,%xmm15,%xmm9,%xmm9
702 vpxor %xmm2,%xmm9,%xmm9
704 vpclmulqdq $0x10,16(%r11),%xmm8,%xmm8
705 vxorps %xmm14,%xmm8,%xmm8
707 vpclmulqdq $0x00,%xmm0,%xmm11,%xmm5
708 vmovdqu 96-32(%r9),%xmm3
709 vpxor %xmm4,%xmm5,%xmm5
710 vpunpckhqdq %xmm10,%xmm10,%xmm2
711 vpclmulqdq $0x11,%xmm0,%xmm11,%xmm11
712 vpxor %xmm10,%xmm2,%xmm2
713 vpalignr $8,%xmm8,%xmm8,%xmm14
714 vpxor %xmm12,%xmm11,%xmm11
715 vpclmulqdq $0x10,%xmm15,%xmm1,%xmm1
716 vmovdqu 128-32(%r9),%xmm15
717 vpxor %xmm9,%xmm1,%xmm1
719 vxorps %xmm7,%xmm14,%xmm14
720 vpclmulqdq $0x10,16(%r11),%xmm8,%xmm8
721 vxorps %xmm14,%xmm8,%xmm8
723 vpclmulqdq $0x00,%xmm3,%xmm10,%xmm4
724 vmovdqu 112-32(%r9),%xmm0
725 vpxor %xmm5,%xmm4,%xmm4
726 vpunpckhqdq %xmm8,%xmm8,%xmm9
727 vpclmulqdq $0x11,%xmm3,%xmm10,%xmm10
728 vpxor %xmm8,%xmm9,%xmm9
729 vpxor %xmm11,%xmm10,%xmm10
730 vpclmulqdq $0x00,%xmm15,%xmm2,%xmm2
731 vpxor %xmm1,%xmm2,%xmm2
733 vpclmulqdq $0x00,%xmm0,%xmm8,%xmm5
734 vpclmulqdq $0x11,%xmm0,%xmm8,%xmm7
735 vpxor %xmm4,%xmm5,%xmm5
736 vpclmulqdq $0x10,%xmm15,%xmm9,%xmm6
737 vpxor %xmm10,%xmm7,%xmm7
738 vpxor %xmm2,%xmm6,%xmm6
740 vpxor %xmm5,%xmm7,%xmm4
741 vpxor %xmm4,%xmm6,%xmm6
742 vpslldq $8,%xmm6,%xmm1
743 vmovdqu 16(%r11),%xmm3
744 vpsrldq $8,%xmm6,%xmm6
745 vpxor %xmm1,%xmm5,%xmm8
746 vpxor %xmm6,%xmm7,%xmm7
748 vpalignr $8,%xmm8,%xmm8,%xmm2
749 vpclmulqdq $0x10,%xmm3,%xmm8,%xmm8
750 vpxor %xmm2,%xmm8,%xmm8
752 vpalignr $8,%xmm8,%xmm8,%xmm2
753 vpclmulqdq $0x10,%xmm3,%xmm8,%xmm8
754 vpxor %xmm7,%xmm2,%xmm2
755 vpxor %xmm2,%xmm8,%xmm8
756 vpshufb (%r11),%xmm8,%xmm8
757 vmovdqu %xmm8,-64(%r9)
773 .cfi_def_cfa_register %rsp
778 .size aesni_gcm_encrypt,.-aesni_gcm_encrypt
781 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
783 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
785 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
787 .byte 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
789 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
790 .byte 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108,101,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0