1 #if defined(__x86_64__)
4 .extern asm_AES_encrypt
5 .hidden asm_AES_encrypt
6 .extern asm_AES_decrypt
7 .hidden asm_AES_decrypt
9 .type _bsaes_encrypt8,@function
21 .byte 102,68,15,56,0,255
33 _bsaes_encrypt8_bitslice:
129 .byte 102,68,15,56,0,255
130 .byte 102,15,56,0,199
133 .byte 102,15,56,0,207
134 .byte 102,15,56,0,215
137 .byte 102,15,56,0,223
138 .byte 102,15,56,0,231
139 .byte 102,15,56,0,239
140 .byte 102,15,56,0,247
330 pshufd $147,%xmm15,%xmm7
331 pshufd $147,%xmm0,%xmm8
333 pshufd $147,%xmm3,%xmm9
335 pshufd $147,%xmm5,%xmm10
337 pshufd $147,%xmm2,%xmm11
339 pshufd $147,%xmm6,%xmm12
341 pshufd $147,%xmm1,%xmm13
343 pshufd $147,%xmm4,%xmm14
350 pshufd $78,%xmm15,%xmm15
352 pshufd $78,%xmm0,%xmm0
358 pshufd $78,%xmm2,%xmm7
360 pshufd $78,%xmm6,%xmm8
362 pshufd $78,%xmm5,%xmm2
364 pshufd $78,%xmm4,%xmm6
366 pshufd $78,%xmm1,%xmm5
368 pshufd $78,%xmm3,%xmm1
376 movdqa 48(%r11),%xmm7
378 movdqa 64(%r11),%xmm7
383 movdqa 16(%r11),%xmm8
412 movdqa 32(%r11),%xmm7
479 .size _bsaes_encrypt8,.-_bsaes_encrypt8
481 .type _bsaes_decrypt8,@function
484 leaq .LBS0(%rip),%r11
488 movdqa -48(%r11),%xmm7
493 .byte 102,68,15,56,0,255
494 .byte 102,15,56,0,199
497 .byte 102,15,56,0,207
498 .byte 102,15,56,0,215
501 .byte 102,15,56,0,223
502 .byte 102,15,56,0,231
503 .byte 102,15,56,0,239
504 .byte 102,15,56,0,247
506 movdqa 16(%r11),%xmm8
535 movdqa 32(%r11),%xmm7
600 .byte 102,68,15,56,0,255
601 .byte 102,15,56,0,199
604 .byte 102,15,56,0,207
605 .byte 102,15,56,0,215
608 .byte 102,15,56,0,223
609 .byte 102,15,56,0,231
610 .byte 102,15,56,0,239
611 .byte 102,15,56,0,247
802 pshufd $78,%xmm15,%xmm7
803 pshufd $78,%xmm2,%xmm13
805 pshufd $78,%xmm4,%xmm14
807 pshufd $78,%xmm0,%xmm8
809 pshufd $78,%xmm5,%xmm9
811 pshufd $78,%xmm3,%xmm10
815 pshufd $78,%xmm1,%xmm11
819 pshufd $78,%xmm6,%xmm12
833 pshufd $147,%xmm15,%xmm7
834 pshufd $147,%xmm0,%xmm8
836 pshufd $147,%xmm5,%xmm9
838 pshufd $147,%xmm3,%xmm10
840 pshufd $147,%xmm1,%xmm11
842 pshufd $147,%xmm6,%xmm12
844 pshufd $147,%xmm2,%xmm13
846 pshufd $147,%xmm4,%xmm14
853 pshufd $78,%xmm15,%xmm15
855 pshufd $78,%xmm0,%xmm0
861 pshufd $78,%xmm1,%xmm7
863 pshufd $78,%xmm6,%xmm8
865 pshufd $78,%xmm3,%xmm1
867 pshufd $78,%xmm4,%xmm6
869 pshufd $78,%xmm2,%xmm3
871 pshufd $78,%xmm5,%xmm2
882 movdqa -16(%r11),%xmm7
884 movdqa -32(%r11),%xmm7
889 movdqa 16(%r11),%xmm8
918 movdqa 32(%r11),%xmm7
985 .size _bsaes_decrypt8,.-_bsaes_decrypt8
986 .type _bsaes_key_convert,@function
989 leaq .Lmasks(%rip),%r11
993 movdqa 16(%r11),%xmm1
994 movdqa 32(%r11),%xmm2
995 movdqa 48(%r11),%xmm3
996 movdqa 64(%r11),%xmm4
1006 .byte 102,15,56,0,244
1023 pcmpeqb %xmm2,%xmm10
1026 pcmpeqb %xmm3,%xmm11
1036 movdqa %xmm8,0(%rax)
1037 pcmpeqb %xmm0,%xmm12
1039 movdqa %xmm9,16(%rax)
1040 pcmpeqb %xmm1,%xmm13
1046 movdqa %xmm10,32(%rax)
1047 pcmpeqb %xmm2,%xmm14
1049 movdqa %xmm11,48(%rax)
1050 pcmpeqb %xmm3,%xmm15
1056 movdqa %xmm12,64(%rax)
1057 movdqa %xmm13,80(%rax)
1058 movdqa %xmm14,96(%rax)
1059 movdqa %xmm15,112(%rax)
1064 movdqa 80(%r11),%xmm7
1067 .size _bsaes_key_convert,.-_bsaes_key_convert
1068 .extern asm_AES_cbc_encrypt
1069 .hidden asm_AES_cbc_encrypt
1070 .globl bsaes_cbc_encrypt
1071 .hidden bsaes_cbc_encrypt
1072 .type bsaes_cbc_encrypt,@function
1076 jne asm_AES_cbc_encrypt
1078 jb asm_AES_cbc_encrypt
1106 call _bsaes_key_convert
1111 movdqu (%rbx),%xmm14
1114 movdqu 0(%r12),%xmm15
1115 movdqu 16(%r12),%xmm0
1116 movdqu 32(%r12),%xmm1
1117 movdqu 48(%r12),%xmm2
1118 movdqu 64(%r12),%xmm3
1119 movdqu 80(%r12),%xmm4
1121 movdqu 96(%r12),%xmm5
1123 movdqu 112(%r12),%xmm6
1124 movdqa %xmm14,32(%rbp)
1126 call _bsaes_decrypt8
1128 pxor 32(%rbp),%xmm15
1129 movdqu 0(%r12),%xmm7
1130 movdqu 16(%r12),%xmm8
1132 movdqu 32(%r12),%xmm9
1134 movdqu 48(%r12),%xmm10
1136 movdqu 64(%r12),%xmm11
1138 movdqu 80(%r12),%xmm12
1140 movdqu 96(%r12),%xmm13
1142 movdqu 112(%r12),%xmm14
1144 movdqu %xmm15,0(%r13)
1146 movdqu %xmm0,16(%r13)
1147 movdqu %xmm5,32(%r13)
1148 movdqu %xmm3,48(%r13)
1149 movdqu %xmm1,64(%r13)
1150 movdqu %xmm6,80(%r13)
1151 movdqu %xmm2,96(%r13)
1152 movdqu %xmm4,112(%r13)
1160 movdqu 0(%r12),%xmm15
1165 movdqu 16(%r12),%xmm0
1167 movdqu 32(%r12),%xmm1
1170 movdqu 48(%r12),%xmm2
1172 movdqu 64(%r12),%xmm3
1175 movdqu 80(%r12),%xmm4
1177 movdqu 96(%r12),%xmm5
1178 movdqa %xmm14,32(%rbp)
1179 call _bsaes_decrypt8
1180 pxor 32(%rbp),%xmm15
1181 movdqu 0(%r12),%xmm7
1182 movdqu 16(%r12),%xmm8
1184 movdqu 32(%r12),%xmm9
1186 movdqu 48(%r12),%xmm10
1188 movdqu 64(%r12),%xmm11
1190 movdqu 80(%r12),%xmm12
1192 movdqu 96(%r12),%xmm14
1194 movdqu %xmm15,0(%r13)
1195 movdqu %xmm0,16(%r13)
1196 movdqu %xmm5,32(%r13)
1197 movdqu %xmm3,48(%r13)
1198 movdqu %xmm1,64(%r13)
1199 movdqu %xmm6,80(%r13)
1200 movdqu %xmm2,96(%r13)
1204 movdqa %xmm14,32(%rbp)
1205 call _bsaes_decrypt8
1206 pxor 32(%rbp),%xmm15
1207 movdqu 0(%r12),%xmm7
1208 movdqu 16(%r12),%xmm8
1210 movdqu 32(%r12),%xmm9
1212 movdqu 48(%r12),%xmm10
1214 movdqu 64(%r12),%xmm11
1216 movdqu 80(%r12),%xmm14
1218 movdqu %xmm15,0(%r13)
1219 movdqu %xmm0,16(%r13)
1220 movdqu %xmm5,32(%r13)
1221 movdqu %xmm3,48(%r13)
1222 movdqu %xmm1,64(%r13)
1223 movdqu %xmm6,80(%r13)
1227 movdqa %xmm14,32(%rbp)
1228 call _bsaes_decrypt8
1229 pxor 32(%rbp),%xmm15
1230 movdqu 0(%r12),%xmm7
1231 movdqu 16(%r12),%xmm8
1233 movdqu 32(%r12),%xmm9
1235 movdqu 48(%r12),%xmm10
1237 movdqu 64(%r12),%xmm14
1239 movdqu %xmm15,0(%r13)
1240 movdqu %xmm0,16(%r13)
1241 movdqu %xmm5,32(%r13)
1242 movdqu %xmm3,48(%r13)
1243 movdqu %xmm1,64(%r13)
1247 movdqa %xmm14,32(%rbp)
1248 call _bsaes_decrypt8
1249 pxor 32(%rbp),%xmm15
1250 movdqu 0(%r12),%xmm7
1251 movdqu 16(%r12),%xmm8
1253 movdqu 32(%r12),%xmm9
1255 movdqu 48(%r12),%xmm14
1257 movdqu %xmm15,0(%r13)
1258 movdqu %xmm0,16(%r13)
1259 movdqu %xmm5,32(%r13)
1260 movdqu %xmm3,48(%r13)
1264 movdqa %xmm14,32(%rbp)
1265 call _bsaes_decrypt8
1266 pxor 32(%rbp),%xmm15
1267 movdqu 0(%r12),%xmm7
1268 movdqu 16(%r12),%xmm8
1270 movdqu 32(%r12),%xmm14
1272 movdqu %xmm15,0(%r13)
1273 movdqu %xmm0,16(%r13)
1274 movdqu %xmm5,32(%r13)
1278 movdqa %xmm14,32(%rbp)
1279 call _bsaes_decrypt8
1280 pxor 32(%rbp),%xmm15
1281 movdqu 0(%r12),%xmm7
1282 movdqu 16(%r12),%xmm14
1284 movdqu %xmm15,0(%r13)
1285 movdqu %xmm0,16(%r13)
1292 call asm_AES_decrypt
1293 pxor 32(%rbp),%xmm14
1294 movdqu %xmm14,(%r13)
1295 movdqa %xmm15,%xmm14
1298 movdqu %xmm14,(%rbx)
1302 movdqa %xmm0,0(%rax)
1303 movdqa %xmm0,16(%rax)
1319 .size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt
1321 .globl bsaes_ctr32_encrypt_blocks
1322 .hidden bsaes_ctr32_encrypt_blocks
1323 .type bsaes_ctr32_encrypt_blocks,@function
1325 bsaes_ctr32_encrypt_blocks:
1342 movdqa %xmm0,32(%rbp)
1354 call _bsaes_key_convert
1359 leaq .LADD1(%rip),%r11
1360 movdqa 32(%rbp),%xmm15
1361 movdqa -32(%r11),%xmm7
1362 .byte 102,68,15,56,0,199
1363 .byte 102,68,15,56,0,255
1368 movdqa %xmm15,32(%rbp)
1373 paddd 16(%r11),%xmm1
1375 paddd 32(%r11),%xmm2
1377 paddd 48(%r11),%xmm3
1379 paddd 64(%r11),%xmm4
1381 paddd 80(%r11),%xmm5
1382 paddd 96(%r11),%xmm6
1388 movdqa -16(%r11),%xmm7
1393 .byte 102,68,15,56,0,255
1394 .byte 102,15,56,0,199
1397 .byte 102,15,56,0,207
1398 .byte 102,15,56,0,215
1401 .byte 102,15,56,0,223
1402 .byte 102,15,56,0,231
1403 .byte 102,15,56,0,239
1404 .byte 102,15,56,0,247
1405 leaq .LBS0(%rip),%r11
1408 call _bsaes_encrypt8_bitslice
1411 jc .Lctr_enc_loop_done
1413 movdqu 0(%r12),%xmm7
1414 movdqu 16(%r12),%xmm8
1415 movdqu 32(%r12),%xmm9
1416 movdqu 48(%r12),%xmm10
1417 movdqu 64(%r12),%xmm11
1418 movdqu 80(%r12),%xmm12
1419 movdqu 96(%r12),%xmm13
1420 movdqu 112(%r12),%xmm14
1423 movdqa 32(%rbp),%xmm15
1425 movdqu %xmm7,0(%r13)
1427 movdqu %xmm0,16(%r13)
1429 movdqu %xmm3,32(%r13)
1431 movdqu %xmm5,48(%r13)
1433 movdqu %xmm2,64(%r13)
1435 movdqu %xmm6,80(%r13)
1437 movdqu %xmm1,96(%r13)
1438 leaq .LADD1(%rip),%r11
1439 movdqu %xmm4,112(%r13)
1441 paddd 112(%r11),%xmm15
1446 .Lctr_enc_loop_done:
1448 movdqu 0(%r12),%xmm7
1450 movdqu %xmm15,0(%r13)
1453 movdqu 16(%r12),%xmm8
1455 movdqu %xmm0,16(%r13)
1457 movdqu 32(%r12),%xmm9
1459 movdqu %xmm3,32(%r13)
1462 movdqu 48(%r12),%xmm10
1464 movdqu %xmm5,48(%r13)
1466 movdqu 64(%r12),%xmm11
1468 movdqu %xmm2,64(%r13)
1471 movdqu 80(%r12),%xmm12
1473 movdqu %xmm6,80(%r13)
1475 movdqu 96(%r12),%xmm13
1477 movdqu %xmm1,96(%r13)
1485 call asm_AES_encrypt
1503 movdqa %xmm0,0(%rax)
1504 movdqa %xmm0,16(%rax)
1520 .size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks
1521 .globl bsaes_xts_encrypt
1522 .hidden bsaes_xts_encrypt
1523 .type bsaes_xts_encrypt,@function
1544 call asm_AES_encrypt
1557 call _bsaes_key_convert
1563 movdqa 32(%rbp),%xmm6
1566 movdqa .Lxts_magic(%rip),%xmm12
1567 pcmpgtd %xmm6,%xmm14
1575 pshufd $19,%xmm14,%xmm13
1578 movdqa %xmm6,0(%rsp)
1581 pcmpgtd %xmm6,%xmm14
1583 pshufd $19,%xmm14,%xmm13
1586 movdqa %xmm6,16(%rsp)
1589 pcmpgtd %xmm6,%xmm14
1591 movdqu 0(%r12),%xmm7
1592 pshufd $19,%xmm14,%xmm13
1595 movdqa %xmm6,32(%rsp)
1598 pcmpgtd %xmm6,%xmm14
1600 movdqu 16(%r12),%xmm8
1602 pshufd $19,%xmm14,%xmm13
1605 movdqa %xmm6,48(%rsp)
1608 pcmpgtd %xmm6,%xmm14
1610 movdqu 32(%r12),%xmm9
1612 pshufd $19,%xmm14,%xmm13
1615 movdqa %xmm6,64(%rsp)
1618 pcmpgtd %xmm6,%xmm14
1620 movdqu 48(%r12),%xmm10
1622 pshufd $19,%xmm14,%xmm13
1625 movdqa %xmm6,80(%rsp)
1628 pcmpgtd %xmm6,%xmm14
1630 movdqu 64(%r12),%xmm11
1632 pshufd $19,%xmm14,%xmm13
1635 movdqa %xmm6,96(%rsp)
1638 pcmpgtd %xmm6,%xmm14
1640 movdqu 80(%r12),%xmm12
1642 movdqu 96(%r12),%xmm13
1644 movdqu 112(%r12),%xmm14
1646 movdqa %xmm6,112(%rsp)
1652 call _bsaes_encrypt8
1656 movdqu %xmm15,0(%r13)
1658 movdqu %xmm0,16(%r13)
1660 movdqu %xmm3,32(%r13)
1662 movdqu %xmm5,48(%r13)
1664 movdqu %xmm2,64(%r13)
1666 movdqu %xmm6,80(%r13)
1667 pxor 112(%rsp),%xmm4
1668 movdqu %xmm1,96(%r13)
1669 movdqu %xmm4,112(%r13)
1672 movdqa 112(%rsp),%xmm6
1674 movdqa .Lxts_magic(%rip),%xmm12
1675 pcmpgtd %xmm6,%xmm14
1676 pshufd $19,%xmm14,%xmm13
1680 pcmpgtd %xmm6,%xmm14
1689 pshufd $19,%xmm14,%xmm13
1692 movdqa %xmm6,0(%rsp)
1695 pcmpgtd %xmm6,%xmm14
1697 pshufd $19,%xmm14,%xmm13
1700 movdqa %xmm6,16(%rsp)
1703 pcmpgtd %xmm6,%xmm14
1705 movdqu 0(%r12),%xmm7
1708 pshufd $19,%xmm14,%xmm13
1711 movdqa %xmm6,32(%rsp)
1714 pcmpgtd %xmm6,%xmm14
1716 movdqu 16(%r12),%xmm8
1720 pshufd $19,%xmm14,%xmm13
1723 movdqa %xmm6,48(%rsp)
1726 pcmpgtd %xmm6,%xmm14
1728 movdqu 32(%r12),%xmm9
1732 pshufd $19,%xmm14,%xmm13
1735 movdqa %xmm6,64(%rsp)
1738 pcmpgtd %xmm6,%xmm14
1740 movdqu 48(%r12),%xmm10
1744 pshufd $19,%xmm14,%xmm13
1747 movdqa %xmm6,80(%rsp)
1750 pcmpgtd %xmm6,%xmm14
1752 movdqu 64(%r12),%xmm11
1756 pshufd $19,%xmm14,%xmm13
1759 movdqa %xmm6,96(%rsp)
1762 pcmpgtd %xmm6,%xmm14
1764 movdqu 80(%r12),%xmm12
1768 movdqu 96(%r12),%xmm13
1770 movdqa %xmm6,112(%rsp)
1776 call _bsaes_encrypt8
1780 movdqu %xmm15,0(%r13)
1782 movdqu %xmm0,16(%r13)
1784 movdqu %xmm3,32(%r13)
1786 movdqu %xmm5,48(%r13)
1788 movdqu %xmm2,64(%r13)
1790 movdqu %xmm6,80(%r13)
1791 movdqu %xmm1,96(%r13)
1794 movdqa 112(%rsp),%xmm6
1804 call _bsaes_encrypt8
1808 movdqu %xmm15,0(%r13)
1810 movdqu %xmm0,16(%r13)
1812 movdqu %xmm3,32(%r13)
1814 movdqu %xmm5,48(%r13)
1816 movdqu %xmm2,64(%r13)
1817 movdqu %xmm6,80(%r13)
1820 movdqa 96(%rsp),%xmm6
1830 call _bsaes_encrypt8
1834 movdqu %xmm15,0(%r13)
1836 movdqu %xmm0,16(%r13)
1838 movdqu %xmm3,32(%r13)
1840 movdqu %xmm5,48(%r13)
1841 movdqu %xmm2,64(%r13)
1844 movdqa 80(%rsp),%xmm6
1854 call _bsaes_encrypt8
1858 movdqu %xmm15,0(%r13)
1860 movdqu %xmm0,16(%r13)
1862 movdqu %xmm3,32(%r13)
1863 movdqu %xmm5,48(%r13)
1866 movdqa 64(%rsp),%xmm6
1876 call _bsaes_encrypt8
1880 movdqu %xmm15,0(%r13)
1882 movdqu %xmm0,16(%r13)
1883 movdqu %xmm3,32(%r13)
1886 movdqa 48(%rsp),%xmm6
1896 call _bsaes_encrypt8
1900 movdqu %xmm15,0(%r13)
1901 movdqu %xmm0,16(%r13)
1904 movdqa 32(%rsp),%xmm6
1910 movdqa %xmm7,32(%rbp)
1914 call asm_AES_encrypt
1915 pxor 32(%rbp),%xmm15
1921 movdqu %xmm15,0(%r13)
1924 movdqa 16(%rsp),%xmm6
1933 movzbl -16(%rdx),%ecx
1941 movdqu -16(%r13),%xmm15
1945 movdqa %xmm15,32(%rbp)
1947 call asm_AES_encrypt
1949 movdqu %xmm6,-16(%r13)
1955 movdqa %xmm0,0(%rax)
1956 movdqa %xmm0,16(%rax)
1972 .size bsaes_xts_encrypt,.-bsaes_xts_encrypt
1974 .globl bsaes_xts_decrypt
1975 .hidden bsaes_xts_decrypt
1976 .type bsaes_xts_decrypt,@function
1997 call asm_AES_encrypt
2010 call _bsaes_key_convert
2023 movdqa 32(%rbp),%xmm6
2026 movdqa .Lxts_magic(%rip),%xmm12
2027 pcmpgtd %xmm6,%xmm14
2035 pshufd $19,%xmm14,%xmm13
2038 movdqa %xmm6,0(%rsp)
2041 pcmpgtd %xmm6,%xmm14
2043 pshufd $19,%xmm14,%xmm13
2046 movdqa %xmm6,16(%rsp)
2049 pcmpgtd %xmm6,%xmm14
2051 movdqu 0(%r12),%xmm7
2052 pshufd $19,%xmm14,%xmm13
2055 movdqa %xmm6,32(%rsp)
2058 pcmpgtd %xmm6,%xmm14
2060 movdqu 16(%r12),%xmm8
2062 pshufd $19,%xmm14,%xmm13
2065 movdqa %xmm6,48(%rsp)
2068 pcmpgtd %xmm6,%xmm14
2070 movdqu 32(%r12),%xmm9
2072 pshufd $19,%xmm14,%xmm13
2075 movdqa %xmm6,64(%rsp)
2078 pcmpgtd %xmm6,%xmm14
2080 movdqu 48(%r12),%xmm10
2082 pshufd $19,%xmm14,%xmm13
2085 movdqa %xmm6,80(%rsp)
2088 pcmpgtd %xmm6,%xmm14
2090 movdqu 64(%r12),%xmm11
2092 pshufd $19,%xmm14,%xmm13
2095 movdqa %xmm6,96(%rsp)
2098 pcmpgtd %xmm6,%xmm14
2100 movdqu 80(%r12),%xmm12
2102 movdqu 96(%r12),%xmm13
2104 movdqu 112(%r12),%xmm14
2106 movdqa %xmm6,112(%rsp)
2112 call _bsaes_decrypt8
2116 movdqu %xmm15,0(%r13)
2118 movdqu %xmm0,16(%r13)
2120 movdqu %xmm5,32(%r13)
2122 movdqu %xmm3,48(%r13)
2124 movdqu %xmm1,64(%r13)
2126 movdqu %xmm6,80(%r13)
2127 pxor 112(%rsp),%xmm4
2128 movdqu %xmm2,96(%r13)
2129 movdqu %xmm4,112(%r13)
2132 movdqa 112(%rsp),%xmm6
2134 movdqa .Lxts_magic(%rip),%xmm12
2135 pcmpgtd %xmm6,%xmm14
2136 pshufd $19,%xmm14,%xmm13
2140 pcmpgtd %xmm6,%xmm14
2149 pshufd $19,%xmm14,%xmm13
2152 movdqa %xmm6,0(%rsp)
2155 pcmpgtd %xmm6,%xmm14
2157 pshufd $19,%xmm14,%xmm13
2160 movdqa %xmm6,16(%rsp)
2163 pcmpgtd %xmm6,%xmm14
2165 movdqu 0(%r12),%xmm7
2168 pshufd $19,%xmm14,%xmm13
2171 movdqa %xmm6,32(%rsp)
2174 pcmpgtd %xmm6,%xmm14
2176 movdqu 16(%r12),%xmm8
2180 pshufd $19,%xmm14,%xmm13
2183 movdqa %xmm6,48(%rsp)
2186 pcmpgtd %xmm6,%xmm14
2188 movdqu 32(%r12),%xmm9
2192 pshufd $19,%xmm14,%xmm13
2195 movdqa %xmm6,64(%rsp)
2198 pcmpgtd %xmm6,%xmm14
2200 movdqu 48(%r12),%xmm10
2204 pshufd $19,%xmm14,%xmm13
2207 movdqa %xmm6,80(%rsp)
2210 pcmpgtd %xmm6,%xmm14
2212 movdqu 64(%r12),%xmm11
2216 pshufd $19,%xmm14,%xmm13
2219 movdqa %xmm6,96(%rsp)
2222 pcmpgtd %xmm6,%xmm14
2224 movdqu 80(%r12),%xmm12
2228 movdqu 96(%r12),%xmm13
2230 movdqa %xmm6,112(%rsp)
2236 call _bsaes_decrypt8
2240 movdqu %xmm15,0(%r13)
2242 movdqu %xmm0,16(%r13)
2244 movdqu %xmm5,32(%r13)
2246 movdqu %xmm3,48(%r13)
2248 movdqu %xmm1,64(%r13)
2250 movdqu %xmm6,80(%r13)
2251 movdqu %xmm2,96(%r13)
2254 movdqa 112(%rsp),%xmm6
2264 call _bsaes_decrypt8
2268 movdqu %xmm15,0(%r13)
2270 movdqu %xmm0,16(%r13)
2272 movdqu %xmm5,32(%r13)
2274 movdqu %xmm3,48(%r13)
2276 movdqu %xmm1,64(%r13)
2277 movdqu %xmm6,80(%r13)
2280 movdqa 96(%rsp),%xmm6
2290 call _bsaes_decrypt8
2294 movdqu %xmm15,0(%r13)
2296 movdqu %xmm0,16(%r13)
2298 movdqu %xmm5,32(%r13)
2300 movdqu %xmm3,48(%r13)
2301 movdqu %xmm1,64(%r13)
2304 movdqa 80(%rsp),%xmm6
2314 call _bsaes_decrypt8
2318 movdqu %xmm15,0(%r13)
2320 movdqu %xmm0,16(%r13)
2322 movdqu %xmm5,32(%r13)
2323 movdqu %xmm3,48(%r13)
2326 movdqa 64(%rsp),%xmm6
2336 call _bsaes_decrypt8
2340 movdqu %xmm15,0(%r13)
2342 movdqu %xmm0,16(%r13)
2343 movdqu %xmm5,32(%r13)
2346 movdqa 48(%rsp),%xmm6
2356 call _bsaes_decrypt8
2360 movdqu %xmm15,0(%r13)
2361 movdqu %xmm0,16(%r13)
2364 movdqa 32(%rsp),%xmm6
2370 movdqa %xmm7,32(%rbp)
2374 call asm_AES_decrypt
2375 pxor 32(%rbp),%xmm15
2381 movdqu %xmm15,0(%r13)
2384 movdqa 16(%rsp),%xmm6
2391 movdqa .Lxts_magic(%rip),%xmm12
2392 pcmpgtd %xmm6,%xmm14
2393 pshufd $19,%xmm14,%xmm13
2397 movdqu (%r12),%xmm15
2403 movdqa %xmm15,32(%rbp)
2405 call asm_AES_decrypt
2411 movzbl 16(%r12),%eax
2420 movdqu (%r13),%xmm15
2424 movdqa %xmm15,32(%rbp)
2426 call asm_AES_decrypt
2434 movdqa %xmm0,0(%rax)
2435 movdqa %xmm0,16(%rax)
2451 .size bsaes_xts_decrypt,.-bsaes_xts_decrypt
2452 .type _bsaes_const,@object
2456 .quad 0x0a0e0206070b0f03, 0x0004080c0d010509
2458 .quad 0x01040b0e0205080f, 0x0306090c00070a0d
2460 .quad 0x0504070602010003, 0x0f0e0d0c080b0a09
2462 .quad 0x5555555555555555, 0x5555555555555555
2464 .quad 0x3333333333333333, 0x3333333333333333
2466 .quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f
2468 .quad 0x0504070600030201, 0x0f0e0d0c0a09080b
2470 .quad 0x0304090e00050a0f, 0x01060b0c0207080d
2472 .quad 0x0a0e02060f03070b, 0x0004080c05090d01
2474 .quad 0x0706050403020100, 0x0c0d0e0f0b0a0908
2476 .quad 0x0a0d02060c03070b, 0x0004080f05090e01
2478 .quad 0x0000000000000000, 0x0000000100000000
2480 .quad 0x0000000000000000, 0x0000000200000000
2482 .quad 0x0000000000000000, 0x0000000300000000
2484 .quad 0x0000000000000000, 0x0000000400000000
2486 .quad 0x0000000000000000, 0x0000000500000000
2488 .quad 0x0000000000000000, 0x0000000600000000
2490 .quad 0x0000000000000000, 0x0000000700000000
2492 .quad 0x0000000000000000, 0x0000000800000000
2496 .quad 0x0101010101010101, 0x0101010101010101
2497 .quad 0x0202020202020202, 0x0202020202020202
2498 .quad 0x0404040404040404, 0x0404040404040404
2499 .quad 0x0808080808080808, 0x0808080808080808
2501 .quad 0x02060a0e03070b0f, 0x0004080c0105090d
2503 .quad 0x6363636363636363, 0x6363636363636363
2504 .byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0
2506 .size _bsaes_const,.-_bsaes_const