Lines Matching refs:b
24 b.eq .Lenc_key_abort
26 b.eq .Lenc_key_abort
29 b.lt .Lenc_key_abort
31 b.gt .Lenc_key_abort
33 b.ne .Lenc_key_abort
38 eor v0.16b,v0.16b,v0.16b
39 ld1 {v3.16b},[x0],#16
43 b.lt .Loop128
44 b.eq .L192
45 b .L256
49 tbl v6.16b,{v3.16b},v2.16b
50 ext v5.16b,v0.16b,v3.16b,#12
52 aese v6.16b,v0.16b
55 eor v3.16b,v3.16b,v5.16b
56 ext v5.16b,v0.16b,v5.16b,#12
57 eor v3.16b,v3.16b,v5.16b
58 ext v5.16b,v0.16b,v5.16b,#12
59 eor v6.16b,v6.16b,v1.16b
60 eor v3.16b,v3.16b,v5.16b
61 shl v1.16b,v1.16b,#1
62 eor v3.16b,v3.16b,v6.16b
63 b.ne .Loop128
67 tbl v6.16b,{v3.16b},v2.16b
68 ext v5.16b,v0.16b,v3.16b,#12
70 aese v6.16b,v0.16b
72 eor v3.16b,v3.16b,v5.16b
73 ext v5.16b,v0.16b,v5.16b,#12
74 eor v3.16b,v3.16b,v5.16b
75 ext v5.16b,v0.16b,v5.16b,#12
76 eor v6.16b,v6.16b,v1.16b
77 eor v3.16b,v3.16b,v5.16b
78 shl v1.16b,v1.16b,#1
79 eor v3.16b,v3.16b,v6.16b
81 tbl v6.16b,{v3.16b},v2.16b
82 ext v5.16b,v0.16b,v3.16b,#12
84 aese v6.16b,v0.16b
86 eor v3.16b,v3.16b,v5.16b
87 ext v5.16b,v0.16b,v5.16b,#12
88 eor v3.16b,v3.16b,v5.16b
89 ext v5.16b,v0.16b,v5.16b,#12
90 eor v6.16b,v6.16b,v1.16b
91 eor v3.16b,v3.16b,v5.16b
92 eor v3.16b,v3.16b,v6.16b
97 b .Ldone
101 ld1 {v4.8b},[x0],#8
102 movi v6.16b,#8 // borrow v6.16b
104 sub v2.16b,v2.16b,v6.16b // adjust the mask
107 tbl v6.16b,{v4.16b},v2.16b
108 ext v5.16b,v0.16b,v3.16b,#12
113 st1 {v4.8b},[x2],#8
115 aese v6.16b,v0.16b
118 eor v3.16b,v3.16b,v5.16b
119 ext v5.16b,v0.16b,v5.16b,#12
120 eor v3.16b,v3.16b,v5.16b
121 ext v5.16b,v0.16b,v5.16b,#12
122 eor v3.16b,v3.16b,v5.16b
125 eor v5.16b,v5.16b,v4.16b
126 eor v6.16b,v6.16b,v1.16b
127 ext v4.16b,v0.16b,v4.16b,#12
128 shl v1.16b,v1.16b,#1
129 eor v4.16b,v4.16b,v5.16b
130 eor v3.16b,v3.16b,v6.16b
131 eor v4.16b,v4.16b,v6.16b
133 b.ne .Loop192
137 b .Ldone
141 ld1 {v4.16b},[x0]
147 tbl v6.16b,{v4.16b},v2.16b
148 ext v5.16b,v0.16b,v3.16b,#12
150 aese v6.16b,v0.16b
153 eor v3.16b,v3.16b,v5.16b
154 ext v5.16b,v0.16b,v5.16b,#12
155 eor v3.16b,v3.16b,v5.16b
156 ext v5.16b,v0.16b,v5.16b,#12
157 eor v6.16b,v6.16b,v1.16b
158 eor v3.16b,v3.16b,v5.16b
159 shl v1.16b,v1.16b,#1
160 eor v3.16b,v3.16b,v6.16b
162 b.eq .Ldone
165 ext v5.16b,v0.16b,v4.16b,#12
166 aese v6.16b,v0.16b
168 eor v4.16b,v4.16b,v5.16b
169 ext v5.16b,v0.16b,v5.16b,#12
170 eor v4.16b,v4.16b,v5.16b
171 ext v5.16b,v0.16b,v5.16b,#12
172 eor v4.16b,v4.16b,v5.16b
174 eor v4.16b,v4.16b,v6.16b
175 b .Loop256
197 b.ne .Ldec_key_abort
211 aesimc v0.16b,v0.16b
212 aesimc v1.16b,v1.16b
216 b.hi .Loop_imc
219 aesimc v0.16b,v0.16b
235 ld1 {v2.16b},[x0]
240 aese v2.16b,v0.16b
241 aesmc v2.16b,v2.16b
244 aese v2.16b,v1.16b
245 aesmc v2.16b,v2.16b
247 b.gt .Loop_enc
249 aese v2.16b,v0.16b
250 aesmc v2.16b,v2.16b
252 aese v2.16b,v1.16b
253 eor v2.16b,v2.16b,v0.16b
255 st1 {v2.16b},[x1]
265 ld1 {v2.16b},[x0]
270 aesd v2.16b,v0.16b
271 aesimc v2.16b,v2.16b
274 aesd v2.16b,v1.16b
275 aesimc v2.16b,v2.16b
277 b.gt .Loop_dec
279 aesd v2.16b,v0.16b
280 aesimc v2.16b,v2.16b
282 aesd v2.16b,v1.16b
283 eor v2.16b,v2.16b,v0.16b
285 st1 {v2.16b},[x1]
295 b.ne .Lecb_big_size
296 ld1 {v0.16b},[x0]
301 b.eq .Lecb_small_dec
302 aese v0.16b,v5.16b
303 aesmc v0.16b,v0.16b
305 aese v0.16b,v6.16b
306 aesmc v0.16b,v0.16b
308 b.eq .Lecb_128_enc
310 aese v0.16b,v16.16b
311 aesmc v0.16b,v0.16b
313 aese v0.16b,v17.16b
314 aesmc v0.16b,v0.16b
317 b.gt .Lecb_round_loop
320 aese v0.16b,v16.16b
321 aesmc v0.16b,v0.16b
322 aese v0.16b,v17.16b
323 aesmc v0.16b,v0.16b
325 aese v0.16b,v18.16b
326 aesmc v0.16b,v0.16b
327 aese v0.16b,v19.16b
328 aesmc v0.16b,v0.16b
330 aese v0.16b,v20.16b
331 aesmc v0.16b,v0.16b
332 aese v0.16b,v21.16b
333 aesmc v0.16b,v0.16b
335 aese v0.16b,v22.16b
336 aesmc v0.16b,v0.16b
337 aese v0.16b,v23.16b
338 eor v0.16b,v0.16b,v7.16b
339 st1 {v0.16b},[x1]
340 b .Lecb_Final_abort
342 aesd v0.16b,v5.16b
343 aesimc v0.16b,v0.16b
345 aesd v0.16b,v6.16b
346 aesimc v0.16b,v0.16b
348 b.eq .Lecb_128_dec
350 aesd v0.16b,v16.16b
351 aesimc v0.16b,v0.16b
353 aesd v0.16b,v17.16b
354 aesimc v0.16b,v0.16b
357 b.gt .Lecb_dec_round_loop
360 aesd v0.16b,v16.16b
361 aesimc v0.16b,v0.16b
362 aesd v0.16b,v17.16b
363 aesimc v0.16b,v0.16b
365 aesd v0.16b,v18.16b
366 aesimc v0.16b,v0.16b
367 aesd v0.16b,v19.16b
368 aesimc v0.16b,v0.16b
370 aesd v0.16b,v20.16b
371 aesimc v0.16b,v0.16b
372 aesd v0.16b,v21.16b
373 aesimc v0.16b,v0.16b
375 aesd v0.16b,v22.16b
376 aesimc v0.16b,v0.16b
377 aesd v0.16b,v23.16b
378 eor v0.16b,v0.16b,v7.16b
379 st1 {v0.16b},[x1]
380 b .Lecb_Final_abort
385 b.lo .Lecb_done
391 ld1 {v0.16b},[x0],x8
404 b.eq .Lecb_dec
406 ld1 {v1.16b},[x0],#16
409 orr v3.16b,v1.16b,v1.16b
410 orr v24.16b,v1.16b,v1.16b
411 orr v1.16b,v0.16b,v0.16b
412 b.lo .Lecb_enc_tail
414 orr v1.16b,v3.16b,v3.16b
415 ld1 {v24.16b},[x0],#16
417 b.lo .Loop3x_ecb_enc
419 ld1 {v25.16b},[x0],#16
420 ld1 {v26.16b},[x0],#16
425 aese v0.16b,v16.16b
426 aesmc v0.16b,v0.16b
427 aese v1.16b,v16.16b
428 aesmc v1.16b,v1.16b
429 aese v24.16b,v16.16b
430 aesmc v24.16b,v24.16b
431 aese v25.16b,v16.16b
432 aesmc v25.16b,v25.16b
433 aese v26.16b,v16.16b
434 aesmc v26.16b,v26.16b
437 aese v0.16b,v17.16b
438 aesmc v0.16b,v0.16b
439 aese v1.16b,v17.16b
440 aesmc v1.16b,v1.16b
441 aese v24.16b,v17.16b
442 aesmc v24.16b,v24.16b
443 aese v25.16b,v17.16b
444 aesmc v25.16b,v25.16b
445 aese v26.16b,v17.16b
446 aesmc v26.16b,v26.16b
448 b.gt .Loop5x_ecb_enc
450 aese v0.16b,v16.16b
451 aesmc v0.16b,v0.16b
452 aese v1.16b,v16.16b
453 aesmc v1.16b,v1.16b
454 aese v24.16b,v16.16b
455 aesmc v24.16b,v24.16b
456 aese v25.16b,v16.16b
457 aesmc v25.16b,v25.16b
458 aese v26.16b,v16.16b
459 aesmc v26.16b,v26.16b
463 aese v0.16b,v17.16b
464 aesmc v0.16b,v0.16b
465 aese v1.16b,v17.16b
466 aesmc v1.16b,v1.16b
467 aese v24.16b,v17.16b
468 aesmc v24.16b,v24.16b
469 aese v25.16b,v17.16b
470 aesmc v25.16b,v25.16b
471 aese v26.16b,v17.16b
472 aesmc v26.16b,v26.16b
476 aese v0.16b,v18.16b
477 aesmc v0.16b,v0.16b
478 aese v1.16b,v18.16b
479 aesmc v1.16b,v1.16b
480 aese v24.16b,v18.16b
481 aesmc v24.16b,v24.16b
482 aese v25.16b,v18.16b
483 aesmc v25.16b,v25.16b
484 aese v26.16b,v18.16b
485 aesmc v26.16b,v26.16b
491 aese v0.16b,v19.16b
492 aesmc v0.16b,v0.16b
493 aese v1.16b,v19.16b
494 aesmc v1.16b,v1.16b
495 aese v24.16b,v19.16b
496 aesmc v24.16b,v24.16b
497 aese v25.16b,v19.16b
498 aesmc v25.16b,v25.16b
499 aese v26.16b,v19.16b
500 aesmc v26.16b,v26.16b
502 aese v0.16b,v20.16b
503 aesmc v0.16b,v0.16b
504 aese v1.16b,v20.16b
505 aesmc v1.16b,v1.16b
506 aese v24.16b,v20.16b
507 aesmc v24.16b,v24.16b
508 aese v25.16b,v20.16b
509 aesmc v25.16b,v25.16b
510 aese v26.16b,v20.16b
511 aesmc v26.16b,v26.16b
513 aese v0.16b,v21.16b
514 aesmc v0.16b,v0.16b
515 aese v1.16b,v21.16b
516 aesmc v1.16b,v1.16b
517 aese v24.16b,v21.16b
518 aesmc v24.16b,v24.16b
519 aese v25.16b,v21.16b
520 aesmc v25.16b,v25.16b
521 aese v26.16b,v21.16b
522 aesmc v26.16b,v26.16b
524 aese v0.16b,v22.16b
525 aesmc v0.16b,v0.16b
526 aese v1.16b,v22.16b
527 aesmc v1.16b,v1.16b
528 aese v24.16b,v22.16b
529 aesmc v24.16b,v24.16b
530 aese v25.16b,v22.16b
531 aesmc v25.16b,v25.16b
532 aese v26.16b,v22.16b
533 aesmc v26.16b,v26.16b
535 aese v0.16b,v23.16b
536 ld1 {v2.16b},[x0],#16
537 aese v1.16b,v23.16b
538 ld1 {v3.16b},[x0],#16
539 aese v24.16b,v23.16b
540 ld1 {v27.16b},[x0],#16
541 aese v25.16b,v23.16b
542 ld1 {v28.16b},[x0],#16
543 aese v26.16b,v23.16b
544 ld1 {v29.16b},[x0],#16
547 eor v4.16b,v7.16b,v0.16b
548 orr v0.16b,v2.16b,v2.16b
549 eor v5.16b,v7.16b,v1.16b
550 orr v1.16b,v3.16b,v3.16b
551 eor v17.16b,v7.16b,v24.16b
552 orr v24.16b,v27.16b,v27.16b
553 eor v30.16b,v7.16b,v25.16b
554 orr v25.16b,v28.16b,v28.16b
555 eor v31.16b,v7.16b,v26.16b
556 st1 {v4.16b},[x1],#16
557 orr v26.16b,v29.16b,v29.16b
558 st1 {v5.16b},[x1],#16
560 st1 {v17.16b},[x1],#16
562 st1 {v30.16b},[x1],#16
563 st1 {v31.16b},[x1],#16
564 b.hs .Loop5x_ecb_enc
571 orr v0.16b,v27.16b,v27.16b
572 orr v1.16b,v28.16b,v28.16b
573 orr v24.16b,v29.16b,v29.16b
574 b.lo .Lecb_enc_tail
576 b .Loop3x_ecb_enc
580 eor v5.16b,v7.16b,v1.16b
581 eor v17.16b,v7.16b,v24.16b
582 eor v30.16b,v7.16b,v25.16b
583 eor v31.16b,v7.16b,v26.16b
584 st1 {v5.16b},[x1],#16
585 st1 {v17.16b},[x1],#16
586 st1 {v30.16b},[x1],#16
587 st1 {v31.16b},[x1],#16
589 b .Lecb_done
592 aese v0.16b,v16.16b
593 aesmc v0.16b,v0.16b
594 aese v1.16b,v16.16b
595 aesmc v1.16b,v1.16b
596 aese v24.16b,v16.16b
597 aesmc v24.16b,v24.16b
600 aese v0.16b,v17.16b
601 aesmc v0.16b,v0.16b
602 aese v1.16b,v17.16b
603 aesmc v1.16b,v1.16b
604 aese v24.16b,v17.16b
605 aesmc v24.16b,v24.16b
607 b.gt .Loop3x_ecb_enc
609 aese v0.16b,v16.16b
610 aesmc v0.16b,v0.16b
611 aese v1.16b,v16.16b
612 aesmc v1.16b,v1.16b
613 aese v24.16b,v16.16b
614 aesmc v24.16b,v24.16b
617 aese v0.16b,v17.16b
618 aesmc v0.16b,v0.16b
619 aese v1.16b,v17.16b
620 aesmc v1.16b,v1.16b
621 aese v24.16b,v17.16b
622 aesmc v24.16b,v24.16b
627 aese v0.16b,v20.16b
628 aesmc v0.16b,v0.16b
629 aese v1.16b,v20.16b
630 aesmc v1.16b,v1.16b
631 aese v24.16b,v20.16b
632 aesmc v24.16b,v24.16b
633 ld1 {v2.16b},[x0],#16
634 aese v0.16b,v21.16b
635 aesmc v0.16b,v0.16b
636 aese v1.16b,v21.16b
637 aesmc v1.16b,v1.16b
638 aese v24.16b,v21.16b
639 aesmc v24.16b,v24.16b
640 ld1 {v3.16b},[x0],#16
641 aese v0.16b,v22.16b
642 aesmc v0.16b,v0.16b
643 aese v1.16b,v22.16b
644 aesmc v1.16b,v1.16b
645 aese v24.16b,v22.16b
646 aesmc v24.16b,v24.16b
647 ld1 {v27.16b},[x0],#16
648 aese v0.16b,v23.16b
649 aese v1.16b,v23.16b
650 aese v24.16b,v23.16b
653 eor v4.16b,v7.16b,v0.16b
654 eor v5.16b,v7.16b,v1.16b
655 eor v24.16b,v24.16b,v7.16b
657 st1 {v4.16b},[x1],#16
658 orr v0.16b,v2.16b,v2.16b
659 st1 {v5.16b},[x1],#16
660 orr v1.16b,v3.16b,v3.16b
661 st1 {v24.16b},[x1],#16
662 orr v24.16b,v27.16b,v27.16b
663 b.hs .Loop3x_ecb_enc
666 b.eq .Lecb_done
670 aese v1.16b,v16.16b
671 aesmc v1.16b,v1.16b
672 aese v24.16b,v16.16b
673 aesmc v24.16b,v24.16b
676 aese v1.16b,v17.16b
677 aesmc v1.16b,v1.16b
678 aese v24.16b,v17.16b
679 aesmc v24.16b,v24.16b
681 b.gt .Lecb_enc_tail
683 aese v1.16b,v16.16b
684 aesmc v1.16b,v1.16b
685 aese v24.16b,v16.16b
686 aesmc v24.16b,v24.16b
687 aese v1.16b,v17.16b
688 aesmc v1.16b,v1.16b
689 aese v24.16b,v17.16b
690 aesmc v24.16b,v24.16b
691 aese v1.16b,v20.16b
692 aesmc v1.16b,v1.16b
693 aese v24.16b,v20.16b
694 aesmc v24.16b,v24.16b
696 aese v1.16b,v21.16b
697 aesmc v1.16b,v1.16b
698 aese v24.16b,v21.16b
699 aesmc v24.16b,v24.16b
700 aese v1.16b,v22.16b
701 aesmc v1.16b,v1.16b
702 aese v24.16b,v22.16b
703 aesmc v24.16b,v24.16b
704 aese v1.16b,v23.16b
705 aese v24.16b,v23.16b
706 b.eq .Lecb_enc_one
707 eor v5.16b,v7.16b,v1.16b
708 eor v17.16b,v7.16b,v24.16b
709 st1 {v5.16b},[x1],#16
710 st1 {v17.16b},[x1],#16
711 b .Lecb_done
714 eor v5.16b,v7.16b,v24.16b
715 st1 {v5.16b},[x1],#16
716 b .Lecb_done
719 ld1 {v1.16b},[x0],#16
722 orr v3.16b,v1.16b,v1.16b
723 orr v24.16b,v1.16b,v1.16b
724 orr v1.16b,v0.16b,v0.16b
725 b.lo .Lecb_dec_tail
727 orr v1.16b,v3.16b,v3.16b
728 ld1 {v24.16b},[x0],#16
730 b.lo .Loop3x_ecb_dec
732 ld1 {v25.16b},[x0],#16
733 ld1 {v26.16b},[x0],#16
738 aesd v0.16b,v16.16b
739 aesimc v0.16b,v0.16b
740 aesd v1.16b,v16.16b
741 aesimc v1.16b,v1.16b
742 aesd v24.16b,v16.16b
743 aesimc v24.16b,v24.16b
744 aesd v25.16b,v16.16b
745 aesimc v25.16b,v25.16b
746 aesd v26.16b,v16.16b
747 aesimc v26.16b,v26.16b
750 aesd v0.16b,v17.16b
751 aesimc v0.16b,v0.16b
752 aesd v1.16b,v17.16b
753 aesimc v1.16b,v1.16b
754 aesd v24.16b,v17.16b
755 aesimc v24.16b,v24.16b
756 aesd v25.16b,v17.16b
757 aesimc v25.16b,v25.16b
758 aesd v26.16b,v17.16b
759 aesimc v26.16b,v26.16b
761 b.gt .Loop5x_ecb_dec
763 aesd v0.16b,v16.16b
764 aesimc v0.16b,v0.16b
765 aesd v1.16b,v16.16b
766 aesimc v1.16b,v1.16b
767 aesd v24.16b,v16.16b
768 aesimc v24.16b,v24.16b
769 aesd v25.16b,v16.16b
770 aesimc v25.16b,v25.16b
771 aesd v26.16b,v16.16b
772 aesimc v26.16b,v26.16b
776 aesd v0.16b,v17.16b
777 aesimc v0.16b,v0.16b
778 aesd v1.16b,v17.16b
779 aesimc v1.16b,v1.16b
780 aesd v24.16b,v17.16b
781 aesimc v24.16b,v24.16b
782 aesd v25.16b,v17.16b
783 aesimc v25.16b,v25.16b
784 aesd v26.16b,v17.16b
785 aesimc v26.16b,v26.16b
789 aesd v0.16b,v18.16b
790 aesimc v0.16b,v0.16b
791 aesd v1.16b,v18.16b
792 aesimc v1.16b,v1.16b
793 aesd v24.16b,v18.16b
794 aesimc v24.16b,v24.16b
795 aesd v25.16b,v18.16b
796 aesimc v25.16b,v25.16b
797 aesd v26.16b,v18.16b
798 aesimc v26.16b,v26.16b
804 aesd v0.16b,v19.16b
805 aesimc v0.16b,v0.16b
806 aesd v1.16b,v19.16b
807 aesimc v1.16b,v1.16b
808 aesd v24.16b,v19.16b
809 aesimc v24.16b,v24.16b
810 aesd v25.16b,v19.16b
811 aesimc v25.16b,v25.16b
812 aesd v26.16b,v19.16b
813 aesimc v26.16b,v26.16b
815 aesd v0.16b,v20.16b
816 aesimc v0.16b,v0.16b
817 aesd v1.16b,v20.16b
818 aesimc v1.16b,v1.16b
819 aesd v24.16b,v20.16b
820 aesimc v24.16b,v24.16b
821 aesd v25.16b,v20.16b
822 aesimc v25.16b,v25.16b
823 aesd v26.16b,v20.16b
824 aesimc v26.16b,v26.16b
826 aesd v0.16b,v21.16b
827 aesimc v0.16b,v0.16b
828 aesd v1.16b,v21.16b
829 aesimc v1.16b,v1.16b
830 aesd v24.16b,v21.16b
831 aesimc v24.16b,v24.16b
832 aesd v25.16b,v21.16b
833 aesimc v25.16b,v25.16b
834 aesd v26.16b,v21.16b
835 aesimc v26.16b,v26.16b
837 aesd v0.16b,v22.16b
838 aesimc v0.16b,v0.16b
839 aesd v1.16b,v22.16b
840 aesimc v1.16b,v1.16b
841 aesd v24.16b,v22.16b
842 aesimc v24.16b,v24.16b
843 aesd v25.16b,v22.16b
844 aesimc v25.16b,v25.16b
845 aesd v26.16b,v22.16b
846 aesimc v26.16b,v26.16b
848 aesd v0.16b,v23.16b
849 ld1 {v2.16b},[x0],#16
850 aesd v1.16b,v23.16b
851 ld1 {v3.16b},[x0],#16
852 aesd v24.16b,v23.16b
853 ld1 {v27.16b},[x0],#16
854 aesd v25.16b,v23.16b
855 ld1 {v28.16b},[x0],#16
856 aesd v26.16b,v23.16b
857 ld1 {v29.16b},[x0],#16
860 eor v4.16b,v7.16b,v0.16b
861 orr v0.16b,v2.16b,v2.16b
862 eor v5.16b,v7.16b,v1.16b
863 orr v1.16b,v3.16b,v3.16b
864 eor v17.16b,v7.16b,v24.16b
865 orr v24.16b,v27.16b,v27.16b
866 eor v30.16b,v7.16b,v25.16b
867 orr v25.16b,v28.16b,v28.16b
868 eor v31.16b,v7.16b,v26.16b
869 st1 {v4.16b},[x1],#16
870 orr v26.16b,v29.16b,v29.16b
871 st1 {v5.16b},[x1],#16
873 st1 {v17.16b},[x1],#16
875 st1 {v30.16b},[x1],#16
876 st1 {v31.16b},[x1],#16
877 b.hs .Loop5x_ecb_dec
884 orr v0.16b,v27.16b,v27.16b
885 orr v1.16b,v28.16b,v28.16b
886 orr v24.16b,v29.16b,v29.16b
887 b.lo .Lecb_dec_tail
889 b .Loop3x_ecb_dec
893 eor v5.16b,v7.16b,v1.16b
894 eor v17.16b,v7.16b,v24.16b
895 eor v30.16b,v7.16b,v25.16b
896 eor v31.16b,v7.16b,v26.16b
897 st1 {v5.16b},[x1],#16
898 st1 {v17.16b},[x1],#16
899 st1 {v30.16b},[x1],#16
900 st1 {v31.16b},[x1],#16
902 b .Lecb_done
905 aesd v0.16b,v16.16b
906 aesimc v0.16b,v0.16b
907 aesd v1.16b,v16.16b
908 aesimc v1.16b,v1.16b
909 aesd v24.16b,v16.16b
910 aesimc v24.16b,v24.16b
913 aesd v0.16b,v17.16b
914 aesimc v0.16b,v0.16b
915 aesd v1.16b,v17.16b
916 aesimc v1.16b,v1.16b
917 aesd v24.16b,v17.16b
918 aesimc v24.16b,v24.16b
920 b.gt .Loop3x_ecb_dec
922 aesd v0.16b,v16.16b
923 aesimc v0.16b,v0.16b
924 aesd v1.16b,v16.16b
925 aesimc v1.16b,v1.16b
926 aesd v24.16b,v16.16b
927 aesimc v24.16b,v24.16b
930 aesd v0.16b,v17.16b
931 aesimc v0.16b,v0.16b
932 aesd v1.16b,v17.16b
933 aesimc v1.16b,v1.16b
934 aesd v24.16b,v17.16b
935 aesimc v24.16b,v24.16b
940 aesd v0.16b,v20.16b
941 aesimc v0.16b,v0.16b
942 aesd v1.16b,v20.16b
943 aesimc v1.16b,v1.16b
944 aesd v24.16b,v20.16b
945 aesimc v24.16b,v24.16b
946 ld1 {v2.16b},[x0],#16
947 aesd v0.16b,v21.16b
948 aesimc v0.16b,v0.16b
949 aesd v1.16b,v21.16b
950 aesimc v1.16b,v1.16b
951 aesd v24.16b,v21.16b
952 aesimc v24.16b,v24.16b
953 ld1 {v3.16b},[x0],#16
954 aesd v0.16b,v22.16b
955 aesimc v0.16b,v0.16b
956 aesd v1.16b,v22.16b
957 aesimc v1.16b,v1.16b
958 aesd v24.16b,v22.16b
959 aesimc v24.16b,v24.16b
960 ld1 {v27.16b},[x0],#16
961 aesd v0.16b,v23.16b
962 aesd v1.16b,v23.16b
963 aesd v24.16b,v23.16b
966 eor v4.16b,v7.16b,v0.16b
967 eor v5.16b,v7.16b,v1.16b
968 eor v24.16b,v24.16b,v7.16b
970 st1 {v4.16b},[x1],#16
971 orr v0.16b,v2.16b,v2.16b
972 st1 {v5.16b},[x1],#16
973 orr v1.16b,v3.16b,v3.16b
974 st1 {v24.16b},[x1],#16
975 orr v24.16b,v27.16b,v27.16b
976 b.hs .Loop3x_ecb_dec
979 b.eq .Lecb_done
983 aesd v1.16b,v16.16b
984 aesimc v1.16b,v1.16b
985 aesd v24.16b,v16.16b
986 aesimc v24.16b,v24.16b
989 aesd v1.16b,v17.16b
990 aesimc v1.16b,v1.16b
991 aesd v24.16b,v17.16b
992 aesimc v24.16b,v24.16b
994 b.gt .Lecb_dec_tail
996 aesd v1.16b,v16.16b
997 aesimc v1.16b,v1.16b
998 aesd v24.16b,v16.16b
999 aesimc v24.16b,v24.16b
1000 aesd v1.16b,v17.16b
1001 aesimc v1.16b,v1.16b
1002 aesd v24.16b,v17.16b
1003 aesimc v24.16b,v24.16b
1004 aesd v1.16b,v20.16b
1005 aesimc v1.16b,v1.16b
1006 aesd v24.16b,v20.16b
1007 aesimc v24.16b,v24.16b
1009 aesd v1.16b,v21.16b
1010 aesimc v1.16b,v1.16b
1011 aesd v24.16b,v21.16b
1012 aesimc v24.16b,v24.16b
1013 aesd v1.16b,v22.16b
1014 aesimc v1.16b,v1.16b
1015 aesd v24.16b,v22.16b
1016 aesimc v24.16b,v24.16b
1017 aesd v1.16b,v23.16b
1018 aesd v24.16b,v23.16b
1019 b.eq .Lecb_dec_one
1020 eor v5.16b,v7.16b,v1.16b
1021 eor v17.16b,v7.16b,v24.16b
1022 st1 {v5.16b},[x1],#16
1023 st1 {v17.16b},[x1],#16
1024 b .Lecb_done
1027 eor v5.16b,v7.16b,v24.16b
1028 st1 {v5.16b},[x1],#16
1045 b.lo .Lcbc_abort
1051 ld1 {v6.16b},[x4]
1052 ld1 {v0.16b},[x0],x8
1065 b.eq .Lcbc_dec
1068 eor v0.16b,v0.16b,v6.16b
1069 eor v5.16b,v16.16b,v7.16b
1070 b.eq .Lcbc_enc128
1076 aese v0.16b,v16.16b
1077 aesmc v0.16b,v0.16b
1080 b .Lenter_cbc_enc
1084 aese v0.16b,v16.16b
1085 aesmc v0.16b,v0.16b
1086 st1 {v6.16b},[x1],#16
1088 aese v0.16b,v17.16b
1089 aesmc v0.16b,v0.16b
1090 aese v0.16b,v2.16b
1091 aesmc v0.16b,v0.16b
1094 aese v0.16b,v3.16b
1095 aesmc v0.16b,v0.16b
1097 b.eq .Lcbc_enc192
1099 aese v0.16b,v16.16b
1100 aesmc v0.16b,v0.16b
1102 aese v0.16b,v17.16b
1103 aesmc v0.16b,v0.16b
1108 aese v0.16b,v16.16b
1109 aesmc v0.16b,v0.16b
1111 aese v0.16b,v17.16b
1112 aesmc v0.16b,v0.16b
1114 aese v0.16b,v18.16b
1115 aesmc v0.16b,v0.16b
1116 aese v0.16b,v19.16b
1117 aesmc v0.16b,v0.16b
1118 ld1 {v16.16b},[x0],x8
1119 aese v0.16b,v20.16b
1120 aesmc v0.16b,v0.16b
1121 eor v16.16b,v16.16b,v5.16b
1122 aese v0.16b,v21.16b
1123 aesmc v0.16b,v0.16b
1125 aese v0.16b,v22.16b
1126 aesmc v0.16b,v0.16b
1127 aese v0.16b,v23.16b
1128 eor v6.16b,v0.16b,v7.16b
1129 b.hs .Loop_cbc_enc
1131 st1 {v6.16b},[x1],#16
1132 b .Lcbc_done
1137 aese v0.16b,v16.16b
1138 aesmc v0.16b,v0.16b
1139 b .Lenter_cbc_enc128
1141 aese v0.16b,v16.16b
1142 aesmc v0.16b,v0.16b
1143 st1 {v6.16b},[x1],#16
1145 aese v0.16b,v17.16b
1146 aesmc v0.16b,v0.16b
1148 aese v0.16b,v2.16b
1149 aesmc v0.16b,v0.16b
1151 aese v0.16b,v3.16b
1152 aesmc v0.16b,v0.16b
1153 aese v0.16b,v18.16b
1154 aesmc v0.16b,v0.16b
1155 aese v0.16b,v19.16b
1156 aesmc v0.16b,v0.16b
1157 ld1 {v16.16b},[x0],x8
1158 aese v0.16b,v20.16b
1159 aesmc v0.16b,v0.16b
1160 aese v0.16b,v21.16b
1161 aesmc v0.16b,v0.16b
1162 aese v0.16b,v22.16b
1163 aesmc v0.16b,v0.16b
1164 eor v16.16b,v16.16b,v5.16b
1165 aese v0.16b,v23.16b
1166 eor v6.16b,v0.16b,v7.16b
1167 b.hs .Loop_cbc_enc128
1169 st1 {v6.16b},[x1],#16
1170 b .Lcbc_done
1173 ld1 {v24.16b},[x0],#16
1176 orr v3.16b,v0.16b,v0.16b
1177 orr v1.16b,v0.16b,v0.16b
1178 orr v27.16b,v24.16b,v24.16b
1179 b.lo .Lcbc_dec_tail
1181 orr v1.16b,v24.16b,v24.16b
1182 ld1 {v24.16b},[x0],#16
1183 orr v2.16b,v0.16b,v0.16b
1184 orr v3.16b,v1.16b,v1.16b
1185 orr v27.16b,v24.16b,v24.16b
1187 b.lo .Loop3x_cbc_dec
1189 ld1 {v25.16b},[x0],#16
1190 ld1 {v26.16b},[x0],#16
1193 orr v28.16b,v25.16b,v25.16b
1194 orr v29.16b,v26.16b,v26.16b
1197 aesd v0.16b,v16.16b
1198 aesimc v0.16b,v0.16b
1199 aesd v1.16b,v16.16b
1200 aesimc v1.16b,v1.16b
1201 aesd v24.16b,v16.16b
1202 aesimc v24.16b,v24.16b
1203 aesd v25.16b,v16.16b
1204 aesimc v25.16b,v25.16b
1205 aesd v26.16b,v16.16b
1206 aesimc v26.16b,v26.16b
1209 aesd v0.16b,v17.16b
1210 aesimc v0.16b,v0.16b
1211 aesd v1.16b,v17.16b
1212 aesimc v1.16b,v1.16b
1213 aesd v24.16b,v17.16b
1214 aesimc v24.16b,v24.16b
1215 aesd v25.16b,v17.16b
1216 aesimc v25.16b,v25.16b
1217 aesd v26.16b,v17.16b
1218 aesimc v26.16b,v26.16b
1220 b.gt .Loop5x_cbc_dec
1222 aesd v0.16b,v16.16b
1223 aesimc v0.16b,v0.16b
1224 aesd v1.16b,v16.16b
1225 aesimc v1.16b,v1.16b
1226 aesd v24.16b,v16.16b
1227 aesimc v24.16b,v24.16b
1228 aesd v25.16b,v16.16b
1229 aesimc v25.16b,v25.16b
1230 aesd v26.16b,v16.16b
1231 aesimc v26.16b,v26.16b
1235 aesd v0.16b,v17.16b
1236 aesimc v0.16b,v0.16b
1237 aesd v1.16b,v17.16b
1238 aesimc v1.16b,v1.16b
1239 aesd v24.16b,v17.16b
1240 aesimc v24.16b,v24.16b
1241 aesd v25.16b,v17.16b
1242 aesimc v25.16b,v25.16b
1243 aesd v26.16b,v17.16b
1244 aesimc v26.16b,v26.16b
1248 aesd v0.16b,v18.16b
1249 aesimc v0.16b,v0.16b
1250 aesd v1.16b,v18.16b
1251 aesimc v1.16b,v1.16b
1252 aesd v24.16b,v18.16b
1253 aesimc v24.16b,v24.16b
1254 aesd v25.16b,v18.16b
1255 aesimc v25.16b,v25.16b
1256 aesd v26.16b,v18.16b
1257 aesimc v26.16b,v26.16b
1263 aesd v0.16b,v19.16b
1264 aesimc v0.16b,v0.16b
1265 aesd v1.16b,v19.16b
1266 aesimc v1.16b,v1.16b
1267 aesd v24.16b,v19.16b
1268 aesimc v24.16b,v24.16b
1269 aesd v25.16b,v19.16b
1270 aesimc v25.16b,v25.16b
1271 aesd v26.16b,v19.16b
1272 aesimc v26.16b,v26.16b
1274 aesd v0.16b,v20.16b
1275 aesimc v0.16b,v0.16b
1276 aesd v1.16b,v20.16b
1277 aesimc v1.16b,v1.16b
1278 aesd v24.16b,v20.16b
1279 aesimc v24.16b,v24.16b
1280 aesd v25.16b,v20.16b
1281 aesimc v25.16b,v25.16b
1282 aesd v26.16b,v20.16b
1283 aesimc v26.16b,v26.16b
1285 aesd v0.16b,v21.16b
1286 aesimc v0.16b,v0.16b
1287 aesd v1.16b,v21.16b
1288 aesimc v1.16b,v1.16b
1289 aesd v24.16b,v21.16b
1290 aesimc v24.16b,v24.16b
1291 aesd v25.16b,v21.16b
1292 aesimc v25.16b,v25.16b
1293 aesd v26.16b,v21.16b
1294 aesimc v26.16b,v26.16b
1296 aesd v0.16b,v22.16b
1297 aesimc v0.16b,v0.16b
1298 aesd v1.16b,v22.16b
1299 aesimc v1.16b,v1.16b
1300 aesd v24.16b,v22.16b
1301 aesimc v24.16b,v24.16b
1302 aesd v25.16b,v22.16b
1303 aesimc v25.16b,v25.16b
1304 aesd v26.16b,v22.16b
1305 aesimc v26.16b,v26.16b
1307 eor v4.16b,v6.16b,v7.16b
1308 aesd v0.16b,v23.16b
1309 eor v5.16b,v2.16b,v7.16b
1310 ld1 {v2.16b},[x0],#16
1311 aesd v1.16b,v23.16b
1312 eor v17.16b,v3.16b,v7.16b
1313 ld1 {v3.16b},[x0],#16
1314 aesd v24.16b,v23.16b
1315 eor v30.16b,v27.16b,v7.16b
1316 ld1 {v27.16b},[x0],#16
1317 aesd v25.16b,v23.16b
1318 eor v31.16b,v28.16b,v7.16b
1319 ld1 {v28.16b},[x0],#16
1320 aesd v26.16b,v23.16b
1321 orr v6.16b,v29.16b,v29.16b
1322 ld1 {v29.16b},[x0],#16
1325 eor v4.16b,v4.16b,v0.16b
1326 orr v0.16b,v2.16b,v2.16b
1327 eor v5.16b,v5.16b,v1.16b
1328 orr v1.16b,v3.16b,v3.16b
1329 eor v17.16b,v17.16b,v24.16b
1330 orr v24.16b,v27.16b,v27.16b
1331 eor v30.16b,v30.16b,v25.16b
1332 orr v25.16b,v28.16b,v28.16b
1333 eor v31.16b,v31.16b,v26.16b
1334 st1 {v4.16b},[x1],#16
1335 orr v26.16b,v29.16b,v29.16b
1336 st1 {v5.16b},[x1],#16
1338 st1 {v17.16b},[x1],#16
1340 st1 {v30.16b},[x1],#16
1341 st1 {v31.16b},[x1],#16
1342 b.hs .Loop5x_cbc_dec
1349 orr v0.16b,v27.16b,v27.16b
1350 orr v2.16b,v27.16b,v27.16b
1351 orr v1.16b,v28.16b,v28.16b
1352 orr v3.16b,v28.16b,v28.16b
1353 orr v24.16b,v29.16b,v29.16b
1354 orr v27.16b,v29.16b,v29.16b
1355 b.lo .Lcbc_dec_tail
1357 b .Loop3x_cbc_dec
1361 eor v5.16b,v4.16b,v1.16b
1362 eor v17.16b,v17.16b,v24.16b
1363 eor v30.16b,v30.16b,v25.16b
1364 eor v31.16b,v31.16b,v26.16b
1365 st1 {v5.16b},[x1],#16
1366 st1 {v17.16b},[x1],#16
1367 st1 {v30.16b},[x1],#16
1368 st1 {v31.16b},[x1],#16
1370 b .Lcbc_done
1373 aesd v0.16b,v16.16b
1374 aesimc v0.16b,v0.16b
1375 aesd v1.16b,v16.16b
1376 aesimc v1.16b,v1.16b
1377 aesd v24.16b,v16.16b
1378 aesimc v24.16b,v24.16b
1381 aesd v0.16b,v17.16b
1382 aesimc v0.16b,v0.16b
1383 aesd v1.16b,v17.16b
1384 aesimc v1.16b,v1.16b
1385 aesd v24.16b,v17.16b
1386 aesimc v24.16b,v24.16b
1388 b.gt .Loop3x_cbc_dec
1390 aesd v0.16b,v16.16b
1391 aesimc v0.16b,v0.16b
1392 aesd v1.16b,v16.16b
1393 aesimc v1.16b,v1.16b
1394 aesd v24.16b,v16.16b
1395 aesimc v24.16b,v24.16b
1396 eor v4.16b,v6.16b,v7.16b
1398 eor v5.16b,v2.16b,v7.16b
1400 aesd v0.16b,v17.16b
1401 aesimc v0.16b,v0.16b
1402 aesd v1.16b,v17.16b
1403 aesimc v1.16b,v1.16b
1404 aesd v24.16b,v17.16b
1405 aesimc v24.16b,v24.16b
1406 eor v17.16b,v3.16b,v7.16b
1410 orr v6.16b,v27.16b,v27.16b
1412 aesd v0.16b,v20.16b
1413 aesimc v0.16b,v0.16b
1414 aesd v1.16b,v20.16b
1415 aesimc v1.16b,v1.16b
1416 aesd v24.16b,v20.16b
1417 aesimc v24.16b,v24.16b
1418 ld1 {v2.16b},[x0],#16
1419 aesd v0.16b,v21.16b
1420 aesimc v0.16b,v0.16b
1421 aesd v1.16b,v21.16b
1422 aesimc v1.16b,v1.16b
1423 aesd v24.16b,v21.16b
1424 aesimc v24.16b,v24.16b
1425 ld1 {v3.16b},[x0],#16
1426 aesd v0.16b,v22.16b
1427 aesimc v0.16b,v0.16b
1428 aesd v1.16b,v22.16b
1429 aesimc v1.16b,v1.16b
1430 aesd v24.16b,v22.16b
1431 aesimc v24.16b,v24.16b
1432 ld1 {v27.16b},[x0],#16
1433 aesd v0.16b,v23.16b
1434 aesd v1.16b,v23.16b
1435 aesd v24.16b,v23.16b
1438 eor v4.16b,v4.16b,v0.16b
1439 eor v5.16b,v5.16b,v1.16b
1440 eor v24.16b,v24.16b,v17.16b
1442 st1 {v4.16b},[x1],#16
1443 orr v0.16b,v2.16b,v2.16b
1444 st1 {v5.16b},[x1],#16
1445 orr v1.16b,v3.16b,v3.16b
1446 st1 {v24.16b},[x1],#16
1447 orr v24.16b,v27.16b,v27.16b
1448 b.hs .Loop3x_cbc_dec
1451 b.eq .Lcbc_done
1455 aesd v1.16b,v16.16b
1456 aesimc v1.16b,v1.16b
1457 aesd v24.16b,v16.16b
1458 aesimc v24.16b,v24.16b
1461 aesd v1.16b,v17.16b
1462 aesimc v1.16b,v1.16b
1463 aesd v24.16b,v17.16b
1464 aesimc v24.16b,v24.16b
1466 b.gt .Lcbc_dec_tail
1468 aesd v1.16b,v16.16b
1469 aesimc v1.16b,v1.16b
1470 aesd v24.16b,v16.16b
1471 aesimc v24.16b,v24.16b
1472 aesd v1.16b,v17.16b
1473 aesimc v1.16b,v1.16b
1474 aesd v24.16b,v17.16b
1475 aesimc v24.16b,v24.16b
1476 aesd v1.16b,v20.16b
1477 aesimc v1.16b,v1.16b
1478 aesd v24.16b,v20.16b
1479 aesimc v24.16b,v24.16b
1481 aesd v1.16b,v21.16b
1482 aesimc v1.16b,v1.16b
1483 aesd v24.16b,v21.16b
1484 aesimc v24.16b,v24.16b
1485 eor v5.16b,v6.16b,v7.16b
1486 aesd v1.16b,v22.16b
1487 aesimc v1.16b,v1.16b
1488 aesd v24.16b,v22.16b
1489 aesimc v24.16b,v24.16b
1490 eor v17.16b,v3.16b,v7.16b
1491 aesd v1.16b,v23.16b
1492 aesd v24.16b,v23.16b
1493 b.eq .Lcbc_dec_one
1494 eor v5.16b,v5.16b,v1.16b
1495 eor v17.16b,v17.16b,v24.16b
1496 orr v6.16b,v27.16b,v27.16b
1497 st1 {v5.16b},[x1],#16
1498 st1 {v17.16b},[x1],#16
1499 b .Lcbc_done
1502 eor v5.16b,v5.16b,v24.16b
1503 orr v6.16b,v27.16b,v27.16b
1504 st1 {v5.16b},[x1],#16
1507 st1 {v6.16b},[x4]
1524 ld1 {v0.16b},[x4]
1543 orr v1.16b,v0.16b,v0.16b
1545 orr v18.16b,v0.16b,v0.16b
1547 orr v6.16b,v0.16b,v0.16b
1550 b.ls .Lctr32_tail
1555 b.lo .Loop3x_ctr32
1559 orr v24.16b,v0.16b,v0.16b
1561 orr v25.16b,v0.16b,v0.16b
1567 b .Loop5x_ctr32
1571 aese v0.16b,v16.16b
1572 aesmc v0.16b,v0.16b
1573 aese v1.16b,v16.16b
1574 aesmc v1.16b,v1.16b
1575 aese v18.16b,v16.16b
1576 aesmc v18.16b,v18.16b
1577 aese v24.16b,v16.16b
1578 aesmc v24.16b,v24.16b
1579 aese v25.16b,v16.16b
1580 aesmc v25.16b,v25.16b
1583 aese v0.16b,v17.16b
1584 aesmc v0.16b,v0.16b
1585 aese v1.16b,v17.16b
1586 aesmc v1.16b,v1.16b
1587 aese v18.16b,v17.16b
1588 aesmc v18.16b,v18.16b
1589 aese v24.16b,v17.16b
1590 aesmc v24.16b,v24.16b
1591 aese v25.16b,v17.16b
1592 aesmc v25.16b,v25.16b
1594 b.gt .Loop5x_ctr32
1597 aese v0.16b,v16.16b
1598 aesmc v0.16b,v0.16b
1599 aese v1.16b,v16.16b
1600 aesmc v1.16b,v1.16b
1601 aese v18.16b,v16.16b
1602 aesmc v18.16b,v18.16b
1603 aese v24.16b,v16.16b
1604 aesmc v24.16b,v24.16b
1605 aese v25.16b,v16.16b
1606 aesmc v25.16b,v25.16b
1609 aese v0.16b,v17.16b
1610 aesmc v0.16b,v0.16b
1611 aese v1.16b,v17.16b
1612 aesmc v1.16b,v1.16b
1613 aese v18.16b,v17.16b
1614 aesmc v18.16b,v18.16b
1615 aese v24.16b,v17.16b
1616 aesmc v24.16b,v24.16b
1617 aese v25.16b,v17.16b
1618 aesmc v25.16b,v25.16b
1621 aese v0.16b,v20.16b
1622 aesmc v0.16b,v0.16b
1625 aese v1.16b,v20.16b
1626 aesmc v1.16b,v1.16b
1629 aese v18.16b,v20.16b
1630 aesmc v18.16b,v18.16b
1633 aese v24.16b,v20.16b
1634 aesmc v24.16b,v24.16b
1637 aese v25.16b,v20.16b
1638 aesmc v25.16b,v25.16b
1642 aese v0.16b,v21.16b
1643 aesmc v0.16b,v0.16b
1644 aese v1.16b,v21.16b
1645 aesmc v1.16b,v1.16b
1646 aese v18.16b,v21.16b
1647 aesmc v18.16b,v18.16b
1648 aese v24.16b,v21.16b
1649 aesmc v24.16b,v24.16b
1650 aese v25.16b,v21.16b
1651 aesmc v25.16b,v25.16b
1653 aese v0.16b,v22.16b
1654 aesmc v0.16b,v0.16b
1655 ld1 {v2.16b},[x0],#16
1656 aese v1.16b,v22.16b
1657 aesmc v1.16b,v1.16b
1658 ld1 {v3.16b},[x0],#16
1659 aese v18.16b,v22.16b
1660 aesmc v18.16b,v18.16b
1661 ld1 {v19.16b},[x0],#16
1662 aese v24.16b,v22.16b
1663 aesmc v24.16b,v24.16b
1664 ld1 {v26.16b},[x0],#16
1665 aese v25.16b,v22.16b
1666 aesmc v25.16b,v25.16b
1667 ld1 {v27.16b},[x0],#16
1669 aese v0.16b,v23.16b
1670 eor v2.16b,v2.16b,v7.16b
1671 aese v1.16b,v23.16b
1672 eor v3.16b,v3.16b,v7.16b
1673 aese v18.16b,v23.16b
1674 eor v19.16b,v19.16b,v7.16b
1675 aese v24.16b,v23.16b
1676 eor v26.16b,v26.16b,v7.16b
1677 aese v25.16b,v23.16b
1678 eor v27.16b,v27.16b,v7.16b
1680 eor v2.16b,v2.16b,v0.16b
1681 orr v0.16b,v6.16b,v6.16b
1682 eor v3.16b,v3.16b,v1.16b
1683 orr v1.16b,v6.16b,v6.16b
1684 eor v19.16b,v19.16b,v18.16b
1685 orr v18.16b,v6.16b,v6.16b
1686 eor v26.16b,v26.16b,v24.16b
1687 orr v24.16b,v6.16b,v6.16b
1688 eor v27.16b,v27.16b,v25.16b
1689 orr v25.16b,v6.16b,v6.16b
1691 st1 {v2.16b},[x1],#16
1693 st1 {v3.16b},[x1],#16
1695 st1 {v19.16b},[x1],#16
1697 st1 {v26.16b},[x1],#16
1699 st1 {v27.16b},[x1],#16
1707 b.hs .Loop5x_ctr32
1715 b.ls .Lctr32_tail
1719 b .Loop3x_ctr32
1723 aese v0.16b,v16.16b
1724 aesmc v0.16b,v0.16b
1725 aese v1.16b,v16.16b
1726 aesmc v1.16b,v1.16b
1727 aese v18.16b,v16.16b
1728 aesmc v18.16b,v18.16b
1731 aese v0.16b,v17.16b
1732 aesmc v0.16b,v0.16b
1733 aese v1.16b,v17.16b
1734 aesmc v1.16b,v1.16b
1735 aese v18.16b,v17.16b
1736 aesmc v18.16b,v18.16b
1738 b.gt .Loop3x_ctr32
1740 aese v0.16b,v16.16b
1741 aesmc v4.16b,v0.16b
1742 aese v1.16b,v16.16b
1743 aesmc v5.16b,v1.16b
1744 ld1 {v2.16b},[x0],#16
1745 orr v0.16b,v6.16b,v6.16b
1746 aese v18.16b,v16.16b
1747 aesmc v18.16b,v18.16b
1748 ld1 {v3.16b},[x0],#16
1749 orr v1.16b,v6.16b,v6.16b
1750 aese v4.16b,v17.16b
1751 aesmc v4.16b,v4.16b
1752 aese v5.16b,v17.16b
1753 aesmc v5.16b,v5.16b
1754 ld1 {v19.16b},[x0],#16
1756 aese v18.16b,v17.16b
1757 aesmc v17.16b,v18.16b
1758 orr v18.16b,v6.16b,v6.16b
1760 aese v4.16b,v20.16b
1761 aesmc v4.16b,v4.16b
1762 aese v5.16b,v20.16b
1763 aesmc v5.16b,v5.16b
1764 eor v2.16b,v2.16b,v7.16b
1766 aese v17.16b,v20.16b
1767 aesmc v17.16b,v17.16b
1768 eor v3.16b,v3.16b,v7.16b
1770 aese v4.16b,v21.16b
1771 aesmc v4.16b,v4.16b
1772 aese v5.16b,v21.16b
1773 aesmc v5.16b,v5.16b
1774 eor v19.16b,v19.16b,v7.16b
1776 aese v17.16b,v21.16b
1777 aesmc v17.16b,v17.16b
1780 aese v4.16b,v22.16b
1781 aesmc v4.16b,v4.16b
1782 aese v5.16b,v22.16b
1783 aesmc v5.16b,v5.16b
1786 aese v17.16b,v22.16b
1787 aesmc v17.16b,v17.16b
1790 aese v4.16b,v23.16b
1791 aese v5.16b,v23.16b
1792 aese v17.16b,v23.16b
1794 eor v2.16b,v2.16b,v4.16b
1796 st1 {v2.16b},[x1],#16
1797 eor v3.16b,v3.16b,v5.16b
1799 st1 {v3.16b},[x1],#16
1800 eor v19.16b,v19.16b,v17.16b
1802 st1 {v19.16b},[x1],#16
1803 b.hs .Loop3x_ctr32
1806 b.eq .Lctr32_done
1812 aese v0.16b,v16.16b
1813 aesmc v0.16b,v0.16b
1814 aese v1.16b,v16.16b
1815 aesmc v1.16b,v1.16b
1818 aese v0.16b,v17.16b
1819 aesmc v0.16b,v0.16b
1820 aese v1.16b,v17.16b
1821 aesmc v1.16b,v1.16b
1823 b.gt .Lctr32_tail
1825 aese v0.16b,v16.16b
1826 aesmc v0.16b,v0.16b
1827 aese v1.16b,v16.16b
1828 aesmc v1.16b,v1.16b
1829 aese v0.16b,v17.16b
1830 aesmc v0.16b,v0.16b
1831 aese v1.16b,v17.16b
1832 aesmc v1.16b,v1.16b
1833 ld1 {v2.16b},[x0],x12
1834 aese v0.16b,v20.16b
1835 aesmc v0.16b,v0.16b
1836 aese v1.16b,v20.16b
1837 aesmc v1.16b,v1.16b
1838 ld1 {v3.16b},[x0]
1839 aese v0.16b,v21.16b
1840 aesmc v0.16b,v0.16b
1841 aese v1.16b,v21.16b
1842 aesmc v1.16b,v1.16b
1843 eor v2.16b,v2.16b,v7.16b
1844 aese v0.16b,v22.16b
1845 aesmc v0.16b,v0.16b
1846 aese v1.16b,v22.16b
1847 aesmc v1.16b,v1.16b
1848 eor v3.16b,v3.16b,v7.16b
1849 aese v0.16b,v23.16b
1850 aese v1.16b,v23.16b
1853 eor v2.16b,v2.16b,v0.16b
1854 eor v3.16b,v3.16b,v1.16b
1855 st1 {v2.16b},[x1],#16
1856 b.eq .Lctr32_done
1857 st1 {v3.16b},[x1]
1870 b.ne .Lxts_enc_big_size
1874 ld1 {v6.16b},[x5]
1879 aese v6.16b,v0.16b
1880 aesmc v6.16b,v6.16b
1883 aese v6.16b,v1.16b
1884 aesmc v6.16b,v6.16b
1886 b.gt .Loop_enc_iv_enc
1888 aese v6.16b,v0.16b
1889 aesmc v6.16b,v6.16b
1891 aese v6.16b,v1.16b
1892 eor v6.16b,v6.16b,v0.16b
1894 ld1 {v0.16b},[x0]
1895 eor v0.16b,v6.16b,v0.16b
1900 aese v0.16b,v28.16b
1901 aesmc v0.16b,v0.16b
1903 aese v0.16b,v29.16b
1904 aesmc v0.16b,v0.16b
1906 b.eq .Lxts_128_enc
1908 aese v0.16b,v16.16b
1909 aesmc v0.16b,v0.16b
1911 aese v0.16b,v17.16b
1912 aesmc v0.16b,v0.16b
1915 b.gt .Lxts_enc_round_loop
1918 aese v0.16b,v16.16b
1919 aesmc v0.16b,v0.16b
1920 aese v0.16b,v17.16b
1921 aesmc v0.16b,v0.16b
1923 aese v0.16b,v18.16b
1924 aesmc v0.16b,v0.16b
1925 aese v0.16b,v19.16b
1926 aesmc v0.16b,v0.16b
1928 aese v0.16b,v20.16b
1929 aesmc v0.16b,v0.16b
1930 aese v0.16b,v21.16b
1931 aesmc v0.16b,v0.16b
1933 aese v0.16b,v22.16b
1934 aesmc v0.16b,v0.16b
1935 aese v0.16b,v23.16b
1936 eor v0.16b,v0.16b,v7.16b
1937 eor v0.16b,v0.16b,v6.16b
1938 st1 {v0.16b},[x1]
1939 b .Lxts_enc_final_abort
1953 b.lo .Lxts_abort
1959 ld1 {v6.16b},[x5]
1964 aese v6.16b,v0.16b
1965 aesmc v6.16b,v6.16b
1968 aese v6.16b,v1.16b
1969 aesmc v6.16b,v6.16b
1971 b.gt .Loop_iv_enc
1973 aese v6.16b,v0.16b
1974 aesmc v6.16b,v6.16b
1976 aese v6.16b,v1.16b
1977 eor v6.16b,v6.16b,v0.16b
1993 ld1 {v0.16b},[x0],x8
2009 ld1 {v24.16b},[x0],#16
2012 orr v3.16b,v0.16b,v0.16b
2013 orr v1.16b,v0.16b,v0.16b
2014 orr v28.16b,v0.16b,v0.16b
2015 orr v27.16b,v24.16b,v24.16b
2016 orr v29.16b,v24.16b,v24.16b
2017 b.lo .Lxts_inner_enc_tail
2018 eor v0.16b,v0.16b,v6.16b // before encryption, xor with iv
2019 eor v24.16b,v24.16b,v8.16b
2030 orr v1.16b,v24.16b,v24.16b
2031 ld1 {v24.16b},[x0],#16
2032 orr v2.16b,v0.16b,v0.16b
2033 orr v3.16b,v1.16b,v1.16b
2034 eor v27.16b,v24.16b,v9.16b // the third block
2035 eor v24.16b,v24.16b,v9.16b
2037 b.lo .Lxts_outer_enc_tail
2047 ld1 {v25.16b},[x0],#16
2056 ld1 {v26.16b},[x0],#16
2057 eor v25.16b,v25.16b,v10.16b // the fourth block
2058 eor v26.16b,v26.16b,v11.16b
2061 b .Loop5x_xts_enc
2065 aese v0.16b,v16.16b
2066 aesmc v0.16b,v0.16b
2067 aese v1.16b,v16.16b
2068 aesmc v1.16b,v1.16b
2069 aese v24.16b,v16.16b
2070 aesmc v24.16b,v24.16b
2071 aese v25.16b,v16.16b
2072 aesmc v25.16b,v25.16b
2073 aese v26.16b,v16.16b
2074 aesmc v26.16b,v26.16b
2077 aese v0.16b,v17.16b
2078 aesmc v0.16b,v0.16b
2079 aese v1.16b,v17.16b
2080 aesmc v1.16b,v1.16b
2081 aese v24.16b,v17.16b
2082 aesmc v24.16b,v24.16b
2083 aese v25.16b,v17.16b
2084 aesmc v25.16b,v25.16b
2085 aese v26.16b,v17.16b
2086 aesmc v26.16b,v26.16b
2088 b.gt .Loop5x_xts_enc
2090 aese v0.16b,v16.16b
2091 aesmc v0.16b,v0.16b
2092 aese v1.16b,v16.16b
2093 aesmc v1.16b,v1.16b
2094 aese v24.16b,v16.16b
2095 aesmc v24.16b,v24.16b
2096 aese v25.16b,v16.16b
2097 aesmc v25.16b,v25.16b
2098 aese v26.16b,v16.16b
2099 aesmc v26.16b,v26.16b
2102 aese v0.16b,v17.16b
2103 aesmc v0.16b,v0.16b
2104 aese v1.16b,v17.16b
2105 aesmc v1.16b,v1.16b
2106 aese v24.16b,v17.16b
2107 aesmc v24.16b,v24.16b
2108 aese v25.16b,v17.16b
2109 aesmc v25.16b,v25.16b
2110 aese v26.16b,v17.16b
2111 aesmc v26.16b,v26.16b
2115 aese v0.16b,v18.16b
2116 aesmc v0.16b,v0.16b
2117 aese v1.16b,v18.16b
2118 aesmc v1.16b,v1.16b
2119 aese v24.16b,v18.16b
2120 aesmc v24.16b,v24.16b
2121 aese v25.16b,v18.16b
2122 aesmc v25.16b,v25.16b
2123 aese v26.16b,v18.16b
2124 aesmc v26.16b,v26.16b
2130 aese v0.16b,v19.16b
2131 aesmc v0.16b,v0.16b
2132 aese v1.16b,v19.16b
2133 aesmc v1.16b,v1.16b
2134 aese v24.16b,v19.16b
2135 aesmc v24.16b,v24.16b
2136 aese v25.16b,v19.16b
2137 aesmc v25.16b,v25.16b
2138 aese v26.16b,v19.16b
2139 aesmc v26.16b,v26.16b
2141 aese v0.16b,v20.16b
2142 aesmc v0.16b,v0.16b
2143 aese v1.16b,v20.16b
2144 aesmc v1.16b,v1.16b
2145 aese v24.16b,v20.16b
2146 aesmc v24.16b,v24.16b
2147 aese v25.16b,v20.16b
2148 aesmc v25.16b,v25.16b
2149 aese v26.16b,v20.16b
2150 aesmc v26.16b,v26.16b
2152 aese v0.16b,v21.16b
2153 aesmc v0.16b,v0.16b
2154 aese v1.16b,v21.16b
2155 aesmc v1.16b,v1.16b
2156 aese v24.16b,v21.16b
2157 aesmc v24.16b,v24.16b
2158 aese v25.16b,v21.16b
2159 aesmc v25.16b,v25.16b
2160 aese v26.16b,v21.16b
2161 aesmc v26.16b,v26.16b
2163 aese v0.16b,v22.16b
2164 aesmc v0.16b,v0.16b
2165 aese v1.16b,v22.16b
2166 aesmc v1.16b,v1.16b
2167 aese v24.16b,v22.16b
2168 aesmc v24.16b,v24.16b
2169 aese v25.16b,v22.16b
2170 aesmc v25.16b,v25.16b
2171 aese v26.16b,v22.16b
2172 aesmc v26.16b,v26.16b
2174 eor v4.16b,v7.16b,v6.16b
2175 aese v0.16b,v23.16b
2183 eor v5.16b,v7.16b,v8.16b
2184 ld1 {v2.16b},[x0],#16
2185 aese v1.16b,v23.16b
2193 eor v17.16b,v7.16b,v9.16b
2194 ld1 {v3.16b},[x0],#16
2195 aese v24.16b,v23.16b
2203 eor v30.16b,v7.16b,v10.16b
2204 ld1 {v27.16b},[x0],#16
2205 aese v25.16b,v23.16b
2213 eor v31.16b,v7.16b,v11.16b
2214 ld1 {v28.16b},[x0],#16
2215 aese v26.16b,v23.16b
2225 ld1 {v29.16b},[x0],#16
2228 eor v4.16b,v4.16b,v0.16b
2229 eor v0.16b,v2.16b,v6.16b
2230 eor v5.16b,v5.16b,v1.16b
2231 eor v1.16b,v3.16b,v8.16b
2232 eor v17.16b,v17.16b,v24.16b
2233 eor v24.16b,v27.16b,v9.16b
2234 eor v30.16b,v30.16b,v25.16b
2235 eor v25.16b,v28.16b,v10.16b
2236 eor v31.16b,v31.16b,v26.16b
2237 st1 {v4.16b},[x1],#16
2238 eor v26.16b,v29.16b,v11.16b
2239 st1 {v5.16b},[x1],#16
2241 st1 {v17.16b},[x1],#16
2243 st1 {v30.16b},[x1],#16
2244 st1 {v31.16b},[x1],#16
2245 b.hs .Loop5x_xts_enc
2250 b.ne .Loop5x_enc_after
2251 orr v11.16b,v10.16b,v10.16b
2252 orr v10.16b,v9.16b,v9.16b
2253 orr v9.16b,v8.16b,v8.16b
2254 orr v8.16b,v6.16b,v6.16b
2257 eor v0.16b,v6.16b,v2.16b
2258 eor v1.16b,v8.16b,v3.16b
2259 eor v24.16b,v27.16b,v9.16b
2260 eor v25.16b,v28.16b,v10.16b
2261 eor v26.16b,v29.16b,v11.16b
2262 b.eq .Loop5x_xts_enc
2270 b.lo .Lxts_inner_enc_tail
2272 eor v0.16b,v6.16b,v27.16b
2273 eor v1.16b,v8.16b,v28.16b
2274 eor v24.16b,v29.16b,v9.16b
2275 b .Lxts_outer_enc_tail
2280 eor v5.16b,v1.16b,v5.16b
2281 st1 {v5.16b},[x1],#16
2282 eor v17.16b,v24.16b,v17.16b
2283 st1 {v17.16b},[x1],#16
2284 eor v30.16b,v25.16b,v30.16b
2285 eor v31.16b,v26.16b,v31.16b
2286 st1 {v30.16b,v31.16b},[x1],#32
2288 b .Lxts_enc_done
2291 aese v0.16b,v16.16b
2292 aesmc v0.16b,v0.16b
2293 aese v1.16b,v16.16b
2294 aesmc v1.16b,v1.16b
2295 aese v24.16b,v16.16b
2296 aesmc v24.16b,v24.16b
2299 aese v0.16b,v17.16b
2300 aesmc v0.16b,v0.16b
2301 aese v1.16b,v17.16b
2302 aesmc v1.16b,v1.16b
2303 aese v24.16b,v17.16b
2304 aesmc v24.16b,v24.16b
2306 b.gt .Lxts_outer_enc_tail
2308 aese v0.16b,v16.16b
2309 aesmc v0.16b,v0.16b
2310 aese v1.16b,v16.16b
2311 aesmc v1.16b,v1.16b
2312 aese v24.16b,v16.16b
2313 aesmc v24.16b,v24.16b
2314 eor v4.16b,v6.16b,v7.16b
2326 eor v5.16b,v8.16b,v7.16b
2328 aese v0.16b,v17.16b
2329 aesmc v0.16b,v0.16b
2330 aese v1.16b,v17.16b
2331 aesmc v1.16b,v1.16b
2332 aese v24.16b,v17.16b
2333 aesmc v24.16b,v24.16b
2334 eor v17.16b,v9.16b,v7.16b
2340 aese v0.16b,v20.16b
2341 aesmc v0.16b,v0.16b
2342 aese v1.16b,v20.16b
2343 aesmc v1.16b,v1.16b
2344 aese v24.16b,v20.16b
2345 aesmc v24.16b,v24.16b
2346 aese v0.16b,v21.16b
2347 aesmc v0.16b,v0.16b
2348 aese v1.16b,v21.16b
2349 aesmc v1.16b,v1.16b
2350 aese v24.16b,v21.16b
2351 aesmc v24.16b,v24.16b
2352 aese v0.16b,v22.16b
2353 aesmc v0.16b,v0.16b
2354 aese v1.16b,v22.16b
2355 aesmc v1.16b,v1.16b
2356 aese v24.16b,v22.16b
2357 aesmc v24.16b,v24.16b
2358 aese v0.16b,v23.16b
2359 aese v1.16b,v23.16b
2360 aese v24.16b,v23.16b
2361 ld1 {v27.16b},[x0],#16
2364 eor v4.16b,v4.16b,v0.16b
2365 eor v5.16b,v5.16b,v1.16b
2366 eor v24.16b,v24.16b,v17.16b
2368 st1 {v4.16b},[x1],#16
2369 st1 {v5.16b},[x1],#16
2370 st1 {v24.16b},[x1],#16
2372 b.eq .Lxts_enc_done
2374 orr v28.16b,v3.16b,v3.16b
2375 orr v29.16b,v27.16b,v27.16b
2380 eor v1.16b,v28.16b,v6.16b
2381 eor v24.16b,v29.16b,v8.16b
2382 b.eq .Lxts_enc_tail_loop
2383 eor v24.16b,v29.16b,v6.16b
2385 aese v1.16b,v16.16b
2386 aesmc v1.16b,v1.16b
2387 aese v24.16b,v16.16b
2388 aesmc v24.16b,v24.16b
2391 aese v1.16b,v17.16b
2392 aesmc v1.16b,v1.16b
2393 aese v24.16b,v17.16b
2394 aesmc v24.16b,v24.16b
2396 b.gt .Lxts_enc_tail_loop
2398 aese v1.16b,v16.16b
2399 aesmc v1.16b,v1.16b
2400 aese v24.16b,v16.16b
2401 aesmc v24.16b,v24.16b
2402 aese v1.16b,v17.16b
2403 aesmc v1.16b,v1.16b
2404 aese v24.16b,v17.16b
2405 aesmc v24.16b,v24.16b
2406 aese v1.16b,v20.16b
2407 aesmc v1.16b,v1.16b
2408 aese v24.16b,v20.16b
2409 aesmc v24.16b,v24.16b
2411 aese v1.16b,v21.16b
2412 aesmc v1.16b,v1.16b
2413 aese v24.16b,v21.16b
2414 aesmc v24.16b,v24.16b
2415 eor v5.16b,v6.16b,v7.16b
2416 aese v1.16b,v22.16b
2417 aesmc v1.16b,v1.16b
2418 aese v24.16b,v22.16b
2419 aesmc v24.16b,v24.16b
2420 eor v17.16b,v8.16b,v7.16b
2421 aese v1.16b,v23.16b
2422 aese v24.16b,v23.16b
2423 b.eq .Lxts_enc_one
2424 eor v5.16b,v5.16b,v1.16b
2425 st1 {v5.16b},[x1],#16
2426 eor v17.16b,v17.16b,v24.16b
2427 orr v6.16b,v8.16b,v8.16b
2428 st1 {v17.16b},[x1],#16
2438 b .Lxts_enc_done
2441 eor v5.16b,v5.16b,v24.16b
2442 orr v6.16b,v6.16b,v6.16b
2443 st1 {v5.16b},[x1],#16
2453 b .Lxts_enc_done
2458 b.eq .Lxts_abort
2469 b.gt .composite_enc_loop
2471 ld1 {v26.16b},[x1]
2472 eor v26.16b,v26.16b,v6.16b
2480 aese v26.16b,v0.16b
2481 aesmc v26.16b,v26.16b
2484 aese v26.16b,v1.16b
2485 aesmc v26.16b,v26.16b
2487 b.gt .Loop_final_enc
2489 aese v26.16b,v0.16b
2490 aesmc v26.16b,v26.16b
2492 aese v26.16b,v1.16b
2493 eor v26.16b,v26.16b,v0.16b
2494 eor v26.16b,v26.16b,v6.16b
2495 st1 {v26.16b},[x1]
2512 b.ne .Lxts_dec_big_size
2516 ld1 {v6.16b},[x5]
2521 aese v6.16b,v0.16b
2522 aesmc v6.16b,v6.16b
2525 aese v6.16b,v1.16b
2526 aesmc v6.16b,v6.16b
2528 b.gt .Loop_dec_small_iv_enc
2530 aese v6.16b,v0.16b
2531 aesmc v6.16b,v6.16b
2533 aese v6.16b,v1.16b
2534 eor v6.16b,v6.16b,v0.16b
2536 ld1 {v0.16b},[x0]
2537 eor v0.16b,v6.16b,v0.16b
2542 aesd v0.16b,v28.16b
2543 aesimc v0.16b,v0.16b
2545 aesd v0.16b,v29.16b
2546 aesimc v0.16b,v0.16b
2548 b.eq .Lxts_128_dec
2550 aesd v0.16b,v16.16b
2551 aesimc v0.16b,v0.16b
2553 aesd v0.16b,v17.16b
2554 aesimc v0.16b,v0.16b
2557 b.gt .Lxts_dec_round_loop
2560 aesd v0.16b,v16.16b
2561 aesimc v0.16b,v0.16b
2562 aesd v0.16b,v17.16b
2563 aesimc v0.16b,v0.16b
2565 aesd v0.16b,v18.16b
2566 aesimc v0.16b,v0.16b
2567 aesd v0.16b,v19.16b
2568 aesimc v0.16b,v0.16b
2570 aesd v0.16b,v20.16b
2571 aesimc v0.16b,v0.16b
2572 aesd v0.16b,v21.16b
2573 aesimc v0.16b,v0.16b
2575 aesd v0.16b,v22.16b
2576 aesimc v0.16b,v0.16b
2577 aesd v0.16b,v23.16b
2578 eor v0.16b,v0.16b,v7.16b
2579 eor v0.16b,v6.16b,v0.16b
2580 st1 {v0.16b},[x1]
2581 b .Lxts_dec_final_abort
2592 b.lo .Lxts_dec_abort
2597 ld1 {v6.16b},[x5]
2602 aese v6.16b,v0.16b
2603 aesmc v6.16b,v6.16b
2606 aese v6.16b,v1.16b
2607 aesmc v6.16b,v6.16b
2609 b.gt .Loop_dec_iv_enc
2611 aese v6.16b,v0.16b
2612 aesmc v6.16b,v6.16b
2614 aese v6.16b,v1.16b
2615 eor v6.16b,v6.16b,v0.16b
2659 b .Lxts_dec
2665 b.eq .Lxts_dec_begin
2668 ld1 {v0.16b},[x0],#16
2669 b.lo .Lxts_done
2672 ld1 {v0.16b},[x0],x8
2675 orr v3.16b,v0.16b,v0.16b
2676 orr v1.16b,v0.16b,v0.16b
2677 orr v28.16b,v0.16b,v0.16b
2678 ld1 {v24.16b},[x0],#16
2679 orr v27.16b,v24.16b,v24.16b
2680 orr v29.16b,v24.16b,v24.16b
2681 b.lo .Lxts_inner_dec_tail
2682 eor v0.16b,v0.16b,v6.16b // before decryt, xor with iv
2683 eor v24.16b,v24.16b,v8.16b
2685 orr v1.16b,v24.16b,v24.16b
2686 ld1 {v24.16b},[x0],#16
2687 orr v2.16b,v0.16b,v0.16b
2688 orr v3.16b,v1.16b,v1.16b
2689 eor v27.16b,v24.16b,v9.16b // third block xox with third iv
2690 eor v24.16b,v24.16b,v9.16b
2692 b.lo .Lxts_outer_dec_tail
2694 ld1 {v25.16b},[x0],#16
2704 ld1 {v26.16b},[x0],#16
2705 eor v25.16b,v25.16b,v10.16b // the fourth block
2706 eor v26.16b,v26.16b,v11.16b
2709 b .Loop5x_xts_dec
2713 aesd v0.16b,v16.16b
2714 aesimc v0.16b,v0.16b
2715 aesd v1.16b,v16.16b
2716 aesimc v1.16b,v1.16b
2717 aesd v24.16b,v16.16b
2718 aesimc v24.16b,v24.16b
2719 aesd v25.16b,v16.16b
2720 aesimc v25.16b,v25.16b
2721 aesd v26.16b,v16.16b
2722 aesimc v26.16b,v26.16b
2725 aesd v0.16b,v17.16b
2726 aesimc v0.16b,v0.16b
2727 aesd v1.16b,v17.16b
2728 aesimc v1.16b,v1.16b
2729 aesd v24.16b,v17.16b
2730 aesimc v24.16b,v24.16b
2731 aesd v25.16b,v17.16b
2732 aesimc v25.16b,v25.16b
2733 aesd v26.16b,v17.16b
2734 aesimc v26.16b,v26.16b
2736 b.gt .Loop5x_xts_dec
2738 aesd v0.16b,v16.16b
2739 aesimc v0.16b,v0.16b
2740 aesd v1.16b,v16.16b
2741 aesimc v1.16b,v1.16b
2742 aesd v24.16b,v16.16b
2743 aesimc v24.16b,v24.16b
2744 aesd v25.16b,v16.16b
2745 aesimc v25.16b,v25.16b
2746 aesd v26.16b,v16.16b
2747 aesimc v26.16b,v26.16b
2750 aesd v0.16b,v17.16b
2751 aesimc v0.16b,v0.16b
2752 aesd v1.16b,v17.16b
2753 aesimc v1.16b,v1.16b
2754 aesd v24.16b,v17.16b
2755 aesimc v24.16b,v24.16b
2756 aesd v25.16b,v17.16b
2757 aesimc v25.16b,v25.16b
2758 aesd v26.16b,v17.16b
2759 aesimc v26.16b,v26.16b
2763 aesd v0.16b,v18.16b
2764 aesimc v0.16b,v0.16b
2765 aesd v1.16b,v18.16b
2766 aesimc v1.16b,v1.16b
2767 aesd v24.16b,v18.16b
2768 aesimc v24.16b,v24.16b
2769 aesd v25.16b,v18.16b
2770 aesimc v25.16b,v25.16b
2771 aesd v26.16b,v18.16b
2772 aesimc v26.16b,v26.16b
2778 aesd v0.16b,v19.16b
2779 aesimc v0.16b,v0.16b
2780 aesd v1.16b,v19.16b
2781 aesimc v1.16b,v1.16b
2782 aesd v24.16b,v19.16b
2783 aesimc v24.16b,v24.16b
2784 aesd v25.16b,v19.16b
2785 aesimc v25.16b,v25.16b
2786 aesd v26.16b,v19.16b
2787 aesimc v26.16b,v26.16b
2789 aesd v0.16b,v20.16b
2790 aesimc v0.16b,v0.16b
2791 aesd v1.16b,v20.16b
2792 aesimc v1.16b,v1.16b
2793 aesd v24.16b,v20.16b
2794 aesimc v24.16b,v24.16b
2795 aesd v25.16b,v20.16b
2796 aesimc v25.16b,v25.16b
2797 aesd v26.16b,v20.16b
2798 aesimc v26.16b,v26.16b
2800 aesd v0.16b,v21.16b
2801 aesimc v0.16b,v0.16b
2802 aesd v1.16b,v21.16b
2803 aesimc v1.16b,v1.16b
2804 aesd v24.16b,v21.16b
2805 aesimc v24.16b,v24.16b
2806 aesd v25.16b,v21.16b
2807 aesimc v25.16b,v25.16b
2808 aesd v26.16b,v21.16b
2809 aesimc v26.16b,v26.16b
2811 aesd v0.16b,v22.16b
2812 aesimc v0.16b,v0.16b
2813 aesd v1.16b,v22.16b
2814 aesimc v1.16b,v1.16b
2815 aesd v24.16b,v22.16b
2816 aesimc v24.16b,v24.16b
2817 aesd v25.16b,v22.16b
2818 aesimc v25.16b,v25.16b
2819 aesd v26.16b,v22.16b
2820 aesimc v26.16b,v26.16b
2822 eor v4.16b,v7.16b,v6.16b
2823 aesd v0.16b,v23.16b
2831 eor v5.16b,v7.16b,v8.16b
2832 ld1 {v2.16b},[x0],#16
2833 aesd v1.16b,v23.16b
2841 eor v17.16b,v7.16b,v9.16b
2842 ld1 {v3.16b},[x0],#16
2843 aesd v24.16b,v23.16b
2851 eor v30.16b,v7.16b,v10.16b
2852 ld1 {v27.16b},[x0],#16
2853 aesd v25.16b,v23.16b
2861 eor v31.16b,v7.16b,v11.16b
2862 ld1 {v28.16b},[x0],#16
2863 aesd v26.16b,v23.16b
2873 ld1 {v29.16b},[x0],#16
2876 eor v4.16b,v4.16b,v0.16b
2877 eor v0.16b,v2.16b,v6.16b
2878 eor v5.16b,v5.16b,v1.16b
2879 eor v1.16b,v3.16b,v8.16b
2880 eor v17.16b,v17.16b,v24.16b
2881 eor v24.16b,v27.16b,v9.16b
2882 eor v30.16b,v30.16b,v25.16b
2883 eor v25.16b,v28.16b,v10.16b
2884 eor v31.16b,v31.16b,v26.16b
2885 st1 {v4.16b},[x1],#16
2886 eor v26.16b,v29.16b,v11.16b
2887 st1 {v5.16b},[x1],#16
2889 st1 {v17.16b},[x1],#16
2891 st1 {v30.16b},[x1],#16
2892 st1 {v31.16b},[x1],#16
2893 b.hs .Loop5x_xts_dec
2896 b.ne .Loop5x_dec_after
2900 orr v11.16b,v10.16b,v10.16b
2901 orr v10.16b,v9.16b,v9.16b
2902 orr v9.16b,v8.16b,v8.16b
2903 orr v8.16b,v6.16b,v6.16b
2906 eor v0.16b,v6.16b,v2.16b
2907 eor v1.16b,v8.16b,v3.16b
2908 eor v24.16b,v27.16b,v9.16b
2909 eor v25.16b,v28.16b,v10.16b
2910 eor v26.16b,v29.16b,v11.16b
2911 b.eq .Loop5x_xts_dec
2919 b.lo .Lxts_inner_dec_tail
2921 eor v0.16b,v6.16b,v27.16b
2922 eor v1.16b,v8.16b,v28.16b
2923 eor v24.16b,v29.16b,v9.16b
2924 b .Lxts_outer_dec_tail
2930 eor v5.16b,v1.16b,v4.16b
2931 st1 {v5.16b},[x1],#16
2932 eor v17.16b,v24.16b,v17.16b
2933 st1 {v17.16b},[x1],#16
2934 eor v30.16b,v25.16b,v30.16b
2935 eor v31.16b,v26.16b,v31.16b
2936 st1 {v30.16b,v31.16b},[x1],#32
2938 b.eq .Lxts_dec_abort
2939 ld1 {v0.16b},[x0],#16
2940 b .Lxts_done
2943 aesd v0.16b,v16.16b
2944 aesimc v0.16b,v0.16b
2945 aesd v1.16b,v16.16b
2946 aesimc v1.16b,v1.16b
2947 aesd v24.16b,v16.16b
2948 aesimc v24.16b,v24.16b
2951 aesd v0.16b,v17.16b
2952 aesimc v0.16b,v0.16b
2953 aesd v1.16b,v17.16b
2954 aesimc v1.16b,v1.16b
2955 aesd v24.16b,v17.16b
2956 aesimc v24.16b,v24.16b
2958 b.gt .Lxts_outer_dec_tail
2960 aesd v0.16b,v16.16b
2961 aesimc v0.16b,v0.16b
2962 aesd v1.16b,v16.16b
2963 aesimc v1.16b,v1.16b
2964 aesd v24.16b,v16.16b
2965 aesimc v24.16b,v24.16b
2966 eor v4.16b,v6.16b,v7.16b
2978 eor v5.16b,v8.16b,v7.16b
2980 aesd v0.16b,v17.16b
2981 aesimc v0.16b,v0.16b
2982 aesd v1.16b,v17.16b
2983 aesimc v1.16b,v1.16b
2984 aesd v24.16b,v17.16b
2985 aesimc v24.16b,v24.16b
2986 eor v17.16b,v9.16b,v7.16b
3008 aesd v0.16b,v20.16b
3009 aesimc v0.16b,v0.16b
3010 aesd v1.16b,v20.16b
3011 aesimc v1.16b,v1.16b
3012 aesd v24.16b,v20.16b
3013 aesimc v24.16b,v24.16b
3014 aesd v0.16b,v21.16b
3015 aesimc v0.16b,v0.16b
3016 aesd v1.16b,v21.16b
3017 aesimc v1.16b,v1.16b
3018 aesd v24.16b,v21.16b
3019 aesimc v24.16b,v24.16b
3020 aesd v0.16b,v22.16b
3021 aesimc v0.16b,v0.16b
3022 aesd v1.16b,v22.16b
3023 aesimc v1.16b,v1.16b
3024 aesd v24.16b,v22.16b
3025 aesimc v24.16b,v24.16b
3026 ld1 {v27.16b},[x0],#16
3027 aesd v0.16b,v23.16b
3028 aesd v1.16b,v23.16b
3029 aesd v24.16b,v23.16b
3032 eor v4.16b,v4.16b,v0.16b
3033 eor v5.16b,v5.16b,v1.16b
3034 eor v24.16b,v24.16b,v17.16b
3036 st1 {v4.16b},[x1],#16
3037 st1 {v5.16b},[x1],#16
3038 st1 {v24.16b},[x1],#16
3042 b.eq .Lxts_done
3044 orr v28.16b,v3.16b,v3.16b
3045 orr v29.16b,v27.16b,v27.16b
3051 eor v1.16b,v28.16b,v6.16b
3052 eor v24.16b,v29.16b,v8.16b
3053 b.eq .Lxts_dec_tail_loop
3054 eor v24.16b,v29.16b,v6.16b
3056 aesd v1.16b,v16.16b
3057 aesimc v1.16b,v1.16b
3058 aesd v24.16b,v16.16b
3059 aesimc v24.16b,v24.16b
3062 aesd v1.16b,v17.16b
3063 aesimc v1.16b,v1.16b
3064 aesd v24.16b,v17.16b
3065 aesimc v24.16b,v24.16b
3067 b.gt .Lxts_dec_tail_loop
3069 aesd v1.16b,v16.16b
3070 aesimc v1.16b,v1.16b
3071 aesd v24.16b,v16.16b
3072 aesimc v24.16b,v24.16b
3073 aesd v1.16b,v17.16b
3074 aesimc v1.16b,v1.16b
3075 aesd v24.16b,v17.16b
3076 aesimc v24.16b,v24.16b
3077 aesd v1.16b,v20.16b
3078 aesimc v1.16b,v1.16b
3079 aesd v24.16b,v20.16b
3080 aesimc v24.16b,v24.16b
3082 aesd v1.16b,v21.16b
3083 aesimc v1.16b,v1.16b
3084 aesd v24.16b,v21.16b
3085 aesimc v24.16b,v24.16b
3086 eor v5.16b,v6.16b,v7.16b
3087 aesd v1.16b,v22.16b
3088 aesimc v1.16b,v1.16b
3089 aesd v24.16b,v22.16b
3090 aesimc v24.16b,v24.16b
3091 eor v17.16b,v8.16b,v7.16b
3092 aesd v1.16b,v23.16b
3093 aesd v24.16b,v23.16b
3094 b.eq .Lxts_dec_one
3095 eor v5.16b,v5.16b,v1.16b
3096 eor v17.16b,v17.16b,v24.16b
3097 orr v6.16b,v9.16b,v9.16b
3098 orr v8.16b,v10.16b,v10.16b
3099 st1 {v5.16b},[x1],#16
3100 st1 {v17.16b},[x1],#16
3102 b .Lxts_done
3105 eor v5.16b,v5.16b,v24.16b
3106 orr v6.16b,v8.16b,v8.16b
3107 orr v8.16b,v9.16b,v9.16b
3108 st1 {v5.16b},[x1],#16
3113 b.eq .Lxts_dec_abort
3117 ld1 {v0.16b},[x0],#16
3121 eor v26.16b,v0.16b,v8.16b
3127 aesd v26.16b,v0.16b
3128 aesimc v26.16b,v26.16b
3131 aesd v26.16b,v1.16b
3132 aesimc v26.16b,v26.16b
3134 b.gt .Loop_final_2nd_dec
3136 aesd v26.16b,v0.16b
3137 aesimc v26.16b,v26.16b
3139 aesd v26.16b,v1.16b
3140 eor v26.16b,v26.16b,v0.16b
3141 eor v26.16b,v26.16b,v8.16b
3142 st1 {v26.16b},[x1]
3155 b.gt .composite_dec_loop
3157 ld1 {v26.16b},[x1]
3158 eor v26.16b,v26.16b,v6.16b
3166 aesd v26.16b,v0.16b
3167 aesimc v26.16b,v26.16b
3170 aesd v26.16b,v1.16b
3171 aesimc v26.16b,v26.16b
3173 b.gt .Loop_final_dec
3175 aesd v26.16b,v0.16b
3176 aesimc v26.16b,v26.16b
3178 aesd v26.16b,v1.16b
3179 eor v26.16b,v26.16b,v0.16b
3180 eor v26.16b,v26.16b,v6.16b
3181 st1 {v26.16b},[x1]