Lines Matching +full:1 +full:- +full:v0

1 /* Do not modify. This file is auto-generated from aesv8-armx.pl. */
5 .arch armv8-a+crypto
10 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d // rotate-n-splat
19 // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
20 stp x29,x30,[sp,#-16]!
22 mov x3,#-1
27 mov x3,#-2
38 eor v0.16b,v0.16b,v0.16b
50 ext v5.16b,v0.16b,v3.16b,#12
52 aese v6.16b,v0.16b
53 subs w1,w1,#1
56 ext v5.16b,v0.16b,v5.16b,#12
58 ext v5.16b,v0.16b,v5.16b,#12
61 shl v1.16b,v1.16b,#1
68 ext v5.16b,v0.16b,v3.16b,#12
70 aese v6.16b,v0.16b
73 ext v5.16b,v0.16b,v5.16b,#12
75 ext v5.16b,v0.16b,v5.16b,#12
78 shl v1.16b,v1.16b,#1
82 ext v5.16b,v0.16b,v3.16b,#12
84 aese v6.16b,v0.16b
87 ext v5.16b,v0.16b,v5.16b,#12
89 ext v5.16b,v0.16b,v5.16b,#12
108 ext v5.16b,v0.16b,v3.16b,#12
115 aese v6.16b,v0.16b
116 subs w1,w1,#1
119 ext v5.16b,v0.16b,v5.16b,#12
121 ext v5.16b,v0.16b,v5.16b,#12
127 ext v4.16b,v0.16b,v4.16b,#12
128 shl v1.16b,v1.16b,#1
148 ext v5.16b,v0.16b,v3.16b,#12
150 aese v6.16b,v0.16b
151 subs w1,w1,#1
154 ext v5.16b,v0.16b,v5.16b,#12
156 ext v5.16b,v0.16b,v5.16b,#12
159 shl v1.16b,v1.16b,#1
165 ext v5.16b,v0.16b,v4.16b,#12
166 aese v6.16b,v0.16b
169 ext v5.16b,v0.16b,v5.16b,#12
171 ext v5.16b,v0.16b,v5.16b,#12
185 .size aes_v8_set_encrypt_key,.-aes_v8_set_encrypt_key
192 stp x29,x30,[sp,#-16]!
200 mov x4,#-16
203 ld1 {v0.4s},[x2]
205 st1 {v0.4s},[x0],x4
209 ld1 {v0.4s},[x2]
211 aesimc v0.16b,v0.16b
213 st1 {v0.4s},[x0],x4
218 ld1 {v0.4s},[x2]
219 aesimc v0.16b,v0.16b
220 st1 {v0.4s},[x0]
227 .size aes_v8_set_decrypt_key,.-aes_v8_set_decrypt_key
234 ld1 {v0.4s},[x2],#16
240 aese v2.16b,v0.16b
242 ld1 {v0.4s},[x2],#16
249 aese v2.16b,v0.16b
251 ld1 {v0.4s},[x2]
253 eor v2.16b,v2.16b,v0.16b
257 .size aes_v8_encrypt,.-aes_v8_encrypt
264 ld1 {v0.4s},[x2],#16
270 aesd v2.16b,v0.16b
272 ld1 {v0.4s},[x2],#16
279 aesd v2.16b,v0.16b
281 ld1 {v0.4s},[x2]
283 eor v2.16b,v2.16b,v0.16b
287 .size aes_v8_decrypt,.-aes_v8_decrypt
296 ld1 {v0.16b},[x0]
297 cmp w4,#0 // en- or decrypting?
302 aese v0.16b,v5.16b
303 aesmc v0.16b,v0.16b
305 aese v0.16b,v6.16b
306 aesmc v0.16b,v0.16b
307 subs w5,w5,#10 // if rounds==10, jump to aes-128-ecb processing
310 aese v0.16b,v16.16b
311 aesmc v0.16b,v0.16b
313 aese v0.16b,v17.16b
314 aesmc v0.16b,v0.16b
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]
342 aesd v0.16b,v5.16b
343 aesimc v0.16b,v0.16b
345 aesd v0.16b,v6.16b
346 aesimc v0.16b,v0.16b
350 aesd v0.16b,v16.16b
351 aesimc v0.16b,v0.16b
353 aesd v0.16b,v17.16b
354 aesimc v0.16b,v0.16b
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]
382 stp x29,x30,[sp,#-16]!
388 cmp w4,#0 // en- or decrypting?
390 and x2,x2,#-16
391 ld1 {v0.16b},[x0],x8
411 orr v1.16b,v0.16b,v0.16b
425 aese v0.16b,v16.16b
426 aesmc v0.16b,v0.16b
437 aese v0.16b,v17.16b
438 aesmc v0.16b,v0.16b
450 aese v0.16b,v16.16b
451 aesmc v0.16b,v0.16b
463 aese v0.16b,v17.16b
464 aesmc v0.16b,v0.16b
476 aese v0.16b,v18.16b
477 aesmc v0.16b,v0.16b
487 // at exit from the loop v1.16b-v26.16b
491 aese v0.16b,v19.16b
492 aesmc v0.16b,v0.16b
502 aese v0.16b,v20.16b
503 aesmc v0.16b,v0.16b
513 aese v0.16b,v21.16b
514 aesmc v0.16b,v0.16b
524 aese v0.16b,v22.16b
525 aesmc v0.16b,v0.16b
535 aese v0.16b,v23.16b
546 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
547 eor v4.16b,v7.16b,v0.16b
548 orr v0.16b,v2.16b,v2.16b
561 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
571 orr v0.16b,v27.16b,v27.16b
592 aese v0.16b,v16.16b
593 aesmc v0.16b,v0.16b
600 aese v0.16b,v17.16b
601 aesmc v0.16b,v0.16b
609 aese v0.16b,v16.16b
610 aesmc v0.16b,v0.16b
617 aese v0.16b,v17.16b
618 aesmc v0.16b,v0.16b
624 // at exit from the loop v1.16b-v24.16b
627 aese v0.16b,v20.16b
628 aesmc v0.16b,v0.16b
634 aese v0.16b,v21.16b
635 aesmc v0.16b,v0.16b
641 aese v0.16b,v22.16b
642 aesmc v0.16b,v0.16b
648 aese v0.16b,v23.16b
651 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
653 eor v4.16b,v7.16b,v0.16b
656 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
658 orr v0.16b,v2.16b,v2.16b
724 orr v1.16b,v0.16b,v0.16b
738 aesd v0.16b,v16.16b
739 aesimc v0.16b,v0.16b
750 aesd v0.16b,v17.16b
751 aesimc v0.16b,v0.16b
763 aesd v0.16b,v16.16b
764 aesimc v0.16b,v0.16b
776 aesd v0.16b,v17.16b
777 aesimc v0.16b,v0.16b
789 aesd v0.16b,v18.16b
790 aesimc v0.16b,v0.16b
800 // at exit from the loop v1.16b-v26.16b
804 aesd v0.16b,v19.16b
805 aesimc v0.16b,v0.16b
815 aesd v0.16b,v20.16b
816 aesimc v0.16b,v0.16b
826 aesd v0.16b,v21.16b
827 aesimc v0.16b,v0.16b
837 aesd v0.16b,v22.16b
838 aesimc v0.16b,v0.16b
848 aesd v0.16b,v23.16b
859 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
860 eor v4.16b,v7.16b,v0.16b
861 orr v0.16b,v2.16b,v2.16b
874 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
884 orr v0.16b,v27.16b,v27.16b
905 aesd v0.16b,v16.16b
906 aesimc v0.16b,v0.16b
913 aesd v0.16b,v17.16b
914 aesimc v0.16b,v0.16b
922 aesd v0.16b,v16.16b
923 aesimc v0.16b,v0.16b
930 aesd v0.16b,v17.16b
931 aesimc v0.16b,v0.16b
937 // at exit from the loop v1.16b-v24.16b
940 aesd v0.16b,v20.16b
941 aesimc v0.16b,v0.16b
947 aesd v0.16b,v21.16b
948 aesimc v0.16b,v0.16b
954 aesd v0.16b,v22.16b
955 aesimc v0.16b,v0.16b
961 aesd v0.16b,v23.16b
964 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
966 eor v4.16b,v7.16b,v0.16b
969 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
971 orr v0.16b,v2.16b,v2.16b
1034 .size aes_v8_ecb_encrypt,.-aes_v8_ecb_encrypt
1040 // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1041 stp x29,x30,[sp,#-16]!
1048 cmp w5,#0 // en- or decrypting?
1050 and x2,x2,#-16
1052 ld1 {v0.16b},[x0],x8
1068 eor v0.16b,v0.16b,v6.16b
1076 aese v0.16b,v16.16b
1077 aesmc v0.16b,v0.16b
1084 aese v0.16b,v16.16b
1085 aesmc v0.16b,v0.16b
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
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
1119 aese v0.16b,v20.16b
1120 aesmc v0.16b,v0.16b
1122 aese v0.16b,v21.16b
1123 aesmc v0.16b,v0.16b
1124 ld1 {v17.4s},[x7] // re-pre-load rndkey[1]
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
1137 aese v0.16b,v16.16b
1138 aesmc v0.16b,v0.16b
1141 aese v0.16b,v16.16b
1142 aesmc v0.16b,v0.16b
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
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
1165 aese v0.16b,v23.16b
1166 eor v6.16b,v0.16b,v7.16b
1176 orr v3.16b,v0.16b,v0.16b
1177 orr v1.16b,v0.16b,v0.16b
1183 orr v2.16b,v0.16b,v0.16b
1197 aesd v0.16b,v16.16b
1198 aesimc v0.16b,v0.16b
1209 aesd v0.16b,v17.16b
1210 aesimc v0.16b,v0.16b
1222 aesd v0.16b,v16.16b
1223 aesimc v0.16b,v0.16b
1235 aesd v0.16b,v17.16b
1236 aesimc v0.16b,v0.16b
1248 aesd v0.16b,v18.16b
1249 aesimc v0.16b,v0.16b
1259 // at exit from the loop v1.16b-v26.16b
1263 aesd v0.16b,v19.16b
1264 aesimc v0.16b,v0.16b
1274 aesd v0.16b,v20.16b
1275 aesimc v0.16b,v0.16b
1285 aesd v0.16b,v21.16b
1286 aesimc v0.16b,v0.16b
1296 aesd v0.16b,v22.16b
1297 aesimc v0.16b,v0.16b
1308 aesd v0.16b,v23.16b
1324 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
1325 eor v4.16b,v4.16b,v0.16b
1326 orr v0.16b,v2.16b,v2.16b
1339 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
1349 orr v0.16b,v27.16b,v27.16b
1373 aesd v0.16b,v16.16b
1374 aesimc v0.16b,v0.16b
1381 aesd v0.16b,v17.16b
1382 aesimc v0.16b,v0.16b
1390 aesd v0.16b,v16.16b
1391 aesimc v0.16b,v0.16b
1400 aesd v0.16b,v17.16b
1401 aesimc v0.16b,v0.16b
1408 // at exit from the loop v1.16b-v24.16b
1412 aesd v0.16b,v20.16b
1413 aesimc v0.16b,v0.16b
1419 aesd v0.16b,v21.16b
1420 aesimc v0.16b,v0.16b
1426 aesd v0.16b,v22.16b
1427 aesimc v0.16b,v0.16b
1433 aesd v0.16b,v23.16b
1436 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
1438 eor v4.16b,v4.16b,v0.16b
1441 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
1443 orr v0.16b,v2.16b,v2.16b
1511 .size aes_v8_cbc_encrypt,.-aes_v8_cbc_encrypt
1517 // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1518 stp x29,x30,[sp,#-16]!
1524 ld1 {v0.16b},[x4]
1526 ld1 {v0.4s},[x4]
1543 orr v1.16b,v0.16b,v0.16b
1544 add w10, w8, #1
1545 orr v18.16b,v0.16b,v0.16b
1547 orr v6.16b,v0.16b,v0.16b
1557 add w13,w8,#1
1559 orr v24.16b,v0.16b,v0.16b
1561 orr v25.16b,v0.16b,v0.16b
1571 aese v0.16b,v16.16b
1572 aesmc v0.16b,v0.16b
1583 aese v0.16b,v17.16b
1584 aesmc v0.16b,v0.16b
1597 aese v0.16b,v16.16b
1598 aesmc v0.16b,v0.16b
1607 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
1609 aese v0.16b,v17.16b
1610 aesmc v0.16b,v0.16b
1619 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
1621 aese v0.16b,v20.16b
1622 aesmc v0.16b,v0.16b
1623 add w9,w8,#1
1642 aese v0.16b,v21.16b
1643 aesmc v0.16b,v0.16b
1653 aese v0.16b,v22.16b
1654 aesmc v0.16b,v0.16b
1669 aese v0.16b,v23.16b
1680 eor v2.16b,v2.16b,v0.16b
1681 orr v0.16b,v6.16b,v6.16b
1692 mov v0.s[3],w9
1723 aese v0.16b,v16.16b
1724 aesmc v0.16b,v0.16b
1731 aese v0.16b,v17.16b
1732 aesmc v0.16b,v0.16b
1740 aese v0.16b,v16.16b
1741 aesmc v4.16b,v0.16b
1745 orr v0.16b,v6.16b,v6.16b
1759 add w9,w8,#1
1778 mov v0.s[3], w9
1795 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
1801 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
1807 cmp x2,#1
1812 aese v0.16b,v16.16b
1813 aesmc v0.16b,v0.16b
1818 aese v0.16b,v17.16b
1819 aesmc v0.16b,v0.16b
1825 aese v0.16b,v16.16b
1826 aesmc v0.16b,v0.16b
1829 aese v0.16b,v17.16b
1830 aesmc v0.16b,v0.16b
1834 aese v0.16b,v20.16b
1835 aesmc v0.16b,v0.16b
1839 aese v0.16b,v21.16b
1840 aesmc v0.16b,v0.16b
1844 aese v0.16b,v22.16b
1845 aesmc v0.16b,v0.16b
1849 aese v0.16b,v23.16b
1852 cmp x2,#1
1853 eor v2.16b,v2.16b,v0.16b
1862 .size aes_v8_ctr32_encrypt_blocks,.-aes_v8_ctr32_encrypt_blocks
1873 ld1 {v0.4s},[x4],#16
1879 aese v6.16b,v0.16b
1881 ld1 {v0.4s},[x4],#16
1888 aese v6.16b,v0.16b
1890 ld1 {v0.4s},[x4]
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
1905 subs w6,w6,#10 // if rounds==10, jump to aes-128-xts processing
1908 aese v0.16b,v16.16b
1909 aesmc v0.16b,v0.16b
1911 aese v0.16b,v17.16b
1912 aesmc v0.16b,v0.16b
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]
1943 stp x19,x20,[sp,#-64]!
1950 and x2,x2,#-16
1958 ld1 {v0.4s},[x4],#16
1964 aese v6.16b,v0.16b
1966 ld1 {v0.4s},[x4],#16
1973 aese v6.16b,v0.16b
1975 ld1 {v0.4s},[x4]
1977 eor v6.16b,v6.16b,v0.16b
1980 // x9- iv(low), x10 - iv(high)
1983 fmov x10,v6.d[1]
1988 eor x9,x11,x9,lsl#1
1990 fmov v8.d[1],x10
1993 ld1 {v0.16b},[x0],x8
2012 orr v3.16b,v0.16b,v0.16b
2013 orr v1.16b,v0.16b,v0.16b
2014 orr v28.16b,v0.16b,v0.16b
2018 eor v0.16b,v0.16b,v6.16b // before encryption, xor with iv
2025 eor x9,x11,x9,lsl#1
2027 fmov v9.d[1],x10
2032 orr v2.16b,v0.16b,v0.16b
2043 eor x9,x11,x9,lsl#1
2045 fmov v10.d[1],x10
2052 eor x9,x11,x9,lsl#1
2054 fmov v11.d[1],x10
2065 aese v0.16b,v16.16b
2066 aesmc v0.16b,v0.16b
2077 aese v0.16b,v17.16b
2078 aesmc v0.16b,v0.16b
2090 aese v0.16b,v16.16b
2091 aesmc v0.16b,v0.16b
2102 aese v0.16b,v17.16b
2103 aesmc v0.16b,v0.16b
2115 aese v0.16b,v18.16b
2116 aesmc v0.16b,v0.16b
2126 // at exit from the loop v1.16b-v26.16b
2130 aese v0.16b,v19.16b
2131 aesmc v0.16b,v0.16b
2141 aese v0.16b,v20.16b
2142 aesmc v0.16b,v0.16b
2152 aese v0.16b,v21.16b
2153 aesmc v0.16b,v0.16b
2163 aese v0.16b,v22.16b
2164 aesmc v0.16b,v0.16b
2175 aese v0.16b,v23.16b
2180 eor x9,x11,x9,lsl#1
2182 fmov v6.d[1],x10
2190 eor x9,x11,x9,lsl#1
2192 fmov v8.d[1],x10
2200 eor x9,x11,x9,lsl#1
2202 fmov v9.d[1],x10
2210 eor x9,x11,x9,lsl#1
2212 fmov v10.d[1],x10
2221 eor x9,x11,x9,lsl #1
2223 fmov v11.d[1],x10
2227 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
2228 eor v4.16b,v4.16b,v0.16b
2229 eor v0.16b,v2.16b,v6.16b
2242 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
2256 fmov x10,v11.d[1]
2257 eor v0.16b,v6.16b,v2.16b
2272 eor v0.16b,v6.16b,v27.16b
2291 aese v0.16b,v16.16b
2292 aesmc v0.16b,v0.16b
2299 aese v0.16b,v17.16b
2300 aesmc v0.16b,v0.16b
2308 aese v0.16b,v16.16b
2309 aesmc v0.16b,v0.16b
2318 fmov x10,v9.d[1]
2323 eor x9,x11,x9,lsl#1
2325 fmov v6.d[1],x10
2328 aese v0.16b,v17.16b
2329 aesmc v0.16b,v0.16b
2340 aese v0.16b,v20.16b
2341 aesmc v0.16b,v0.16b
2346 aese v0.16b,v21.16b
2347 aesmc v0.16b,v0.16b
2352 aese v0.16b,v22.16b
2353 aesmc v0.16b,v0.16b
2358 aese v0.16b,v23.16b
2363 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
2364 eor v4.16b,v4.16b,v0.16b
2367 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
2430 fmov x10,v8.d[1]
2435 eor x9,x11,x9,lsl #1
2437 fmov v6.d[1],x10
2445 fmov x10,v6.d[1]
2450 eor x9,x11,x9,lsl #1
2452 fmov v6.d[1],x10
2464 subs x21,x21,#1
2476 ld1 {v0.4s},[x3],#16
2480 aese v26.16b,v0.16b
2482 ld1 {v0.4s},[x3],#16
2489 aese v26.16b,v0.16b
2491 ld1 {v0.4s},[x3]
2493 eor v26.16b,v26.16b,v0.16b
2504 .size aes_v8_xts_encrypt,.-aes_v8_xts_encrypt
2515 ld1 {v0.4s},[x4],#16
2521 aese v6.16b,v0.16b
2523 ld1 {v0.4s},[x4],#16
2530 aese v6.16b,v0.16b
2532 ld1 {v0.4s},[x4]
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
2550 aesd v0.16b,v16.16b
2551 aesimc v0.16b,v0.16b
2553 aesd v0.16b,v17.16b
2554 aesimc v0.16b,v0.16b
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]
2583 stp x19,x20,[sp,#-64]!
2589 and x2,x2,#-16
2596 ld1 {v0.4s},[x4],#16
2602 aese v6.16b,v0.16b
2604 ld1 {v0.4s},[x4],#16
2611 aese v6.16b,v0.16b
2613 ld1 {v0.4s},[x4]
2615 eor v6.16b,v6.16b,v0.16b
2618 // x9- iv(low), x10 - iv(high)
2621 fmov x10,v6.d[1]
2626 eor x9,x11,x9,lsl #1
2628 fmov v8.d[1],x10
2636 eor x9,x11,x9,lsl #1
2638 fmov v9.d[1],x10
2653 eor x9,x11,x9,lsl #1
2655 fmov v10.d[1],x10
2668 ld1 {v0.16b},[x0],#16
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
2682 eor v0.16b,v0.16b,v6.16b // before decryt, xor with iv
2687 orr v2.16b,v0.16b,v0.16b
2700 eor x9,x11,x9,lsl #1
2702 fmov v11.d[1],x10
2713 aesd v0.16b,v16.16b
2714 aesimc v0.16b,v0.16b
2725 aesd v0.16b,v17.16b
2726 aesimc v0.16b,v0.16b
2738 aesd v0.16b,v16.16b
2739 aesimc v0.16b,v0.16b
2750 aesd v0.16b,v17.16b
2751 aesimc v0.16b,v0.16b
2763 aesd v0.16b,v18.16b
2764 aesimc v0.16b,v0.16b
2774 // at exit from the loop v1.16b-v26.16b
2778 aesd v0.16b,v19.16b
2779 aesimc v0.16b,v0.16b
2789 aesd v0.16b,v20.16b
2790 aesimc v0.16b,v0.16b
2800 aesd v0.16b,v21.16b
2801 aesimc v0.16b,v0.16b
2811 aesd v0.16b,v22.16b
2812 aesimc v0.16b,v0.16b
2823 aesd v0.16b,v23.16b
2828 eor x9,x11,x9,lsl #1
2830 fmov v6.d[1],x10
2838 eor x9,x11,x9,lsl #1
2840 fmov v8.d[1],x10
2848 eor x9,x11,x9,lsl #1
2850 fmov v9.d[1],x10
2858 eor x9,x11,x9,lsl #1
2860 fmov v10.d[1],x10
2869 eor x9,x11,x9,lsl #1
2871 fmov v11.d[1],x10
2875 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
2876 eor v4.16b,v4.16b,v0.16b
2877 eor v0.16b,v2.16b,v6.16b
2890 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
2897 // If x2(x2) equal to -0x10, the left blocks is 4.
2905 fmov x10,v11.d[1]
2906 eor v0.16b,v6.16b,v2.16b
2921 eor v0.16b,v6.16b,v27.16b
2939 ld1 {v0.16b},[x0],#16
2943 aesd v0.16b,v16.16b
2944 aesimc v0.16b,v0.16b
2951 aesd v0.16b,v17.16b
2952 aesimc v0.16b,v0.16b
2960 aesd v0.16b,v16.16b
2961 aesimc v0.16b,v0.16b
2970 fmov x10,v9.d[1]
2975 eor x9,x11,x9,lsl #1
2977 fmov v6.d[1],x10
2980 aesd v0.16b,v17.16b
2981 aesimc v0.16b,v0.16b
2991 eor x9,x11,x9,lsl #1
2993 fmov v8.d[1],x10
3004 eor x9,x11,x9,lsl #1
3006 fmov v9.d[1],x10
3008 aesd v0.16b,v20.16b
3009 aesimc v0.16b,v0.16b
3014 aesd v0.16b,v21.16b
3015 aesimc v0.16b,v0.16b
3020 aesd v0.16b,v22.16b
3021 aesimc v0.16b,v0.16b
3027 aesd v0.16b,v23.16b
3030 ld1 {v16.4s},[x7],#16 // re-pre-load rndkey[0]
3032 eor v4.16b,v4.16b,v0.16b
3035 ld1 {v17.4s},[x7],#16 // re-pre-load rndkey[1]
3049 // x2 == -0x10 means two blocks left.
3117 ld1 {v0.16b},[x0],#16
3121 eor v26.16b,v0.16b,v8.16b
3123 ld1 {v0.4s},[x3],#16
3127 aesd v26.16b,v0.16b
3129 ld1 {v0.4s},[x3],#16 // load key schedule...
3136 aesd v26.16b,v0.16b
3138 ld1 {v0.4s},[x3]
3140 eor v26.16b,v26.16b,v0.16b
3150 subs x21,x21,#1
3162 ld1 {v0.4s},[x7],#16
3166 aesd v26.16b,v0.16b
3168 ld1 {v0.4s},[x7],#16 // load key schedule...
3175 aesd v26.16b,v0.16b
3177 ld1 {v0.4s},[x7]
3179 eor v26.16b,v26.16b,v0.16b
3191 .size aes_v8_xts_decrypt,.-aes_v8_xts_decrypt