@@ -2048,185 +2048,6 @@ __bn_post4x_internal:
20482048 .byte 0xf3,0xc3
20492049.cfi_endproc
20502050.size __bn_post4x_internal,.-__bn_post4x_internal
2051- .globl bn_from_montgomery
2052- .type bn_from_montgomery,@function
2053- .align 32
2054- bn_from_montgomery:
2055- .cfi_startproc
2056- testl $7,%r9d
2057- jz bn_from_mont8x
2058- xorl %eax,%eax
2059- .byte 0xf3,0xc3
2060- .cfi_endproc
2061- .size bn_from_montgomery,.-bn_from_montgomery
2062-
2063- .type bn_from_mont8x,@function
2064- .align 32
2065- bn_from_mont8x:
2066- .cfi_startproc
2067- .byte 0x67
2068- movq %rsp,%rax
2069- .cfi_def_cfa_register %rax
2070- pushq %rbx
2071- .cfi_offset %rbx,-16
2072- pushq %rbp
2073- .cfi_offset %rbp,-24
2074- pushq %r12
2075- .cfi_offset %r12,-32
2076- pushq %r13
2077- .cfi_offset %r13,-40
2078- pushq %r14
2079- .cfi_offset %r14,-48
2080- pushq %r15
2081- .cfi_offset %r15,-56
2082- .Lfrom_prologue:
2083-
2084- shll $3,%r9d
2085- leaq (%r9,%r9,2),%r10
2086- negq %r9
2087- movq (%r8),%r8
2088-
2089-
2090-
2091-
2092-
2093-
2094-
2095-
2096- leaq -320(%rsp,%r9,2),%r11
2097- movq %rsp,%rbp
2098- subq %rdi,%r11
2099- andq $4095,%r11
2100- cmpq %r11,%r10
2101- jb .Lfrom_sp_alt
2102- subq %r11,%rbp
2103- leaq -320(%rbp,%r9,2),%rbp
2104- jmp .Lfrom_sp_done
2105-
2106- .align 32
2107- .Lfrom_sp_alt:
2108- leaq 4096-320(,%r9,2),%r10
2109- leaq -320(%rbp,%r9,2),%rbp
2110- subq %r10,%r11
2111- movq $0,%r10
2112- cmovcq %r10,%r11
2113- subq %r11,%rbp
2114- .Lfrom_sp_done:
2115- andq $-64,%rbp
2116- movq %rsp,%r11
2117- subq %rbp,%r11
2118- andq $-4096,%r11
2119- leaq (%r11,%rbp,1),%rsp
2120- movq (%rsp),%r10
2121- cmpq %rbp,%rsp
2122- ja .Lfrom_page_walk
2123- jmp .Lfrom_page_walk_done
2124-
2125- .Lfrom_page_walk:
2126- leaq -4096(%rsp),%rsp
2127- movq (%rsp),%r10
2128- cmpq %rbp,%rsp
2129- ja .Lfrom_page_walk
2130- .Lfrom_page_walk_done:
2131-
2132- movq %r9,%r10
2133- negq %r9
2134-
2135-
2136-
2137-
2138-
2139-
2140-
2141-
2142-
2143-
2144- movq %r8,32(%rsp)
2145- movq %rax,40(%rsp)
2146- .cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
2147- .Lfrom_body:
2148- movq %r9,%r11
2149- leaq 48(%rsp),%rax
2150- pxor %xmm0,%xmm0
2151- jmp .Lmul_by_1
2152-
2153- .align 32
2154- .Lmul_by_1:
2155- movdqu (%rsi),%xmm1
2156- movdqu 16(%rsi),%xmm2
2157- movdqu 32(%rsi),%xmm3
2158- movdqa %xmm0,(%rax,%r9,1)
2159- movdqu 48(%rsi),%xmm4
2160- movdqa %xmm0,16(%rax,%r9,1)
2161- .byte 0x48,0x8d,0xb6,0x40,0x00,0x00,0x00
2162- movdqa %xmm1,(%rax)
2163- movdqa %xmm0,32(%rax,%r9,1)
2164- movdqa %xmm2,16(%rax)
2165- movdqa %xmm0,48(%rax,%r9,1)
2166- movdqa %xmm3,32(%rax)
2167- movdqa %xmm4,48(%rax)
2168- leaq 64(%rax),%rax
2169- subq $64,%r11
2170- jnz .Lmul_by_1
2171-
2172- .byte 102,72,15,110,207
2173- .byte 102,72,15,110,209
2174- .byte 0x67
2175- movq %rcx,%rbp
2176- .byte 102,73,15,110,218
2177- movl OPENSSL_ia32cap_P+8(%rip),%r11d
2178- andl $0x80108,%r11d
2179- cmpl $0x80108,%r11d
2180- jne .Lfrom_mont_nox
2181-
2182- leaq (%rax,%r9,1),%rdi
2183- call __bn_sqrx8x_reduction
2184- call __bn_postx4x_internal
2185-
2186- pxor %xmm0,%xmm0
2187- leaq 48(%rsp),%rax
2188- jmp .Lfrom_mont_zero
2189-
2190- .align 32
2191- .Lfrom_mont_nox:
2192- call __bn_sqr8x_reduction
2193- call __bn_post4x_internal
2194-
2195- pxor %xmm0,%xmm0
2196- leaq 48(%rsp),%rax
2197- jmp .Lfrom_mont_zero
2198-
2199- .align 32
2200- .Lfrom_mont_zero:
2201- movq 40(%rsp),%rsi
2202- .cfi_def_cfa %rsi,8
2203- movdqa %xmm0,0(%rax)
2204- movdqa %xmm0,16(%rax)
2205- movdqa %xmm0,32(%rax)
2206- movdqa %xmm0,48(%rax)
2207- leaq 64(%rax),%rax
2208- subq $32,%r9
2209- jnz .Lfrom_mont_zero
2210-
2211- movq $1,%rax
2212- movq -48(%rsi),%r15
2213- .cfi_restore %r15
2214- movq -40(%rsi),%r14
2215- .cfi_restore %r14
2216- movq -32(%rsi),%r13
2217- .cfi_restore %r13
2218- movq -24(%rsi),%r12
2219- .cfi_restore %r12
2220- movq -16(%rsi),%rbp
2221- .cfi_restore %rbp
2222- movq -8(%rsi),%rbx
2223- .cfi_restore %rbx
2224- leaq (%rsi),%rsp
2225- .cfi_def_cfa_register %rsp
2226- .Lfrom_epilogue:
2227- .byte 0xf3,0xc3
2228- .cfi_endproc
2229- .size bn_from_mont8x,.-bn_from_mont8x
22302051.type bn_mulx4x_mont_gather5,@function
22312052.align 32
22322053bn_mulx4x_mont_gather5:
0 commit comments