Lines Matching full:2
80 add x9,x8,x8,lsr#2 // s1 = r1 + (r1 >> 2)
121 add x10,x10,x14,lsr#2
142 ldp x4,x5,[x0] // load hash base 2^64
198 add x10,x10,x14,lsr#2
209 and x12,x4,#0x03ffffff // base 2^64 -> base 2^26
217 add w12,w13,w13,lsl#2 // r1*5
219 add w13,w14,w14,lsl#2 // r2*5
220 str w12,[x0,#16*2] // s1
222 add w14,w15,w15,lsl#2 // r3*5
225 add w15,w16,w16,lsl#2 // r4*5
255 ldp w10,w11,[x0] // load hash value base 2^26
264 add x4,x10,x11,lsl#26 // base 2^26 -> base 2^64
275 add x9,x8,x8,lsr#2 // s1 = r1 + (r1 >> 2)
279 add x10,x10,x14,lsr#2
297 and x10,x4,#0x03ffffff // base 2^64 -> base 2^26
306 stp w10,w11,[x0] // store hash value base 2^26
313 stp x4,x5,[x0] // store hash value base 2^64
321 ldp x4,x5,[x0] // load hash value base 2^64
329 add x9,x8,x8,lsr#2 // s1 = r1 + (r1 >> 2)
341 and x10,x4,#0x03ffffff // base 2^64 -> base 2^26
361 add x9,x8,x8,lsr#2 // s1 = r1 + (r1 >> 2)
367 bl poly1305_mult // r^2
411 ldp x8,x12,[x16],#16 // inp[2:3] (or zero)
423 and x4,x8,#0x03ffffff // base 2^64 -> base 2^26
459 and x4,x8,#0x03ffffff // base 2^64 -> base 2^26
478 movi v31.2d,#-1
482 ushr v31.2d,v31.2d,#38
489 // ((inp[0]*r^4+inp[2]*r^2+inp[4])*r^4+inp[6]*r^2
490 // ((inp[1]*r^4+inp[3]*r^2+inp[5])*r^3+inp[7]*r
492 // ((inp[0]*r^4+inp[2]*r^2+inp[4])*r^4+inp[6]*r^2+inp[8])*r^2
493 // ((inp[1]*r^4+inp[3]*r^2+inp[5])*r^4+inp[7]*r^2+inp[9])*r
496 // Note that we start with inp[2:3]*r^2. This is because it
506 umull v23.2d,v14.2s,v7.s[2]
508 umull v22.2d,v14.2s,v5.s[2]
509 umull v21.2d,v14.2s,v3.s[2]
510 ldp x8,x12,[x16],#16 // inp[2:3] (or zero)
511 umull v20.2d,v14.2s,v1.s[2]
513 umull v19.2d,v14.2s,v0.s[2]
521 umlal v23.2d,v15.2s,v5.s[2]
522 and x4,x8,#0x03ffffff // base 2^64 -> base 2^26
523 umlal v22.2d,v15.2s,v3.s[2]
525 umlal v21.2d,v15.2s,v1.s[2]
527 umlal v20.2d,v15.2s,v0.s[2]
529 umlal v19.2d,v15.2s,v8.s[2]
532 umlal v23.2d,v16.2s,v3.s[2]
534 umlal v22.2d,v16.2s,v1.s[2]
536 umlal v21.2d,v16.2s,v0.s[2]
538 umlal v20.2d,v16.2s,v8.s[2]
540 umlal v19.2d,v16.2s,v6.s[2]
543 umlal v23.2d,v17.2s,v1.s[2]
545 umlal v22.2d,v17.2s,v0.s[2]
547 umlal v21.2d,v17.2s,v8.s[2]
549 umlal v20.2d,v17.2s,v6.s[2]
551 umlal v19.2d,v17.2s,v4.s[2]
554 add v11.2s,v11.2s,v26.2s
556 umlal v23.2d,v18.2s,v0.s[2]
558 umlal v22.2d,v18.2s,v8.s[2]
560 umlal v21.2d,v18.2s,v6.s[2]
562 umlal v20.2d,v18.2s,v4.s[2]
564 umlal v19.2d,v18.2s,v2.s[2]
570 add v9.2s,v9.2s,v24.2s
572 umlal v22.2d,v11.2s,v1.s[0]
574 umlal v19.2d,v11.2s,v6.s[0]
576 umlal v23.2d,v11.2s,v3.s[0]
577 umlal v20.2d,v11.2s,v8.s[0]
578 umlal v21.2d,v11.2s,v0.s[0]
586 add v10.2s,v10.2s,v25.2s
587 umlal v22.2d,v9.2s,v5.s[0]
588 umlal v23.2d,v9.2s,v7.s[0]
589 and x4,x8,#0x03ffffff // base 2^64 -> base 2^26
590 umlal v21.2d,v9.2s,v3.s[0]
592 umlal v19.2d,v9.2s,v0.s[0]
594 umlal v20.2d,v9.2s,v1.s[0]
597 add v12.2s,v12.2s,v27.2s
599 umlal v22.2d,v10.2s,v3.s[0]
601 umlal v23.2d,v10.2s,v5.s[0]
603 umlal v19.2d,v10.2s,v8.s[0]
605 umlal v21.2d,v10.2s,v1.s[0]
607 umlal v20.2d,v10.2s,v0.s[0]
610 add v13.2s,v13.2s,v28.2s
612 umlal v22.2d,v12.2s,v0.s[0]
614 umlal v19.2d,v12.2s,v4.s[0]
616 umlal v23.2d,v12.2s,v1.s[0]
618 umlal v20.2d,v12.2s,v6.s[0]
620 umlal v21.2d,v12.2s,v8.s[0]
623 umlal v22.2d,v13.2s,v8.s[0]
625 umlal v19.2d,v13.2s,v2.s[0]
627 umlal v23.2d,v13.2s,v0.s[0]
629 umlal v20.2d,v13.2s,v4.s[0]
631 umlal v21.2d,v13.2s,v6.s[0]
641 ushr v29.2d,v22.2d,#26
642 xtn v27.2s,v22.2d
643 ushr v30.2d,v19.2d,#26
645 add v23.2d,v23.2d,v29.2d // h3 -> h4
646 bic v27.2s,#0xfc,lsl#24 // &=0x03ffffff
647 add v20.2d,v20.2d,v30.2d // h0 -> h1
649 ushr v29.2d,v23.2d,#26
650 xtn v28.2s,v23.2d
651 ushr v30.2d,v20.2d,#26
652 xtn v25.2s,v20.2d
653 bic v28.2s,#0xfc,lsl#24
654 add v21.2d,v21.2d,v30.2d // h1 -> h2
656 add v19.2d,v19.2d,v29.2d
657 shl v29.2d,v29.2d,#2
658 shrn v30.2s,v21.2d,#26
659 xtn v26.2s,v21.2d
660 add v19.2d,v19.2d,v29.2d // h4 -> h0
661 bic v25.2s,#0xfc,lsl#24
662 add v27.2s,v27.2s,v30.2s // h2 -> h3
663 bic v26.2s,#0xfc,lsl#24
665 shrn v29.2s,v19.2d,#26
666 xtn v24.2s,v19.2d
667 ushr v30.2s,v27.2s,#26
668 bic v27.2s,#0xfc,lsl#24
669 bic v24.2s,#0xfc,lsl#24
670 add v25.2s,v25.2s,v29.2s // h0 -> h1
671 add v28.2s,v28.2s,v30.2s // h3 -> h4
676 dup v16.2d,v16.d[0]
677 add v11.2s,v11.2s,v26.2s
680 // multiply (inp[0:1]+hash) or inp[2:3] by r^2:r^1
685 dup v16.2d,v11.d[0]
686 add v14.2s,v9.2s,v24.2s
687 add v17.2s,v12.2s,v27.2s
688 add v15.2s,v10.2s,v25.2s
689 add v18.2s,v13.2s,v28.2s
692 dup v14.2d,v14.d[0]
693 umull2 v19.2d,v16.4s,v6.4s
694 umull2 v22.2d,v16.4s,v1.4s
695 umull2 v23.2d,v16.4s,v3.4s
696 umull2 v21.2d,v16.4s,v0.4s
697 umull2 v20.2d,v16.4s,v8.4s
699 dup v15.2d,v15.d[0]
700 umlal2 v19.2d,v14.4s,v0.4s
701 umlal2 v21.2d,v14.4s,v3.4s
702 umlal2 v22.2d,v14.4s,v5.4s
703 umlal2 v23.2d,v14.4s,v7.4s
704 umlal2 v20.2d,v14.4s,v1.4s
706 dup v17.2d,v17.d[0]
707 umlal2 v19.2d,v15.4s,v8.4s
708 umlal2 v22.2d,v15.4s,v3.4s
709 umlal2 v21.2d,v15.4s,v1.4s
710 umlal2 v23.2d,v15.4s,v5.4s
711 umlal2 v20.2d,v15.4s,v0.4s
713 dup v18.2d,v18.d[0]
714 umlal2 v22.2d,v17.4s,v0.4s
715 umlal2 v23.2d,v17.4s,v1.4s
716 umlal2 v19.2d,v17.4s,v4.4s
717 umlal2 v20.2d,v17.4s,v6.4s
718 umlal2 v21.2d,v17.4s,v8.4s
720 umlal2 v22.2d,v18.4s,v8.4s
721 umlal2 v19.2d,v18.4s,v2.4s
722 umlal2 v23.2d,v18.4s,v0.4s
723 umlal2 v20.2d,v18.4s,v4.4s
724 umlal2 v21.2d,v18.4s,v6.4s
731 add v9.2s,v9.2s,v24.2s
732 umlal v22.2d,v11.2s,v1.2s
733 umlal v19.2d,v11.2s,v6.2s
734 umlal v23.2d,v11.2s,v3.2s
735 umlal v20.2d,v11.2s,v8.2s
736 umlal v21.2d,v11.2s,v0.2s
738 add v10.2s,v10.2s,v25.2s
739 umlal v22.2d,v9.2s,v5.2s
740 umlal v19.2d,v9.2s,v0.2s
741 umlal v23.2d,v9.2s,v7.2s
742 umlal v20.2d,v9.2s,v1.2s
743 umlal v21.2d,v9.2s,v3.2s
745 add v12.2s,v12.2s,v27.2s
746 umlal v22.2d,v10.2s,v3.2s
747 umlal v19.2d,v10.2s,v8.2s
748 umlal v23.2d,v10.2s,v5.2s
749 umlal v20.2d,v10.2s,v0.2s
750 umlal v21.2d,v10.2s,v1.2s
752 add v13.2s,v13.2s,v28.2s
753 umlal v22.2d,v12.2s,v0.2s
754 umlal v19.2d,v12.2s,v4.2s
755 umlal v23.2d,v12.2s,v1.2s
756 umlal v20.2d,v12.2s,v6.2s
757 umlal v21.2d,v12.2s,v8.2s
759 umlal v22.2d,v13.2s,v8.2s
760 umlal v19.2d,v13.2s,v2.2s
761 umlal v23.2d,v13.2s,v0.2s
762 umlal v20.2d,v13.2s,v4.2s
763 umlal v21.2d,v13.2s,v6.2s
769 addp v22.2d,v22.2d,v22.2d
771 addp v19.2d,v19.2d,v19.2d
773 addp v23.2d,v23.2d,v23.2d
775 addp v20.2d,v20.2d,v20.2d
777 addp v21.2d,v21.2d,v21.2d
782 ushr v29.2d,v22.2d,#26
784 ushr v30.2d,v19.2d,#26
787 add v23.2d,v23.2d,v29.2d // h3 -> h4
788 add v20.2d,v20.2d,v30.2d // h0 -> h1
790 ushr v29.2d,v23.2d,#26
792 ushr v30.2d,v20.2d,#26
794 add v21.2d,v21.2d,v30.2d // h1 -> h2
796 add v19.2d,v19.2d,v29.2d
797 shl v29.2d,v29.2d,#2
798 ushr v30.2d,v21.2d,#26
800 add v19.2d,v19.2d,v29.2d // h4 -> h0
801 add v22.2d,v22.2d,v30.2d // h2 -> h3
803 ushr v29.2d,v19.2d,#26
805 ushr v30.2d,v22.2d,#26
807 add v20.2d,v20.2d,v29.2d // h0 -> h1
808 add v23.2d,v23.2d,v30.2d // h3 -> h4
832 ldp w10,w11,[x0] // load hash value base 2^26
836 add x4,x10,x11,lsl#26 // base 2^26 -> base 2^64
848 add x12,x12,x6,lsr#2
884 .align 2
885 .align 2