ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/trunk/secure/lib/libcrypto/amd64/cmll-x86_64.S
Revision: 11611
Committed: Sun Jul 8 16:29:52 2018 UTC (5 years, 9 months ago) by laffer1
Content type: text/plain
File size: 37920 byte(s)
Log Message:
update to openssl 1.0.1u

File Contents

# Content
1 /* $MidnightBSD$ */
2 # $FreeBSD: stable/10/secure/lib/libcrypto/amd64/cmll-x86_64.S 299966 2016-05-16 19:30:27Z jkim $
3 # Do not modify. This file is auto-generated from cmll-x86_64.pl.
4 .text
5
6
7 .globl Camellia_EncryptBlock
8 .type Camellia_EncryptBlock,@function
9 .align 16
10 Camellia_EncryptBlock:
11 movl $128,%eax
12 subl %edi,%eax
13 movl $3,%edi
14 adcl $0,%edi
15 jmp .Lenc_rounds
16 .size Camellia_EncryptBlock,.-Camellia_EncryptBlock
17
18 .globl Camellia_EncryptBlock_Rounds
19 .type Camellia_EncryptBlock_Rounds,@function
20 .align 16
21 .Lenc_rounds:
22 Camellia_EncryptBlock_Rounds:
23 pushq %rbx
24 pushq %rbp
25 pushq %r13
26 pushq %r14
27 pushq %r15
28 .Lenc_prologue:
29
30
31 movq %rcx,%r13
32 movq %rdx,%r14
33
34 shll $6,%edi
35 leaq .LCamellia_SBOX(%rip),%rbp
36 leaq (%r14,%rdi,1),%r15
37
38 movl 0(%rsi),%r8d
39 movl 4(%rsi),%r9d
40 movl 8(%rsi),%r10d
41 bswapl %r8d
42 movl 12(%rsi),%r11d
43 bswapl %r9d
44 bswapl %r10d
45 bswapl %r11d
46
47 call _x86_64_Camellia_encrypt
48
49 bswapl %r8d
50 bswapl %r9d
51 bswapl %r10d
52 movl %r8d,0(%r13)
53 bswapl %r11d
54 movl %r9d,4(%r13)
55 movl %r10d,8(%r13)
56 movl %r11d,12(%r13)
57
58 movq 0(%rsp),%r15
59 movq 8(%rsp),%r14
60 movq 16(%rsp),%r13
61 movq 24(%rsp),%rbp
62 movq 32(%rsp),%rbx
63 leaq 40(%rsp),%rsp
64 .Lenc_epilogue:
65 .byte 0xf3,0xc3
66 .size Camellia_EncryptBlock_Rounds,.-Camellia_EncryptBlock_Rounds
67
68 .type _x86_64_Camellia_encrypt,@function
69 .align 16
70 _x86_64_Camellia_encrypt:
71 xorl 0(%r14),%r9d
72 xorl 4(%r14),%r8d
73 xorl 8(%r14),%r11d
74 xorl 12(%r14),%r10d
75 .align 16
76 .Leloop:
77 movl 16(%r14),%ebx
78 movl 20(%r14),%eax
79
80 xorl %r8d,%eax
81 xorl %r9d,%ebx
82 movzbl %ah,%esi
83 movzbl %bl,%edi
84 movl 2052(%rbp,%rsi,8),%edx
85 movl 0(%rbp,%rdi,8),%ecx
86 movzbl %al,%esi
87 shrl $16,%eax
88 movzbl %bh,%edi
89 xorl 4(%rbp,%rsi,8),%edx
90 shrl $16,%ebx
91 xorl 4(%rbp,%rdi,8),%ecx
92 movzbl %ah,%esi
93 movzbl %bl,%edi
94 xorl 0(%rbp,%rsi,8),%edx
95 xorl 2052(%rbp,%rdi,8),%ecx
96 movzbl %al,%esi
97 movzbl %bh,%edi
98 xorl 2048(%rbp,%rsi,8),%edx
99 xorl 2048(%rbp,%rdi,8),%ecx
100 movl 24(%r14),%ebx
101 movl 28(%r14),%eax
102 xorl %edx,%ecx
103 rorl $8,%edx
104 xorl %ecx,%r10d
105 xorl %ecx,%r11d
106 xorl %edx,%r11d
107 xorl %r10d,%eax
108 xorl %r11d,%ebx
109 movzbl %ah,%esi
110 movzbl %bl,%edi
111 movl 2052(%rbp,%rsi,8),%edx
112 movl 0(%rbp,%rdi,8),%ecx
113 movzbl %al,%esi
114 shrl $16,%eax
115 movzbl %bh,%edi
116 xorl 4(%rbp,%rsi,8),%edx
117 shrl $16,%ebx
118 xorl 4(%rbp,%rdi,8),%ecx
119 movzbl %ah,%esi
120 movzbl %bl,%edi
121 xorl 0(%rbp,%rsi,8),%edx
122 xorl 2052(%rbp,%rdi,8),%ecx
123 movzbl %al,%esi
124 movzbl %bh,%edi
125 xorl 2048(%rbp,%rsi,8),%edx
126 xorl 2048(%rbp,%rdi,8),%ecx
127 movl 32(%r14),%ebx
128 movl 36(%r14),%eax
129 xorl %edx,%ecx
130 rorl $8,%edx
131 xorl %ecx,%r8d
132 xorl %ecx,%r9d
133 xorl %edx,%r9d
134 xorl %r8d,%eax
135 xorl %r9d,%ebx
136 movzbl %ah,%esi
137 movzbl %bl,%edi
138 movl 2052(%rbp,%rsi,8),%edx
139 movl 0(%rbp,%rdi,8),%ecx
140 movzbl %al,%esi
141 shrl $16,%eax
142 movzbl %bh,%edi
143 xorl 4(%rbp,%rsi,8),%edx
144 shrl $16,%ebx
145 xorl 4(%rbp,%rdi,8),%ecx
146 movzbl %ah,%esi
147 movzbl %bl,%edi
148 xorl 0(%rbp,%rsi,8),%edx
149 xorl 2052(%rbp,%rdi,8),%ecx
150 movzbl %al,%esi
151 movzbl %bh,%edi
152 xorl 2048(%rbp,%rsi,8),%edx
153 xorl 2048(%rbp,%rdi,8),%ecx
154 movl 40(%r14),%ebx
155 movl 44(%r14),%eax
156 xorl %edx,%ecx
157 rorl $8,%edx
158 xorl %ecx,%r10d
159 xorl %ecx,%r11d
160 xorl %edx,%r11d
161 xorl %r10d,%eax
162 xorl %r11d,%ebx
163 movzbl %ah,%esi
164 movzbl %bl,%edi
165 movl 2052(%rbp,%rsi,8),%edx
166 movl 0(%rbp,%rdi,8),%ecx
167 movzbl %al,%esi
168 shrl $16,%eax
169 movzbl %bh,%edi
170 xorl 4(%rbp,%rsi,8),%edx
171 shrl $16,%ebx
172 xorl 4(%rbp,%rdi,8),%ecx
173 movzbl %ah,%esi
174 movzbl %bl,%edi
175 xorl 0(%rbp,%rsi,8),%edx
176 xorl 2052(%rbp,%rdi,8),%ecx
177 movzbl %al,%esi
178 movzbl %bh,%edi
179 xorl 2048(%rbp,%rsi,8),%edx
180 xorl 2048(%rbp,%rdi,8),%ecx
181 movl 48(%r14),%ebx
182 movl 52(%r14),%eax
183 xorl %edx,%ecx
184 rorl $8,%edx
185 xorl %ecx,%r8d
186 xorl %ecx,%r9d
187 xorl %edx,%r9d
188 xorl %r8d,%eax
189 xorl %r9d,%ebx
190 movzbl %ah,%esi
191 movzbl %bl,%edi
192 movl 2052(%rbp,%rsi,8),%edx
193 movl 0(%rbp,%rdi,8),%ecx
194 movzbl %al,%esi
195 shrl $16,%eax
196 movzbl %bh,%edi
197 xorl 4(%rbp,%rsi,8),%edx
198 shrl $16,%ebx
199 xorl 4(%rbp,%rdi,8),%ecx
200 movzbl %ah,%esi
201 movzbl %bl,%edi
202 xorl 0(%rbp,%rsi,8),%edx
203 xorl 2052(%rbp,%rdi,8),%ecx
204 movzbl %al,%esi
205 movzbl %bh,%edi
206 xorl 2048(%rbp,%rsi,8),%edx
207 xorl 2048(%rbp,%rdi,8),%ecx
208 movl 56(%r14),%ebx
209 movl 60(%r14),%eax
210 xorl %edx,%ecx
211 rorl $8,%edx
212 xorl %ecx,%r10d
213 xorl %ecx,%r11d
214 xorl %edx,%r11d
215 xorl %r10d,%eax
216 xorl %r11d,%ebx
217 movzbl %ah,%esi
218 movzbl %bl,%edi
219 movl 2052(%rbp,%rsi,8),%edx
220 movl 0(%rbp,%rdi,8),%ecx
221 movzbl %al,%esi
222 shrl $16,%eax
223 movzbl %bh,%edi
224 xorl 4(%rbp,%rsi,8),%edx
225 shrl $16,%ebx
226 xorl 4(%rbp,%rdi,8),%ecx
227 movzbl %ah,%esi
228 movzbl %bl,%edi
229 xorl 0(%rbp,%rsi,8),%edx
230 xorl 2052(%rbp,%rdi,8),%ecx
231 movzbl %al,%esi
232 movzbl %bh,%edi
233 xorl 2048(%rbp,%rsi,8),%edx
234 xorl 2048(%rbp,%rdi,8),%ecx
235 movl 64(%r14),%ebx
236 movl 68(%r14),%eax
237 xorl %edx,%ecx
238 rorl $8,%edx
239 xorl %ecx,%r8d
240 xorl %ecx,%r9d
241 xorl %edx,%r9d
242 leaq 64(%r14),%r14
243 cmpq %r15,%r14
244 movl 8(%r14),%edx
245 movl 12(%r14),%ecx
246 je .Ledone
247
248 andl %r8d,%eax
249 orl %r11d,%edx
250 roll $1,%eax
251 xorl %edx,%r10d
252 xorl %eax,%r9d
253 andl %r10d,%ecx
254 orl %r9d,%ebx
255 roll $1,%ecx
256 xorl %ebx,%r8d
257 xorl %ecx,%r11d
258 jmp .Leloop
259
260 .align 16
261 .Ledone:
262 xorl %r10d,%eax
263 xorl %r11d,%ebx
264 xorl %r8d,%ecx
265 xorl %r9d,%edx
266
267 movl %eax,%r8d
268 movl %ebx,%r9d
269 movl %ecx,%r10d
270 movl %edx,%r11d
271
272 .byte 0xf3,0xc3
273 .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt
274
275
276 .globl Camellia_DecryptBlock
277 .type Camellia_DecryptBlock,@function
278 .align 16
279 Camellia_DecryptBlock:
280 movl $128,%eax
281 subl %edi,%eax
282 movl $3,%edi
283 adcl $0,%edi
284 jmp .Ldec_rounds
285 .size Camellia_DecryptBlock,.-Camellia_DecryptBlock
286
287 .globl Camellia_DecryptBlock_Rounds
288 .type Camellia_DecryptBlock_Rounds,@function
289 .align 16
290 .Ldec_rounds:
291 Camellia_DecryptBlock_Rounds:
292 pushq %rbx
293 pushq %rbp
294 pushq %r13
295 pushq %r14
296 pushq %r15
297 .Ldec_prologue:
298
299
300 movq %rcx,%r13
301 movq %rdx,%r15
302
303 shll $6,%edi
304 leaq .LCamellia_SBOX(%rip),%rbp
305 leaq (%r15,%rdi,1),%r14
306
307 movl 0(%rsi),%r8d
308 movl 4(%rsi),%r9d
309 movl 8(%rsi),%r10d
310 bswapl %r8d
311 movl 12(%rsi),%r11d
312 bswapl %r9d
313 bswapl %r10d
314 bswapl %r11d
315
316 call _x86_64_Camellia_decrypt
317
318 bswapl %r8d
319 bswapl %r9d
320 bswapl %r10d
321 movl %r8d,0(%r13)
322 bswapl %r11d
323 movl %r9d,4(%r13)
324 movl %r10d,8(%r13)
325 movl %r11d,12(%r13)
326
327 movq 0(%rsp),%r15
328 movq 8(%rsp),%r14
329 movq 16(%rsp),%r13
330 movq 24(%rsp),%rbp
331 movq 32(%rsp),%rbx
332 leaq 40(%rsp),%rsp
333 .Ldec_epilogue:
334 .byte 0xf3,0xc3
335 .size Camellia_DecryptBlock_Rounds,.-Camellia_DecryptBlock_Rounds
336
337 .type _x86_64_Camellia_decrypt,@function
338 .align 16
339 _x86_64_Camellia_decrypt:
340 xorl 0(%r14),%r9d
341 xorl 4(%r14),%r8d
342 xorl 8(%r14),%r11d
343 xorl 12(%r14),%r10d
344 .align 16
345 .Ldloop:
346 movl -8(%r14),%ebx
347 movl -4(%r14),%eax
348
349 xorl %r8d,%eax
350 xorl %r9d,%ebx
351 movzbl %ah,%esi
352 movzbl %bl,%edi
353 movl 2052(%rbp,%rsi,8),%edx
354 movl 0(%rbp,%rdi,8),%ecx
355 movzbl %al,%esi
356 shrl $16,%eax
357 movzbl %bh,%edi
358 xorl 4(%rbp,%rsi,8),%edx
359 shrl $16,%ebx
360 xorl 4(%rbp,%rdi,8),%ecx
361 movzbl %ah,%esi
362 movzbl %bl,%edi
363 xorl 0(%rbp,%rsi,8),%edx
364 xorl 2052(%rbp,%rdi,8),%ecx
365 movzbl %al,%esi
366 movzbl %bh,%edi
367 xorl 2048(%rbp,%rsi,8),%edx
368 xorl 2048(%rbp,%rdi,8),%ecx
369 movl -16(%r14),%ebx
370 movl -12(%r14),%eax
371 xorl %edx,%ecx
372 rorl $8,%edx
373 xorl %ecx,%r10d
374 xorl %ecx,%r11d
375 xorl %edx,%r11d
376 xorl %r10d,%eax
377 xorl %r11d,%ebx
378 movzbl %ah,%esi
379 movzbl %bl,%edi
380 movl 2052(%rbp,%rsi,8),%edx
381 movl 0(%rbp,%rdi,8),%ecx
382 movzbl %al,%esi
383 shrl $16,%eax
384 movzbl %bh,%edi
385 xorl 4(%rbp,%rsi,8),%edx
386 shrl $16,%ebx
387 xorl 4(%rbp,%rdi,8),%ecx
388 movzbl %ah,%esi
389 movzbl %bl,%edi
390 xorl 0(%rbp,%rsi,8),%edx
391 xorl 2052(%rbp,%rdi,8),%ecx
392 movzbl %al,%esi
393 movzbl %bh,%edi
394 xorl 2048(%rbp,%rsi,8),%edx
395 xorl 2048(%rbp,%rdi,8),%ecx
396 movl -24(%r14),%ebx
397 movl -20(%r14),%eax
398 xorl %edx,%ecx
399 rorl $8,%edx
400 xorl %ecx,%r8d
401 xorl %ecx,%r9d
402 xorl %edx,%r9d
403 xorl %r8d,%eax
404 xorl %r9d,%ebx
405 movzbl %ah,%esi
406 movzbl %bl,%edi
407 movl 2052(%rbp,%rsi,8),%edx
408 movl 0(%rbp,%rdi,8),%ecx
409 movzbl %al,%esi
410 shrl $16,%eax
411 movzbl %bh,%edi
412 xorl 4(%rbp,%rsi,8),%edx
413 shrl $16,%ebx
414 xorl 4(%rbp,%rdi,8),%ecx
415 movzbl %ah,%esi
416 movzbl %bl,%edi
417 xorl 0(%rbp,%rsi,8),%edx
418 xorl 2052(%rbp,%rdi,8),%ecx
419 movzbl %al,%esi
420 movzbl %bh,%edi
421 xorl 2048(%rbp,%rsi,8),%edx
422 xorl 2048(%rbp,%rdi,8),%ecx
423 movl -32(%r14),%ebx
424 movl -28(%r14),%eax
425 xorl %edx,%ecx
426 rorl $8,%edx
427 xorl %ecx,%r10d
428 xorl %ecx,%r11d
429 xorl %edx,%r11d
430 xorl %r10d,%eax
431 xorl %r11d,%ebx
432 movzbl %ah,%esi
433 movzbl %bl,%edi
434 movl 2052(%rbp,%rsi,8),%edx
435 movl 0(%rbp,%rdi,8),%ecx
436 movzbl %al,%esi
437 shrl $16,%eax
438 movzbl %bh,%edi
439 xorl 4(%rbp,%rsi,8),%edx
440 shrl $16,%ebx
441 xorl 4(%rbp,%rdi,8),%ecx
442 movzbl %ah,%esi
443 movzbl %bl,%edi
444 xorl 0(%rbp,%rsi,8),%edx
445 xorl 2052(%rbp,%rdi,8),%ecx
446 movzbl %al,%esi
447 movzbl %bh,%edi
448 xorl 2048(%rbp,%rsi,8),%edx
449 xorl 2048(%rbp,%rdi,8),%ecx
450 movl -40(%r14),%ebx
451 movl -36(%r14),%eax
452 xorl %edx,%ecx
453 rorl $8,%edx
454 xorl %ecx,%r8d
455 xorl %ecx,%r9d
456 xorl %edx,%r9d
457 xorl %r8d,%eax
458 xorl %r9d,%ebx
459 movzbl %ah,%esi
460 movzbl %bl,%edi
461 movl 2052(%rbp,%rsi,8),%edx
462 movl 0(%rbp,%rdi,8),%ecx
463 movzbl %al,%esi
464 shrl $16,%eax
465 movzbl %bh,%edi
466 xorl 4(%rbp,%rsi,8),%edx
467 shrl $16,%ebx
468 xorl 4(%rbp,%rdi,8),%ecx
469 movzbl %ah,%esi
470 movzbl %bl,%edi
471 xorl 0(%rbp,%rsi,8),%edx
472 xorl 2052(%rbp,%rdi,8),%ecx
473 movzbl %al,%esi
474 movzbl %bh,%edi
475 xorl 2048(%rbp,%rsi,8),%edx
476 xorl 2048(%rbp,%rdi,8),%ecx
477 movl -48(%r14),%ebx
478 movl -44(%r14),%eax
479 xorl %edx,%ecx
480 rorl $8,%edx
481 xorl %ecx,%r10d
482 xorl %ecx,%r11d
483 xorl %edx,%r11d
484 xorl %r10d,%eax
485 xorl %r11d,%ebx
486 movzbl %ah,%esi
487 movzbl %bl,%edi
488 movl 2052(%rbp,%rsi,8),%edx
489 movl 0(%rbp,%rdi,8),%ecx
490 movzbl %al,%esi
491 shrl $16,%eax
492 movzbl %bh,%edi
493 xorl 4(%rbp,%rsi,8),%edx
494 shrl $16,%ebx
495 xorl 4(%rbp,%rdi,8),%ecx
496 movzbl %ah,%esi
497 movzbl %bl,%edi
498 xorl 0(%rbp,%rsi,8),%edx
499 xorl 2052(%rbp,%rdi,8),%ecx
500 movzbl %al,%esi
501 movzbl %bh,%edi
502 xorl 2048(%rbp,%rsi,8),%edx
503 xorl 2048(%rbp,%rdi,8),%ecx
504 movl -56(%r14),%ebx
505 movl -52(%r14),%eax
506 xorl %edx,%ecx
507 rorl $8,%edx
508 xorl %ecx,%r8d
509 xorl %ecx,%r9d
510 xorl %edx,%r9d
511 leaq -64(%r14),%r14
512 cmpq %r15,%r14
513 movl 0(%r14),%edx
514 movl 4(%r14),%ecx
515 je .Lddone
516
517 andl %r8d,%eax
518 orl %r11d,%edx
519 roll $1,%eax
520 xorl %edx,%r10d
521 xorl %eax,%r9d
522 andl %r10d,%ecx
523 orl %r9d,%ebx
524 roll $1,%ecx
525 xorl %ebx,%r8d
526 xorl %ecx,%r11d
527
528 jmp .Ldloop
529
530 .align 16
531 .Lddone:
532 xorl %r10d,%ecx
533 xorl %r11d,%edx
534 xorl %r8d,%eax
535 xorl %r9d,%ebx
536
537 movl %ecx,%r8d
538 movl %edx,%r9d
539 movl %eax,%r10d
540 movl %ebx,%r11d
541
542 .byte 0xf3,0xc3
543 .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt
544 .globl Camellia_Ekeygen
545 .type Camellia_Ekeygen,@function
546 .align 16
547 Camellia_Ekeygen:
548 pushq %rbx
549 pushq %rbp
550 pushq %r13
551 pushq %r14
552 pushq %r15
553 .Lkey_prologue:
554
555 movq %rdi,%r15
556 movq %rdx,%r13
557
558 movl 0(%rsi),%r8d
559 movl 4(%rsi),%r9d
560 movl 8(%rsi),%r10d
561 movl 12(%rsi),%r11d
562
563 bswapl %r8d
564 bswapl %r9d
565 bswapl %r10d
566 bswapl %r11d
567 movl %r9d,0(%r13)
568 movl %r8d,4(%r13)
569 movl %r11d,8(%r13)
570 movl %r10d,12(%r13)
571 cmpq $128,%r15
572 je .L1st128
573
574 movl 16(%rsi),%r8d
575 movl 20(%rsi),%r9d
576 cmpq $192,%r15
577 je .L1st192
578 movl 24(%rsi),%r10d
579 movl 28(%rsi),%r11d
580 jmp .L1st256
581 .L1st192:
582 movl %r8d,%r10d
583 movl %r9d,%r11d
584 notl %r10d
585 notl %r11d
586 .L1st256:
587 bswapl %r8d
588 bswapl %r9d
589 bswapl %r10d
590 bswapl %r11d
591 movl %r9d,32(%r13)
592 movl %r8d,36(%r13)
593 movl %r11d,40(%r13)
594 movl %r10d,44(%r13)
595 xorl 0(%r13),%r9d
596 xorl 4(%r13),%r8d
597 xorl 8(%r13),%r11d
598 xorl 12(%r13),%r10d
599
600 .L1st128:
601 leaq .LCamellia_SIGMA(%rip),%r14
602 leaq .LCamellia_SBOX(%rip),%rbp
603
604 movl 0(%r14),%ebx
605 movl 4(%r14),%eax
606 xorl %r8d,%eax
607 xorl %r9d,%ebx
608 movzbl %ah,%esi
609 movzbl %bl,%edi
610 movl 2052(%rbp,%rsi,8),%edx
611 movl 0(%rbp,%rdi,8),%ecx
612 movzbl %al,%esi
613 shrl $16,%eax
614 movzbl %bh,%edi
615 xorl 4(%rbp,%rsi,8),%edx
616 shrl $16,%ebx
617 xorl 4(%rbp,%rdi,8),%ecx
618 movzbl %ah,%esi
619 movzbl %bl,%edi
620 xorl 0(%rbp,%rsi,8),%edx
621 xorl 2052(%rbp,%rdi,8),%ecx
622 movzbl %al,%esi
623 movzbl %bh,%edi
624 xorl 2048(%rbp,%rsi,8),%edx
625 xorl 2048(%rbp,%rdi,8),%ecx
626 movl 8(%r14),%ebx
627 movl 12(%r14),%eax
628 xorl %edx,%ecx
629 rorl $8,%edx
630 xorl %ecx,%r10d
631 xorl %ecx,%r11d
632 xorl %edx,%r11d
633 xorl %r10d,%eax
634 xorl %r11d,%ebx
635 movzbl %ah,%esi
636 movzbl %bl,%edi
637 movl 2052(%rbp,%rsi,8),%edx
638 movl 0(%rbp,%rdi,8),%ecx
639 movzbl %al,%esi
640 shrl $16,%eax
641 movzbl %bh,%edi
642 xorl 4(%rbp,%rsi,8),%edx
643 shrl $16,%ebx
644 xorl 4(%rbp,%rdi,8),%ecx
645 movzbl %ah,%esi
646 movzbl %bl,%edi
647 xorl 0(%rbp,%rsi,8),%edx
648 xorl 2052(%rbp,%rdi,8),%ecx
649 movzbl %al,%esi
650 movzbl %bh,%edi
651 xorl 2048(%rbp,%rsi,8),%edx
652 xorl 2048(%rbp,%rdi,8),%ecx
653 movl 16(%r14),%ebx
654 movl 20(%r14),%eax
655 xorl %edx,%ecx
656 rorl $8,%edx
657 xorl %ecx,%r8d
658 xorl %ecx,%r9d
659 xorl %edx,%r9d
660 xorl 0(%r13),%r9d
661 xorl 4(%r13),%r8d
662 xorl 8(%r13),%r11d
663 xorl 12(%r13),%r10d
664 xorl %r8d,%eax
665 xorl %r9d,%ebx
666 movzbl %ah,%esi
667 movzbl %bl,%edi
668 movl 2052(%rbp,%rsi,8),%edx
669 movl 0(%rbp,%rdi,8),%ecx
670 movzbl %al,%esi
671 shrl $16,%eax
672 movzbl %bh,%edi
673 xorl 4(%rbp,%rsi,8),%edx
674 shrl $16,%ebx
675 xorl 4(%rbp,%rdi,8),%ecx
676 movzbl %ah,%esi
677 movzbl %bl,%edi
678 xorl 0(%rbp,%rsi,8),%edx
679 xorl 2052(%rbp,%rdi,8),%ecx
680 movzbl %al,%esi
681 movzbl %bh,%edi
682 xorl 2048(%rbp,%rsi,8),%edx
683 xorl 2048(%rbp,%rdi,8),%ecx
684 movl 24(%r14),%ebx
685 movl 28(%r14),%eax
686 xorl %edx,%ecx
687 rorl $8,%edx
688 xorl %ecx,%r10d
689 xorl %ecx,%r11d
690 xorl %edx,%r11d
691 xorl %r10d,%eax
692 xorl %r11d,%ebx
693 movzbl %ah,%esi
694 movzbl %bl,%edi
695 movl 2052(%rbp,%rsi,8),%edx
696 movl 0(%rbp,%rdi,8),%ecx
697 movzbl %al,%esi
698 shrl $16,%eax
699 movzbl %bh,%edi
700 xorl 4(%rbp,%rsi,8),%edx
701 shrl $16,%ebx
702 xorl 4(%rbp,%rdi,8),%ecx
703 movzbl %ah,%esi
704 movzbl %bl,%edi
705 xorl 0(%rbp,%rsi,8),%edx
706 xorl 2052(%rbp,%rdi,8),%ecx
707 movzbl %al,%esi
708 movzbl %bh,%edi
709 xorl 2048(%rbp,%rsi,8),%edx
710 xorl 2048(%rbp,%rdi,8),%ecx
711 movl 32(%r14),%ebx
712 movl 36(%r14),%eax
713 xorl %edx,%ecx
714 rorl $8,%edx
715 xorl %ecx,%r8d
716 xorl %ecx,%r9d
717 xorl %edx,%r9d
718 cmpq $128,%r15
719 jne .L2nd256
720
721 leaq 128(%r13),%r13
722 shlq $32,%r8
723 shlq $32,%r10
724 orq %r9,%r8
725 orq %r11,%r10
726 movq -128(%r13),%rax
727 movq -120(%r13),%rbx
728 movq %r8,-112(%r13)
729 movq %r10,-104(%r13)
730 movq %rax,%r11
731 shlq $15,%rax
732 movq %rbx,%r9
733 shrq $49,%r9
734 shrq $49,%r11
735 orq %r9,%rax
736 shlq $15,%rbx
737 orq %r11,%rbx
738 movq %rax,-96(%r13)
739 movq %rbx,-88(%r13)
740 movq %r8,%r11
741 shlq $15,%r8
742 movq %r10,%r9
743 shrq $49,%r9
744 shrq $49,%r11
745 orq %r9,%r8
746 shlq $15,%r10
747 orq %r11,%r10
748 movq %r8,-80(%r13)
749 movq %r10,-72(%r13)
750 movq %r8,%r11
751 shlq $15,%r8
752 movq %r10,%r9
753 shrq $49,%r9
754 shrq $49,%r11
755 orq %r9,%r8
756 shlq $15,%r10
757 orq %r11,%r10
758 movq %r8,-64(%r13)
759 movq %r10,-56(%r13)
760 movq %rax,%r11
761 shlq $30,%rax
762 movq %rbx,%r9
763 shrq $34,%r9
764 shrq $34,%r11
765 orq %r9,%rax
766 shlq $30,%rbx
767 orq %r11,%rbx
768 movq %rax,-48(%r13)
769 movq %rbx,-40(%r13)
770 movq %r8,%r11
771 shlq $15,%r8
772 movq %r10,%r9
773 shrq $49,%r9
774 shrq $49,%r11
775 orq %r9,%r8
776 shlq $15,%r10
777 orq %r11,%r10
778 movq %r8,-32(%r13)
779 movq %rax,%r11
780 shlq $15,%rax
781 movq %rbx,%r9
782 shrq $49,%r9
783 shrq $49,%r11
784 orq %r9,%rax
785 shlq $15,%rbx
786 orq %r11,%rbx
787 movq %rbx,-24(%r13)
788 movq %r8,%r11
789 shlq $15,%r8
790 movq %r10,%r9
791 shrq $49,%r9
792 shrq $49,%r11
793 orq %r9,%r8
794 shlq $15,%r10
795 orq %r11,%r10
796 movq %r8,-16(%r13)
797 movq %r10,-8(%r13)
798 movq %rax,%r11
799 shlq $17,%rax
800 movq %rbx,%r9
801 shrq $47,%r9
802 shrq $47,%r11
803 orq %r9,%rax
804 shlq $17,%rbx
805 orq %r11,%rbx
806 movq %rax,0(%r13)
807 movq %rbx,8(%r13)
808 movq %rax,%r11
809 shlq $17,%rax
810 movq %rbx,%r9
811 shrq $47,%r9
812 shrq $47,%r11
813 orq %r9,%rax
814 shlq $17,%rbx
815 orq %r11,%rbx
816 movq %rax,16(%r13)
817 movq %rbx,24(%r13)
818 movq %r8,%r11
819 shlq $34,%r8
820 movq %r10,%r9
821 shrq $30,%r9
822 shrq $30,%r11
823 orq %r9,%r8
824 shlq $34,%r10
825 orq %r11,%r10
826 movq %r8,32(%r13)
827 movq %r10,40(%r13)
828 movq %rax,%r11
829 shlq $17,%rax
830 movq %rbx,%r9
831 shrq $47,%r9
832 shrq $47,%r11
833 orq %r9,%rax
834 shlq $17,%rbx
835 orq %r11,%rbx
836 movq %rax,48(%r13)
837 movq %rbx,56(%r13)
838 movq %r8,%r11
839 shlq $17,%r8
840 movq %r10,%r9
841 shrq $47,%r9
842 shrq $47,%r11
843 orq %r9,%r8
844 shlq $17,%r10
845 orq %r11,%r10
846 movq %r8,64(%r13)
847 movq %r10,72(%r13)
848 movl $3,%eax
849 jmp .Ldone
850 .align 16
851 .L2nd256:
852 movl %r9d,48(%r13)
853 movl %r8d,52(%r13)
854 movl %r11d,56(%r13)
855 movl %r10d,60(%r13)
856 xorl 32(%r13),%r9d
857 xorl 36(%r13),%r8d
858 xorl 40(%r13),%r11d
859 xorl 44(%r13),%r10d
860 xorl %r8d,%eax
861 xorl %r9d,%ebx
862 movzbl %ah,%esi
863 movzbl %bl,%edi
864 movl 2052(%rbp,%rsi,8),%edx
865 movl 0(%rbp,%rdi,8),%ecx
866 movzbl %al,%esi
867 shrl $16,%eax
868 movzbl %bh,%edi
869 xorl 4(%rbp,%rsi,8),%edx
870 shrl $16,%ebx
871 xorl 4(%rbp,%rdi,8),%ecx
872 movzbl %ah,%esi
873 movzbl %bl,%edi
874 xorl 0(%rbp,%rsi,8),%edx
875 xorl 2052(%rbp,%rdi,8),%ecx
876 movzbl %al,%esi
877 movzbl %bh,%edi
878 xorl 2048(%rbp,%rsi,8),%edx
879 xorl 2048(%rbp,%rdi,8),%ecx
880 movl 40(%r14),%ebx
881 movl 44(%r14),%eax
882 xorl %edx,%ecx
883 rorl $8,%edx
884 xorl %ecx,%r10d
885 xorl %ecx,%r11d
886 xorl %edx,%r11d
887 xorl %r10d,%eax
888 xorl %r11d,%ebx
889 movzbl %ah,%esi
890 movzbl %bl,%edi
891 movl 2052(%rbp,%rsi,8),%edx
892 movl 0(%rbp,%rdi,8),%ecx
893 movzbl %al,%esi
894 shrl $16,%eax
895 movzbl %bh,%edi
896 xorl 4(%rbp,%rsi,8),%edx
897 shrl $16,%ebx
898 xorl 4(%rbp,%rdi,8),%ecx
899 movzbl %ah,%esi
900 movzbl %bl,%edi
901 xorl 0(%rbp,%rsi,8),%edx
902 xorl 2052(%rbp,%rdi,8),%ecx
903 movzbl %al,%esi
904 movzbl %bh,%edi
905 xorl 2048(%rbp,%rsi,8),%edx
906 xorl 2048(%rbp,%rdi,8),%ecx
907 movl 48(%r14),%ebx
908 movl 52(%r14),%eax
909 xorl %edx,%ecx
910 rorl $8,%edx
911 xorl %ecx,%r8d
912 xorl %ecx,%r9d
913 xorl %edx,%r9d
914 movq 0(%r13),%rax
915 movq 8(%r13),%rbx
916 movq 32(%r13),%rcx
917 movq 40(%r13),%rdx
918 movq 48(%r13),%r14
919 movq 56(%r13),%r15
920 leaq 128(%r13),%r13
921 shlq $32,%r8
922 shlq $32,%r10
923 orq %r9,%r8
924 orq %r11,%r10
925 movq %r8,-112(%r13)
926 movq %r10,-104(%r13)
927 movq %rcx,%r11
928 shlq $15,%rcx
929 movq %rdx,%r9
930 shrq $49,%r9
931 shrq $49,%r11
932 orq %r9,%rcx
933 shlq $15,%rdx
934 orq %r11,%rdx
935 movq %rcx,-96(%r13)
936 movq %rdx,-88(%r13)
937 movq %r14,%r11
938 shlq $15,%r14
939 movq %r15,%r9
940 shrq $49,%r9
941 shrq $49,%r11
942 orq %r9,%r14
943 shlq $15,%r15
944 orq %r11,%r15
945 movq %r14,-80(%r13)
946 movq %r15,-72(%r13)
947 movq %rcx,%r11
948 shlq $15,%rcx
949 movq %rdx,%r9
950 shrq $49,%r9
951 shrq $49,%r11
952 orq %r9,%rcx
953 shlq $15,%rdx
954 orq %r11,%rdx
955 movq %rcx,-64(%r13)
956 movq %rdx,-56(%r13)
957 movq %r8,%r11
958 shlq $30,%r8
959 movq %r10,%r9
960 shrq $34,%r9
961 shrq $34,%r11
962 orq %r9,%r8
963 shlq $30,%r10
964 orq %r11,%r10
965 movq %r8,-48(%r13)
966 movq %r10,-40(%r13)
967 movq %rax,%r11
968 shlq $45,%rax
969 movq %rbx,%r9
970 shrq $19,%r9
971 shrq $19,%r11
972 orq %r9,%rax
973 shlq $45,%rbx
974 orq %r11,%rbx
975 movq %rax,-32(%r13)
976 movq %rbx,-24(%r13)
977 movq %r14,%r11
978 shlq $30,%r14
979 movq %r15,%r9
980 shrq $34,%r9
981 shrq $34,%r11
982 orq %r9,%r14
983 shlq $30,%r15
984 orq %r11,%r15
985 movq %r14,-16(%r13)
986 movq %r15,-8(%r13)
987 movq %rax,%r11
988 shlq $15,%rax
989 movq %rbx,%r9
990 shrq $49,%r9
991 shrq $49,%r11
992 orq %r9,%rax
993 shlq $15,%rbx
994 orq %r11,%rbx
995 movq %rax,0(%r13)
996 movq %rbx,8(%r13)
997 movq %rcx,%r11
998 shlq $30,%rcx
999 movq %rdx,%r9
1000 shrq $34,%r9
1001 shrq $34,%r11
1002 orq %r9,%rcx
1003 shlq $30,%rdx
1004 orq %r11,%rdx
1005 movq %rcx,16(%r13)
1006 movq %rdx,24(%r13)
1007 movq %r8,%r11
1008 shlq $30,%r8
1009 movq %r10,%r9
1010 shrq $34,%r9
1011 shrq $34,%r11
1012 orq %r9,%r8
1013 shlq $30,%r10
1014 orq %r11,%r10
1015 movq %r8,32(%r13)
1016 movq %r10,40(%r13)
1017 movq %rax,%r11
1018 shlq $17,%rax
1019 movq %rbx,%r9
1020 shrq $47,%r9
1021 shrq $47,%r11
1022 orq %r9,%rax
1023 shlq $17,%rbx
1024 orq %r11,%rbx
1025 movq %rax,48(%r13)
1026 movq %rbx,56(%r13)
1027 movq %r14,%r11
1028 shlq $32,%r14
1029 movq %r15,%r9
1030 shrq $32,%r9
1031 shrq $32,%r11
1032 orq %r9,%r14
1033 shlq $32,%r15
1034 orq %r11,%r15
1035 movq %r14,64(%r13)
1036 movq %r15,72(%r13)
1037 movq %rcx,%r11
1038 shlq $34,%rcx
1039 movq %rdx,%r9
1040 shrq $30,%r9
1041 shrq $30,%r11
1042 orq %r9,%rcx
1043 shlq $34,%rdx
1044 orq %r11,%rdx
1045 movq %rcx,80(%r13)
1046 movq %rdx,88(%r13)
1047 movq %r14,%r11
1048 shlq $17,%r14
1049 movq %r15,%r9
1050 shrq $47,%r9
1051 shrq $47,%r11
1052 orq %r9,%r14
1053 shlq $17,%r15
1054 orq %r11,%r15
1055 movq %r14,96(%r13)
1056 movq %r15,104(%r13)
1057 movq %rax,%r11
1058 shlq $34,%rax
1059 movq %rbx,%r9
1060 shrq $30,%r9
1061 shrq $30,%r11
1062 orq %r9,%rax
1063 shlq $34,%rbx
1064 orq %r11,%rbx
1065 movq %rax,112(%r13)
1066 movq %rbx,120(%r13)
1067 movq %r8,%r11
1068 shlq $51,%r8
1069 movq %r10,%r9
1070 shrq $13,%r9
1071 shrq $13,%r11
1072 orq %r9,%r8
1073 shlq $51,%r10
1074 orq %r11,%r10
1075 movq %r8,128(%r13)
1076 movq %r10,136(%r13)
1077 movl $4,%eax
1078 .Ldone:
1079 movq 0(%rsp),%r15
1080 movq 8(%rsp),%r14
1081 movq 16(%rsp),%r13
1082 movq 24(%rsp),%rbp
1083 movq 32(%rsp),%rbx
1084 leaq 40(%rsp),%rsp
1085 .Lkey_epilogue:
1086 .byte 0xf3,0xc3
1087 .size Camellia_Ekeygen,.-Camellia_Ekeygen
1088 .align 64
1089 .LCamellia_SIGMA:
1090 .long 0x3bcc908b, 0xa09e667f, 0x4caa73b2, 0xb67ae858
1091 .long 0xe94f82be, 0xc6ef372f, 0xf1d36f1c, 0x54ff53a5
1092 .long 0xde682d1d, 0x10e527fa, 0xb3e6c1fd, 0xb05688c2
1093 .long 0, 0, 0, 0
1094 .LCamellia_SBOX:
1095 .long 0x70707000,0x70700070
1096 .long 0x82828200,0x2c2c002c
1097 .long 0x2c2c2c00,0xb3b300b3
1098 .long 0xececec00,0xc0c000c0
1099 .long 0xb3b3b300,0xe4e400e4
1100 .long 0x27272700,0x57570057
1101 .long 0xc0c0c000,0xeaea00ea
1102 .long 0xe5e5e500,0xaeae00ae
1103 .long 0xe4e4e400,0x23230023
1104 .long 0x85858500,0x6b6b006b
1105 .long 0x57575700,0x45450045
1106 .long 0x35353500,0xa5a500a5
1107 .long 0xeaeaea00,0xeded00ed
1108 .long 0x0c0c0c00,0x4f4f004f
1109 .long 0xaeaeae00,0x1d1d001d
1110 .long 0x41414100,0x92920092
1111 .long 0x23232300,0x86860086
1112 .long 0xefefef00,0xafaf00af
1113 .long 0x6b6b6b00,0x7c7c007c
1114 .long 0x93939300,0x1f1f001f
1115 .long 0x45454500,0x3e3e003e
1116 .long 0x19191900,0xdcdc00dc
1117 .long 0xa5a5a500,0x5e5e005e
1118 .long 0x21212100,0x0b0b000b
1119 .long 0xededed00,0xa6a600a6
1120 .long 0x0e0e0e00,0x39390039
1121 .long 0x4f4f4f00,0xd5d500d5
1122 .long 0x4e4e4e00,0x5d5d005d
1123 .long 0x1d1d1d00,0xd9d900d9
1124 .long 0x65656500,0x5a5a005a
1125 .long 0x92929200,0x51510051
1126 .long 0xbdbdbd00,0x6c6c006c
1127 .long 0x86868600,0x8b8b008b
1128 .long 0xb8b8b800,0x9a9a009a
1129 .long 0xafafaf00,0xfbfb00fb
1130 .long 0x8f8f8f00,0xb0b000b0
1131 .long 0x7c7c7c00,0x74740074
1132 .long 0xebebeb00,0x2b2b002b
1133 .long 0x1f1f1f00,0xf0f000f0
1134 .long 0xcecece00,0x84840084
1135 .long 0x3e3e3e00,0xdfdf00df
1136 .long 0x30303000,0xcbcb00cb
1137 .long 0xdcdcdc00,0x34340034
1138 .long 0x5f5f5f00,0x76760076
1139 .long 0x5e5e5e00,0x6d6d006d
1140 .long 0xc5c5c500,0xa9a900a9
1141 .long 0x0b0b0b00,0xd1d100d1
1142 .long 0x1a1a1a00,0x04040004
1143 .long 0xa6a6a600,0x14140014
1144 .long 0xe1e1e100,0x3a3a003a
1145 .long 0x39393900,0xdede00de
1146 .long 0xcacaca00,0x11110011
1147 .long 0xd5d5d500,0x32320032
1148 .long 0x47474700,0x9c9c009c
1149 .long 0x5d5d5d00,0x53530053
1150 .long 0x3d3d3d00,0xf2f200f2
1151 .long 0xd9d9d900,0xfefe00fe
1152 .long 0x01010100,0xcfcf00cf
1153 .long 0x5a5a5a00,0xc3c300c3
1154 .long 0xd6d6d600,0x7a7a007a
1155 .long 0x51515100,0x24240024
1156 .long 0x56565600,0xe8e800e8
1157 .long 0x6c6c6c00,0x60600060
1158 .long 0x4d4d4d00,0x69690069
1159 .long 0x8b8b8b00,0xaaaa00aa
1160 .long 0x0d0d0d00,0xa0a000a0
1161 .long 0x9a9a9a00,0xa1a100a1
1162 .long 0x66666600,0x62620062
1163 .long 0xfbfbfb00,0x54540054
1164 .long 0xcccccc00,0x1e1e001e
1165 .long 0xb0b0b000,0xe0e000e0
1166 .long 0x2d2d2d00,0x64640064
1167 .long 0x74747400,0x10100010
1168 .long 0x12121200,0x00000000
1169 .long 0x2b2b2b00,0xa3a300a3
1170 .long 0x20202000,0x75750075
1171 .long 0xf0f0f000,0x8a8a008a
1172 .long 0xb1b1b100,0xe6e600e6
1173 .long 0x84848400,0x09090009
1174 .long 0x99999900,0xdddd00dd
1175 .long 0xdfdfdf00,0x87870087
1176 .long 0x4c4c4c00,0x83830083
1177 .long 0xcbcbcb00,0xcdcd00cd
1178 .long 0xc2c2c200,0x90900090
1179 .long 0x34343400,0x73730073
1180 .long 0x7e7e7e00,0xf6f600f6
1181 .long 0x76767600,0x9d9d009d
1182 .long 0x05050500,0xbfbf00bf
1183 .long 0x6d6d6d00,0x52520052
1184 .long 0xb7b7b700,0xd8d800d8
1185 .long 0xa9a9a900,0xc8c800c8
1186 .long 0x31313100,0xc6c600c6
1187 .long 0xd1d1d100,0x81810081
1188 .long 0x17171700,0x6f6f006f
1189 .long 0x04040400,0x13130013
1190 .long 0xd7d7d700,0x63630063
1191 .long 0x14141400,0xe9e900e9
1192 .long 0x58585800,0xa7a700a7
1193 .long 0x3a3a3a00,0x9f9f009f
1194 .long 0x61616100,0xbcbc00bc
1195 .long 0xdedede00,0x29290029
1196 .long 0x1b1b1b00,0xf9f900f9
1197 .long 0x11111100,0x2f2f002f
1198 .long 0x1c1c1c00,0xb4b400b4
1199 .long 0x32323200,0x78780078
1200 .long 0x0f0f0f00,0x06060006
1201 .long 0x9c9c9c00,0xe7e700e7
1202 .long 0x16161600,0x71710071
1203 .long 0x53535300,0xd4d400d4
1204 .long 0x18181800,0xabab00ab
1205 .long 0xf2f2f200,0x88880088
1206 .long 0x22222200,0x8d8d008d
1207 .long 0xfefefe00,0x72720072
1208 .long 0x44444400,0xb9b900b9
1209 .long 0xcfcfcf00,0xf8f800f8
1210 .long 0xb2b2b200,0xacac00ac
1211 .long 0xc3c3c300,0x36360036
1212 .long 0xb5b5b500,0x2a2a002a
1213 .long 0x7a7a7a00,0x3c3c003c
1214 .long 0x91919100,0xf1f100f1
1215 .long 0x24242400,0x40400040
1216 .long 0x08080800,0xd3d300d3
1217 .long 0xe8e8e800,0xbbbb00bb
1218 .long 0xa8a8a800,0x43430043
1219 .long 0x60606000,0x15150015
1220 .long 0xfcfcfc00,0xadad00ad
1221 .long 0x69696900,0x77770077
1222 .long 0x50505000,0x80800080
1223 .long 0xaaaaaa00,0x82820082
1224 .long 0xd0d0d000,0xecec00ec
1225 .long 0xa0a0a000,0x27270027
1226 .long 0x7d7d7d00,0xe5e500e5
1227 .long 0xa1a1a100,0x85850085
1228 .long 0x89898900,0x35350035
1229 .long 0x62626200,0x0c0c000c
1230 .long 0x97979700,0x41410041
1231 .long 0x54545400,0xefef00ef
1232 .long 0x5b5b5b00,0x93930093
1233 .long 0x1e1e1e00,0x19190019
1234 .long 0x95959500,0x21210021
1235 .long 0xe0e0e000,0x0e0e000e
1236 .long 0xffffff00,0x4e4e004e
1237 .long 0x64646400,0x65650065
1238 .long 0xd2d2d200,0xbdbd00bd
1239 .long 0x10101000,0xb8b800b8
1240 .long 0xc4c4c400,0x8f8f008f
1241 .long 0x00000000,0xebeb00eb
1242 .long 0x48484800,0xcece00ce
1243 .long 0xa3a3a300,0x30300030
1244 .long 0xf7f7f700,0x5f5f005f
1245 .long 0x75757500,0xc5c500c5
1246 .long 0xdbdbdb00,0x1a1a001a
1247 .long 0x8a8a8a00,0xe1e100e1
1248 .long 0x03030300,0xcaca00ca
1249 .long 0xe6e6e600,0x47470047
1250 .long 0xdadada00,0x3d3d003d
1251 .long 0x09090900,0x01010001
1252 .long 0x3f3f3f00,0xd6d600d6
1253 .long 0xdddddd00,0x56560056
1254 .long 0x94949400,0x4d4d004d
1255 .long 0x87878700,0x0d0d000d
1256 .long 0x5c5c5c00,0x66660066
1257 .long 0x83838300,0xcccc00cc
1258 .long 0x02020200,0x2d2d002d
1259 .long 0xcdcdcd00,0x12120012
1260 .long 0x4a4a4a00,0x20200020
1261 .long 0x90909000,0xb1b100b1
1262 .long 0x33333300,0x99990099
1263 .long 0x73737300,0x4c4c004c
1264 .long 0x67676700,0xc2c200c2
1265 .long 0xf6f6f600,0x7e7e007e
1266 .long 0xf3f3f300,0x05050005
1267 .long 0x9d9d9d00,0xb7b700b7
1268 .long 0x7f7f7f00,0x31310031
1269 .long 0xbfbfbf00,0x17170017
1270 .long 0xe2e2e200,0xd7d700d7
1271 .long 0x52525200,0x58580058
1272 .long 0x9b9b9b00,0x61610061
1273 .long 0xd8d8d800,0x1b1b001b
1274 .long 0x26262600,0x1c1c001c
1275 .long 0xc8c8c800,0x0f0f000f
1276 .long 0x37373700,0x16160016
1277 .long 0xc6c6c600,0x18180018
1278 .long 0x3b3b3b00,0x22220022
1279 .long 0x81818100,0x44440044
1280 .long 0x96969600,0xb2b200b2
1281 .long 0x6f6f6f00,0xb5b500b5
1282 .long 0x4b4b4b00,0x91910091
1283 .long 0x13131300,0x08080008
1284 .long 0xbebebe00,0xa8a800a8
1285 .long 0x63636300,0xfcfc00fc
1286 .long 0x2e2e2e00,0x50500050
1287 .long 0xe9e9e900,0xd0d000d0
1288 .long 0x79797900,0x7d7d007d
1289 .long 0xa7a7a700,0x89890089
1290 .long 0x8c8c8c00,0x97970097
1291 .long 0x9f9f9f00,0x5b5b005b
1292 .long 0x6e6e6e00,0x95950095
1293 .long 0xbcbcbc00,0xffff00ff
1294 .long 0x8e8e8e00,0xd2d200d2
1295 .long 0x29292900,0xc4c400c4
1296 .long 0xf5f5f500,0x48480048
1297 .long 0xf9f9f900,0xf7f700f7
1298 .long 0xb6b6b600,0xdbdb00db
1299 .long 0x2f2f2f00,0x03030003
1300 .long 0xfdfdfd00,0xdada00da
1301 .long 0xb4b4b400,0x3f3f003f
1302 .long 0x59595900,0x94940094
1303 .long 0x78787800,0x5c5c005c
1304 .long 0x98989800,0x02020002
1305 .long 0x06060600,0x4a4a004a
1306 .long 0x6a6a6a00,0x33330033
1307 .long 0xe7e7e700,0x67670067
1308 .long 0x46464600,0xf3f300f3
1309 .long 0x71717100,0x7f7f007f
1310 .long 0xbababa00,0xe2e200e2
1311 .long 0xd4d4d400,0x9b9b009b
1312 .long 0x25252500,0x26260026
1313 .long 0xababab00,0x37370037
1314 .long 0x42424200,0x3b3b003b
1315 .long 0x88888800,0x96960096
1316 .long 0xa2a2a200,0x4b4b004b
1317 .long 0x8d8d8d00,0xbebe00be
1318 .long 0xfafafa00,0x2e2e002e
1319 .long 0x72727200,0x79790079
1320 .long 0x07070700,0x8c8c008c
1321 .long 0xb9b9b900,0x6e6e006e
1322 .long 0x55555500,0x8e8e008e
1323 .long 0xf8f8f800,0xf5f500f5
1324 .long 0xeeeeee00,0xb6b600b6
1325 .long 0xacacac00,0xfdfd00fd
1326 .long 0x0a0a0a00,0x59590059
1327 .long 0x36363600,0x98980098
1328 .long 0x49494900,0x6a6a006a
1329 .long 0x2a2a2a00,0x46460046
1330 .long 0x68686800,0xbaba00ba
1331 .long 0x3c3c3c00,0x25250025
1332 .long 0x38383800,0x42420042
1333 .long 0xf1f1f100,0xa2a200a2
1334 .long 0xa4a4a400,0xfafa00fa
1335 .long 0x40404000,0x07070007
1336 .long 0x28282800,0x55550055
1337 .long 0xd3d3d300,0xeeee00ee
1338 .long 0x7b7b7b00,0x0a0a000a
1339 .long 0xbbbbbb00,0x49490049
1340 .long 0xc9c9c900,0x68680068
1341 .long 0x43434300,0x38380038
1342 .long 0xc1c1c100,0xa4a400a4
1343 .long 0x15151500,0x28280028
1344 .long 0xe3e3e300,0x7b7b007b
1345 .long 0xadadad00,0xc9c900c9
1346 .long 0xf4f4f400,0xc1c100c1
1347 .long 0x77777700,0xe3e300e3
1348 .long 0xc7c7c700,0xf4f400f4
1349 .long 0x80808000,0xc7c700c7
1350 .long 0x9e9e9e00,0x9e9e009e
1351 .long 0x00e0e0e0,0x38003838
1352 .long 0x00050505,0x41004141
1353 .long 0x00585858,0x16001616
1354 .long 0x00d9d9d9,0x76007676
1355 .long 0x00676767,0xd900d9d9
1356 .long 0x004e4e4e,0x93009393
1357 .long 0x00818181,0x60006060
1358 .long 0x00cbcbcb,0xf200f2f2
1359 .long 0x00c9c9c9,0x72007272
1360 .long 0x000b0b0b,0xc200c2c2
1361 .long 0x00aeaeae,0xab00abab
1362 .long 0x006a6a6a,0x9a009a9a
1363 .long 0x00d5d5d5,0x75007575
1364 .long 0x00181818,0x06000606
1365 .long 0x005d5d5d,0x57005757
1366 .long 0x00828282,0xa000a0a0
1367 .long 0x00464646,0x91009191
1368 .long 0x00dfdfdf,0xf700f7f7
1369 .long 0x00d6d6d6,0xb500b5b5
1370 .long 0x00272727,0xc900c9c9
1371 .long 0x008a8a8a,0xa200a2a2
1372 .long 0x00323232,0x8c008c8c
1373 .long 0x004b4b4b,0xd200d2d2
1374 .long 0x00424242,0x90009090
1375 .long 0x00dbdbdb,0xf600f6f6
1376 .long 0x001c1c1c,0x07000707
1377 .long 0x009e9e9e,0xa700a7a7
1378 .long 0x009c9c9c,0x27002727
1379 .long 0x003a3a3a,0x8e008e8e
1380 .long 0x00cacaca,0xb200b2b2
1381 .long 0x00252525,0x49004949
1382 .long 0x007b7b7b,0xde00dede
1383 .long 0x000d0d0d,0x43004343
1384 .long 0x00717171,0x5c005c5c
1385 .long 0x005f5f5f,0xd700d7d7
1386 .long 0x001f1f1f,0xc700c7c7
1387 .long 0x00f8f8f8,0x3e003e3e
1388 .long 0x00d7d7d7,0xf500f5f5
1389 .long 0x003e3e3e,0x8f008f8f
1390 .long 0x009d9d9d,0x67006767
1391 .long 0x007c7c7c,0x1f001f1f
1392 .long 0x00606060,0x18001818
1393 .long 0x00b9b9b9,0x6e006e6e
1394 .long 0x00bebebe,0xaf00afaf
1395 .long 0x00bcbcbc,0x2f002f2f
1396 .long 0x008b8b8b,0xe200e2e2
1397 .long 0x00161616,0x85008585
1398 .long 0x00343434,0x0d000d0d
1399 .long 0x004d4d4d,0x53005353
1400 .long 0x00c3c3c3,0xf000f0f0
1401 .long 0x00727272,0x9c009c9c
1402 .long 0x00959595,0x65006565
1403 .long 0x00ababab,0xea00eaea
1404 .long 0x008e8e8e,0xa300a3a3
1405 .long 0x00bababa,0xae00aeae
1406 .long 0x007a7a7a,0x9e009e9e
1407 .long 0x00b3b3b3,0xec00ecec
1408 .long 0x00020202,0x80008080
1409 .long 0x00b4b4b4,0x2d002d2d
1410 .long 0x00adadad,0x6b006b6b
1411 .long 0x00a2a2a2,0xa800a8a8
1412 .long 0x00acacac,0x2b002b2b
1413 .long 0x00d8d8d8,0x36003636
1414 .long 0x009a9a9a,0xa600a6a6
1415 .long 0x00171717,0xc500c5c5
1416 .long 0x001a1a1a,0x86008686
1417 .long 0x00353535,0x4d004d4d
1418 .long 0x00cccccc,0x33003333
1419 .long 0x00f7f7f7,0xfd00fdfd
1420 .long 0x00999999,0x66006666
1421 .long 0x00616161,0x58005858
1422 .long 0x005a5a5a,0x96009696
1423 .long 0x00e8e8e8,0x3a003a3a
1424 .long 0x00242424,0x09000909
1425 .long 0x00565656,0x95009595
1426 .long 0x00404040,0x10001010
1427 .long 0x00e1e1e1,0x78007878
1428 .long 0x00636363,0xd800d8d8
1429 .long 0x00090909,0x42004242
1430 .long 0x00333333,0xcc00cccc
1431 .long 0x00bfbfbf,0xef00efef
1432 .long 0x00989898,0x26002626
1433 .long 0x00979797,0xe500e5e5
1434 .long 0x00858585,0x61006161
1435 .long 0x00686868,0x1a001a1a
1436 .long 0x00fcfcfc,0x3f003f3f
1437 .long 0x00ececec,0x3b003b3b
1438 .long 0x000a0a0a,0x82008282
1439 .long 0x00dadada,0xb600b6b6
1440 .long 0x006f6f6f,0xdb00dbdb
1441 .long 0x00535353,0xd400d4d4
1442 .long 0x00626262,0x98009898
1443 .long 0x00a3a3a3,0xe800e8e8
1444 .long 0x002e2e2e,0x8b008b8b
1445 .long 0x00080808,0x02000202
1446 .long 0x00afafaf,0xeb00ebeb
1447 .long 0x00282828,0x0a000a0a
1448 .long 0x00b0b0b0,0x2c002c2c
1449 .long 0x00747474,0x1d001d1d
1450 .long 0x00c2c2c2,0xb000b0b0
1451 .long 0x00bdbdbd,0x6f006f6f
1452 .long 0x00363636,0x8d008d8d
1453 .long 0x00222222,0x88008888
1454 .long 0x00383838,0x0e000e0e
1455 .long 0x00646464,0x19001919
1456 .long 0x001e1e1e,0x87008787
1457 .long 0x00393939,0x4e004e4e
1458 .long 0x002c2c2c,0x0b000b0b
1459 .long 0x00a6a6a6,0xa900a9a9
1460 .long 0x00303030,0x0c000c0c
1461 .long 0x00e5e5e5,0x79007979
1462 .long 0x00444444,0x11001111
1463 .long 0x00fdfdfd,0x7f007f7f
1464 .long 0x00888888,0x22002222
1465 .long 0x009f9f9f,0xe700e7e7
1466 .long 0x00656565,0x59005959
1467 .long 0x00878787,0xe100e1e1
1468 .long 0x006b6b6b,0xda00dada
1469 .long 0x00f4f4f4,0x3d003d3d
1470 .long 0x00232323,0xc800c8c8
1471 .long 0x00484848,0x12001212
1472 .long 0x00101010,0x04000404
1473 .long 0x00d1d1d1,0x74007474
1474 .long 0x00515151,0x54005454
1475 .long 0x00c0c0c0,0x30003030
1476 .long 0x00f9f9f9,0x7e007e7e
1477 .long 0x00d2d2d2,0xb400b4b4
1478 .long 0x00a0a0a0,0x28002828
1479 .long 0x00555555,0x55005555
1480 .long 0x00a1a1a1,0x68006868
1481 .long 0x00414141,0x50005050
1482 .long 0x00fafafa,0xbe00bebe
1483 .long 0x00434343,0xd000d0d0
1484 .long 0x00131313,0xc400c4c4
1485 .long 0x00c4c4c4,0x31003131
1486 .long 0x002f2f2f,0xcb00cbcb
1487 .long 0x00a8a8a8,0x2a002a2a
1488 .long 0x00b6b6b6,0xad00adad
1489 .long 0x003c3c3c,0x0f000f0f
1490 .long 0x002b2b2b,0xca00caca
1491 .long 0x00c1c1c1,0x70007070
1492 .long 0x00ffffff,0xff00ffff
1493 .long 0x00c8c8c8,0x32003232
1494 .long 0x00a5a5a5,0x69006969
1495 .long 0x00202020,0x08000808
1496 .long 0x00898989,0x62006262
1497 .long 0x00000000,0x00000000
1498 .long 0x00909090,0x24002424
1499 .long 0x00474747,0xd100d1d1
1500 .long 0x00efefef,0xfb00fbfb
1501 .long 0x00eaeaea,0xba00baba
1502 .long 0x00b7b7b7,0xed00eded
1503 .long 0x00151515,0x45004545
1504 .long 0x00060606,0x81008181
1505 .long 0x00cdcdcd,0x73007373
1506 .long 0x00b5b5b5,0x6d006d6d
1507 .long 0x00121212,0x84008484
1508 .long 0x007e7e7e,0x9f009f9f
1509 .long 0x00bbbbbb,0xee00eeee
1510 .long 0x00292929,0x4a004a4a
1511 .long 0x000f0f0f,0xc300c3c3
1512 .long 0x00b8b8b8,0x2e002e2e
1513 .long 0x00070707,0xc100c1c1
1514 .long 0x00040404,0x01000101
1515 .long 0x009b9b9b,0xe600e6e6
1516 .long 0x00949494,0x25002525
1517 .long 0x00212121,0x48004848
1518 .long 0x00666666,0x99009999
1519 .long 0x00e6e6e6,0xb900b9b9
1520 .long 0x00cecece,0xb300b3b3
1521 .long 0x00ededed,0x7b007b7b
1522 .long 0x00e7e7e7,0xf900f9f9
1523 .long 0x003b3b3b,0xce00cece
1524 .long 0x00fefefe,0xbf00bfbf
1525 .long 0x007f7f7f,0xdf00dfdf
1526 .long 0x00c5c5c5,0x71007171
1527 .long 0x00a4a4a4,0x29002929
1528 .long 0x00373737,0xcd00cdcd
1529 .long 0x00b1b1b1,0x6c006c6c
1530 .long 0x004c4c4c,0x13001313
1531 .long 0x00919191,0x64006464
1532 .long 0x006e6e6e,0x9b009b9b
1533 .long 0x008d8d8d,0x63006363
1534 .long 0x00767676,0x9d009d9d
1535 .long 0x00030303,0xc000c0c0
1536 .long 0x002d2d2d,0x4b004b4b
1537 .long 0x00dedede,0xb700b7b7
1538 .long 0x00969696,0xa500a5a5
1539 .long 0x00262626,0x89008989
1540 .long 0x007d7d7d,0x5f005f5f
1541 .long 0x00c6c6c6,0xb100b1b1
1542 .long 0x005c5c5c,0x17001717
1543 .long 0x00d3d3d3,0xf400f4f4
1544 .long 0x00f2f2f2,0xbc00bcbc
1545 .long 0x004f4f4f,0xd300d3d3
1546 .long 0x00191919,0x46004646
1547 .long 0x003f3f3f,0xcf00cfcf
1548 .long 0x00dcdcdc,0x37003737
1549 .long 0x00797979,0x5e005e5e
1550 .long 0x001d1d1d,0x47004747
1551 .long 0x00525252,0x94009494
1552 .long 0x00ebebeb,0xfa00fafa
1553 .long 0x00f3f3f3,0xfc00fcfc
1554 .long 0x006d6d6d,0x5b005b5b
1555 .long 0x005e5e5e,0x97009797
1556 .long 0x00fbfbfb,0xfe00fefe
1557 .long 0x00696969,0x5a005a5a
1558 .long 0x00b2b2b2,0xac00acac
1559 .long 0x00f0f0f0,0x3c003c3c
1560 .long 0x00313131,0x4c004c4c
1561 .long 0x000c0c0c,0x03000303
1562 .long 0x00d4d4d4,0x35003535
1563 .long 0x00cfcfcf,0xf300f3f3
1564 .long 0x008c8c8c,0x23002323
1565 .long 0x00e2e2e2,0xb800b8b8
1566 .long 0x00757575,0x5d005d5d
1567 .long 0x00a9a9a9,0x6a006a6a
1568 .long 0x004a4a4a,0x92009292
1569 .long 0x00575757,0xd500d5d5
1570 .long 0x00848484,0x21002121
1571 .long 0x00111111,0x44004444
1572 .long 0x00454545,0x51005151
1573 .long 0x001b1b1b,0xc600c6c6
1574 .long 0x00f5f5f5,0x7d007d7d
1575 .long 0x00e4e4e4,0x39003939
1576 .long 0x000e0e0e,0x83008383
1577 .long 0x00737373,0xdc00dcdc
1578 .long 0x00aaaaaa,0xaa00aaaa
1579 .long 0x00f1f1f1,0x7c007c7c
1580 .long 0x00dddddd,0x77007777
1581 .long 0x00595959,0x56005656
1582 .long 0x00141414,0x05000505
1583 .long 0x006c6c6c,0x1b001b1b
1584 .long 0x00929292,0xa400a4a4
1585 .long 0x00545454,0x15001515
1586 .long 0x00d0d0d0,0x34003434
1587 .long 0x00787878,0x1e001e1e
1588 .long 0x00707070,0x1c001c1c
1589 .long 0x00e3e3e3,0xf800f8f8
1590 .long 0x00494949,0x52005252
1591 .long 0x00808080,0x20002020
1592 .long 0x00505050,0x14001414
1593 .long 0x00a7a7a7,0xe900e9e9
1594 .long 0x00f6f6f6,0xbd00bdbd
1595 .long 0x00777777,0xdd00dddd
1596 .long 0x00939393,0xe400e4e4
1597 .long 0x00868686,0xa100a1a1
1598 .long 0x00838383,0xe000e0e0
1599 .long 0x002a2a2a,0x8a008a8a
1600 .long 0x00c7c7c7,0xf100f1f1
1601 .long 0x005b5b5b,0xd600d6d6
1602 .long 0x00e9e9e9,0x7a007a7a
1603 .long 0x00eeeeee,0xbb00bbbb
1604 .long 0x008f8f8f,0xe300e3e3
1605 .long 0x00010101,0x40004040
1606 .long 0x003d3d3d,0x4f004f4f
1607 .globl Camellia_cbc_encrypt
1608 .type Camellia_cbc_encrypt,@function
1609 .align 16
1610 Camellia_cbc_encrypt:
1611 cmpq $0,%rdx
1612 je .Lcbc_abort
1613 pushq %rbx
1614 pushq %rbp
1615 pushq %r12
1616 pushq %r13
1617 pushq %r14
1618 pushq %r15
1619 .Lcbc_prologue:
1620
1621 movq %rsp,%rbp
1622 subq $64,%rsp
1623 andq $-64,%rsp
1624
1625
1626
1627 leaq -64-63(%rcx),%r10
1628 subq %rsp,%r10
1629 negq %r10
1630 andq $960,%r10
1631 subq %r10,%rsp
1632
1633
1634 movq %rdi,%r12
1635 movq %rsi,%r13
1636 movq %r8,%rbx
1637 movq %rcx,%r14
1638 movl 272(%rcx),%r15d
1639
1640 movq %r8,40(%rsp)
1641 movq %rbp,48(%rsp)
1642
1643 .Lcbc_body:
1644 leaq .LCamellia_SBOX(%rip),%rbp
1645
1646 movl $32,%ecx
1647 .align 4
1648 .Lcbc_prefetch_sbox:
1649 movq 0(%rbp),%rax
1650 movq 32(%rbp),%rsi
1651 movq 64(%rbp),%rdi
1652 movq 96(%rbp),%r11
1653 leaq 128(%rbp),%rbp
1654 loop .Lcbc_prefetch_sbox
1655 subq $4096,%rbp
1656 shlq $6,%r15
1657 movq %rdx,%rcx
1658 leaq (%r14,%r15,1),%r15
1659
1660 cmpl $0,%r9d
1661 je .LCBC_DECRYPT
1662
1663 andq $-16,%rdx
1664 andq $15,%rcx
1665 leaq (%r12,%rdx,1),%rdx
1666 movq %r14,0(%rsp)
1667 movq %rdx,8(%rsp)
1668 movq %rcx,16(%rsp)
1669
1670 cmpq %r12,%rdx
1671 movl 0(%rbx),%r8d
1672 movl 4(%rbx),%r9d
1673 movl 8(%rbx),%r10d
1674 movl 12(%rbx),%r11d
1675 je .Lcbc_enc_tail
1676 jmp .Lcbc_eloop
1677
1678 .align 16
1679 .Lcbc_eloop:
1680 xorl 0(%r12),%r8d
1681 xorl 4(%r12),%r9d
1682 xorl 8(%r12),%r10d
1683 bswapl %r8d
1684 xorl 12(%r12),%r11d
1685 bswapl %r9d
1686 bswapl %r10d
1687 bswapl %r11d
1688
1689 call _x86_64_Camellia_encrypt
1690
1691 movq 0(%rsp),%r14
1692 bswapl %r8d
1693 movq 8(%rsp),%rdx
1694 bswapl %r9d
1695 movq 16(%rsp),%rcx
1696 bswapl %r10d
1697 movl %r8d,0(%r13)
1698 bswapl %r11d
1699 movl %r9d,4(%r13)
1700 movl %r10d,8(%r13)
1701 leaq 16(%r12),%r12
1702 movl %r11d,12(%r13)
1703 cmpq %rdx,%r12
1704 leaq 16(%r13),%r13
1705 jne .Lcbc_eloop
1706
1707 cmpq $0,%rcx
1708 jne .Lcbc_enc_tail
1709
1710 movq 40(%rsp),%r13
1711 movl %r8d,0(%r13)
1712 movl %r9d,4(%r13)
1713 movl %r10d,8(%r13)
1714 movl %r11d,12(%r13)
1715 jmp .Lcbc_done
1716
1717 .align 16
1718 .Lcbc_enc_tail:
1719 xorq %rax,%rax
1720 movq %rax,0+24(%rsp)
1721 movq %rax,8+24(%rsp)
1722 movq %rax,16(%rsp)
1723
1724 .Lcbc_enc_pushf:
1725 pushfq
1726 cld
1727 movq %r12,%rsi
1728 leaq 8+24(%rsp),%rdi
1729 .long 0x9066A4F3
1730 popfq
1731 .Lcbc_enc_popf:
1732
1733 leaq 24(%rsp),%r12
1734 leaq 16+24(%rsp),%rax
1735 movq %rax,8(%rsp)
1736 jmp .Lcbc_eloop
1737
1738 .align 16
1739 .LCBC_DECRYPT:
1740 xchgq %r14,%r15
1741 addq $15,%rdx
1742 andq $15,%rcx
1743 andq $-16,%rdx
1744 movq %r14,0(%rsp)
1745 leaq (%r12,%rdx,1),%rdx
1746 movq %rdx,8(%rsp)
1747 movq %rcx,16(%rsp)
1748
1749 movq (%rbx),%rax
1750 movq 8(%rbx),%rbx
1751 jmp .Lcbc_dloop
1752 .align 16
1753 .Lcbc_dloop:
1754 movl 0(%r12),%r8d
1755 movl 4(%r12),%r9d
1756 movl 8(%r12),%r10d
1757 bswapl %r8d
1758 movl 12(%r12),%r11d
1759 bswapl %r9d
1760 movq %rax,0+24(%rsp)
1761 bswapl %r10d
1762 movq %rbx,8+24(%rsp)
1763 bswapl %r11d
1764
1765 call _x86_64_Camellia_decrypt
1766
1767 movq 0(%rsp),%r14
1768 movq 8(%rsp),%rdx
1769 movq 16(%rsp),%rcx
1770
1771 bswapl %r8d
1772 movq (%r12),%rax
1773 bswapl %r9d
1774 movq 8(%r12),%rbx
1775 bswapl %r10d
1776 xorl 0+24(%rsp),%r8d
1777 bswapl %r11d
1778 xorl 4+24(%rsp),%r9d
1779 xorl 8+24(%rsp),%r10d
1780 leaq 16(%r12),%r12
1781 xorl 12+24(%rsp),%r11d
1782 cmpq %rdx,%r12
1783 je .Lcbc_ddone
1784
1785 movl %r8d,0(%r13)
1786 movl %r9d,4(%r13)
1787 movl %r10d,8(%r13)
1788 movl %r11d,12(%r13)
1789
1790 leaq 16(%r13),%r13
1791 jmp .Lcbc_dloop
1792
1793 .align 16
1794 .Lcbc_ddone:
1795 movq 40(%rsp),%rdx
1796 cmpq $0,%rcx
1797 jne .Lcbc_dec_tail
1798
1799 movl %r8d,0(%r13)
1800 movl %r9d,4(%r13)
1801 movl %r10d,8(%r13)
1802 movl %r11d,12(%r13)
1803
1804 movq %rax,(%rdx)
1805 movq %rbx,8(%rdx)
1806 jmp .Lcbc_done
1807 .align 16
1808 .Lcbc_dec_tail:
1809 movl %r8d,0+24(%rsp)
1810 movl %r9d,4+24(%rsp)
1811 movl %r10d,8+24(%rsp)
1812 movl %r11d,12+24(%rsp)
1813
1814 .Lcbc_dec_pushf:
1815 pushfq
1816 cld
1817 leaq 8+24(%rsp),%rsi
1818 leaq (%r13),%rdi
1819 .long 0x9066A4F3
1820 popfq
1821 .Lcbc_dec_popf:
1822
1823 movq %rax,(%rdx)
1824 movq %rbx,8(%rdx)
1825 jmp .Lcbc_done
1826
1827 .align 16
1828 .Lcbc_done:
1829 movq 48(%rsp),%rcx
1830 movq 0(%rcx),%r15
1831 movq 8(%rcx),%r14
1832 movq 16(%rcx),%r13
1833 movq 24(%rcx),%r12
1834 movq 32(%rcx),%rbp
1835 movq 40(%rcx),%rbx
1836 leaq 48(%rcx),%rsp
1837 .Lcbc_abort:
1838 .byte 0xf3,0xc3
1839 .size Camellia_cbc_encrypt,.-Camellia_cbc_encrypt
1840
1841 .byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54,95,54,52,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0

Properties

Name Value
svn:eol-style native
svn:keywords MidnightBSD=%H
svn:mime-type text/plain