Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: third_party/boringssl/win-x86_64/crypto/aes/aes-x86_64.asm

Issue 428753004: BoringSSL: roll DEPS and enable dynamic visibility. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix quotes in GN file. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 OPTION DOTNAME 1 OPTION DOTNAME
2 .text$» SEGMENT ALIGN(64) 'CODE' 2 .text$» SEGMENT ALIGN(256) 'CODE'
3 3
4 ALIGN 16 4 ALIGN 16
5 _x86_64_AES_encrypt PROC PRIVATE 5 _x86_64_AES_encrypt PROC PRIVATE
6 xor eax,DWORD PTR[r15] 6 xor eax,DWORD PTR[r15]
7 xor ebx,DWORD PTR[4+r15] 7 xor ebx,DWORD PTR[4+r15]
8 xor ecx,DWORD PTR[8+r15] 8 xor ecx,DWORD PTR[8+r15]
9 xor edx,DWORD PTR[12+r15] 9 xor edx,DWORD PTR[12+r15]
10 10
11 mov r13d,DWORD PTR[240+r15] 11 mov r13d,DWORD PTR[240+r15]
12 sub r13d,1 12 sub r13d,1
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 xor edx,ebp 319 xor edx,ebp
320 jmp $L$enc_loop_compact 320 jmp $L$enc_loop_compact
321 ALIGN 16 321 ALIGN 16
322 $L$enc_compact_done:: 322 $L$enc_compact_done::
323 xor eax,DWORD PTR[r15] 323 xor eax,DWORD PTR[r15]
324 xor ebx,DWORD PTR[4+r15] 324 xor ebx,DWORD PTR[4+r15]
325 xor ecx,DWORD PTR[8+r15] 325 xor ecx,DWORD PTR[8+r15]
326 xor edx,DWORD PTR[12+r15] 326 xor edx,DWORD PTR[12+r15]
327 DB 0f3h,0c3h 327 DB 0f3h,0c3h
328 _x86_64_AES_encrypt_compact ENDP 328 _x86_64_AES_encrypt_compact ENDP
329 PUBLIC AES_encrypt
330
331 ALIGN 16 329 ALIGN 16
332 PUBLIC asm_AES_encrypt 330 PUBLIC asm_AES_encrypt
333 331
334 asm_AES_encrypt:: 332 asm_AES_encrypt::
335 AES_encrypt PROC PUBLIC
336 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
337 mov QWORD PTR[16+rsp],rsi
338 mov rax,rsp
339 $L$SEH_begin_AES_encrypt::
340 mov rdi,rcx
341 mov rsi,rdx
342 mov rdx,r8
343
344
345 push rbx 333 push rbx
346 push rbp 334 push rbp
347 push r12 335 push r12
348 push r13 336 push r13
349 push r14 337 push r14
350 push r15 338 push r15
351 339
352 340
353 mov r10,rsp 341 mov r10,rsp
354 lea rcx,QWORD PTR[((-63))+rdx] 342 lea rcx,QWORD PTR[((-63))+rdx]
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 mov DWORD PTR[12+r9],edx 381 mov DWORD PTR[12+r9],edx
394 382
395 mov r15,QWORD PTR[rsi] 383 mov r15,QWORD PTR[rsi]
396 mov r14,QWORD PTR[8+rsi] 384 mov r14,QWORD PTR[8+rsi]
397 mov r13,QWORD PTR[16+rsi] 385 mov r13,QWORD PTR[16+rsi]
398 mov r12,QWORD PTR[24+rsi] 386 mov r12,QWORD PTR[24+rsi]
399 mov rbp,QWORD PTR[32+rsi] 387 mov rbp,QWORD PTR[32+rsi]
400 mov rbx,QWORD PTR[40+rsi] 388 mov rbx,QWORD PTR[40+rsi]
401 lea rsp,QWORD PTR[48+rsi] 389 lea rsp,QWORD PTR[48+rsi]
402 $L$enc_epilogue:: 390 $L$enc_epilogue::
403 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
404 mov rsi,QWORD PTR[16+rsp]
405 DB 0F3h,0C3h ;repret 391 DB 0F3h,0C3h ;repret
406 $L$SEH_end_AES_encrypt:: 392
407 AES_encrypt» ENDP
408 393
409 ALIGN 16 394 ALIGN 16
410 _x86_64_AES_decrypt PROC PRIVATE 395 _x86_64_AES_decrypt PROC PRIVATE
411 xor eax,DWORD PTR[r15] 396 xor eax,DWORD PTR[r15]
412 xor ebx,DWORD PTR[4+r15] 397 xor ebx,DWORD PTR[4+r15]
413 xor ecx,DWORD PTR[8+r15] 398 xor ecx,DWORD PTR[8+r15]
414 xor edx,DWORD PTR[12+r15] 399 xor edx,DWORD PTR[12+r15]
415 400
416 mov r13d,DWORD PTR[240+r15] 401 mov r13d,DWORD PTR[240+r15]
417 sub r13d,1 402 sub r13d,1
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 xor edx,r11d 763 xor edx,r11d
779 jmp $L$dec_loop_compact 764 jmp $L$dec_loop_compact
780 ALIGN 16 765 ALIGN 16
781 $L$dec_compact_done:: 766 $L$dec_compact_done::
782 xor eax,DWORD PTR[r15] 767 xor eax,DWORD PTR[r15]
783 xor ebx,DWORD PTR[4+r15] 768 xor ebx,DWORD PTR[4+r15]
784 xor ecx,DWORD PTR[8+r15] 769 xor ecx,DWORD PTR[8+r15]
785 xor edx,DWORD PTR[12+r15] 770 xor edx,DWORD PTR[12+r15]
786 DB 0f3h,0c3h 771 DB 0f3h,0c3h
787 _x86_64_AES_decrypt_compact ENDP 772 _x86_64_AES_decrypt_compact ENDP
788 PUBLIC AES_decrypt
789
790 ALIGN 16 773 ALIGN 16
791 PUBLIC asm_AES_decrypt 774 PUBLIC asm_AES_decrypt
792 775
793 asm_AES_decrypt:: 776 asm_AES_decrypt::
794 AES_decrypt PROC PUBLIC
795 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
796 mov QWORD PTR[16+rsp],rsi
797 mov rax,rsp
798 $L$SEH_begin_AES_decrypt::
799 mov rdi,rcx
800 mov rsi,rdx
801 mov rdx,r8
802
803
804 push rbx 777 push rbx
805 push rbp 778 push rbp
806 push r12 779 push r12
807 push r13 780 push r13
808 push r14 781 push r14
809 push r15 782 push r15
810 783
811 784
812 mov r10,rsp 785 mov r10,rsp
813 lea rcx,QWORD PTR[((-63))+rdx] 786 lea rcx,QWORD PTR[((-63))+rdx]
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 mov DWORD PTR[12+r9],edx 827 mov DWORD PTR[12+r9],edx
855 828
856 mov r15,QWORD PTR[rsi] 829 mov r15,QWORD PTR[rsi]
857 mov r14,QWORD PTR[8+rsi] 830 mov r14,QWORD PTR[8+rsi]
858 mov r13,QWORD PTR[16+rsi] 831 mov r13,QWORD PTR[16+rsi]
859 mov r12,QWORD PTR[24+rsi] 832 mov r12,QWORD PTR[24+rsi]
860 mov rbp,QWORD PTR[32+rsi] 833 mov rbp,QWORD PTR[32+rsi]
861 mov rbx,QWORD PTR[40+rsi] 834 mov rbx,QWORD PTR[40+rsi]
862 lea rsp,QWORD PTR[48+rsi] 835 lea rsp,QWORD PTR[48+rsi]
863 $L$dec_epilogue:: 836 $L$dec_epilogue::
864 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
865 mov rsi,QWORD PTR[16+rsp]
866 DB 0F3h,0C3h ;repret 837 DB 0F3h,0C3h ;repret
867 $L$SEH_end_AES_decrypt::
868 AES_decrypt ENDP
869 PUBLIC AES_set_encrypt_key
870 838
871 ALIGN 16 839 ALIGN 16
872 AES_set_encrypt_key» PROC PUBLIC 840 PUBLIC» asm_AES_set_encrypt_key
873 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 841 asm_AES_set_encrypt_key::
874 » mov» QWORD PTR[16+rsp],rsi
875 » mov» rax,rsp
876 $L$SEH_begin_AES_set_encrypt_key::
877 » mov» rdi,rcx
878 » mov» rsi,rdx
879 » mov» rdx,r8
880
881
882 push rbx 842 push rbx
883 push rbp 843 push rbp
884 push r12 844 push r12
885 push r13 845 push r13
886 push r14 846 push r14
887 push r15 847 push r15
888 sub rsp,8 848 sub rsp,8
889 $L$enc_key_prologue:: 849 $L$enc_key_prologue::
890 850
891 call _x86_64_AES_set_encrypt_key 851 call _x86_64_AES_set_encrypt_key
892 852
893 mov rbp,QWORD PTR[40+rsp] 853 mov rbp,QWORD PTR[40+rsp]
894 mov rbx,QWORD PTR[48+rsp] 854 mov rbx,QWORD PTR[48+rsp]
895 add rsp,56 855 add rsp,56
896 $L$enc_key_epilogue:: 856 $L$enc_key_epilogue::
897 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
898 mov rsi,QWORD PTR[16+rsp]
899 DB 0F3h,0C3h ;repret 857 DB 0F3h,0C3h ;repret
900 $L$SEH_end_AES_set_encrypt_key:: 858
901 AES_set_encrypt_key» ENDP
902 859
903 860
904 ALIGN 16 861 ALIGN 16
905 _x86_64_AES_set_encrypt_key PROC PRIVATE 862 _x86_64_AES_set_encrypt_key PROC PRIVATE
906 mov ecx,esi 863 mov ecx,esi
907 mov rsi,rdi 864 mov rsi,rdi
908 mov rdi,rdx 865 mov rdi,rdx
909 866
910 test rsi,-1 867 test rsi,-1
911 jz $L$badpointer 868 jz $L$badpointer
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 $L$14break:: 1089 $L$14break::
1133 mov DWORD PTR[48+rdi],14 1090 mov DWORD PTR[48+rdi],14
1134 xor rax,rax 1091 xor rax,rax
1135 jmp $L$exit 1092 jmp $L$exit
1136 1093
1137 $L$badpointer:: 1094 $L$badpointer::
1138 mov rax,-1 1095 mov rax,-1
1139 $L$exit:: 1096 $L$exit::
1140 DB 0f3h,0c3h 1097 DB 0f3h,0c3h
1141 _x86_64_AES_set_encrypt_key ENDP 1098 _x86_64_AES_set_encrypt_key ENDP
1142 PUBLIC AES_set_decrypt_key
1143
1144 ALIGN 16 1099 ALIGN 16
1145 AES_set_decrypt_key» PROC PUBLIC 1100 PUBLIC» asm_AES_set_decrypt_key
1146 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 1101 asm_AES_set_decrypt_key::
1147 » mov» QWORD PTR[16+rsp],rsi
1148 » mov» rax,rsp
1149 $L$SEH_begin_AES_set_decrypt_key::
1150 » mov» rdi,rcx
1151 » mov» rsi,rdx
1152 » mov» rdx,r8
1153
1154
1155 push rbx 1102 push rbx
1156 push rbp 1103 push rbp
1157 push r12 1104 push r12
1158 push r13 1105 push r13
1159 push r14 1106 push r14
1160 push r15 1107 push r15
1161 push rdx 1108 push rdx
1162 $L$dec_key_prologue:: 1109 $L$dec_key_prologue::
1163 1110
1164 call _x86_64_AES_set_encrypt_key 1111 call _x86_64_AES_set_encrypt_key
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1326 xor rax,rax 1273 xor rax,rax
1327 $L$abort:: 1274 $L$abort::
1328 mov r15,QWORD PTR[8+rsp] 1275 mov r15,QWORD PTR[8+rsp]
1329 mov r14,QWORD PTR[16+rsp] 1276 mov r14,QWORD PTR[16+rsp]
1330 mov r13,QWORD PTR[24+rsp] 1277 mov r13,QWORD PTR[24+rsp]
1331 mov r12,QWORD PTR[32+rsp] 1278 mov r12,QWORD PTR[32+rsp]
1332 mov rbp,QWORD PTR[40+rsp] 1279 mov rbp,QWORD PTR[40+rsp]
1333 mov rbx,QWORD PTR[48+rsp] 1280 mov rbx,QWORD PTR[48+rsp]
1334 add rsp,56 1281 add rsp,56
1335 $L$dec_key_epilogue:: 1282 $L$dec_key_epilogue::
1336 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
1337 mov rsi,QWORD PTR[16+rsp]
1338 DB 0F3h,0C3h ;repret 1283 DB 0F3h,0C3h ;repret
1339 $L$SEH_end_AES_set_decrypt_key::
1340 AES_set_decrypt_key ENDP
1341 PUBLIC AES_cbc_encrypt
1342 1284
1343 ALIGN 16 1285 ALIGN 16
1344 EXTERN OPENSSL_ia32cap_P:NEAR 1286 EXTERN OPENSSL_ia32cap_P:NEAR
1345 PUBLIC asm_AES_cbc_encrypt 1287 PUBLIC asm_AES_cbc_encrypt
1346 1288
1347 asm_AES_cbc_encrypt:: 1289 asm_AES_cbc_encrypt::
1348 AES_cbc_encrypt PROC PUBLIC
1349 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
1350 mov QWORD PTR[16+rsp],rsi
1351 mov rax,rsp
1352 $L$SEH_begin_AES_cbc_encrypt::
1353 mov rdi,rcx
1354 mov rsi,rdx
1355 mov rdx,r8
1356 mov rcx,r9
1357 mov r8,QWORD PTR[40+rsp]
1358 mov r9,QWORD PTR[48+rsp]
1359
1360
1361 cmp rdx,0 1290 cmp rdx,0
1362 je $L$cbc_epilogue 1291 je $L$cbc_epilogue
1363 pushfq 1292 pushfq
1364 push rbx 1293 push rbx
1365 push rbp 1294 push rbp
1366 push r12 1295 push r12
1367 push r13 1296 push r13
1368 push r14 1297 push r14
1369 push r15 1298 push r15
1370 $L$cbc_prologue:: 1299 $L$cbc_prologue::
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
1798 mov r15,QWORD PTR[rsi] 1727 mov r15,QWORD PTR[rsi]
1799 mov r14,QWORD PTR[8+rsi] 1728 mov r14,QWORD PTR[8+rsi]
1800 mov r13,QWORD PTR[16+rsi] 1729 mov r13,QWORD PTR[16+rsi]
1801 mov r12,QWORD PTR[24+rsi] 1730 mov r12,QWORD PTR[24+rsi]
1802 mov rbp,QWORD PTR[32+rsi] 1731 mov rbp,QWORD PTR[32+rsi]
1803 mov rbx,QWORD PTR[40+rsi] 1732 mov rbx,QWORD PTR[40+rsi]
1804 lea rsp,QWORD PTR[48+rsi] 1733 lea rsp,QWORD PTR[48+rsi]
1805 $L$cbc_popfq:: 1734 $L$cbc_popfq::
1806 popfq 1735 popfq
1807 $L$cbc_epilogue:: 1736 $L$cbc_epilogue::
1808 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
1809 mov rsi,QWORD PTR[16+rsp]
1810 DB 0F3h,0C3h ;repret 1737 DB 0F3h,0C3h ;repret
1811 $L$SEH_end_AES_cbc_encrypt:: 1738
1812 AES_cbc_encrypt»ENDP
1813 ALIGN 64 1739 ALIGN 64
1814 $L$AES_Te:: 1740 $L$AES_Te::
1815 DD 0a56363c6h,0a56363c6h 1741 DD 0a56363c6h,0a56363c6h
1816 DD 0847c7cf8h,0847c7cf8h 1742 DD 0847c7cf8h,0847c7cf8h
1817 DD 0997777eeh,0997777eeh 1743 DD 0997777eeh,0997777eeh
1818 DD 08d7b7bf6h,08d7b7bf6h 1744 DD 08d7b7bf6h,08d7b7bf6h
1819 DD 00df2f2ffh,00df2f2ffh 1745 DD 00df2f2ffh,00df2f2ffh
1820 DD 0bd6b6bd6h,0bd6b6bd6h 1746 DD 0bd6b6bd6h,0bd6b6bd6h
1821 DD 0b16f6fdeh,0b16f6fdeh 1747 DD 0b16f6fdeh,0b16f6fdeh
1822 DD 054c5c591h,054c5c591h 1748 DD 054c5c591h,054c5c591h
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
2861 $L$SEH_info_AES_set_decrypt_key:: 2787 $L$SEH_info_AES_set_decrypt_key::
2862 DB 9,0,0,0 2788 DB 9,0,0,0
2863 DD imagerel key_se_handler 2789 DD imagerel key_se_handler
2864 DD imagerel $L$dec_key_prologue,imagerel $L$dec_key_epilogue 2790 DD imagerel $L$dec_key_prologue,imagerel $L$dec_key_epilogue
2865 $L$SEH_info_AES_cbc_encrypt:: 2791 $L$SEH_info_AES_cbc_encrypt::
2866 DB 9,0,0,0 2792 DB 9,0,0,0
2867 DD imagerel cbc_se_handler 2793 DD imagerel cbc_se_handler
2868 2794
2869 .xdata ENDS 2795 .xdata ENDS
2870 END 2796 END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698