| OLD | NEW |
| 1 OPTION DOTNAME | 1 OPTION DOTNAME |
| 2 .text$» SEGMENT ALIGN(64) 'CODE' | 2 .text$» SEGMENT ALIGN(256) 'CODE' |
| 3 | 3 |
| 4 EXTERN OPENSSL_ia32cap_P:NEAR | 4 EXTERN OPENSSL_ia32cap_P:NEAR |
| 5 | 5 |
| 6 PUBLIC bn_mul_mont_gather5 | 6 PUBLIC bn_mul_mont_gather5 |
| 7 | 7 |
| 8 ALIGN 64 | 8 ALIGN 64 |
| 9 bn_mul_mont_gather5 PROC PUBLIC | 9 bn_mul_mont_gather5 PROC PUBLIC |
| 10 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue | 10 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue |
| 11 mov QWORD PTR[16+rsp],rsi | 11 mov QWORD PTR[16+rsp],rsi |
| 12 mov rax,rsp | 12 mov rax,rsp |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 and r11,7 | 50 and r11,7 |
| 51 not r10 | 51 not r10 |
| 52 lea rax,QWORD PTR[$L$magic_masks] | 52 lea rax,QWORD PTR[$L$magic_masks] |
| 53 and r10,3 | 53 and r10,3 |
| 54 lea r12,QWORD PTR[96+r11*8+r12] | 54 lea r12,QWORD PTR[96+r11*8+r12] |
| 55 movq xmm4,QWORD PTR[r10*8+rax] | 55 movq xmm4,QWORD PTR[r10*8+rax] |
| 56 movq xmm5,QWORD PTR[8+r10*8+rax] | 56 movq xmm5,QWORD PTR[8+r10*8+rax] |
| 57 movq xmm6,QWORD PTR[16+r10*8+rax] | 57 movq xmm6,QWORD PTR[16+r10*8+rax] |
| 58 movq xmm7,QWORD PTR[24+r10*8+rax] | 58 movq xmm7,QWORD PTR[24+r10*8+rax] |
| 59 | 59 |
| 60 » movq» xmm0,QWORD PTR[(((-96)))+r12] | 60 » movq» xmm0,QWORD PTR[((-96))+r12] |
| 61 movq xmm1,QWORD PTR[((-32))+r12] | 61 movq xmm1,QWORD PTR[((-32))+r12] |
| 62 pand xmm0,xmm4 | 62 pand xmm0,xmm4 |
| 63 movq xmm2,QWORD PTR[32+r12] | 63 movq xmm2,QWORD PTR[32+r12] |
| 64 pand xmm1,xmm5 | 64 pand xmm1,xmm5 |
| 65 movq xmm3,QWORD PTR[96+r12] | 65 movq xmm3,QWORD PTR[96+r12] |
| 66 pand xmm2,xmm6 | 66 pand xmm2,xmm6 |
| 67 por xmm0,xmm1 | 67 por xmm0,xmm1 |
| 68 pand xmm3,xmm7 | 68 pand xmm3,xmm7 |
| 69 por xmm0,xmm2 | 69 por xmm0,xmm2 |
| 70 lea r12,QWORD PTR[256+r12] | 70 lea r12,QWORD PTR[256+r12] |
| 71 por xmm0,xmm3 | 71 por xmm0,xmm3 |
| 72 | 72 |
| 73 DB 102,72,15,126,195 | 73 DB 102,72,15,126,195 |
| 74 | 74 |
| 75 mov r8,QWORD PTR[r8] | 75 mov r8,QWORD PTR[r8] |
| 76 mov rax,QWORD PTR[rsi] | 76 mov rax,QWORD PTR[rsi] |
| 77 | 77 |
| 78 xor r14,r14 | 78 xor r14,r14 |
| 79 xor r15,r15 | 79 xor r15,r15 |
| 80 | 80 |
| 81 » movq» xmm0,QWORD PTR[(((-96)))+r12] | 81 » movq» xmm0,QWORD PTR[((-96))+r12] |
| 82 movq xmm1,QWORD PTR[((-32))+r12] | 82 movq xmm1,QWORD PTR[((-32))+r12] |
| 83 pand xmm0,xmm4 | 83 pand xmm0,xmm4 |
| 84 movq xmm2,QWORD PTR[32+r12] | 84 movq xmm2,QWORD PTR[32+r12] |
| 85 pand xmm1,xmm5 | 85 pand xmm1,xmm5 |
| 86 | 86 |
| 87 mov rbp,r8 | 87 mov rbp,r8 |
| 88 mul rbx | 88 mul rbx |
| 89 mov r10,rax | 89 mov r10,rax |
| 90 mov rax,QWORD PTR[rcx] | 90 mov rax,QWORD PTR[rcx] |
| 91 | 91 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 mov QWORD PTR[r9*8+rsp],rdx | 151 mov QWORD PTR[r9*8+rsp],rdx |
| 152 | 152 |
| 153 lea r14,QWORD PTR[1+r14] | 153 lea r14,QWORD PTR[1+r14] |
| 154 jmp $L$outer | 154 jmp $L$outer |
| 155 ALIGN 16 | 155 ALIGN 16 |
| 156 $L$outer:: | 156 $L$outer:: |
| 157 xor r15,r15 | 157 xor r15,r15 |
| 158 mov rbp,r8 | 158 mov rbp,r8 |
| 159 mov r10,QWORD PTR[rsp] | 159 mov r10,QWORD PTR[rsp] |
| 160 | 160 |
| 161 » movq» xmm0,QWORD PTR[(((-96)))+r12] | 161 » movq» xmm0,QWORD PTR[((-96))+r12] |
| 162 movq xmm1,QWORD PTR[((-32))+r12] | 162 movq xmm1,QWORD PTR[((-32))+r12] |
| 163 pand xmm0,xmm4 | 163 pand xmm0,xmm4 |
| 164 movq xmm2,QWORD PTR[32+r12] | 164 movq xmm2,QWORD PTR[32+r12] |
| 165 pand xmm1,xmm5 | 165 pand xmm1,xmm5 |
| 166 | 166 |
| 167 mul rbx | 167 mul rbx |
| 168 add r10,rax | 168 add r10,rax |
| 169 mov rax,QWORD PTR[rcx] | 169 mov rax,QWORD PTR[rcx] |
| 170 adc rdx,0 | 170 adc rdx,0 |
| 171 | 171 |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 lea rax,QWORD PTR[$L$magic_masks] | 383 lea rax,QWORD PTR[$L$magic_masks] |
| 384 and r10,3 | 384 and r10,3 |
| 385 lea r12,QWORD PTR[96+r11*8+rdx] | 385 lea r12,QWORD PTR[96+r11*8+rdx] |
| 386 movq xmm4,QWORD PTR[r10*8+rax] | 386 movq xmm4,QWORD PTR[r10*8+rax] |
| 387 movq xmm5,QWORD PTR[8+r10*8+rax] | 387 movq xmm5,QWORD PTR[8+r10*8+rax] |
| 388 add r11,7 | 388 add r11,7 |
| 389 movq xmm6,QWORD PTR[16+r10*8+rax] | 389 movq xmm6,QWORD PTR[16+r10*8+rax] |
| 390 movq xmm7,QWORD PTR[24+r10*8+rax] | 390 movq xmm7,QWORD PTR[24+r10*8+rax] |
| 391 and r11,7 | 391 and r11,7 |
| 392 | 392 |
| 393 » movq» xmm0,QWORD PTR[(((-96)))+r12] | 393 » movq» xmm0,QWORD PTR[((-96))+r12] |
| 394 lea r14,QWORD PTR[256+r12] | 394 lea r14,QWORD PTR[256+r12] |
| 395 movq xmm1,QWORD PTR[((-32))+r12] | 395 movq xmm1,QWORD PTR[((-32))+r12] |
| 396 pand xmm0,xmm4 | 396 pand xmm0,xmm4 |
| 397 movq xmm2,QWORD PTR[32+r12] | 397 movq xmm2,QWORD PTR[32+r12] |
| 398 pand xmm1,xmm5 | 398 pand xmm1,xmm5 |
| 399 movq xmm3,QWORD PTR[96+r12] | 399 movq xmm3,QWORD PTR[96+r12] |
| 400 pand xmm2,xmm6 | 400 pand xmm2,xmm6 |
| 401 DB 067h | 401 DB 067h |
| 402 por xmm0,xmm1 | 402 por xmm0,xmm1 |
| 403 movq xmm1,QWORD PTR[((-96))+r14] | 403 movq xmm1,QWORD PTR[((-96))+r14] |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 | 581 |
| 582 ALIGN 32 | 582 ALIGN 32 |
| 583 $L$outer4x:: | 583 $L$outer4x:: |
| 584 mov r10,QWORD PTR[r9*1+r14] | 584 mov r10,QWORD PTR[r9*1+r14] |
| 585 mov rbp,r8 | 585 mov rbp,r8 |
| 586 mul rbx | 586 mul rbx |
| 587 add r10,rax | 587 add r10,rax |
| 588 mov rax,QWORD PTR[rcx] | 588 mov rax,QWORD PTR[rcx] |
| 589 adc rdx,0 | 589 adc rdx,0 |
| 590 | 590 |
| 591 » movq» xmm0,QWORD PTR[(((-96)))+r12] | 591 » movq» xmm0,QWORD PTR[((-96))+r12] |
| 592 movq xmm1,QWORD PTR[((-32))+r12] | 592 movq xmm1,QWORD PTR[((-32))+r12] |
| 593 pand xmm0,xmm4 | 593 pand xmm0,xmm4 |
| 594 movq xmm2,QWORD PTR[32+r12] | 594 movq xmm2,QWORD PTR[32+r12] |
| 595 pand xmm1,xmm5 | 595 pand xmm1,xmm5 |
| 596 movq xmm3,QWORD PTR[96+r12] | 596 movq xmm3,QWORD PTR[96+r12] |
| 597 | 597 |
| 598 imul rbp,r10 | 598 imul rbp,r10 |
| 599 DB 067h | 599 DB 067h |
| 600 mov r11,rdx | 600 mov r11,rdx |
| 601 mov QWORD PTR[r14],rdi | 601 mov QWORD PTR[r14],rdi |
| (...skipping 1273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1875 lea rax,QWORD PTR[$L$magic_masks] | 1875 lea rax,QWORD PTR[$L$magic_masks] |
| 1876 and r9d,3 | 1876 and r9d,3 |
| 1877 lea r8,QWORD PTR[128+r11*8+r8] | 1877 lea r8,QWORD PTR[128+r11*8+r8] |
| 1878 movq xmm4,QWORD PTR[r9*8+rax] | 1878 movq xmm4,QWORD PTR[r9*8+rax] |
| 1879 movq xmm5,QWORD PTR[8+r9*8+rax] | 1879 movq xmm5,QWORD PTR[8+r9*8+rax] |
| 1880 movq xmm6,QWORD PTR[16+r9*8+rax] | 1880 movq xmm6,QWORD PTR[16+r9*8+rax] |
| 1881 movq xmm7,QWORD PTR[24+r9*8+rax] | 1881 movq xmm7,QWORD PTR[24+r9*8+rax] |
| 1882 jmp $L$gather | 1882 jmp $L$gather |
| 1883 ALIGN 16 | 1883 ALIGN 16 |
| 1884 $L$gather:: | 1884 $L$gather:: |
| 1885 » movq» xmm0,QWORD PTR[(((-128)))+r8] | 1885 » movq» xmm0,QWORD PTR[((-128))+r8] |
| 1886 movq xmm1,QWORD PTR[((-64))+r8] | 1886 movq xmm1,QWORD PTR[((-64))+r8] |
| 1887 pand xmm0,xmm4 | 1887 pand xmm0,xmm4 |
| 1888 movq xmm2,QWORD PTR[r8] | 1888 movq xmm2,QWORD PTR[r8] |
| 1889 pand xmm1,xmm5 | 1889 pand xmm1,xmm5 |
| 1890 movq xmm3,QWORD PTR[64+r8] | 1890 movq xmm3,QWORD PTR[64+r8] |
| 1891 pand xmm2,xmm6 | 1891 pand xmm2,xmm6 |
| 1892 por xmm0,xmm1 | 1892 por xmm0,xmm1 |
| 1893 pand xmm3,xmm7 | 1893 pand xmm3,xmm7 |
| 1894 DB 067h,067h | 1894 DB 067h,067h |
| 1895 por xmm0,xmm2 | 1895 por xmm0,xmm2 |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2066 ALIGN 8 | 2066 ALIGN 8 |
| 2067 $L$SEH_info_bn_gather5:: | 2067 $L$SEH_info_bn_gather5:: |
| 2068 DB 001h,00dh,005h,000h | 2068 DB 001h,00dh,005h,000h |
| 2069 DB 00dh,078h,001h,000h | 2069 DB 00dh,078h,001h,000h |
| 2070 DB 008h,068h,000h,000h | 2070 DB 008h,068h,000h,000h |
| 2071 DB 004h,042h,000h,000h | 2071 DB 004h,042h,000h,000h |
| 2072 ALIGN 8 | 2072 ALIGN 8 |
| 2073 | 2073 |
| 2074 .xdata ENDS | 2074 .xdata ENDS |
| 2075 END | 2075 END |
| OLD | NEW |