OLD | NEW |
1 default rel | 1 default rel |
2 %define XMMWORD | 2 %define XMMWORD |
3 %define YMMWORD | 3 %define YMMWORD |
4 %define ZMMWORD | 4 %define ZMMWORD |
5 section .text code align=64 | 5 section .text code align=64 |
6 | 6 |
7 EXTERN OPENSSL_ia32cap_P | 7 EXTERN OPENSSL_ia32cap_P |
8 | 8 |
9 | 9 |
10 ALIGN 64 | 10 ALIGN 64 |
(...skipping 17 matching lines...) Expand all Loading... |
28 mov rax,rsp | 28 mov rax,rsp |
29 $L$SEH_begin_ecp_nistz256_mul_by_2: | 29 $L$SEH_begin_ecp_nistz256_mul_by_2: |
30 mov rdi,rcx | 30 mov rdi,rcx |
31 mov rsi,rdx | 31 mov rsi,rdx |
32 | 32 |
33 | 33 |
34 push r12 | 34 push r12 |
35 push r13 | 35 push r13 |
36 | 36 |
37 mov r8,QWORD[rsi] | 37 mov r8,QWORD[rsi] |
| 38 xor r13,r13 |
38 mov r9,QWORD[8+rsi] | 39 mov r9,QWORD[8+rsi] |
39 add r8,r8 | 40 add r8,r8 |
40 mov r10,QWORD[16+rsi] | 41 mov r10,QWORD[16+rsi] |
41 adc r9,r9 | 42 adc r9,r9 |
42 mov r11,QWORD[24+rsi] | 43 mov r11,QWORD[24+rsi] |
43 lea rsi,[$L$poly] | 44 lea rsi,[$L$poly] |
44 mov rax,r8 | 45 mov rax,r8 |
45 adc r10,r10 | 46 adc r10,r10 |
46 adc r11,r11 | 47 adc r11,r11 |
47 mov rdx,r9 | 48 mov rdx,r9 |
48 » sbb» r13,r13 | 49 » adc» r13,0 |
49 | 50 |
50 sub r8,QWORD[rsi] | 51 sub r8,QWORD[rsi] |
51 mov rcx,r10 | 52 mov rcx,r10 |
52 sbb r9,QWORD[8+rsi] | 53 sbb r9,QWORD[8+rsi] |
53 sbb r10,QWORD[16+rsi] | 54 sbb r10,QWORD[16+rsi] |
54 mov r12,r11 | 55 mov r12,r11 |
55 sbb r11,QWORD[24+rsi] | 56 sbb r11,QWORD[24+rsi] |
56 » test» r13,r13 | 57 » sbb» r13,0 |
57 | 58 |
58 » cmovz» r8,rax | 59 » cmovc» r8,rax |
59 » cmovz» r9,rdx | 60 » cmovc» r9,rdx |
60 mov QWORD[rdi],r8 | 61 mov QWORD[rdi],r8 |
61 » cmovz» r10,rcx | 62 » cmovc» r10,rcx |
62 mov QWORD[8+rdi],r9 | 63 mov QWORD[8+rdi],r9 |
63 » cmovz» r11,r12 | 64 » cmovc» r11,r12 |
64 mov QWORD[16+rdi],r10 | 65 mov QWORD[16+rdi],r10 |
65 mov QWORD[24+rdi],r11 | 66 mov QWORD[24+rdi],r11 |
66 | 67 |
67 pop r13 | 68 pop r13 |
68 pop r12 | 69 pop r12 |
69 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 70 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
70 mov rsi,QWORD[16+rsp] | 71 mov rsi,QWORD[16+rsp] |
71 DB 0F3h,0C3h ;repret | 72 DB 0F3h,0C3h ;repret |
72 $L$SEH_end_ecp_nistz256_mul_by_2: | 73 $L$SEH_end_ecp_nistz256_mul_by_2: |
73 | 74 |
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
666 mov r10,rdx | 667 mov r10,rdx |
667 mul r13 | 668 mul r13 |
668 shr rcx,32 | 669 shr rcx,32 |
669 add r8,r11 | 670 add r8,r11 |
670 adc r9,rcx | 671 adc r9,rcx |
671 mov rcx,r8 | 672 mov rcx,r8 |
672 adc r10,rax | 673 adc r10,rax |
673 mov rsi,r9 | 674 mov rsi,r9 |
674 adc rdx,0 | 675 adc rdx,0 |
675 | 676 |
| 677 |
| 678 |
676 sub r8,-1 | 679 sub r8,-1 |
677 mov rax,r10 | 680 mov rax,r10 |
678 sbb r9,r12 | 681 sbb r9,r12 |
679 sbb r10,0 | 682 sbb r10,0 |
680 mov r11,rdx | 683 mov r11,rdx |
681 sbb rdx,r13 | 684 sbb rdx,r13 |
682 sbb r13,r13 | 685 sbb r13,r13 |
683 | 686 |
684 cmovnz r8,rcx | 687 cmovnz r8,rcx |
685 cmovnz r9,rsi | 688 cmovnz r9,rsi |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 | 869 |
867 | 870 |
868 DB 0x0f,0x0b | 871 DB 0x0f,0x0b |
869 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 872 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
870 mov rsi,QWORD[16+rsp] | 873 mov rsi,QWORD[16+rsp] |
871 DB 0F3h,0C3h ;repret | 874 DB 0F3h,0C3h ;repret |
872 $L$SEH_end_ecp_nistz256_avx2_select_w7: | 875 $L$SEH_end_ecp_nistz256_avx2_select_w7: |
873 | 876 |
874 ALIGN 32 | 877 ALIGN 32 |
875 __ecp_nistz256_add_toq: | 878 __ecp_nistz256_add_toq: |
| 879 xor r11,r11 |
876 add r12,QWORD[rbx] | 880 add r12,QWORD[rbx] |
877 adc r13,QWORD[8+rbx] | 881 adc r13,QWORD[8+rbx] |
878 mov rax,r12 | 882 mov rax,r12 |
879 adc r8,QWORD[16+rbx] | 883 adc r8,QWORD[16+rbx] |
880 adc r9,QWORD[24+rbx] | 884 adc r9,QWORD[24+rbx] |
881 mov rbp,r13 | 885 mov rbp,r13 |
882 » sbb» r11,r11 | 886 » adc» r11,0 |
883 | 887 |
884 sub r12,-1 | 888 sub r12,-1 |
885 mov rcx,r8 | 889 mov rcx,r8 |
886 sbb r13,r14 | 890 sbb r13,r14 |
887 sbb r8,0 | 891 sbb r8,0 |
888 mov r10,r9 | 892 mov r10,r9 |
889 sbb r9,r15 | 893 sbb r9,r15 |
890 » test» r11,r11 | 894 » sbb» r11,0 |
891 | 895 |
892 » cmovz» r12,rax | 896 » cmovc» r12,rax |
893 » cmovz» r13,rbp | 897 » cmovc» r13,rbp |
894 mov QWORD[rdi],r12 | 898 mov QWORD[rdi],r12 |
895 » cmovz» r8,rcx | 899 » cmovc» r8,rcx |
896 mov QWORD[8+rdi],r13 | 900 mov QWORD[8+rdi],r13 |
897 » cmovz» r9,r10 | 901 » cmovc» r9,r10 |
898 mov QWORD[16+rdi],r8 | 902 mov QWORD[16+rdi],r8 |
899 mov QWORD[24+rdi],r9 | 903 mov QWORD[24+rdi],r9 |
900 | 904 |
901 DB 0F3h,0C3h ;repret | 905 DB 0F3h,0C3h ;repret |
902 | 906 |
903 | 907 |
904 | 908 |
905 ALIGN 32 | 909 ALIGN 32 |
906 __ecp_nistz256_sub_fromq: | 910 __ecp_nistz256_sub_fromq: |
907 sub r12,QWORD[rbx] | 911 sub r12,QWORD[rbx] |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
955 cmovnz r13,rbp | 959 cmovnz r13,rbp |
956 cmovnz r8,rcx | 960 cmovnz r8,rcx |
957 cmovnz r9,r10 | 961 cmovnz r9,r10 |
958 | 962 |
959 DB 0F3h,0C3h ;repret | 963 DB 0F3h,0C3h ;repret |
960 | 964 |
961 | 965 |
962 | 966 |
963 ALIGN 32 | 967 ALIGN 32 |
964 __ecp_nistz256_mul_by_2q: | 968 __ecp_nistz256_mul_by_2q: |
| 969 xor r11,r11 |
965 add r12,r12 | 970 add r12,r12 |
966 adc r13,r13 | 971 adc r13,r13 |
967 mov rax,r12 | 972 mov rax,r12 |
968 adc r8,r8 | 973 adc r8,r8 |
969 adc r9,r9 | 974 adc r9,r9 |
970 mov rbp,r13 | 975 mov rbp,r13 |
971 » sbb» r11,r11 | 976 » adc» r11,0 |
972 | 977 |
973 sub r12,-1 | 978 sub r12,-1 |
974 mov rcx,r8 | 979 mov rcx,r8 |
975 sbb r13,r14 | 980 sbb r13,r14 |
976 sbb r8,0 | 981 sbb r8,0 |
977 mov r10,r9 | 982 mov r10,r9 |
978 sbb r9,r15 | 983 sbb r9,r15 |
979 » test» r11,r11 | 984 » sbb» r11,0 |
980 | 985 |
981 » cmovz» r12,rax | 986 » cmovc» r12,rax |
982 » cmovz» r13,rbp | 987 » cmovc» r13,rbp |
983 mov QWORD[rdi],r12 | 988 mov QWORD[rdi],r12 |
984 » cmovz» r8,rcx | 989 » cmovc» r8,rcx |
985 mov QWORD[8+rdi],r13 | 990 mov QWORD[8+rdi],r13 |
986 » cmovz» r9,r10 | 991 » cmovc» r9,r10 |
987 mov QWORD[16+rdi],r8 | 992 mov QWORD[16+rdi],r8 |
988 mov QWORD[24+rdi],r9 | 993 mov QWORD[24+rdi],r9 |
989 | 994 |
990 DB 0F3h,0C3h ;repret | 995 DB 0F3h,0C3h ;repret |
991 | 996 |
992 global ecp_nistz256_point_double | 997 global ecp_nistz256_point_double |
993 | 998 |
994 ALIGN 32 | 999 ALIGN 32 |
995 ecp_nistz256_point_double: | 1000 ecp_nistz256_point_double: |
996 mov QWORD[8+rsp],rdi ;WIN64 prologue | 1001 mov QWORD[8+rsp],rdi ;WIN64 prologue |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1225 movdqu xmm0,XMMWORD[rsi] | 1230 movdqu xmm0,XMMWORD[rsi] |
1226 movdqu xmm1,XMMWORD[16+rsi] | 1231 movdqu xmm1,XMMWORD[16+rsi] |
1227 movdqu xmm2,XMMWORD[32+rsi] | 1232 movdqu xmm2,XMMWORD[32+rsi] |
1228 movdqu xmm3,XMMWORD[48+rsi] | 1233 movdqu xmm3,XMMWORD[48+rsi] |
1229 movdqu xmm4,XMMWORD[64+rsi] | 1234 movdqu xmm4,XMMWORD[64+rsi] |
1230 movdqu xmm5,XMMWORD[80+rsi] | 1235 movdqu xmm5,XMMWORD[80+rsi] |
1231 mov rbx,rsi | 1236 mov rbx,rsi |
1232 mov rsi,rdx | 1237 mov rsi,rdx |
1233 movdqa XMMWORD[384+rsp],xmm0 | 1238 movdqa XMMWORD[384+rsp],xmm0 |
1234 movdqa XMMWORD[(384+16)+rsp],xmm1 | 1239 movdqa XMMWORD[(384+16)+rsp],xmm1 |
1235 por xmm1,xmm0 | |
1236 movdqa XMMWORD[416+rsp],xmm2 | 1240 movdqa XMMWORD[416+rsp],xmm2 |
1237 movdqa XMMWORD[(416+16)+rsp],xmm3 | 1241 movdqa XMMWORD[(416+16)+rsp],xmm3 |
1238 por xmm3,xmm2 | |
1239 movdqa XMMWORD[448+rsp],xmm4 | 1242 movdqa XMMWORD[448+rsp],xmm4 |
1240 movdqa XMMWORD[(448+16)+rsp],xmm5 | 1243 movdqa XMMWORD[(448+16)+rsp],xmm5 |
1241 » por» xmm3,xmm1 | 1244 » por» xmm5,xmm4 |
1242 | 1245 |
1243 movdqu xmm0,XMMWORD[rsi] | 1246 movdqu xmm0,XMMWORD[rsi] |
1244 » pshufd» xmm5,xmm3,0xb1 | 1247 » pshufd» xmm3,xmm5,0xb1 |
1245 movdqu xmm1,XMMWORD[16+rsi] | 1248 movdqu xmm1,XMMWORD[16+rsi] |
1246 movdqu xmm2,XMMWORD[32+rsi] | 1249 movdqu xmm2,XMMWORD[32+rsi] |
1247 por xmm5,xmm3 | 1250 por xmm5,xmm3 |
1248 movdqu xmm3,XMMWORD[48+rsi] | 1251 movdqu xmm3,XMMWORD[48+rsi] |
1249 mov rax,QWORD[((64+0))+rsi] | 1252 mov rax,QWORD[((64+0))+rsi] |
1250 mov r14,QWORD[((64+8))+rsi] | 1253 mov r14,QWORD[((64+8))+rsi] |
1251 mov r15,QWORD[((64+16))+rsi] | 1254 mov r15,QWORD[((64+16))+rsi] |
1252 mov r8,QWORD[((64+24))+rsi] | 1255 mov r8,QWORD[((64+24))+rsi] |
1253 movdqa XMMWORD[480+rsp],xmm0 | 1256 movdqa XMMWORD[480+rsp],xmm0 |
1254 pshufd xmm4,xmm5,0x1e | 1257 pshufd xmm4,xmm5,0x1e |
1255 movdqa XMMWORD[(480+16)+rsp],xmm1 | 1258 movdqa XMMWORD[(480+16)+rsp],xmm1 |
| 1259 movdqu xmm0,XMMWORD[64+rsi] |
| 1260 movdqu xmm1,XMMWORD[80+rsi] |
| 1261 movdqa XMMWORD[512+rsp],xmm2 |
| 1262 movdqa XMMWORD[(512+16)+rsp],xmm3 |
| 1263 por xmm5,xmm4 |
| 1264 pxor xmm4,xmm4 |
1256 por xmm1,xmm0 | 1265 por xmm1,xmm0 |
1257 DB 102,72,15,110,199 | 1266 DB 102,72,15,110,199 |
1258 movdqa XMMWORD[512+rsp],xmm2 | |
1259 movdqa XMMWORD[(512+16)+rsp],xmm3 | |
1260 por xmm3,xmm2 | |
1261 por xmm5,xmm4 | |
1262 pxor xmm4,xmm4 | |
1263 por xmm3,xmm1 | |
1264 | 1267 |
1265 lea rsi,[((64-0))+rsi] | 1268 lea rsi,[((64-0))+rsi] |
1266 mov QWORD[((544+0))+rsp],rax | 1269 mov QWORD[((544+0))+rsp],rax |
1267 mov QWORD[((544+8))+rsp],r14 | 1270 mov QWORD[((544+8))+rsp],r14 |
1268 mov QWORD[((544+16))+rsp],r15 | 1271 mov QWORD[((544+16))+rsp],r15 |
1269 mov QWORD[((544+24))+rsp],r8 | 1272 mov QWORD[((544+24))+rsp],r8 |
1270 lea rdi,[96+rsp] | 1273 lea rdi,[96+rsp] |
1271 call __ecp_nistz256_sqr_montq | 1274 call __ecp_nistz256_sqr_montq |
1272 | 1275 |
1273 pcmpeqd xmm5,xmm4 | 1276 pcmpeqd xmm5,xmm4 |
1274 » pshufd» xmm4,xmm3,0xb1 | 1277 » pshufd» xmm4,xmm1,0xb1 |
1275 » por» xmm4,xmm3 | 1278 » por» xmm4,xmm1 |
1276 pshufd xmm5,xmm5,0 | 1279 pshufd xmm5,xmm5,0 |
1277 pshufd xmm3,xmm4,0x1e | 1280 pshufd xmm3,xmm4,0x1e |
1278 por xmm4,xmm3 | 1281 por xmm4,xmm3 |
1279 pxor xmm3,xmm3 | 1282 pxor xmm3,xmm3 |
1280 pcmpeqd xmm4,xmm3 | 1283 pcmpeqd xmm4,xmm3 |
1281 pshufd xmm4,xmm4,0 | 1284 pshufd xmm4,xmm4,0 |
1282 mov rax,QWORD[((64+0))+rbx] | 1285 mov rax,QWORD[((64+0))+rbx] |
1283 mov r14,QWORD[((64+8))+rbx] | 1286 mov r14,QWORD[((64+8))+rbx] |
1284 mov r15,QWORD[((64+16))+rbx] | 1287 mov r15,QWORD[((64+16))+rbx] |
1285 mov r8,QWORD[((64+24))+rbx] | 1288 mov r8,QWORD[((64+24))+rbx] |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1448 mov r10,QWORD[((8+32))+rsp] | 1451 mov r10,QWORD[((8+32))+rsp] |
1449 lea rsi,[((0+32))+rsp] | 1452 lea rsi,[((0+32))+rsp] |
1450 mov r11,QWORD[((16+32))+rsp] | 1453 mov r11,QWORD[((16+32))+rsp] |
1451 mov r12,QWORD[((24+32))+rsp] | 1454 mov r12,QWORD[((24+32))+rsp] |
1452 lea rdi,[192+rsp] | 1455 lea rdi,[192+rsp] |
1453 call __ecp_nistz256_mul_montq | 1456 call __ecp_nistz256_mul_montq |
1454 | 1457 |
1455 | 1458 |
1456 | 1459 |
1457 | 1460 |
| 1461 xor r11,r11 |
1458 add r12,r12 | 1462 add r12,r12 |
1459 lea rsi,[96+rsp] | 1463 lea rsi,[96+rsp] |
1460 adc r13,r13 | 1464 adc r13,r13 |
1461 mov rax,r12 | 1465 mov rax,r12 |
1462 adc r8,r8 | 1466 adc r8,r8 |
1463 adc r9,r9 | 1467 adc r9,r9 |
1464 mov rbp,r13 | 1468 mov rbp,r13 |
1465 » sbb» r11,r11 | 1469 » adc» r11,0 |
1466 | 1470 |
1467 sub r12,-1 | 1471 sub r12,-1 |
1468 mov rcx,r8 | 1472 mov rcx,r8 |
1469 sbb r13,r14 | 1473 sbb r13,r14 |
1470 sbb r8,0 | 1474 sbb r8,0 |
1471 mov r10,r9 | 1475 mov r10,r9 |
1472 sbb r9,r15 | 1476 sbb r9,r15 |
1473 » test» r11,r11 | 1477 » sbb» r11,0 |
1474 | 1478 |
1475 » cmovz» r12,rax | 1479 » cmovc» r12,rax |
1476 mov rax,QWORD[rsi] | 1480 mov rax,QWORD[rsi] |
1477 » cmovz» r13,rbp | 1481 » cmovc» r13,rbp |
1478 mov rbp,QWORD[8+rsi] | 1482 mov rbp,QWORD[8+rsi] |
1479 » cmovz» r8,rcx | 1483 » cmovc» r8,rcx |
1480 mov rcx,QWORD[16+rsi] | 1484 mov rcx,QWORD[16+rsi] |
1481 » cmovz» r9,r10 | 1485 » cmovc» r9,r10 |
1482 mov r10,QWORD[24+rsi] | 1486 mov r10,QWORD[24+rsi] |
1483 | 1487 |
1484 call __ecp_nistz256_subq | 1488 call __ecp_nistz256_subq |
1485 | 1489 |
1486 lea rbx,[128+rsp] | 1490 lea rbx,[128+rsp] |
1487 lea rdi,[288+rsp] | 1491 lea rdi,[288+rsp] |
1488 call __ecp_nistz256_sub_fromq | 1492 call __ecp_nistz256_sub_fromq |
1489 | 1493 |
1490 mov rax,QWORD[((192+0))+rsp] | 1494 mov rax,QWORD[((192+0))+rsp] |
1491 mov rbp,QWORD[((192+8))+rsp] | 1495 mov rbp,QWORD[((192+8))+rsp] |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1636 movdqu xmm2,XMMWORD[32+rsi] | 1640 movdqu xmm2,XMMWORD[32+rsi] |
1637 movdqu xmm3,XMMWORD[48+rsi] | 1641 movdqu xmm3,XMMWORD[48+rsi] |
1638 movdqu xmm4,XMMWORD[64+rsi] | 1642 movdqu xmm4,XMMWORD[64+rsi] |
1639 movdqu xmm5,XMMWORD[80+rsi] | 1643 movdqu xmm5,XMMWORD[80+rsi] |
1640 mov rax,QWORD[((64+0))+rsi] | 1644 mov rax,QWORD[((64+0))+rsi] |
1641 mov r14,QWORD[((64+8))+rsi] | 1645 mov r14,QWORD[((64+8))+rsi] |
1642 mov r15,QWORD[((64+16))+rsi] | 1646 mov r15,QWORD[((64+16))+rsi] |
1643 mov r8,QWORD[((64+24))+rsi] | 1647 mov r8,QWORD[((64+24))+rsi] |
1644 movdqa XMMWORD[320+rsp],xmm0 | 1648 movdqa XMMWORD[320+rsp],xmm0 |
1645 movdqa XMMWORD[(320+16)+rsp],xmm1 | 1649 movdqa XMMWORD[(320+16)+rsp],xmm1 |
1646 por xmm1,xmm0 | |
1647 movdqa XMMWORD[352+rsp],xmm2 | 1650 movdqa XMMWORD[352+rsp],xmm2 |
1648 movdqa XMMWORD[(352+16)+rsp],xmm3 | 1651 movdqa XMMWORD[(352+16)+rsp],xmm3 |
1649 por xmm3,xmm2 | |
1650 movdqa XMMWORD[384+rsp],xmm4 | 1652 movdqa XMMWORD[384+rsp],xmm4 |
1651 movdqa XMMWORD[(384+16)+rsp],xmm5 | 1653 movdqa XMMWORD[(384+16)+rsp],xmm5 |
1652 » por» xmm3,xmm1 | 1654 » por» xmm5,xmm4 |
1653 | 1655 |
1654 movdqu xmm0,XMMWORD[rbx] | 1656 movdqu xmm0,XMMWORD[rbx] |
1655 » pshufd» xmm5,xmm3,0xb1 | 1657 » pshufd» xmm3,xmm5,0xb1 |
1656 movdqu xmm1,XMMWORD[16+rbx] | 1658 movdqu xmm1,XMMWORD[16+rbx] |
1657 movdqu xmm2,XMMWORD[32+rbx] | 1659 movdqu xmm2,XMMWORD[32+rbx] |
1658 por xmm5,xmm3 | 1660 por xmm5,xmm3 |
1659 movdqu xmm3,XMMWORD[48+rbx] | 1661 movdqu xmm3,XMMWORD[48+rbx] |
1660 movdqa XMMWORD[416+rsp],xmm0 | 1662 movdqa XMMWORD[416+rsp],xmm0 |
1661 pshufd xmm4,xmm5,0x1e | 1663 pshufd xmm4,xmm5,0x1e |
1662 movdqa XMMWORD[(416+16)+rsp],xmm1 | 1664 movdqa XMMWORD[(416+16)+rsp],xmm1 |
1663 por xmm1,xmm0 | 1665 por xmm1,xmm0 |
1664 DB 102,72,15,110,199 | 1666 DB 102,72,15,110,199 |
1665 movdqa XMMWORD[448+rsp],xmm2 | 1667 movdqa XMMWORD[448+rsp],xmm2 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1763 mov r10,QWORD[((8+128))+rsp] | 1765 mov r10,QWORD[((8+128))+rsp] |
1764 lea rsi,[((0+128))+rsp] | 1766 lea rsi,[((0+128))+rsp] |
1765 mov r11,QWORD[((16+128))+rsp] | 1767 mov r11,QWORD[((16+128))+rsp] |
1766 mov r12,QWORD[((24+128))+rsp] | 1768 mov r12,QWORD[((24+128))+rsp] |
1767 lea rdi,[rsp] | 1769 lea rdi,[rsp] |
1768 call __ecp_nistz256_mul_montq | 1770 call __ecp_nistz256_mul_montq |
1769 | 1771 |
1770 | 1772 |
1771 | 1773 |
1772 | 1774 |
| 1775 xor r11,r11 |
1773 add r12,r12 | 1776 add r12,r12 |
1774 lea rsi,[192+rsp] | 1777 lea rsi,[192+rsp] |
1775 adc r13,r13 | 1778 adc r13,r13 |
1776 mov rax,r12 | 1779 mov rax,r12 |
1777 adc r8,r8 | 1780 adc r8,r8 |
1778 adc r9,r9 | 1781 adc r9,r9 |
1779 mov rbp,r13 | 1782 mov rbp,r13 |
1780 » sbb» r11,r11 | 1783 » adc» r11,0 |
1781 | 1784 |
1782 sub r12,-1 | 1785 sub r12,-1 |
1783 mov rcx,r8 | 1786 mov rcx,r8 |
1784 sbb r13,r14 | 1787 sbb r13,r14 |
1785 sbb r8,0 | 1788 sbb r8,0 |
1786 mov r10,r9 | 1789 mov r10,r9 |
1787 sbb r9,r15 | 1790 sbb r9,r15 |
1788 » test» r11,r11 | 1791 » sbb» r11,0 |
1789 | 1792 |
1790 » cmovz» r12,rax | 1793 » cmovc» r12,rax |
1791 mov rax,QWORD[rsi] | 1794 mov rax,QWORD[rsi] |
1792 » cmovz» r13,rbp | 1795 » cmovc» r13,rbp |
1793 mov rbp,QWORD[8+rsi] | 1796 mov rbp,QWORD[8+rsi] |
1794 » cmovz» r8,rcx | 1797 » cmovc» r8,rcx |
1795 mov rcx,QWORD[16+rsi] | 1798 mov rcx,QWORD[16+rsi] |
1796 » cmovz» r9,r10 | 1799 » cmovc» r9,r10 |
1797 mov r10,QWORD[24+rsi] | 1800 mov r10,QWORD[24+rsi] |
1798 | 1801 |
1799 call __ecp_nistz256_subq | 1802 call __ecp_nistz256_subq |
1800 | 1803 |
1801 lea rbx,[160+rsp] | 1804 lea rbx,[160+rsp] |
1802 lea rdi,[224+rsp] | 1805 lea rdi,[224+rsp] |
1803 call __ecp_nistz256_sub_fromq | 1806 call __ecp_nistz256_sub_fromq |
1804 | 1807 |
1805 mov rax,QWORD[((0+0))+rsp] | 1808 mov rax,QWORD[((0+0))+rsp] |
1806 mov rbp,QWORD[((0+8))+rsp] | 1809 mov rbp,QWORD[((0+8))+rsp] |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1916 pop r15 | 1919 pop r15 |
1917 pop r14 | 1920 pop r14 |
1918 pop r13 | 1921 pop r13 |
1919 pop r12 | 1922 pop r12 |
1920 pop rbx | 1923 pop rbx |
1921 pop rbp | 1924 pop rbp |
1922 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 1925 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
1923 mov rsi,QWORD[16+rsp] | 1926 mov rsi,QWORD[16+rsp] |
1924 DB 0F3h,0C3h ;repret | 1927 DB 0F3h,0C3h ;repret |
1925 $L$SEH_end_ecp_nistz256_point_add_affine: | 1928 $L$SEH_end_ecp_nistz256_point_add_affine: |
OLD | NEW |