2 /* Do not modify. This file is auto-generated from sha1-armv8.pl. */
8 .globl sha1_block_data_order
9 .type sha1_block_data_order,%function
11 sha1_block_data_order:
13 ldrsw x16,.LOPENSSL_armcap_P
15 ldr x16,.LOPENSSL_armcap_P
17 adr x17,.LOPENSSL_armcap_P
23 stp x29,x30,[sp,#-96]!
39 movk w28,#0x5a82,lsl#16
45 add w24,w24,w28 // warm it up
52 add w23,w23,w28 // future e+=K
54 add w24,w24,w27 // e+=rot(a,5)
56 add w23,w23,w4 // future e+=X[i]
57 add w24,w24,w25 // e+=F(b,c,d)
66 add w22,w22,w28 // future e+=K
68 add w23,w23,w27 // e+=rot(a,5)
70 add w22,w22,w5 // future e+=X[i]
71 add w23,w23,w25 // e+=F(b,c,d)
77 add w21,w21,w28 // future e+=K
79 add w22,w22,w27 // e+=rot(a,5)
81 add w21,w21,w6 // future e+=X[i]
82 add w22,w22,w25 // e+=F(b,c,d)
91 add w20,w20,w28 // future e+=K
93 add w21,w21,w27 // e+=rot(a,5)
95 add w20,w20,w7 // future e+=X[i]
96 add w21,w21,w25 // e+=F(b,c,d)
102 add w24,w24,w28 // future e+=K
104 add w20,w20,w27 // e+=rot(a,5)
106 add w24,w24,w8 // future e+=X[i]
107 add w20,w20,w25 // e+=F(b,c,d)
116 add w23,w23,w28 // future e+=K
118 add w24,w24,w27 // e+=rot(a,5)
120 add w23,w23,w9 // future e+=X[i]
121 add w24,w24,w25 // e+=F(b,c,d)
127 add w22,w22,w28 // future e+=K
129 add w23,w23,w27 // e+=rot(a,5)
131 add w22,w22,w10 // future e+=X[i]
132 add w23,w23,w25 // e+=F(b,c,d)
141 add w21,w21,w28 // future e+=K
143 add w22,w22,w27 // e+=rot(a,5)
145 add w21,w21,w11 // future e+=X[i]
146 add w22,w22,w25 // e+=F(b,c,d)
152 add w20,w20,w28 // future e+=K
154 add w21,w21,w27 // e+=rot(a,5)
156 add w20,w20,w12 // future e+=X[i]
157 add w21,w21,w25 // e+=F(b,c,d)
166 add w24,w24,w28 // future e+=K
168 add w20,w20,w27 // e+=rot(a,5)
170 add w24,w24,w13 // future e+=X[i]
171 add w20,w20,w25 // e+=F(b,c,d)
177 add w23,w23,w28 // future e+=K
179 add w24,w24,w27 // e+=rot(a,5)
181 add w23,w23,w14 // future e+=X[i]
182 add w24,w24,w25 // e+=F(b,c,d)
191 add w22,w22,w28 // future e+=K
193 add w23,w23,w27 // e+=rot(a,5)
195 add w22,w22,w15 // future e+=X[i]
196 add w23,w23,w25 // e+=F(b,c,d)
202 add w21,w21,w28 // future e+=K
204 add w22,w22,w27 // e+=rot(a,5)
206 add w21,w21,w16 // future e+=X[i]
207 add w22,w22,w25 // e+=F(b,c,d)
216 add w20,w20,w28 // future e+=K
218 add w21,w21,w27 // e+=rot(a,5)
220 add w20,w20,w17 // future e+=X[i]
221 add w21,w21,w25 // e+=F(b,c,d)
228 add w24,w24,w28 // future e+=K
230 add w20,w20,w27 // e+=rot(a,5)
233 add w24,w24,w19 // future e+=X[i]
234 add w20,w20,w25 // e+=F(b,c,d)
241 add w23,w23,w28 // future e+=K
243 add w24,w24,w27 // e+=rot(a,5)
246 add w23,w23,w3 // future e+=X[i]
247 add w24,w24,w25 // e+=F(b,c,d)
254 add w22,w22,w28 // future e+=K
256 add w23,w23,w27 // e+=rot(a,5)
259 add w22,w22,w4 // future e+=X[i]
260 add w23,w23,w25 // e+=F(b,c,d)
267 add w21,w21,w28 // future e+=K
269 add w22,w22,w27 // e+=rot(a,5)
272 add w21,w21,w5 // future e+=X[i]
273 add w22,w22,w25 // e+=F(b,c,d)
280 add w20,w20,w28 // future e+=K
282 add w21,w21,w27 // e+=rot(a,5)
285 add w20,w20,w6 // future e+=X[i]
286 add w21,w21,w25 // e+=F(b,c,d)
289 movk w28,#0x6ed9,lsl#16
295 add w24,w24,w28 // future e+=K
297 add w20,w20,w27 // e+=rot(a,5)
300 add w24,w24,w7 // future e+=X[i]
301 add w20,w20,w25 // e+=F(b,c,d)
306 add w23,w23,w28 // future e+=K
309 add w24,w24,w27 // e+=rot(a,5)
312 add w23,w23,w8 // future e+=X[i]
313 add w24,w24,w25 // e+=F(b,c,d)
318 add w22,w22,w28 // future e+=K
321 add w23,w23,w27 // e+=rot(a,5)
324 add w22,w22,w9 // future e+=X[i]
325 add w23,w23,w25 // e+=F(b,c,d)
330 add w21,w21,w28 // future e+=K
333 add w22,w22,w27 // e+=rot(a,5)
336 add w21,w21,w10 // future e+=X[i]
337 add w22,w22,w25 // e+=F(b,c,d)
342 add w20,w20,w28 // future e+=K
345 add w21,w21,w27 // e+=rot(a,5)
348 add w20,w20,w11 // future e+=X[i]
349 add w21,w21,w25 // e+=F(b,c,d)
354 add w24,w24,w28 // future e+=K
357 add w20,w20,w27 // e+=rot(a,5)
360 add w24,w24,w12 // future e+=X[i]
361 add w20,w20,w25 // e+=F(b,c,d)
366 add w23,w23,w28 // future e+=K
369 add w24,w24,w27 // e+=rot(a,5)
372 add w23,w23,w13 // future e+=X[i]
373 add w24,w24,w25 // e+=F(b,c,d)
378 add w22,w22,w28 // future e+=K
381 add w23,w23,w27 // e+=rot(a,5)
384 add w22,w22,w14 // future e+=X[i]
385 add w23,w23,w25 // e+=F(b,c,d)
390 add w21,w21,w28 // future e+=K
393 add w22,w22,w27 // e+=rot(a,5)
396 add w21,w21,w15 // future e+=X[i]
397 add w22,w22,w25 // e+=F(b,c,d)
402 add w20,w20,w28 // future e+=K
405 add w21,w21,w27 // e+=rot(a,5)
408 add w20,w20,w16 // future e+=X[i]
409 add w21,w21,w25 // e+=F(b,c,d)
414 add w24,w24,w28 // future e+=K
417 add w20,w20,w27 // e+=rot(a,5)
420 add w24,w24,w17 // future e+=X[i]
421 add w20,w20,w25 // e+=F(b,c,d)
426 add w23,w23,w28 // future e+=K
429 add w24,w24,w27 // e+=rot(a,5)
432 add w23,w23,w19 // future e+=X[i]
433 add w24,w24,w25 // e+=F(b,c,d)
438 add w22,w22,w28 // future e+=K
441 add w23,w23,w27 // e+=rot(a,5)
444 add w22,w22,w3 // future e+=X[i]
445 add w23,w23,w25 // e+=F(b,c,d)
450 add w21,w21,w28 // future e+=K
453 add w22,w22,w27 // e+=rot(a,5)
456 add w21,w21,w4 // future e+=X[i]
457 add w22,w22,w25 // e+=F(b,c,d)
462 add w20,w20,w28 // future e+=K
465 add w21,w21,w27 // e+=rot(a,5)
468 add w20,w20,w5 // future e+=X[i]
469 add w21,w21,w25 // e+=F(b,c,d)
474 add w24,w24,w28 // future e+=K
477 add w20,w20,w27 // e+=rot(a,5)
480 add w24,w24,w6 // future e+=X[i]
481 add w20,w20,w25 // e+=F(b,c,d)
486 add w23,w23,w28 // future e+=K
489 add w24,w24,w27 // e+=rot(a,5)
492 add w23,w23,w7 // future e+=X[i]
493 add w24,w24,w25 // e+=F(b,c,d)
498 add w22,w22,w28 // future e+=K
501 add w23,w23,w27 // e+=rot(a,5)
504 add w22,w22,w8 // future e+=X[i]
505 add w23,w23,w25 // e+=F(b,c,d)
510 add w21,w21,w28 // future e+=K
513 add w22,w22,w27 // e+=rot(a,5)
516 add w21,w21,w9 // future e+=X[i]
517 add w22,w22,w25 // e+=F(b,c,d)
522 add w20,w20,w28 // future e+=K
525 add w21,w21,w27 // e+=rot(a,5)
528 add w20,w20,w10 // future e+=X[i]
529 add w21,w21,w25 // e+=F(b,c,d)
532 movk w28,#0x8f1b,lsl#16
536 add w24,w24,w28 // future e+=K
539 add w20,w20,w27 // e+=rot(a,5)
542 add w24,w24,w11 // future e+=X[i]
543 add w20,w20,w25 // e+=F(b,c,d)
550 add w23,w23,w28 // future e+=K
552 add w24,w24,w27 // e+=rot(a,5)
556 add w23,w23,w12 // future e+=X[i]
557 add w24,w24,w25 // e+=F(b,c,d)
564 add w22,w22,w28 // future e+=K
566 add w23,w23,w27 // e+=rot(a,5)
570 add w22,w22,w13 // future e+=X[i]
571 add w23,w23,w25 // e+=F(b,c,d)
578 add w21,w21,w28 // future e+=K
580 add w22,w22,w27 // e+=rot(a,5)
584 add w21,w21,w14 // future e+=X[i]
585 add w22,w22,w25 // e+=F(b,c,d)
592 add w20,w20,w28 // future e+=K
594 add w21,w21,w27 // e+=rot(a,5)
598 add w20,w20,w15 // future e+=X[i]
599 add w21,w21,w25 // e+=F(b,c,d)
606 add w24,w24,w28 // future e+=K
608 add w20,w20,w27 // e+=rot(a,5)
612 add w24,w24,w16 // future e+=X[i]
613 add w20,w20,w25 // e+=F(b,c,d)
620 add w23,w23,w28 // future e+=K
622 add w24,w24,w27 // e+=rot(a,5)
626 add w23,w23,w17 // future e+=X[i]
627 add w24,w24,w25 // e+=F(b,c,d)
634 add w22,w22,w28 // future e+=K
636 add w23,w23,w27 // e+=rot(a,5)
640 add w22,w22,w19 // future e+=X[i]
641 add w23,w23,w25 // e+=F(b,c,d)
648 add w21,w21,w28 // future e+=K
650 add w22,w22,w27 // e+=rot(a,5)
654 add w21,w21,w3 // future e+=X[i]
655 add w22,w22,w25 // e+=F(b,c,d)
662 add w20,w20,w28 // future e+=K
664 add w21,w21,w27 // e+=rot(a,5)
668 add w20,w20,w4 // future e+=X[i]
669 add w21,w21,w25 // e+=F(b,c,d)
676 add w24,w24,w28 // future e+=K
678 add w20,w20,w27 // e+=rot(a,5)
682 add w24,w24,w5 // future e+=X[i]
683 add w20,w20,w25 // e+=F(b,c,d)
690 add w23,w23,w28 // future e+=K
692 add w24,w24,w27 // e+=rot(a,5)
696 add w23,w23,w6 // future e+=X[i]
697 add w24,w24,w25 // e+=F(b,c,d)
704 add w22,w22,w28 // future e+=K
706 add w23,w23,w27 // e+=rot(a,5)
710 add w22,w22,w7 // future e+=X[i]
711 add w23,w23,w25 // e+=F(b,c,d)
718 add w21,w21,w28 // future e+=K
720 add w22,w22,w27 // e+=rot(a,5)
724 add w21,w21,w8 // future e+=X[i]
725 add w22,w22,w25 // e+=F(b,c,d)
732 add w20,w20,w28 // future e+=K
734 add w21,w21,w27 // e+=rot(a,5)
738 add w20,w20,w9 // future e+=X[i]
739 add w21,w21,w25 // e+=F(b,c,d)
746 add w24,w24,w28 // future e+=K
748 add w20,w20,w27 // e+=rot(a,5)
752 add w24,w24,w10 // future e+=X[i]
753 add w20,w20,w25 // e+=F(b,c,d)
760 add w23,w23,w28 // future e+=K
762 add w24,w24,w27 // e+=rot(a,5)
766 add w23,w23,w11 // future e+=X[i]
767 add w24,w24,w25 // e+=F(b,c,d)
774 add w22,w22,w28 // future e+=K
776 add w23,w23,w27 // e+=rot(a,5)
780 add w22,w22,w12 // future e+=X[i]
781 add w23,w23,w25 // e+=F(b,c,d)
788 add w21,w21,w28 // future e+=K
790 add w22,w22,w27 // e+=rot(a,5)
794 add w21,w21,w13 // future e+=X[i]
795 add w22,w22,w25 // e+=F(b,c,d)
802 add w20,w20,w28 // future e+=K
804 add w21,w21,w27 // e+=rot(a,5)
808 add w20,w20,w14 // future e+=X[i]
809 add w21,w21,w25 // e+=F(b,c,d)
812 movk w28,#0xca62,lsl#16
818 add w24,w24,w28 // future e+=K
820 add w20,w20,w27 // e+=rot(a,5)
824 add w24,w24,w15 // future e+=X[i]
825 add w20,w20,w25 // e+=F(b,c,d)
830 add w23,w23,w28 // future e+=K
833 add w24,w24,w27 // e+=rot(a,5)
836 add w23,w23,w16 // future e+=X[i]
837 add w24,w24,w25 // e+=F(b,c,d)
842 add w22,w22,w28 // future e+=K
845 add w23,w23,w27 // e+=rot(a,5)
848 add w22,w22,w17 // future e+=X[i]
849 add w23,w23,w25 // e+=F(b,c,d)
854 add w21,w21,w28 // future e+=K
857 add w22,w22,w27 // e+=rot(a,5)
860 add w21,w21,w19 // future e+=X[i]
861 add w22,w22,w25 // e+=F(b,c,d)
866 add w20,w20,w28 // future e+=K
869 add w21,w21,w27 // e+=rot(a,5)
872 add w20,w20,w3 // future e+=X[i]
873 add w21,w21,w25 // e+=F(b,c,d)
878 add w24,w24,w28 // future e+=K
881 add w20,w20,w27 // e+=rot(a,5)
884 add w24,w24,w4 // future e+=X[i]
885 add w20,w20,w25 // e+=F(b,c,d)
890 add w23,w23,w28 // future e+=K
893 add w24,w24,w27 // e+=rot(a,5)
896 add w23,w23,w5 // future e+=X[i]
897 add w24,w24,w25 // e+=F(b,c,d)
902 add w22,w22,w28 // future e+=K
905 add w23,w23,w27 // e+=rot(a,5)
908 add w22,w22,w6 // future e+=X[i]
909 add w23,w23,w25 // e+=F(b,c,d)
914 add w21,w21,w28 // future e+=K
917 add w22,w22,w27 // e+=rot(a,5)
920 add w21,w21,w7 // future e+=X[i]
921 add w22,w22,w25 // e+=F(b,c,d)
926 add w20,w20,w28 // future e+=K
929 add w21,w21,w27 // e+=rot(a,5)
932 add w20,w20,w8 // future e+=X[i]
933 add w21,w21,w25 // e+=F(b,c,d)
938 add w24,w24,w28 // future e+=K
941 add w20,w20,w27 // e+=rot(a,5)
944 add w24,w24,w9 // future e+=X[i]
945 add w20,w20,w25 // e+=F(b,c,d)
950 add w23,w23,w28 // future e+=K
953 add w24,w24,w27 // e+=rot(a,5)
956 add w23,w23,w10 // future e+=X[i]
957 add w24,w24,w25 // e+=F(b,c,d)
962 add w22,w22,w28 // future e+=K
965 add w23,w23,w27 // e+=rot(a,5)
968 add w22,w22,w11 // future e+=X[i]
969 add w23,w23,w25 // e+=F(b,c,d)
974 add w21,w21,w28 // future e+=K
977 add w22,w22,w27 // e+=rot(a,5)
980 add w21,w21,w12 // future e+=X[i]
981 add w22,w22,w25 // e+=F(b,c,d)
986 add w20,w20,w28 // future e+=K
989 add w21,w21,w27 // e+=rot(a,5)
992 add w20,w20,w13 // future e+=X[i]
993 add w21,w21,w25 // e+=F(b,c,d)
998 add w24,w24,w28 // future e+=K
1001 add w20,w20,w27 // e+=rot(a,5)
1004 add w24,w24,w14 // future e+=X[i]
1005 add w20,w20,w25 // e+=F(b,c,d)
1010 add w23,w23,w28 // future e+=K
1013 add w24,w24,w27 // e+=rot(a,5)
1016 add w23,w23,w15 // future e+=X[i]
1017 add w24,w24,w25 // e+=F(b,c,d)
1022 add w22,w22,w28 // future e+=K
1025 add w23,w23,w27 // e+=rot(a,5)
1028 add w22,w22,w16 // future e+=X[i]
1029 add w23,w23,w25 // e+=F(b,c,d)
1034 add w21,w21,w28 // future e+=K
1037 add w22,w22,w27 // e+=rot(a,5)
1040 add w21,w21,w17 // future e+=X[i]
1041 add w22,w22,w25 // e+=F(b,c,d)
1046 add w20,w20,w28 // future e+=K
1048 add w21,w21,w27 // e+=rot(a,5)
1050 add w20,w20,w19 // future e+=X[i]
1051 add w21,w21,w25 // e+=F(b,c,d)
1056 add w20,w20,w27 // e+=rot(a,5)
1059 add w20,w20,w25 // e+=F(b,c,d)
1070 ldp x19,x20,[sp,#16]
1071 ldp x21,x22,[sp,#32]
1072 ldp x23,x24,[sp,#48]
1073 ldp x25,x26,[sp,#64]
1074 ldp x27,x28,[sp,#80]
1077 .size sha1_block_data_order,.-sha1_block_data_order
1078 .type sha1_block_armv8,%function
1082 stp x29,x30,[sp,#-16]!
1086 eor v1.16b,v1.16b,v1.16b
1087 ld1 {v0.4s},[x0],#16
1090 ld1 {v16.4s,v17.4s,v18.4s,v19.4s},[x4]
1093 ld1 {v4.16b,v5.16b,v6.16b,v7.16b},[x1],#64
1098 add v20.4s,v16.4s,v4.4s
1100 orr v22.16b,v0.16b,v0.16b // offload
1102 add v21.4s,v16.4s,v5.4s
1104 .inst 0x5e280803 //sha1h v3.16b,v0.16b
1105 .inst 0x5e140020 //sha1c v0.16b,v1.16b,v20.4s // 0
1106 add v20.4s,v16.4s,v6.4s
1107 .inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b
1108 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 1
1109 .inst 0x5e150060 //sha1c v0.16b,v3.16b,v21.4s
1110 add v21.4s,v16.4s,v7.4s
1111 .inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b
1112 .inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b
1113 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 2
1114 .inst 0x5e140040 //sha1c v0.16b,v2.16b,v20.4s
1115 add v20.4s,v16.4s,v4.4s
1116 .inst 0x5e281885 //sha1su1 v5.16b,v4.16b
1117 .inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b
1118 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 3
1119 .inst 0x5e150060 //sha1c v0.16b,v3.16b,v21.4s
1120 add v21.4s,v17.4s,v5.4s
1121 .inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b
1122 .inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b
1123 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 4
1124 .inst 0x5e140040 //sha1c v0.16b,v2.16b,v20.4s
1125 add v20.4s,v17.4s,v6.4s
1126 .inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b
1127 .inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b
1128 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 5
1129 .inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s
1130 add v21.4s,v17.4s,v7.4s
1131 .inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b
1132 .inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b
1133 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 6
1134 .inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s
1135 add v20.4s,v17.4s,v4.4s
1136 .inst 0x5e281885 //sha1su1 v5.16b,v4.16b
1137 .inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b
1138 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 7
1139 .inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s
1140 add v21.4s,v17.4s,v5.4s
1141 .inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b
1142 .inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b
1143 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 8
1144 .inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s
1145 add v20.4s,v18.4s,v6.4s
1146 .inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b
1147 .inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b
1148 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 9
1149 .inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s
1150 add v21.4s,v18.4s,v7.4s
1151 .inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b
1152 .inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b
1153 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 10
1154 .inst 0x5e142040 //sha1m v0.16b,v2.16b,v20.4s
1155 add v20.4s,v18.4s,v4.4s
1156 .inst 0x5e281885 //sha1su1 v5.16b,v4.16b
1157 .inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b
1158 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 11
1159 .inst 0x5e152060 //sha1m v0.16b,v3.16b,v21.4s
1160 add v21.4s,v18.4s,v5.4s
1161 .inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b
1162 .inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b
1163 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 12
1164 .inst 0x5e142040 //sha1m v0.16b,v2.16b,v20.4s
1165 add v20.4s,v18.4s,v6.4s
1166 .inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b
1167 .inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b
1168 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 13
1169 .inst 0x5e152060 //sha1m v0.16b,v3.16b,v21.4s
1170 add v21.4s,v19.4s,v7.4s
1171 .inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b
1172 .inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b
1173 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 14
1174 .inst 0x5e142040 //sha1m v0.16b,v2.16b,v20.4s
1175 add v20.4s,v19.4s,v4.4s
1176 .inst 0x5e281885 //sha1su1 v5.16b,v4.16b
1177 .inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b
1178 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 15
1179 .inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s
1180 add v21.4s,v19.4s,v5.4s
1181 .inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b
1182 .inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b
1183 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 16
1184 .inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s
1185 add v20.4s,v19.4s,v6.4s
1186 .inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b
1187 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 17
1188 .inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s
1189 add v21.4s,v19.4s,v7.4s
1191 .inst 0x5e280803 //sha1h v3.16b,v0.16b // 18
1192 .inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s
1194 .inst 0x5e280802 //sha1h v2.16b,v0.16b // 19
1195 .inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s
1197 add v1.4s,v1.4s,v2.4s
1198 add v0.4s,v0.4s,v22.4s
1202 st1 {v0.4s},[x0],#16
1207 .size sha1_block_armv8,.-sha1_block_armv8
1210 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 //K_00_19
1211 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 //K_20_39
1212 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc //K_40_59
1213 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 //K_60_79
1216 .long OPENSSL_armcap_P-.
1218 .quad OPENSSL_armcap_P-.
1220 .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1223 .comm OPENSSL_armcap_P,4,4