Lines Matching +full:0 +full:- +full:64

1 /* Do not modify. This file is auto-generated from sha512-armv4.pl. */
2 @ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
22 @ by gcc 3.4 and it spends ~72 clock cycles per byte [on single-issue
27 @ Rescheduling for dual-issue pipeline resulted in 6% improvement on
32 @ Profiler-assisted and platform-specific optimization resulted in 7%
38 @ one byte in 23.3 cycles or ~60% faster than integer-only code.
44 @ Technical writers asserted that 3-way S4 pipeline can sustain
46 @ not be observed, see http://www.openssl.org/~appro/Snapdragon-S4.html
47 @ for further details. On side note Cortex-A15 processes one byte in
53 @ h[0-7], namely with most significant dword at *lower* address, which
54 @ was reflected in below two parameters as 0 and 4. Now caller is
55 @ expected to maintain native byte order for whole 64-bit values.
58 # define VFP_ABI_PUSH vstmdb sp!,{d8-d15}
59 # define VFP_ABI_POP vldmia sp!,{d8-d15}
68 # define LO 0
72 # define HI 0
90 WORD64(0x428a2f98,0xd728ae22, 0x71374491,0x23ef65cd)
91 WORD64(0xb5c0fbcf,0xec4d3b2f, 0xe9b5dba5,0x8189dbbc)
92 WORD64(0x3956c25b,0xf348b538, 0x59f111f1,0xb605d019)
93 WORD64(0x923f82a4,0xaf194f9b, 0xab1c5ed5,0xda6d8118)
94 WORD64(0xd807aa98,0xa3030242, 0x12835b01,0x45706fbe)
95 WORD64(0x243185be,0x4ee4b28c, 0x550c7dc3,0xd5ffb4e2)
96 WORD64(0x72be5d74,0xf27b896f, 0x80deb1fe,0x3b1696b1)
97 WORD64(0x9bdc06a7,0x25c71235, 0xc19bf174,0xcf692694)
98 WORD64(0xe49b69c1,0x9ef14ad2, 0xefbe4786,0x384f25e3)
99 WORD64(0x0fc19dc6,0x8b8cd5b5, 0x240ca1cc,0x77ac9c65)
100 WORD64(0x2de92c6f,0x592b0275, 0x4a7484aa,0x6ea6e483)
101 WORD64(0x5cb0a9dc,0xbd41fbd4, 0x76f988da,0x831153b5)
102 WORD64(0x983e5152,0xee66dfab, 0xa831c66d,0x2db43210)
103 WORD64(0xb00327c8,0x98fb213f, 0xbf597fc7,0xbeef0ee4)
104 WORD64(0xc6e00bf3,0x3da88fc2, 0xd5a79147,0x930aa725)
105 WORD64(0x06ca6351,0xe003826f, 0x14292967,0x0a0e6e70)
106 WORD64(0x27b70a85,0x46d22ffc, 0x2e1b2138,0x5c26c926)
107 WORD64(0x4d2c6dfc,0x5ac42aed, 0x53380d13,0x9d95b3df)
108 WORD64(0x650a7354,0x8baf63de, 0x766a0abb,0x3c77b2a8)
109 WORD64(0x81c2c92e,0x47edaee6, 0x92722c85,0x1482353b)
110 WORD64(0xa2bfe8a1,0x4cf10364, 0xa81a664b,0xbc423001)
111 WORD64(0xc24b8b70,0xd0f89791, 0xc76c51a3,0x0654be30)
112 WORD64(0xd192e819,0xd6ef5218, 0xd6990624,0x5565a910)
113 WORD64(0xf40e3585,0x5771202a, 0x106aa070,0x32bbd1b8)
114 WORD64(0x19a4c116,0xb8d2d0c8, 0x1e376c08,0x5141ab53)
115 WORD64(0x2748774c,0xdf8eeb99, 0x34b0bcb5,0xe19b48a8)
116 WORD64(0x391c0cb3,0xc5c95a63, 0x4ed8aa4a,0xe3418acb)
117 WORD64(0x5b9cca4f,0x7763e373, 0x682e6ff3,0xd6b2b8a3)
118 WORD64(0x748f82ee,0x5defb2fc, 0x78a5636f,0x43172f60)
119 WORD64(0x84c87814,0xa1f0ab72, 0x8cc70208,0x1a6439ec)
120 WORD64(0x90befffa,0x23631e28, 0xa4506ceb,0xde82bde9)
121 WORD64(0xbef9a3f7,0xb2c67915, 0xc67178f2,0xe372532b)
122 WORD64(0xca273ece,0xea26619c, 0xd186b8c7,0x21c0c207)
123 WORD64(0xeada7dd6,0xcde0eb1e, 0xf57d4f7f,0xee6ed178)
124 WORD64(0x06f067aa,0x72176fba, 0x0a637dc5,0xa2c898a6)
125 WORD64(0x113f9804,0xbef90dae, 0x1b710b35,0x131c471b)
126 WORD64(0x28db77f5,0x23047d84, 0x32caab7b,0x40c72493)
127 WORD64(0x3c9ebe0a,0x15c9bebc, 0x431d67c4,0x9c100d4c)
128 WORD64(0x4cc5d4be,0xcb3e42b6, 0x597f299c,0xfc657e2a)
129 WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817)
130 .size K512,.-K512
136 .word OPENSSL_armcap_P-.Lsha512_block_data_order
138 .skip 32-4
175 str r9, [sp,#48+0]
177 str r11, [sp,#56+0]
179 ldr r5,[r0,#0+LO]
180 ldr r6,[r0,#0+HI]
187 str r3,[sp,#8+0]
189 str r9, [sp,#16+0]
191 str r11, [sp,#24+0]
195 str r3,[sp,#40+0]
226 str r3,[sp,#64+0]
228 str r4,[sp,#64+4]
230 ldr r11,[sp,#56+0] @ h.lo
242 ldr r9,[sp,#40+0] @ f.lo
246 ldr r11,[sp,#48+0] @ g.lo
251 str r7,[sp,#32+0]
255 str r5,[sp,#0+0]
257 str r6,[sp,#0+4]
264 ldr r7,[sp,#24+0] @ d.lo
268 and r9,r11,#0xff
271 ldr r11,[sp,#8+0] @ b.lo
275 ldr r12,[sp,#16+0] @ c.lo
315 ldr r9,[sp,#184+0]
323 ldr r11,[sp,#80+0]
349 ldr r11,[sp,#120+0]
354 ldr r9,[sp,#192+0]
366 str r3,[sp,#64+0]
368 str r4,[sp,#64+4]
370 ldr r11,[sp,#56+0] @ h.lo
382 ldr r9,[sp,#40+0] @ f.lo
386 ldr r11,[sp,#48+0] @ g.lo
391 str r7,[sp,#32+0]
395 str r5,[sp,#0+0]
397 str r6,[sp,#0+4]
404 ldr r7,[sp,#24+0] @ d.lo
408 and r9,r11,#0xff
411 ldr r11,[sp,#8+0] @ b.lo
415 ldr r12,[sp,#16+0] @ c.lo
456 ldreq r9,[sp,#184+0]
461 ldr r3,[sp,#8+0]
463 ldr r9, [r0,#0+LO]
464 ldr r10, [r0,#0+HI]
468 str r9, [r0,#0+LO]
470 str r10, [r0,#0+HI]
476 ldr r5,[sp,#16+0]
478 ldr r3,[sp,#24+0]
493 ldr r3,[sp,#40+0]
508 ldr r5,[sp,#48+0]
510 ldr r3,[sp,#56+0]
538 .word 0xe12fff1e @ interoperable with Thumb ISA:-)
540 .size sha512_block_data_order,.-sha512_block_data_order
542 .arch armv7-a
556 vshr.u64 d24,d20,#14 @ 0
557 #if 0<16
558 vld1.64 {d0},[r1]! @ handles unaligned
561 #if 0>0
565 vld1.64 {d28},[r3,:64]! @ K[i++]
566 vsli.64 d24,d20,#50
567 vsli.64 d25,d20,#46
569 vsli.64 d26,d20,#23
570 #if 0<16 && defined(__ARMEL__)
579 vsli.64 d24,d16,#36
583 vsli.64 d25,d16,#30
585 vsli.64 d26,d16,#25
595 vld1.64 {d1},[r1]! @ handles unaligned
598 #if 1>0
602 vld1.64 {d28},[r3,:64]! @ K[i++]
603 vsli.64 d24,d19,#50
604 vsli.64 d25,d19,#46
606 vsli.64 d26,d19,#23
616 vsli.64 d24,d23,#36
620 vsli.64 d25,d23,#30
622 vsli.64 d26,d23,#25
632 vld1.64 {d2},[r1]! @ handles unaligned
635 #if 2>0
639 vld1.64 {d28},[r3,:64]! @ K[i++]
640 vsli.64 d24,d18,#50
641 vsli.64 d25,d18,#46
643 vsli.64 d26,d18,#23
653 vsli.64 d24,d22,#36
657 vsli.64 d25,d22,#30
659 vsli.64 d26,d22,#25
669 vld1.64 {d3},[r1]! @ handles unaligned
672 #if 3>0
676 vld1.64 {d28},[r3,:64]! @ K[i++]
677 vsli.64 d24,d17,#50
678 vsli.64 d25,d17,#46
680 vsli.64 d26,d17,#23
690 vsli.64 d24,d21,#36
694 vsli.64 d25,d21,#30
696 vsli.64 d26,d21,#25
706 vld1.64 {d4},[r1]! @ handles unaligned
709 #if 4>0
713 vld1.64 {d28},[r3,:64]! @ K[i++]
714 vsli.64 d24,d16,#50
715 vsli.64 d25,d16,#46
717 vsli.64 d26,d16,#23
727 vsli.64 d24,d20,#36
731 vsli.64 d25,d20,#30
733 vsli.64 d26,d20,#25
743 vld1.64 {d5},[r1]! @ handles unaligned
746 #if 5>0
750 vld1.64 {d28},[r3,:64]! @ K[i++]
751 vsli.64 d24,d23,#50
752 vsli.64 d25,d23,#46
754 vsli.64 d26,d23,#23
764 vsli.64 d24,d19,#36
768 vsli.64 d25,d19,#30
770 vsli.64 d26,d19,#25
780 vld1.64 {d6},[r1]! @ handles unaligned
783 #if 6>0
787 vld1.64 {d28},[r3,:64]! @ K[i++]
788 vsli.64 d24,d22,#50
789 vsli.64 d25,d22,#46
791 vsli.64 d26,d22,#23
801 vsli.64 d24,d18,#36
805 vsli.64 d25,d18,#30
807 vsli.64 d26,d18,#25
817 vld1.64 {d7},[r1]! @ handles unaligned
820 #if 7>0
824 vld1.64 {d28},[r3,:64]! @ K[i++]
825 vsli.64 d24,d21,#50
826 vsli.64 d25,d21,#46
828 vsli.64 d26,d21,#23
838 vsli.64 d24,d17,#36
842 vsli.64 d25,d17,#30
844 vsli.64 d26,d17,#25
854 vld1.64 {d8},[r1]! @ handles unaligned
857 #if 8>0
861 vld1.64 {d28},[r3,:64]! @ K[i++]
862 vsli.64 d24,d20,#50
863 vsli.64 d25,d20,#46
865 vsli.64 d26,d20,#23
875 vsli.64 d24,d16,#36
879 vsli.64 d25,d16,#30
881 vsli.64 d26,d16,#25
891 vld1.64 {d9},[r1]! @ handles unaligned
894 #if 9>0
898 vld1.64 {d28},[r3,:64]! @ K[i++]
899 vsli.64 d24,d19,#50
900 vsli.64 d25,d19,#46
902 vsli.64 d26,d19,#23
912 vsli.64 d24,d23,#36
916 vsli.64 d25,d23,#30
918 vsli.64 d26,d23,#25
928 vld1.64 {d10},[r1]! @ handles unaligned
931 #if 10>0
935 vld1.64 {d28},[r3,:64]! @ K[i++]
936 vsli.64 d24,d18,#50
937 vsli.64 d25,d18,#46
939 vsli.64 d26,d18,#23
949 vsli.64 d24,d22,#36
953 vsli.64 d25,d22,#30
955 vsli.64 d26,d22,#25
965 vld1.64 {d11},[r1]! @ handles unaligned
968 #if 11>0
972 vld1.64 {d28},[r3,:64]! @ K[i++]
973 vsli.64 d24,d17,#50
974 vsli.64 d25,d17,#46
976 vsli.64 d26,d17,#23
986 vsli.64 d24,d21,#36
990 vsli.64 d25,d21,#30
992 vsli.64 d26,d21,#25
1002 vld1.64 {d12},[r1]! @ handles unaligned
1005 #if 12>0
1009 vld1.64 {d28},[r3,:64]! @ K[i++]
1010 vsli.64 d24,d16,#50
1011 vsli.64 d25,d16,#46
1013 vsli.64 d26,d16,#23
1023 vsli.64 d24,d20,#36
1027 vsli.64 d25,d20,#30
1029 vsli.64 d26,d20,#25
1039 vld1.64 {d13},[r1]! @ handles unaligned
1042 #if 13>0
1046 vld1.64 {d28},[r3,:64]! @ K[i++]
1047 vsli.64 d24,d23,#50
1048 vsli.64 d25,d23,#46
1050 vsli.64 d26,d23,#23
1060 vsli.64 d24,d19,#36
1064 vsli.64 d25,d19,#30
1066 vsli.64 d26,d19,#25
1076 vld1.64 {d14},[r1]! @ handles unaligned
1079 #if 14>0
1083 vld1.64 {d28},[r3,:64]! @ K[i++]
1084 vsli.64 d24,d22,#50
1085 vsli.64 d25,d22,#46
1087 vsli.64 d26,d22,#23
1097 vsli.64 d24,d18,#36
1101 vsli.64 d25,d18,#30
1103 vsli.64 d26,d18,#25
1113 vld1.64 {d15},[r1]! @ handles unaligned
1116 #if 15>0
1120 vld1.64 {d28},[r3,:64]! @ K[i++]
1121 vsli.64 d24,d21,#50
1122 vsli.64 d25,d21,#46
1124 vsli.64 d26,d21,#23
1134 vsli.64 d24,d17,#36
1138 vsli.64 d25,d17,#30
1140 vsli.64 d26,d17,#25
1155 vsli.64 q12,q7,#45
1157 vsli.64 q13,q7,#3
1164 vsli.64 q12,q14,#63
1165 vsli.64 q13,q14,#56
1174 vld1.64 {d28},[r3,:64]! @ K[i++]
1175 vsli.64 d24,d20,#50
1176 vsli.64 d25,d20,#46
1178 vsli.64 d26,d20,#23
1188 vsli.64 d24,d16,#36
1192 vsli.64 d25,d16,#30
1194 vsli.64 d26,d16,#25
1204 vld1.64 {d1},[r1]! @ handles unaligned
1207 #if 17>0
1211 vld1.64 {d28},[r3,:64]! @ K[i++]
1212 vsli.64 d24,d19,#50
1213 vsli.64 d25,d19,#46
1215 vsli.64 d26,d19,#23
1225 vsli.64 d24,d23,#36
1229 vsli.64 d25,d23,#30
1231 vsli.64 d26,d23,#25
1243 vsli.64 q12,q0,#45
1245 vsli.64 q13,q0,#3
1252 vsli.64 q12,q14,#63
1253 vsli.64 q13,q14,#56
1262 vld1.64 {d28},[r3,:64]! @ K[i++]
1263 vsli.64 d24,d18,#50
1264 vsli.64 d25,d18,#46
1266 vsli.64 d26,d18,#23
1276 vsli.64 d24,d22,#36
1280 vsli.64 d25,d22,#30
1282 vsli.64 d26,d22,#25
1292 vld1.64 {d3},[r1]! @ handles unaligned
1295 #if 19>0
1299 vld1.64 {d28},[r3,:64]! @ K[i++]
1300 vsli.64 d24,d17,#50
1301 vsli.64 d25,d17,#46
1303 vsli.64 d26,d17,#23
1313 vsli.64 d24,d21,#36
1317 vsli.64 d25,d21,#30
1319 vsli.64 d26,d21,#25
1331 vsli.64 q12,q1,#45
1333 vsli.64 q13,q1,#3
1340 vsli.64 q12,q14,#63
1341 vsli.64 q13,q14,#56
1350 vld1.64 {d28},[r3,:64]! @ K[i++]
1351 vsli.64 d24,d16,#50
1352 vsli.64 d25,d16,#46
1354 vsli.64 d26,d16,#23
1364 vsli.64 d24,d20,#36
1368 vsli.64 d25,d20,#30
1370 vsli.64 d26,d20,#25
1380 vld1.64 {d5},[r1]! @ handles unaligned
1383 #if 21>0
1387 vld1.64 {d28},[r3,:64]! @ K[i++]
1388 vsli.64 d24,d23,#50
1389 vsli.64 d25,d23,#46
1391 vsli.64 d26,d23,#23
1401 vsli.64 d24,d19,#36
1405 vsli.64 d25,d19,#30
1407 vsli.64 d26,d19,#25
1419 vsli.64 q12,q2,#45
1421 vsli.64 q13,q2,#3
1428 vsli.64 q12,q14,#63
1429 vsli.64 q13,q14,#56
1438 vld1.64 {d28},[r3,:64]! @ K[i++]
1439 vsli.64 d24,d22,#50
1440 vsli.64 d25,d22,#46
1442 vsli.64 d26,d22,#23
1452 vsli.64 d24,d18,#36
1456 vsli.64 d25,d18,#30
1458 vsli.64 d26,d18,#25
1468 vld1.64 {d7},[r1]! @ handles unaligned
1471 #if 23>0
1475 vld1.64 {d28},[r3,:64]! @ K[i++]
1476 vsli.64 d24,d21,#50
1477 vsli.64 d25,d21,#46
1479 vsli.64 d26,d21,#23
1489 vsli.64 d24,d17,#36
1493 vsli.64 d25,d17,#30
1495 vsli.64 d26,d17,#25
1507 vsli.64 q12,q3,#45
1509 vsli.64 q13,q3,#3
1516 vsli.64 q12,q14,#63
1517 vsli.64 q13,q14,#56
1526 vld1.64 {d28},[r3,:64]! @ K[i++]
1527 vsli.64 d24,d20,#50
1528 vsli.64 d25,d20,#46
1530 vsli.64 d26,d20,#23
1540 vsli.64 d24,d16,#36
1544 vsli.64 d25,d16,#30
1546 vsli.64 d26,d16,#25
1556 vld1.64 {d9},[r1]! @ handles unaligned
1559 #if 25>0
1563 vld1.64 {d28},[r3,:64]! @ K[i++]
1564 vsli.64 d24,d19,#50
1565 vsli.64 d25,d19,#46
1567 vsli.64 d26,d19,#23
1577 vsli.64 d24,d23,#36
1581 vsli.64 d25,d23,#30
1583 vsli.64 d26,d23,#25
1595 vsli.64 q12,q4,#45
1597 vsli.64 q13,q4,#3
1604 vsli.64 q12,q14,#63
1605 vsli.64 q13,q14,#56
1614 vld1.64 {d28},[r3,:64]! @ K[i++]
1615 vsli.64 d24,d18,#50
1616 vsli.64 d25,d18,#46
1618 vsli.64 d26,d18,#23
1628 vsli.64 d24,d22,#36
1632 vsli.64 d25,d22,#30
1634 vsli.64 d26,d22,#25
1644 vld1.64 {d11},[r1]! @ handles unaligned
1647 #if 27>0
1651 vld1.64 {d28},[r3,:64]! @ K[i++]
1652 vsli.64 d24,d17,#50
1653 vsli.64 d25,d17,#46
1655 vsli.64 d26,d17,#23
1665 vsli.64 d24,d21,#36
1669 vsli.64 d25,d21,#30
1671 vsli.64 d26,d21,#25
1683 vsli.64 q12,q5,#45
1685 vsli.64 q13,q5,#3
1692 vsli.64 q12,q14,#63
1693 vsli.64 q13,q14,#56
1702 vld1.64 {d28},[r3,:64]! @ K[i++]
1703 vsli.64 d24,d16,#50
1704 vsli.64 d25,d16,#46
1706 vsli.64 d26,d16,#23
1716 vsli.64 d24,d20,#36
1720 vsli.64 d25,d20,#30
1722 vsli.64 d26,d20,#25
1732 vld1.64 {d13},[r1]! @ handles unaligned
1735 #if 29>0
1739 vld1.64 {d28},[r3,:64]! @ K[i++]
1740 vsli.64 d24,d23,#50
1741 vsli.64 d25,d23,#46
1743 vsli.64 d26,d23,#23
1753 vsli.64 d24,d19,#36
1757 vsli.64 d25,d19,#30
1759 vsli.64 d26,d19,#25
1771 vsli.64 q12,q6,#45
1773 vsli.64 q13,q6,#3
1780 vsli.64 q12,q14,#63
1781 vsli.64 q13,q14,#56
1790 vld1.64 {d28},[r3,:64]! @ K[i++]
1791 vsli.64 d24,d22,#50
1792 vsli.64 d25,d22,#46
1794 vsli.64 d26,d22,#23
1804 vsli.64 d24,d18,#36
1808 vsli.64 d25,d18,#30
1810 vsli.64 d26,d18,#25
1820 vld1.64 {d15},[r1]! @ handles unaligned
1823 #if 31>0
1827 vld1.64 {d28},[r3,:64]! @ K[i++]
1828 vsli.64 d24,d21,#50
1829 vsli.64 d25,d21,#46
1831 vsli.64 d26,d21,#23
1841 vsli.64 d24,d17,#36
1845 vsli.64 d25,d17,#30
1847 vsli.64 d26,d17,#25
1869 bx lr @ .word 0xe12fff1e
1870 .size sha512_block_data_order_neon,.-sha512_block_data_order_neon
1872 …,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,6…