Roll chromium_revision f7f609d28c..3dc058abd9 (558320:558478)
Change log:f7f609d28c..3dc058abd9Full diff:f7f609d28c..3dc058abd9Roll chromium third_party 70ec6906a5..257f2e30a3 Change log:70ec6906a5..257f2e30a3Changed dependencies: * src/base:deb9ad0180..2711aa7a26* src/build:27de0fa05e..c5b7918c1b* src/ios:f1ab343a06..0cfd7f5c39* src/testing:81ba8e08f4..6084f9bd41* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/8e75ae4880..69271b5d4f * src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/195c52dc70..a67f1510e7 * src/third_party/depot_tools:d1de725e0b..babd098f36* src/third_party/freetype/src:2157d8fa6f..9e345c9117* src/tools:9d42b89d62..1975b1c78cDEPS diff:f7f609d28c..3dc058abd9/DEPS No update to Clang. TBR=buildbot@webrtc.org, BUG=None CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal Change-Id: I26b88ce0de10327c11ad416ab0dbd192b6993970 Reviewed-on: https://webrtc-review.googlesource.com/76511 Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org> Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23222}
This commit is contained in:
parent
52cab50c22
commit
d23c6590dd
22
DEPS
22
DEPS
@ -10,7 +10,7 @@ vars = {
|
||||
'checkout_configuration': 'default',
|
||||
'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
|
||||
'webrtc_git': 'https://webrtc.googlesource.com',
|
||||
'chromium_revision': 'f7f609d28c4d78e68712a710c66e9e4d45eef1fe',
|
||||
'chromium_revision': '3dc058abd908f38f596616fda596cbf8ded48338',
|
||||
'boringssl_git': 'https://boringssl.googlesource.com',
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling swarming_client
|
||||
@ -19,7 +19,7 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling BoringSSL
|
||||
# and whatever else without interference from each other.
|
||||
'boringssl_revision': '8e75ae488047c519f14f2c08b02a55bf7712fa1d',
|
||||
'boringssl_revision': '69271b5d4fed328eb61b86b013937ce22549fee5',
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling lss
|
||||
# and whatever else without interference from each other.
|
||||
@ -27,7 +27,7 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling catapult
|
||||
# and whatever else without interference from each other.
|
||||
'catapult_revision': '195c52dc7098d106a56b89fb84184720a1941e28',
|
||||
'catapult_revision': 'a67f1510e710d44d18eeeb07bb66fed6f1d0f360',
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling libFuzzer
|
||||
# and whatever else without interference from each other.
|
||||
@ -35,7 +35,7 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling freetype
|
||||
# and whatever else without interference from each other.
|
||||
'freetype_revision': '2157d8fa6f7e12063ca166476ed2223d24234db7',
|
||||
'freetype_revision': '9e345c911714ed62250be13d03d72e25d91fbc77',
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling HarfBuzz
|
||||
# and whatever else without interference from each other.
|
||||
@ -43,15 +43,15 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling Chromium third_party
|
||||
# and whatever else without interference from each other.
|
||||
'chromium_third_party_revision': '70ec6906a5480c5dee38e293a8d148beff7cc9e0',
|
||||
'chromium_third_party_revision': '257f2e30a34aa982756752e39d7eac95eded7782',
|
||||
}
|
||||
deps = {
|
||||
# TODO(kjellander): Move this to be Android-only once the libevent dependency
|
||||
# in base/third_party/libevent is solved.
|
||||
'src/base':
|
||||
Var('chromium_git') + '/chromium/src/base' + '@' + 'deb9ad01806013c66b37c0d519f88d079a08536a',
|
||||
Var('chromium_git') + '/chromium/src/base' + '@' + '2711aa7a2673990d8304babdad7b772e3f5e05bf',
|
||||
'src/build':
|
||||
Var('chromium_git') + '/chromium/src/build' + '@' + '27de0fa05efe2019fd41b0dc4f5dce526f2cab7d',
|
||||
Var('chromium_git') + '/chromium/src/build' + '@' + 'c5b7918c1b701a7625cd162251d1c90b05f9a369',
|
||||
'src/buildtools':
|
||||
Var('chromium_git') + '/chromium/buildtools.git' + '@' + 'a9e946f166b73f9dc170129f6586a1e68efb0ab3',
|
||||
# Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
|
||||
@ -61,11 +61,11 @@ deps = {
|
||||
'condition': 'checkout_android',
|
||||
},
|
||||
'src/ios': {
|
||||
'url': Var('chromium_git') + '/chromium/src/ios' + '@' + 'f1ab343a062b963a5d3e1f33a9bc0c8cb68c2221',
|
||||
'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '0cfd7f5c396a0a9f6eb0ab666ad62cd41e4310a3',
|
||||
'condition': 'checkout_ios',
|
||||
},
|
||||
'src/testing':
|
||||
Var('chromium_git') + '/chromium/src/testing' + '@' + '81ba8e08f43b55ecf9a08375da6eb52dbde3cfdb',
|
||||
Var('chromium_git') + '/chromium/src/testing' + '@' + '6084f9bd41abf8e9920798bcf9a266e494d96cd6',
|
||||
# This entry is used for chromium third_party rolling into webrtc third_party only.
|
||||
'src/third_party_chromium': {
|
||||
'url': Var('chromium_git') + '/chromium/src/third_party' + '@' + Var('chromium_third_party_revision'),
|
||||
@ -94,7 +94,7 @@ deps = {
|
||||
'src/third_party/colorama/src':
|
||||
Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
|
||||
'src/third_party/depot_tools':
|
||||
Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'd1de725e0b53f5f0bb331471e5673aee0e72a5b7',
|
||||
Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'babd098f3684f1bc965a0f72f96cb701eec91e52',
|
||||
'src/third_party/errorprone/lib': {
|
||||
'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '980d49e839aa4984015efed34b0134d4b2c9b6d7',
|
||||
'condition': 'checkout_android',
|
||||
@ -175,7 +175,7 @@ deps = {
|
||||
'src/third_party/yasm/source/patched-yasm':
|
||||
Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
|
||||
'src/tools':
|
||||
Var('chromium_git') + '/chromium/src/tools' + '@' + '9d42b89d6236832b511fef61e04097be0b3230a8',
|
||||
Var('chromium_git') + '/chromium/src/tools' + '@' + '1975b1c78c7a502d0403840feff30a44371a5125',
|
||||
'src/tools/gyp':
|
||||
Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
|
||||
'src/tools/swarming_client':
|
||||
|
||||
2
third_party/boringssl/BUILD.generated.gni
vendored
2
third_party/boringssl/BUILD.generated.gni
vendored
@ -57,6 +57,7 @@ crypto_sources = [
|
||||
"src/crypto/bytestring/cbb.c",
|
||||
"src/crypto/bytestring/cbs.c",
|
||||
"src/crypto/bytestring/internal.h",
|
||||
"src/crypto/bytestring/unicode.c",
|
||||
"src/crypto/chacha/chacha.c",
|
||||
"src/crypto/cipher_extra/cipher_extra.c",
|
||||
"src/crypto/cipher_extra/derive_key.c",
|
||||
@ -290,6 +291,7 @@ crypto_headers = [
|
||||
"src/include/openssl/dh.h",
|
||||
"src/include/openssl/digest.h",
|
||||
"src/include/openssl/dsa.h",
|
||||
"src/include/openssl/e_os2.h",
|
||||
"src/include/openssl/ec.h",
|
||||
"src/include/openssl/ec_key.h",
|
||||
"src/include/openssl/ecdh.h",
|
||||
|
||||
79
third_party/boringssl/crypto_test_data.cc
vendored
79
third_party/boringssl/crypto_test_data.cc
vendored
File diff suppressed because one or more lines are too long
1240
third_party/boringssl/err_data.c
vendored
1240
third_party/boringssl/err_data.c
vendored
File diff suppressed because it is too large
Load Diff
@ -172,14 +172,15 @@ Lsub: ldr r7,[r4],#4
|
||||
mov r4,sp @ "rewind" r4
|
||||
sub r2,r2,r5 @ "rewind" r2
|
||||
|
||||
and r1,r4,r14
|
||||
bic r3,r2,r14
|
||||
orr r1,r1,r3 @ ap=borrow?tp:rp
|
||||
|
||||
Lcopy: ldr r7,[r1],#4 @ copy or in-place refresh
|
||||
Lcopy: ldr r7,[r4] @ conditional copy
|
||||
ldr r5,[r2]
|
||||
str sp,[r4],#4 @ zap tp
|
||||
str r7,[r2],#4
|
||||
cmp r4,r0
|
||||
#ifdef __thumb2__
|
||||
it cc
|
||||
#endif
|
||||
movcc r5,r7
|
||||
str r5,[r2],#4
|
||||
teq r4,r0 @ preserve carry
|
||||
bne Lcopy
|
||||
|
||||
mov sp,r0
|
||||
|
||||
@ -171,14 +171,15 @@ bn_mul_mont:
|
||||
mov r4,sp @ "rewind" r4
|
||||
sub r2,r2,r5 @ "rewind" r2
|
||||
|
||||
and r1,r4,r14
|
||||
bic r3,r2,r14
|
||||
orr r1,r1,r3 @ ap=borrow?tp:rp
|
||||
|
||||
.Lcopy: ldr r7,[r1],#4 @ copy or in-place refresh
|
||||
.Lcopy: ldr r7,[r4] @ conditional copy
|
||||
ldr r5,[r2]
|
||||
str sp,[r4],#4 @ zap tp
|
||||
str r7,[r2],#4
|
||||
cmp r4,r0
|
||||
#ifdef __thumb2__
|
||||
it cc
|
||||
#endif
|
||||
movcc r5,r7
|
||||
str r5,[r2],#4
|
||||
teq r4,r0 @ preserve carry
|
||||
bne .Lcopy
|
||||
|
||||
mov sp,r0
|
||||
|
||||
@ -446,16 +446,18 @@ bn_mul_mont:
|
||||
leal 1(%edx),%edx
|
||||
jge .L017sub
|
||||
sbbl $0,%eax
|
||||
andl %eax,%esi
|
||||
notl %eax
|
||||
movl %edi,%ebp
|
||||
andl %eax,%ebp
|
||||
orl %ebp,%esi
|
||||
movl $-1,%edx
|
||||
xorl %eax,%edx
|
||||
jmp .L018copy
|
||||
.align 16
|
||||
.L018copy:
|
||||
movl (%esi,%ebx,4),%eax
|
||||
movl %eax,(%edi,%ebx,4)
|
||||
movl 32(%esp,%ebx,4),%esi
|
||||
movl (%edi,%ebx,4),%ebp
|
||||
movl %ecx,32(%esp,%ebx,4)
|
||||
andl %eax,%esi
|
||||
andl %edx,%ebp
|
||||
orl %esi,%ebp
|
||||
movl %ebp,(%edi,%ebx,4)
|
||||
decl %ebx
|
||||
jge .L018copy
|
||||
movl 24(%esp),%esp
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1724,6 +1724,11 @@ rsaz_1024_gather5_avx2:
|
||||
rsaz_avx2_eligible:
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rax
|
||||
movl 8(%rax),%eax
|
||||
movl $524544,%ecx
|
||||
movl $0,%edx
|
||||
andl %eax,%ecx
|
||||
cmpl $524544,%ecx
|
||||
cmovel %edx,%eax
|
||||
andl $32,%eax
|
||||
shrl $5,%eax
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
@ -17,6 +17,8 @@ bn_mul_mont:
|
||||
jnz .Lmul_enter
|
||||
cmpl $8,%r9d
|
||||
jb .Lmul_enter
|
||||
leaq OPENSSL_ia32cap_P(%rip),%r11
|
||||
movl 8(%r11),%r11d
|
||||
cmpq %rsi,%rdx
|
||||
jne .Lmul4x_enter
|
||||
testl $7,%r9d
|
||||
@ -208,30 +210,30 @@ bn_mul_mont:
|
||||
|
||||
xorq %r14,%r14
|
||||
movq (%rsp),%rax
|
||||
leaq (%rsp),%rsi
|
||||
movq %r9,%r15
|
||||
jmp .Lsub
|
||||
|
||||
.align 16
|
||||
.Lsub: sbbq (%rcx,%r14,8),%rax
|
||||
movq %rax,(%rdi,%r14,8)
|
||||
movq 8(%rsi,%r14,8),%rax
|
||||
movq 8(%rsp,%r14,8),%rax
|
||||
leaq 1(%r14),%r14
|
||||
decq %r15
|
||||
jnz .Lsub
|
||||
|
||||
sbbq $0,%rax
|
||||
movq $-1,%rbx
|
||||
xorq %rax,%rbx
|
||||
xorq %r14,%r14
|
||||
andq %rax,%rsi
|
||||
notq %rax
|
||||
movq %rdi,%rcx
|
||||
andq %rax,%rcx
|
||||
movq %r9,%r15
|
||||
orq %rcx,%rsi
|
||||
.align 16
|
||||
|
||||
.Lcopy:
|
||||
movq (%rsi,%r14,8),%rax
|
||||
movq %r14,(%rsp,%r14,8)
|
||||
movq %rax,(%rdi,%r14,8)
|
||||
movq (%rdi,%r14,8),%rcx
|
||||
movq (%rsp,%r14,8),%rdx
|
||||
andq %rbx,%rcx
|
||||
andq %rax,%rdx
|
||||
movq %r9,(%rsp,%r14,8)
|
||||
orq %rcx,%rdx
|
||||
movq %rdx,(%rdi,%r14,8)
|
||||
leaq 1(%r14),%r14
|
||||
subq $1,%r15
|
||||
jnz .Lcopy
|
||||
@ -265,6 +267,9 @@ bn_mul4x_mont:
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
.Lmul4x_enter:
|
||||
andl $0x80100,%r11d
|
||||
cmpl $0x80100,%r11d
|
||||
je .Lmulx4x_enter
|
||||
pushq %rbx
|
||||
.cfi_offset %rbx,-16
|
||||
pushq %rbp
|
||||
@ -602,7 +607,6 @@ bn_mul4x_mont:
|
||||
movq 16(%rsp,%r9,8),%rdi
|
||||
leaq -4(%r9),%r15
|
||||
movq 0(%rsp),%rax
|
||||
pxor %xmm0,%xmm0
|
||||
movq 8(%rsp),%rdx
|
||||
shrq $2,%r15
|
||||
leaq (%rsp),%rsi
|
||||
@ -612,8 +616,7 @@ bn_mul4x_mont:
|
||||
movq 16(%rsi),%rbx
|
||||
movq 24(%rsi),%rbp
|
||||
sbbq 8(%rcx),%rdx
|
||||
jmp .Lsub4x
|
||||
.align 16
|
||||
|
||||
.Lsub4x:
|
||||
movq %rax,0(%rdi,%r14,8)
|
||||
movq %rdx,8(%rdi,%r14,8)
|
||||
@ -640,34 +643,35 @@ bn_mul4x_mont:
|
||||
|
||||
sbbq $0,%rax
|
||||
movq %rbp,24(%rdi,%r14,8)
|
||||
xorq %r14,%r14
|
||||
andq %rax,%rsi
|
||||
notq %rax
|
||||
movq %rdi,%rcx
|
||||
andq %rax,%rcx
|
||||
leaq -4(%r9),%r15
|
||||
orq %rcx,%rsi
|
||||
pxor %xmm0,%xmm0
|
||||
.byte 102,72,15,110,224
|
||||
pcmpeqd %xmm5,%xmm5
|
||||
pshufd $0,%xmm4,%xmm4
|
||||
movq %r9,%r15
|
||||
pxor %xmm4,%xmm5
|
||||
shrq $2,%r15
|
||||
xorl %eax,%eax
|
||||
|
||||
movdqu (%rsi),%xmm1
|
||||
movdqa %xmm0,(%rsp)
|
||||
movdqu %xmm1,(%rdi)
|
||||
jmp .Lcopy4x
|
||||
.align 16
|
||||
.Lcopy4x:
|
||||
movdqu 16(%rsi,%r14,1),%xmm2
|
||||
movdqu 32(%rsi,%r14,1),%xmm1
|
||||
movdqa %xmm0,16(%rsp,%r14,1)
|
||||
movdqu %xmm2,16(%rdi,%r14,1)
|
||||
movdqa %xmm0,32(%rsp,%r14,1)
|
||||
movdqu %xmm1,32(%rdi,%r14,1)
|
||||
leaq 32(%r14),%r14
|
||||
movdqa (%rsp,%rax,1),%xmm1
|
||||
movdqu (%rdi,%rax,1),%xmm2
|
||||
pand %xmm4,%xmm1
|
||||
pand %xmm5,%xmm2
|
||||
movdqa 16(%rsp,%rax,1),%xmm3
|
||||
movdqa %xmm0,(%rsp,%rax,1)
|
||||
por %xmm2,%xmm1
|
||||
movdqu 16(%rdi,%rax,1),%xmm2
|
||||
movdqu %xmm1,(%rdi,%rax,1)
|
||||
pand %xmm4,%xmm3
|
||||
pand %xmm5,%xmm2
|
||||
movdqa %xmm0,16(%rsp,%rax,1)
|
||||
por %xmm2,%xmm3
|
||||
movdqu %xmm3,16(%rdi,%rax,1)
|
||||
leaq 32(%rax),%rax
|
||||
decq %r15
|
||||
jnz .Lcopy4x
|
||||
|
||||
movdqu 16(%rsi,%r14,1),%xmm2
|
||||
movdqa %xmm0,16(%rsp,%r14,1)
|
||||
movdqu %xmm2,16(%rdi,%r14,1)
|
||||
movq 8(%rsp,%r9,8),%rsi
|
||||
.cfi_def_cfa %rsi, 8
|
||||
movq $1,%rax
|
||||
@ -689,6 +693,8 @@ bn_mul4x_mont:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.size bn_mul4x_mont,.-bn_mul4x_mont
|
||||
.extern bn_sqrx8x_internal
|
||||
.hidden bn_sqrx8x_internal
|
||||
.extern bn_sqr8x_internal
|
||||
.hidden bn_sqr8x_internal
|
||||
|
||||
@ -773,6 +779,26 @@ bn_sqr8x_mont:
|
||||
pxor %xmm0,%xmm0
|
||||
.byte 102,72,15,110,207
|
||||
.byte 102,73,15,110,218
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rax
|
||||
movl 8(%rax),%eax
|
||||
andl $0x80100,%eax
|
||||
cmpl $0x80100,%eax
|
||||
jne .Lsqr8x_nox
|
||||
|
||||
call bn_sqrx8x_internal
|
||||
|
||||
|
||||
|
||||
|
||||
leaq (%r8,%rcx,1),%rbx
|
||||
movq %rcx,%r9
|
||||
movq %rcx,%rdx
|
||||
.byte 102,72,15,126,207
|
||||
sarq $3+2,%rcx
|
||||
jmp .Lsqr8x_sub
|
||||
|
||||
.align 32
|
||||
.Lsqr8x_nox:
|
||||
call bn_sqr8x_internal
|
||||
|
||||
|
||||
@ -860,6 +886,362 @@ bn_sqr8x_mont:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.size bn_sqr8x_mont,.-bn_sqr8x_mont
|
||||
.type bn_mulx4x_mont,@function
|
||||
.align 32
|
||||
bn_mulx4x_mont:
|
||||
.cfi_startproc
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
.Lmulx4x_enter:
|
||||
pushq %rbx
|
||||
.cfi_offset %rbx,-16
|
||||
pushq %rbp
|
||||
.cfi_offset %rbp,-24
|
||||
pushq %r12
|
||||
.cfi_offset %r12,-32
|
||||
pushq %r13
|
||||
.cfi_offset %r13,-40
|
||||
pushq %r14
|
||||
.cfi_offset %r14,-48
|
||||
pushq %r15
|
||||
.cfi_offset %r15,-56
|
||||
.Lmulx4x_prologue:
|
||||
|
||||
shll $3,%r9d
|
||||
xorq %r10,%r10
|
||||
subq %r9,%r10
|
||||
movq (%r8),%r8
|
||||
leaq -72(%rsp,%r10,1),%rbp
|
||||
andq $-128,%rbp
|
||||
movq %rsp,%r11
|
||||
subq %rbp,%r11
|
||||
andq $-4096,%r11
|
||||
leaq (%r11,%rbp,1),%rsp
|
||||
movq (%rsp),%r10
|
||||
cmpq %rbp,%rsp
|
||||
ja .Lmulx4x_page_walk
|
||||
jmp .Lmulx4x_page_walk_done
|
||||
|
||||
.align 16
|
||||
.Lmulx4x_page_walk:
|
||||
leaq -4096(%rsp),%rsp
|
||||
movq (%rsp),%r10
|
||||
cmpq %rbp,%rsp
|
||||
ja .Lmulx4x_page_walk
|
||||
.Lmulx4x_page_walk_done:
|
||||
|
||||
leaq (%rdx,%r9,1),%r10
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
movq %r9,0(%rsp)
|
||||
shrq $5,%r9
|
||||
movq %r10,16(%rsp)
|
||||
subq $1,%r9
|
||||
movq %r8,24(%rsp)
|
||||
movq %rdi,32(%rsp)
|
||||
movq %rax,40(%rsp)
|
||||
.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
|
||||
movq %r9,48(%rsp)
|
||||
jmp .Lmulx4x_body
|
||||
|
||||
.align 32
|
||||
.Lmulx4x_body:
|
||||
leaq 8(%rdx),%rdi
|
||||
movq (%rdx),%rdx
|
||||
leaq 64+32(%rsp),%rbx
|
||||
movq %rdx,%r9
|
||||
|
||||
mulxq 0(%rsi),%r8,%rax
|
||||
mulxq 8(%rsi),%r11,%r14
|
||||
addq %rax,%r11
|
||||
movq %rdi,8(%rsp)
|
||||
mulxq 16(%rsi),%r12,%r13
|
||||
adcq %r14,%r12
|
||||
adcq $0,%r13
|
||||
|
||||
movq %r8,%rdi
|
||||
imulq 24(%rsp),%r8
|
||||
xorq %rbp,%rbp
|
||||
|
||||
mulxq 24(%rsi),%rax,%r14
|
||||
movq %r8,%rdx
|
||||
leaq 32(%rsi),%rsi
|
||||
adcxq %rax,%r13
|
||||
adcxq %rbp,%r14
|
||||
|
||||
mulxq 0(%rcx),%rax,%r10
|
||||
adcxq %rax,%rdi
|
||||
adoxq %r11,%r10
|
||||
mulxq 8(%rcx),%rax,%r11
|
||||
adcxq %rax,%r10
|
||||
adoxq %r12,%r11
|
||||
.byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
|
||||
movq 48(%rsp),%rdi
|
||||
movq %r10,-32(%rbx)
|
||||
adcxq %rax,%r11
|
||||
adoxq %r13,%r12
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r11,-24(%rbx)
|
||||
adcxq %rax,%r12
|
||||
adoxq %rbp,%r15
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r12,-16(%rbx)
|
||||
|
||||
jmp .Lmulx4x_1st
|
||||
|
||||
.align 32
|
||||
.Lmulx4x_1st:
|
||||
adcxq %rbp,%r15
|
||||
mulxq 0(%rsi),%r10,%rax
|
||||
adcxq %r14,%r10
|
||||
mulxq 8(%rsi),%r11,%r14
|
||||
adcxq %rax,%r11
|
||||
mulxq 16(%rsi),%r12,%rax
|
||||
adcxq %r14,%r12
|
||||
mulxq 24(%rsi),%r13,%r14
|
||||
.byte 0x67,0x67
|
||||
movq %r8,%rdx
|
||||
adcxq %rax,%r13
|
||||
adcxq %rbp,%r14
|
||||
leaq 32(%rsi),%rsi
|
||||
leaq 32(%rbx),%rbx
|
||||
|
||||
adoxq %r15,%r10
|
||||
mulxq 0(%rcx),%rax,%r15
|
||||
adcxq %rax,%r10
|
||||
adoxq %r15,%r11
|
||||
mulxq 8(%rcx),%rax,%r15
|
||||
adcxq %rax,%r11
|
||||
adoxq %r15,%r12
|
||||
mulxq 16(%rcx),%rax,%r15
|
||||
movq %r10,-40(%rbx)
|
||||
adcxq %rax,%r12
|
||||
movq %r11,-32(%rbx)
|
||||
adoxq %r15,%r13
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r12,-24(%rbx)
|
||||
adcxq %rax,%r13
|
||||
adoxq %rbp,%r15
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r13,-16(%rbx)
|
||||
|
||||
decq %rdi
|
||||
jnz .Lmulx4x_1st
|
||||
|
||||
movq 0(%rsp),%rax
|
||||
movq 8(%rsp),%rdi
|
||||
adcq %rbp,%r15
|
||||
addq %r15,%r14
|
||||
sbbq %r15,%r15
|
||||
movq %r14,-8(%rbx)
|
||||
jmp .Lmulx4x_outer
|
||||
|
||||
.align 32
|
||||
.Lmulx4x_outer:
|
||||
movq (%rdi),%rdx
|
||||
leaq 8(%rdi),%rdi
|
||||
subq %rax,%rsi
|
||||
movq %r15,(%rbx)
|
||||
leaq 64+32(%rsp),%rbx
|
||||
subq %rax,%rcx
|
||||
|
||||
mulxq 0(%rsi),%r8,%r11
|
||||
xorl %ebp,%ebp
|
||||
movq %rdx,%r9
|
||||
mulxq 8(%rsi),%r14,%r12
|
||||
adoxq -32(%rbx),%r8
|
||||
adcxq %r14,%r11
|
||||
mulxq 16(%rsi),%r15,%r13
|
||||
adoxq -24(%rbx),%r11
|
||||
adcxq %r15,%r12
|
||||
adoxq -16(%rbx),%r12
|
||||
adcxq %rbp,%r13
|
||||
adoxq %rbp,%r13
|
||||
|
||||
movq %rdi,8(%rsp)
|
||||
movq %r8,%r15
|
||||
imulq 24(%rsp),%r8
|
||||
xorl %ebp,%ebp
|
||||
|
||||
mulxq 24(%rsi),%rax,%r14
|
||||
movq %r8,%rdx
|
||||
adcxq %rax,%r13
|
||||
adoxq -8(%rbx),%r13
|
||||
adcxq %rbp,%r14
|
||||
leaq 32(%rsi),%rsi
|
||||
adoxq %rbp,%r14
|
||||
|
||||
mulxq 0(%rcx),%rax,%r10
|
||||
adcxq %rax,%r15
|
||||
adoxq %r11,%r10
|
||||
mulxq 8(%rcx),%rax,%r11
|
||||
adcxq %rax,%r10
|
||||
adoxq %r12,%r11
|
||||
mulxq 16(%rcx),%rax,%r12
|
||||
movq %r10,-32(%rbx)
|
||||
adcxq %rax,%r11
|
||||
adoxq %r13,%r12
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r11,-24(%rbx)
|
||||
leaq 32(%rcx),%rcx
|
||||
adcxq %rax,%r12
|
||||
adoxq %rbp,%r15
|
||||
movq 48(%rsp),%rdi
|
||||
movq %r12,-16(%rbx)
|
||||
|
||||
jmp .Lmulx4x_inner
|
||||
|
||||
.align 32
|
||||
.Lmulx4x_inner:
|
||||
mulxq 0(%rsi),%r10,%rax
|
||||
adcxq %rbp,%r15
|
||||
adoxq %r14,%r10
|
||||
mulxq 8(%rsi),%r11,%r14
|
||||
adcxq 0(%rbx),%r10
|
||||
adoxq %rax,%r11
|
||||
mulxq 16(%rsi),%r12,%rax
|
||||
adcxq 8(%rbx),%r11
|
||||
adoxq %r14,%r12
|
||||
mulxq 24(%rsi),%r13,%r14
|
||||
movq %r8,%rdx
|
||||
adcxq 16(%rbx),%r12
|
||||
adoxq %rax,%r13
|
||||
adcxq 24(%rbx),%r13
|
||||
adoxq %rbp,%r14
|
||||
leaq 32(%rsi),%rsi
|
||||
leaq 32(%rbx),%rbx
|
||||
adcxq %rbp,%r14
|
||||
|
||||
adoxq %r15,%r10
|
||||
mulxq 0(%rcx),%rax,%r15
|
||||
adcxq %rax,%r10
|
||||
adoxq %r15,%r11
|
||||
mulxq 8(%rcx),%rax,%r15
|
||||
adcxq %rax,%r11
|
||||
adoxq %r15,%r12
|
||||
mulxq 16(%rcx),%rax,%r15
|
||||
movq %r10,-40(%rbx)
|
||||
adcxq %rax,%r12
|
||||
adoxq %r15,%r13
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r11,-32(%rbx)
|
||||
movq %r12,-24(%rbx)
|
||||
adcxq %rax,%r13
|
||||
adoxq %rbp,%r15
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r13,-16(%rbx)
|
||||
|
||||
decq %rdi
|
||||
jnz .Lmulx4x_inner
|
||||
|
||||
movq 0(%rsp),%rax
|
||||
movq 8(%rsp),%rdi
|
||||
adcq %rbp,%r15
|
||||
subq 0(%rbx),%rbp
|
||||
adcq %r15,%r14
|
||||
sbbq %r15,%r15
|
||||
movq %r14,-8(%rbx)
|
||||
|
||||
cmpq 16(%rsp),%rdi
|
||||
jne .Lmulx4x_outer
|
||||
|
||||
leaq 64(%rsp),%rbx
|
||||
subq %rax,%rcx
|
||||
negq %r15
|
||||
movq %rax,%rdx
|
||||
shrq $3+2,%rax
|
||||
movq 32(%rsp),%rdi
|
||||
jmp .Lmulx4x_sub
|
||||
|
||||
.align 32
|
||||
.Lmulx4x_sub:
|
||||
movq 0(%rbx),%r11
|
||||
movq 8(%rbx),%r12
|
||||
movq 16(%rbx),%r13
|
||||
movq 24(%rbx),%r14
|
||||
leaq 32(%rbx),%rbx
|
||||
sbbq 0(%rcx),%r11
|
||||
sbbq 8(%rcx),%r12
|
||||
sbbq 16(%rcx),%r13
|
||||
sbbq 24(%rcx),%r14
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r11,0(%rdi)
|
||||
movq %r12,8(%rdi)
|
||||
movq %r13,16(%rdi)
|
||||
movq %r14,24(%rdi)
|
||||
leaq 32(%rdi),%rdi
|
||||
decq %rax
|
||||
jnz .Lmulx4x_sub
|
||||
|
||||
sbbq $0,%r15
|
||||
leaq 64(%rsp),%rbx
|
||||
subq %rdx,%rdi
|
||||
|
||||
.byte 102,73,15,110,207
|
||||
pxor %xmm0,%xmm0
|
||||
pshufd $0,%xmm1,%xmm1
|
||||
movq 40(%rsp),%rsi
|
||||
.cfi_def_cfa %rsi,8
|
||||
jmp .Lmulx4x_cond_copy
|
||||
|
||||
.align 32
|
||||
.Lmulx4x_cond_copy:
|
||||
movdqa 0(%rbx),%xmm2
|
||||
movdqa 16(%rbx),%xmm3
|
||||
leaq 32(%rbx),%rbx
|
||||
movdqu 0(%rdi),%xmm4
|
||||
movdqu 16(%rdi),%xmm5
|
||||
leaq 32(%rdi),%rdi
|
||||
movdqa %xmm0,-32(%rbx)
|
||||
movdqa %xmm0,-16(%rbx)
|
||||
pcmpeqd %xmm1,%xmm0
|
||||
pand %xmm1,%xmm2
|
||||
pand %xmm1,%xmm3
|
||||
pand %xmm0,%xmm4
|
||||
pand %xmm0,%xmm5
|
||||
pxor %xmm0,%xmm0
|
||||
por %xmm2,%xmm4
|
||||
por %xmm3,%xmm5
|
||||
movdqu %xmm4,-32(%rdi)
|
||||
movdqu %xmm5,-16(%rdi)
|
||||
subq $32,%rdx
|
||||
jnz .Lmulx4x_cond_copy
|
||||
|
||||
movq %rdx,(%rbx)
|
||||
|
||||
movq $1,%rax
|
||||
movq -48(%rsi),%r15
|
||||
.cfi_restore %r15
|
||||
movq -40(%rsi),%r14
|
||||
.cfi_restore %r14
|
||||
movq -32(%rsi),%r13
|
||||
.cfi_restore %r13
|
||||
movq -24(%rsi),%r12
|
||||
.cfi_restore %r12
|
||||
movq -16(%rsi),%rbp
|
||||
.cfi_restore %rbp
|
||||
movq -8(%rsi),%rbx
|
||||
.cfi_restore %rbx
|
||||
leaq (%rsi),%rsp
|
||||
.cfi_def_cfa_register %rsp
|
||||
.Lmulx4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.size bn_mulx4x_mont,.-bn_mulx4x_mont
|
||||
.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 16
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -445,16 +445,18 @@ L017sub:
|
||||
leal 1(%edx),%edx
|
||||
jge L017sub
|
||||
sbbl $0,%eax
|
||||
andl %eax,%esi
|
||||
notl %eax
|
||||
movl %edi,%ebp
|
||||
andl %eax,%ebp
|
||||
orl %ebp,%esi
|
||||
movl $-1,%edx
|
||||
xorl %eax,%edx
|
||||
jmp L018copy
|
||||
.align 4,0x90
|
||||
L018copy:
|
||||
movl (%esi,%ebx,4),%eax
|
||||
movl %eax,(%edi,%ebx,4)
|
||||
movl 32(%esp,%ebx,4),%esi
|
||||
movl (%edi,%ebx,4),%ebp
|
||||
movl %ecx,32(%esp,%ebx,4)
|
||||
andl %eax,%esi
|
||||
andl %edx,%ebp
|
||||
orl %esi,%ebp
|
||||
movl %ebp,(%edi,%ebx,4)
|
||||
decl %ebx
|
||||
jge L018copy
|
||||
movl 24(%esp),%esp
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1723,6 +1723,11 @@ L$SEH_end_rsaz_1024_gather5:
|
||||
_rsaz_avx2_eligible:
|
||||
leaq _OPENSSL_ia32cap_P(%rip),%rax
|
||||
movl 8(%rax),%eax
|
||||
movl $524544,%ecx
|
||||
movl $0,%edx
|
||||
andl %eax,%ecx
|
||||
cmpl $524544,%ecx
|
||||
cmovel %edx,%eax
|
||||
andl $32,%eax
|
||||
shrl $5,%eax
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
@ -16,6 +16,8 @@ _bn_mul_mont:
|
||||
jnz L$mul_enter
|
||||
cmpl $8,%r9d
|
||||
jb L$mul_enter
|
||||
leaq _OPENSSL_ia32cap_P(%rip),%r11
|
||||
movl 8(%r11),%r11d
|
||||
cmpq %rsi,%rdx
|
||||
jne L$mul4x_enter
|
||||
testl $7,%r9d
|
||||
@ -207,30 +209,30 @@ L$inner_enter:
|
||||
|
||||
xorq %r14,%r14
|
||||
movq (%rsp),%rax
|
||||
leaq (%rsp),%rsi
|
||||
movq %r9,%r15
|
||||
jmp L$sub
|
||||
|
||||
.p2align 4
|
||||
L$sub: sbbq (%rcx,%r14,8),%rax
|
||||
movq %rax,(%rdi,%r14,8)
|
||||
movq 8(%rsi,%r14,8),%rax
|
||||
movq 8(%rsp,%r14,8),%rax
|
||||
leaq 1(%r14),%r14
|
||||
decq %r15
|
||||
jnz L$sub
|
||||
|
||||
sbbq $0,%rax
|
||||
movq $-1,%rbx
|
||||
xorq %rax,%rbx
|
||||
xorq %r14,%r14
|
||||
andq %rax,%rsi
|
||||
notq %rax
|
||||
movq %rdi,%rcx
|
||||
andq %rax,%rcx
|
||||
movq %r9,%r15
|
||||
orq %rcx,%rsi
|
||||
.p2align 4
|
||||
|
||||
L$copy:
|
||||
movq (%rsi,%r14,8),%rax
|
||||
movq %r14,(%rsp,%r14,8)
|
||||
movq %rax,(%rdi,%r14,8)
|
||||
movq (%rdi,%r14,8),%rcx
|
||||
movq (%rsp,%r14,8),%rdx
|
||||
andq %rbx,%rcx
|
||||
andq %rax,%rdx
|
||||
movq %r9,(%rsp,%r14,8)
|
||||
orq %rcx,%rdx
|
||||
movq %rdx,(%rdi,%r14,8)
|
||||
leaq 1(%r14),%r14
|
||||
subq $1,%r15
|
||||
jnz L$copy
|
||||
@ -264,6 +266,9 @@ bn_mul4x_mont:
|
||||
movq %rsp,%rax
|
||||
|
||||
L$mul4x_enter:
|
||||
andl $0x80100,%r11d
|
||||
cmpl $0x80100,%r11d
|
||||
je L$mulx4x_enter
|
||||
pushq %rbx
|
||||
|
||||
pushq %rbp
|
||||
@ -601,7 +606,6 @@ L$inner4x:
|
||||
movq 16(%rsp,%r9,8),%rdi
|
||||
leaq -4(%r9),%r15
|
||||
movq 0(%rsp),%rax
|
||||
pxor %xmm0,%xmm0
|
||||
movq 8(%rsp),%rdx
|
||||
shrq $2,%r15
|
||||
leaq (%rsp),%rsi
|
||||
@ -611,8 +615,7 @@ L$inner4x:
|
||||
movq 16(%rsi),%rbx
|
||||
movq 24(%rsi),%rbp
|
||||
sbbq 8(%rcx),%rdx
|
||||
jmp L$sub4x
|
||||
.p2align 4
|
||||
|
||||
L$sub4x:
|
||||
movq %rax,0(%rdi,%r14,8)
|
||||
movq %rdx,8(%rdi,%r14,8)
|
||||
@ -639,34 +642,35 @@ L$sub4x:
|
||||
|
||||
sbbq $0,%rax
|
||||
movq %rbp,24(%rdi,%r14,8)
|
||||
xorq %r14,%r14
|
||||
andq %rax,%rsi
|
||||
notq %rax
|
||||
movq %rdi,%rcx
|
||||
andq %rax,%rcx
|
||||
leaq -4(%r9),%r15
|
||||
orq %rcx,%rsi
|
||||
pxor %xmm0,%xmm0
|
||||
.byte 102,72,15,110,224
|
||||
pcmpeqd %xmm5,%xmm5
|
||||
pshufd $0,%xmm4,%xmm4
|
||||
movq %r9,%r15
|
||||
pxor %xmm4,%xmm5
|
||||
shrq $2,%r15
|
||||
xorl %eax,%eax
|
||||
|
||||
movdqu (%rsi),%xmm1
|
||||
movdqa %xmm0,(%rsp)
|
||||
movdqu %xmm1,(%rdi)
|
||||
jmp L$copy4x
|
||||
.p2align 4
|
||||
L$copy4x:
|
||||
movdqu 16(%rsi,%r14,1),%xmm2
|
||||
movdqu 32(%rsi,%r14,1),%xmm1
|
||||
movdqa %xmm0,16(%rsp,%r14,1)
|
||||
movdqu %xmm2,16(%rdi,%r14,1)
|
||||
movdqa %xmm0,32(%rsp,%r14,1)
|
||||
movdqu %xmm1,32(%rdi,%r14,1)
|
||||
leaq 32(%r14),%r14
|
||||
movdqa (%rsp,%rax,1),%xmm1
|
||||
movdqu (%rdi,%rax,1),%xmm2
|
||||
pand %xmm4,%xmm1
|
||||
pand %xmm5,%xmm2
|
||||
movdqa 16(%rsp,%rax,1),%xmm3
|
||||
movdqa %xmm0,(%rsp,%rax,1)
|
||||
por %xmm2,%xmm1
|
||||
movdqu 16(%rdi,%rax,1),%xmm2
|
||||
movdqu %xmm1,(%rdi,%rax,1)
|
||||
pand %xmm4,%xmm3
|
||||
pand %xmm5,%xmm2
|
||||
movdqa %xmm0,16(%rsp,%rax,1)
|
||||
por %xmm2,%xmm3
|
||||
movdqu %xmm3,16(%rdi,%rax,1)
|
||||
leaq 32(%rax),%rax
|
||||
decq %r15
|
||||
jnz L$copy4x
|
||||
|
||||
movdqu 16(%rsi,%r14,1),%xmm2
|
||||
movdqa %xmm0,16(%rsp,%r14,1)
|
||||
movdqu %xmm2,16(%rdi,%r14,1)
|
||||
movq 8(%rsp,%r9,8),%rsi
|
||||
|
||||
movq $1,%rax
|
||||
@ -691,6 +695,7 @@ L$mul4x_epilogue:
|
||||
|
||||
|
||||
|
||||
|
||||
.p2align 5
|
||||
bn_sqr8x_mont:
|
||||
|
||||
@ -771,6 +776,26 @@ L$sqr8x_body:
|
||||
pxor %xmm0,%xmm0
|
||||
.byte 102,72,15,110,207
|
||||
.byte 102,73,15,110,218
|
||||
leaq _OPENSSL_ia32cap_P(%rip),%rax
|
||||
movl 8(%rax),%eax
|
||||
andl $0x80100,%eax
|
||||
cmpl $0x80100,%eax
|
||||
jne L$sqr8x_nox
|
||||
|
||||
call _bn_sqrx8x_internal
|
||||
|
||||
|
||||
|
||||
|
||||
leaq (%r8,%rcx,1),%rbx
|
||||
movq %rcx,%r9
|
||||
movq %rcx,%rdx
|
||||
.byte 102,72,15,126,207
|
||||
sarq $3+2,%rcx
|
||||
jmp L$sqr8x_sub
|
||||
|
||||
.p2align 5
|
||||
L$sqr8x_nox:
|
||||
call _bn_sqr8x_internal
|
||||
|
||||
|
||||
@ -858,6 +883,362 @@ L$sqr8x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
|
||||
|
||||
.p2align 5
|
||||
bn_mulx4x_mont:
|
||||
|
||||
movq %rsp,%rax
|
||||
|
||||
L$mulx4x_enter:
|
||||
pushq %rbx
|
||||
|
||||
pushq %rbp
|
||||
|
||||
pushq %r12
|
||||
|
||||
pushq %r13
|
||||
|
||||
pushq %r14
|
||||
|
||||
pushq %r15
|
||||
|
||||
L$mulx4x_prologue:
|
||||
|
||||
shll $3,%r9d
|
||||
xorq %r10,%r10
|
||||
subq %r9,%r10
|
||||
movq (%r8),%r8
|
||||
leaq -72(%rsp,%r10,1),%rbp
|
||||
andq $-128,%rbp
|
||||
movq %rsp,%r11
|
||||
subq %rbp,%r11
|
||||
andq $-4096,%r11
|
||||
leaq (%r11,%rbp,1),%rsp
|
||||
movq (%rsp),%r10
|
||||
cmpq %rbp,%rsp
|
||||
ja L$mulx4x_page_walk
|
||||
jmp L$mulx4x_page_walk_done
|
||||
|
||||
.p2align 4
|
||||
L$mulx4x_page_walk:
|
||||
leaq -4096(%rsp),%rsp
|
||||
movq (%rsp),%r10
|
||||
cmpq %rbp,%rsp
|
||||
ja L$mulx4x_page_walk
|
||||
L$mulx4x_page_walk_done:
|
||||
|
||||
leaq (%rdx,%r9,1),%r10
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
movq %r9,0(%rsp)
|
||||
shrq $5,%r9
|
||||
movq %r10,16(%rsp)
|
||||
subq $1,%r9
|
||||
movq %r8,24(%rsp)
|
||||
movq %rdi,32(%rsp)
|
||||
movq %rax,40(%rsp)
|
||||
|
||||
movq %r9,48(%rsp)
|
||||
jmp L$mulx4x_body
|
||||
|
||||
.p2align 5
|
||||
L$mulx4x_body:
|
||||
leaq 8(%rdx),%rdi
|
||||
movq (%rdx),%rdx
|
||||
leaq 64+32(%rsp),%rbx
|
||||
movq %rdx,%r9
|
||||
|
||||
mulxq 0(%rsi),%r8,%rax
|
||||
mulxq 8(%rsi),%r11,%r14
|
||||
addq %rax,%r11
|
||||
movq %rdi,8(%rsp)
|
||||
mulxq 16(%rsi),%r12,%r13
|
||||
adcq %r14,%r12
|
||||
adcq $0,%r13
|
||||
|
||||
movq %r8,%rdi
|
||||
imulq 24(%rsp),%r8
|
||||
xorq %rbp,%rbp
|
||||
|
||||
mulxq 24(%rsi),%rax,%r14
|
||||
movq %r8,%rdx
|
||||
leaq 32(%rsi),%rsi
|
||||
adcxq %rax,%r13
|
||||
adcxq %rbp,%r14
|
||||
|
||||
mulxq 0(%rcx),%rax,%r10
|
||||
adcxq %rax,%rdi
|
||||
adoxq %r11,%r10
|
||||
mulxq 8(%rcx),%rax,%r11
|
||||
adcxq %rax,%r10
|
||||
adoxq %r12,%r11
|
||||
.byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
|
||||
movq 48(%rsp),%rdi
|
||||
movq %r10,-32(%rbx)
|
||||
adcxq %rax,%r11
|
||||
adoxq %r13,%r12
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r11,-24(%rbx)
|
||||
adcxq %rax,%r12
|
||||
adoxq %rbp,%r15
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r12,-16(%rbx)
|
||||
|
||||
jmp L$mulx4x_1st
|
||||
|
||||
.p2align 5
|
||||
L$mulx4x_1st:
|
||||
adcxq %rbp,%r15
|
||||
mulxq 0(%rsi),%r10,%rax
|
||||
adcxq %r14,%r10
|
||||
mulxq 8(%rsi),%r11,%r14
|
||||
adcxq %rax,%r11
|
||||
mulxq 16(%rsi),%r12,%rax
|
||||
adcxq %r14,%r12
|
||||
mulxq 24(%rsi),%r13,%r14
|
||||
.byte 0x67,0x67
|
||||
movq %r8,%rdx
|
||||
adcxq %rax,%r13
|
||||
adcxq %rbp,%r14
|
||||
leaq 32(%rsi),%rsi
|
||||
leaq 32(%rbx),%rbx
|
||||
|
||||
adoxq %r15,%r10
|
||||
mulxq 0(%rcx),%rax,%r15
|
||||
adcxq %rax,%r10
|
||||
adoxq %r15,%r11
|
||||
mulxq 8(%rcx),%rax,%r15
|
||||
adcxq %rax,%r11
|
||||
adoxq %r15,%r12
|
||||
mulxq 16(%rcx),%rax,%r15
|
||||
movq %r10,-40(%rbx)
|
||||
adcxq %rax,%r12
|
||||
movq %r11,-32(%rbx)
|
||||
adoxq %r15,%r13
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r12,-24(%rbx)
|
||||
adcxq %rax,%r13
|
||||
adoxq %rbp,%r15
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r13,-16(%rbx)
|
||||
|
||||
decq %rdi
|
||||
jnz L$mulx4x_1st
|
||||
|
||||
movq 0(%rsp),%rax
|
||||
movq 8(%rsp),%rdi
|
||||
adcq %rbp,%r15
|
||||
addq %r15,%r14
|
||||
sbbq %r15,%r15
|
||||
movq %r14,-8(%rbx)
|
||||
jmp L$mulx4x_outer
|
||||
|
||||
.p2align 5
|
||||
L$mulx4x_outer:
|
||||
movq (%rdi),%rdx
|
||||
leaq 8(%rdi),%rdi
|
||||
subq %rax,%rsi
|
||||
movq %r15,(%rbx)
|
||||
leaq 64+32(%rsp),%rbx
|
||||
subq %rax,%rcx
|
||||
|
||||
mulxq 0(%rsi),%r8,%r11
|
||||
xorl %ebp,%ebp
|
||||
movq %rdx,%r9
|
||||
mulxq 8(%rsi),%r14,%r12
|
||||
adoxq -32(%rbx),%r8
|
||||
adcxq %r14,%r11
|
||||
mulxq 16(%rsi),%r15,%r13
|
||||
adoxq -24(%rbx),%r11
|
||||
adcxq %r15,%r12
|
||||
adoxq -16(%rbx),%r12
|
||||
adcxq %rbp,%r13
|
||||
adoxq %rbp,%r13
|
||||
|
||||
movq %rdi,8(%rsp)
|
||||
movq %r8,%r15
|
||||
imulq 24(%rsp),%r8
|
||||
xorl %ebp,%ebp
|
||||
|
||||
mulxq 24(%rsi),%rax,%r14
|
||||
movq %r8,%rdx
|
||||
adcxq %rax,%r13
|
||||
adoxq -8(%rbx),%r13
|
||||
adcxq %rbp,%r14
|
||||
leaq 32(%rsi),%rsi
|
||||
adoxq %rbp,%r14
|
||||
|
||||
mulxq 0(%rcx),%rax,%r10
|
||||
adcxq %rax,%r15
|
||||
adoxq %r11,%r10
|
||||
mulxq 8(%rcx),%rax,%r11
|
||||
adcxq %rax,%r10
|
||||
adoxq %r12,%r11
|
||||
mulxq 16(%rcx),%rax,%r12
|
||||
movq %r10,-32(%rbx)
|
||||
adcxq %rax,%r11
|
||||
adoxq %r13,%r12
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r11,-24(%rbx)
|
||||
leaq 32(%rcx),%rcx
|
||||
adcxq %rax,%r12
|
||||
adoxq %rbp,%r15
|
||||
movq 48(%rsp),%rdi
|
||||
movq %r12,-16(%rbx)
|
||||
|
||||
jmp L$mulx4x_inner
|
||||
|
||||
.p2align 5
|
||||
L$mulx4x_inner:
|
||||
mulxq 0(%rsi),%r10,%rax
|
||||
adcxq %rbp,%r15
|
||||
adoxq %r14,%r10
|
||||
mulxq 8(%rsi),%r11,%r14
|
||||
adcxq 0(%rbx),%r10
|
||||
adoxq %rax,%r11
|
||||
mulxq 16(%rsi),%r12,%rax
|
||||
adcxq 8(%rbx),%r11
|
||||
adoxq %r14,%r12
|
||||
mulxq 24(%rsi),%r13,%r14
|
||||
movq %r8,%rdx
|
||||
adcxq 16(%rbx),%r12
|
||||
adoxq %rax,%r13
|
||||
adcxq 24(%rbx),%r13
|
||||
adoxq %rbp,%r14
|
||||
leaq 32(%rsi),%rsi
|
||||
leaq 32(%rbx),%rbx
|
||||
adcxq %rbp,%r14
|
||||
|
||||
adoxq %r15,%r10
|
||||
mulxq 0(%rcx),%rax,%r15
|
||||
adcxq %rax,%r10
|
||||
adoxq %r15,%r11
|
||||
mulxq 8(%rcx),%rax,%r15
|
||||
adcxq %rax,%r11
|
||||
adoxq %r15,%r12
|
||||
mulxq 16(%rcx),%rax,%r15
|
||||
movq %r10,-40(%rbx)
|
||||
adcxq %rax,%r12
|
||||
adoxq %r15,%r13
|
||||
mulxq 24(%rcx),%rax,%r15
|
||||
movq %r9,%rdx
|
||||
movq %r11,-32(%rbx)
|
||||
movq %r12,-24(%rbx)
|
||||
adcxq %rax,%r13
|
||||
adoxq %rbp,%r15
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r13,-16(%rbx)
|
||||
|
||||
decq %rdi
|
||||
jnz L$mulx4x_inner
|
||||
|
||||
movq 0(%rsp),%rax
|
||||
movq 8(%rsp),%rdi
|
||||
adcq %rbp,%r15
|
||||
subq 0(%rbx),%rbp
|
||||
adcq %r15,%r14
|
||||
sbbq %r15,%r15
|
||||
movq %r14,-8(%rbx)
|
||||
|
||||
cmpq 16(%rsp),%rdi
|
||||
jne L$mulx4x_outer
|
||||
|
||||
leaq 64(%rsp),%rbx
|
||||
subq %rax,%rcx
|
||||
negq %r15
|
||||
movq %rax,%rdx
|
||||
shrq $3+2,%rax
|
||||
movq 32(%rsp),%rdi
|
||||
jmp L$mulx4x_sub
|
||||
|
||||
.p2align 5
|
||||
L$mulx4x_sub:
|
||||
movq 0(%rbx),%r11
|
||||
movq 8(%rbx),%r12
|
||||
movq 16(%rbx),%r13
|
||||
movq 24(%rbx),%r14
|
||||
leaq 32(%rbx),%rbx
|
||||
sbbq 0(%rcx),%r11
|
||||
sbbq 8(%rcx),%r12
|
||||
sbbq 16(%rcx),%r13
|
||||
sbbq 24(%rcx),%r14
|
||||
leaq 32(%rcx),%rcx
|
||||
movq %r11,0(%rdi)
|
||||
movq %r12,8(%rdi)
|
||||
movq %r13,16(%rdi)
|
||||
movq %r14,24(%rdi)
|
||||
leaq 32(%rdi),%rdi
|
||||
decq %rax
|
||||
jnz L$mulx4x_sub
|
||||
|
||||
sbbq $0,%r15
|
||||
leaq 64(%rsp),%rbx
|
||||
subq %rdx,%rdi
|
||||
|
||||
.byte 102,73,15,110,207
|
||||
pxor %xmm0,%xmm0
|
||||
pshufd $0,%xmm1,%xmm1
|
||||
movq 40(%rsp),%rsi
|
||||
|
||||
jmp L$mulx4x_cond_copy
|
||||
|
||||
.p2align 5
|
||||
L$mulx4x_cond_copy:
|
||||
movdqa 0(%rbx),%xmm2
|
||||
movdqa 16(%rbx),%xmm3
|
||||
leaq 32(%rbx),%rbx
|
||||
movdqu 0(%rdi),%xmm4
|
||||
movdqu 16(%rdi),%xmm5
|
||||
leaq 32(%rdi),%rdi
|
||||
movdqa %xmm0,-32(%rbx)
|
||||
movdqa %xmm0,-16(%rbx)
|
||||
pcmpeqd %xmm1,%xmm0
|
||||
pand %xmm1,%xmm2
|
||||
pand %xmm1,%xmm3
|
||||
pand %xmm0,%xmm4
|
||||
pand %xmm0,%xmm5
|
||||
pxor %xmm0,%xmm0
|
||||
por %xmm2,%xmm4
|
||||
por %xmm3,%xmm5
|
||||
movdqu %xmm4,-32(%rdi)
|
||||
movdqu %xmm5,-16(%rdi)
|
||||
subq $32,%rdx
|
||||
jnz L$mulx4x_cond_copy
|
||||
|
||||
movq %rdx,(%rbx)
|
||||
|
||||
movq $1,%rax
|
||||
movq -48(%rsi),%r15
|
||||
|
||||
movq -40(%rsi),%r14
|
||||
|
||||
movq -32(%rsi),%r13
|
||||
|
||||
movq -24(%rsi),%r12
|
||||
|
||||
movq -16(%rsi),%rbp
|
||||
|
||||
movq -8(%rsi),%rbx
|
||||
|
||||
leaq (%rsi),%rsp
|
||||
|
||||
L$mulx4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
|
||||
.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.p2align 4
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -456,16 +456,18 @@ L$016sub:
|
||||
lea edx,[1+edx]
|
||||
jge NEAR L$016sub
|
||||
sbb eax,0
|
||||
and esi,eax
|
||||
not eax
|
||||
mov ebp,edi
|
||||
and ebp,eax
|
||||
or esi,ebp
|
||||
mov edx,-1
|
||||
xor edx,eax
|
||||
jmp NEAR L$017copy
|
||||
align 16
|
||||
L$017copy:
|
||||
mov eax,DWORD [ebx*4+esi]
|
||||
mov DWORD [ebx*4+edi],eax
|
||||
mov esi,DWORD [32+ebx*4+esp]
|
||||
mov ebp,DWORD [ebx*4+edi]
|
||||
mov DWORD [32+ebx*4+esp],ecx
|
||||
and esi,eax
|
||||
and ebp,edx
|
||||
or ebp,esi
|
||||
mov DWORD [ebx*4+edi],ebp
|
||||
dec ebx
|
||||
jge NEAR L$017copy
|
||||
mov esp,DWORD [24+esp]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1817,6 +1817,11 @@ ALIGN 32
|
||||
rsaz_avx2_eligible:
|
||||
lea rax,[OPENSSL_ia32cap_P]
|
||||
mov eax,DWORD[8+rax]
|
||||
mov ecx,524544
|
||||
mov edx,0
|
||||
and ecx,eax
|
||||
cmp ecx,524544
|
||||
cmove eax,edx
|
||||
and eax,32
|
||||
shr eax,5
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
@ -31,6 +31,8 @@ $L$SEH_begin_bn_mul_mont:
|
||||
jnz NEAR $L$mul_enter
|
||||
cmp r9d,8
|
||||
jb NEAR $L$mul_enter
|
||||
lea r11,[OPENSSL_ia32cap_P]
|
||||
mov r11d,DWORD[8+r11]
|
||||
cmp rdx,rsi
|
||||
jne NEAR $L$mul4x_enter
|
||||
test r9d,7
|
||||
@ -222,30 +224,30 @@ $L$inner_enter:
|
||||
|
||||
xor r14,r14
|
||||
mov rax,QWORD[rsp]
|
||||
lea rsi,[rsp]
|
||||
mov r15,r9
|
||||
jmp NEAR $L$sub
|
||||
|
||||
ALIGN 16
|
||||
$L$sub: sbb rax,QWORD[r14*8+rcx]
|
||||
mov QWORD[r14*8+rdi],rax
|
||||
mov rax,QWORD[8+r14*8+rsi]
|
||||
mov rax,QWORD[8+r14*8+rsp]
|
||||
lea r14,[1+r14]
|
||||
dec r15
|
||||
jnz NEAR $L$sub
|
||||
|
||||
sbb rax,0
|
||||
mov rbx,-1
|
||||
xor rbx,rax
|
||||
xor r14,r14
|
||||
and rsi,rax
|
||||
not rax
|
||||
mov rcx,rdi
|
||||
and rcx,rax
|
||||
mov r15,r9
|
||||
or rsi,rcx
|
||||
ALIGN 16
|
||||
|
||||
$L$copy:
|
||||
mov rax,QWORD[r14*8+rsi]
|
||||
mov QWORD[r14*8+rsp],r14
|
||||
mov QWORD[r14*8+rdi],rax
|
||||
mov rcx,QWORD[r14*8+rdi]
|
||||
mov rdx,QWORD[r14*8+rsp]
|
||||
and rcx,rbx
|
||||
and rdx,rax
|
||||
mov QWORD[r14*8+rsp],r9
|
||||
or rdx,rcx
|
||||
mov QWORD[r14*8+rdi],rdx
|
||||
lea r14,[1+r14]
|
||||
sub r15,1
|
||||
jnz NEAR $L$copy
|
||||
@ -293,6 +295,9 @@ $L$SEH_begin_bn_mul4x_mont:
|
||||
mov rax,rsp
|
||||
|
||||
$L$mul4x_enter:
|
||||
and r11d,0x80100
|
||||
cmp r11d,0x80100
|
||||
je NEAR $L$mulx4x_enter
|
||||
push rbx
|
||||
|
||||
push rbp
|
||||
@ -630,7 +635,6 @@ $L$inner4x:
|
||||
mov rdi,QWORD[16+r9*8+rsp]
|
||||
lea r15,[((-4))+r9]
|
||||
mov rax,QWORD[rsp]
|
||||
pxor xmm0,xmm0
|
||||
mov rdx,QWORD[8+rsp]
|
||||
shr r15,2
|
||||
lea rsi,[rsp]
|
||||
@ -640,8 +644,7 @@ $L$inner4x:
|
||||
mov rbx,QWORD[16+rsi]
|
||||
mov rbp,QWORD[24+rsi]
|
||||
sbb rdx,QWORD[8+rcx]
|
||||
jmp NEAR $L$sub4x
|
||||
ALIGN 16
|
||||
|
||||
$L$sub4x:
|
||||
mov QWORD[r14*8+rdi],rax
|
||||
mov QWORD[8+r14*8+rdi],rdx
|
||||
@ -668,34 +671,35 @@ $L$sub4x:
|
||||
|
||||
sbb rax,0
|
||||
mov QWORD[24+r14*8+rdi],rbp
|
||||
xor r14,r14
|
||||
and rsi,rax
|
||||
not rax
|
||||
mov rcx,rdi
|
||||
and rcx,rax
|
||||
lea r15,[((-4))+r9]
|
||||
or rsi,rcx
|
||||
pxor xmm0,xmm0
|
||||
DB 102,72,15,110,224
|
||||
pcmpeqd xmm5,xmm5
|
||||
pshufd xmm4,xmm4,0
|
||||
mov r15,r9
|
||||
pxor xmm5,xmm4
|
||||
shr r15,2
|
||||
xor eax,eax
|
||||
|
||||
movdqu xmm1,XMMWORD[rsi]
|
||||
movdqa XMMWORD[rsp],xmm0
|
||||
movdqu XMMWORD[rdi],xmm1
|
||||
jmp NEAR $L$copy4x
|
||||
ALIGN 16
|
||||
$L$copy4x:
|
||||
movdqu xmm2,XMMWORD[16+r14*1+rsi]
|
||||
movdqu xmm1,XMMWORD[32+r14*1+rsi]
|
||||
movdqa XMMWORD[16+r14*1+rsp],xmm0
|
||||
movdqu XMMWORD[16+r14*1+rdi],xmm2
|
||||
movdqa XMMWORD[32+r14*1+rsp],xmm0
|
||||
movdqu XMMWORD[32+r14*1+rdi],xmm1
|
||||
lea r14,[32+r14]
|
||||
movdqa xmm1,XMMWORD[rax*1+rsp]
|
||||
movdqu xmm2,XMMWORD[rax*1+rdi]
|
||||
pand xmm1,xmm4
|
||||
pand xmm2,xmm5
|
||||
movdqa xmm3,XMMWORD[16+rax*1+rsp]
|
||||
movdqa XMMWORD[rax*1+rsp],xmm0
|
||||
por xmm1,xmm2
|
||||
movdqu xmm2,XMMWORD[16+rax*1+rdi]
|
||||
movdqu XMMWORD[rax*1+rdi],xmm1
|
||||
pand xmm3,xmm4
|
||||
pand xmm2,xmm5
|
||||
movdqa XMMWORD[16+rax*1+rsp],xmm0
|
||||
por xmm3,xmm2
|
||||
movdqu XMMWORD[16+rax*1+rdi],xmm3
|
||||
lea rax,[32+rax]
|
||||
dec r15
|
||||
jnz NEAR $L$copy4x
|
||||
|
||||
movdqu xmm2,XMMWORD[16+r14*1+rsi]
|
||||
movdqa XMMWORD[16+r14*1+rsp],xmm0
|
||||
movdqu XMMWORD[16+r14*1+rdi],xmm2
|
||||
mov rsi,QWORD[8+r9*8+rsp]
|
||||
|
||||
mov rax,1
|
||||
@ -719,6 +723,7 @@ $L$mul4x_epilogue:
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
$L$SEH_end_bn_mul4x_mont:
|
||||
EXTERN bn_sqrx8x_internal
|
||||
EXTERN bn_sqr8x_internal
|
||||
|
||||
|
||||
@ -814,6 +819,26 @@ DB 102,72,15,110,209
|
||||
pxor xmm0,xmm0
|
||||
DB 102,72,15,110,207
|
||||
DB 102,73,15,110,218
|
||||
lea rax,[OPENSSL_ia32cap_P]
|
||||
mov eax,DWORD[8+rax]
|
||||
and eax,0x80100
|
||||
cmp eax,0x80100
|
||||
jne NEAR $L$sqr8x_nox
|
||||
|
||||
call bn_sqrx8x_internal
|
||||
|
||||
|
||||
|
||||
|
||||
lea rbx,[rcx*1+r8]
|
||||
mov r9,rcx
|
||||
mov rdx,rcx
|
||||
DB 102,72,15,126,207
|
||||
sar rcx,3+2
|
||||
jmp NEAR $L$sqr8x_sub
|
||||
|
||||
ALIGN 32
|
||||
$L$sqr8x_nox:
|
||||
call bn_sqr8x_internal
|
||||
|
||||
|
||||
@ -903,6 +928,376 @@ $L$sqr8x_epilogue:
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
$L$SEH_end_bn_sqr8x_mont:
|
||||
|
||||
ALIGN 32
|
||||
bn_mulx4x_mont:
|
||||
mov QWORD[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_bn_mulx4x_mont:
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
mov rcx,r9
|
||||
mov r8,QWORD[40+rsp]
|
||||
mov r9,QWORD[48+rsp]
|
||||
|
||||
|
||||
|
||||
mov rax,rsp
|
||||
|
||||
$L$mulx4x_enter:
|
||||
push rbx
|
||||
|
||||
push rbp
|
||||
|
||||
push r12
|
||||
|
||||
push r13
|
||||
|
||||
push r14
|
||||
|
||||
push r15
|
||||
|
||||
$L$mulx4x_prologue:
|
||||
|
||||
shl r9d,3
|
||||
xor r10,r10
|
||||
sub r10,r9
|
||||
mov r8,QWORD[r8]
|
||||
lea rbp,[((-72))+r10*1+rsp]
|
||||
and rbp,-128
|
||||
mov r11,rsp
|
||||
sub r11,rbp
|
||||
and r11,-4096
|
||||
lea rsp,[rbp*1+r11]
|
||||
mov r10,QWORD[rsp]
|
||||
cmp rsp,rbp
|
||||
ja NEAR $L$mulx4x_page_walk
|
||||
jmp NEAR $L$mulx4x_page_walk_done
|
||||
|
||||
ALIGN 16
|
||||
$L$mulx4x_page_walk:
|
||||
lea rsp,[((-4096))+rsp]
|
||||
mov r10,QWORD[rsp]
|
||||
cmp rsp,rbp
|
||||
ja NEAR $L$mulx4x_page_walk
|
||||
$L$mulx4x_page_walk_done:
|
||||
|
||||
lea r10,[r9*1+rdx]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mov QWORD[rsp],r9
|
||||
shr r9,5
|
||||
mov QWORD[16+rsp],r10
|
||||
sub r9,1
|
||||
mov QWORD[24+rsp],r8
|
||||
mov QWORD[32+rsp],rdi
|
||||
mov QWORD[40+rsp],rax
|
||||
|
||||
mov QWORD[48+rsp],r9
|
||||
jmp NEAR $L$mulx4x_body
|
||||
|
||||
ALIGN 32
|
||||
$L$mulx4x_body:
|
||||
lea rdi,[8+rdx]
|
||||
mov rdx,QWORD[rdx]
|
||||
lea rbx,[((64+32))+rsp]
|
||||
mov r9,rdx
|
||||
|
||||
mulx rax,r8,QWORD[rsi]
|
||||
mulx r14,r11,QWORD[8+rsi]
|
||||
add r11,rax
|
||||
mov QWORD[8+rsp],rdi
|
||||
mulx r13,r12,QWORD[16+rsi]
|
||||
adc r12,r14
|
||||
adc r13,0
|
||||
|
||||
mov rdi,r8
|
||||
imul r8,QWORD[24+rsp]
|
||||
xor rbp,rbp
|
||||
|
||||
mulx r14,rax,QWORD[24+rsi]
|
||||
mov rdx,r8
|
||||
lea rsi,[32+rsi]
|
||||
adcx r13,rax
|
||||
adcx r14,rbp
|
||||
|
||||
mulx r10,rax,QWORD[rcx]
|
||||
adcx rdi,rax
|
||||
adox r10,r11
|
||||
mulx r11,rax,QWORD[8+rcx]
|
||||
adcx r10,rax
|
||||
adox r11,r12
|
||||
DB 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
|
||||
mov rdi,QWORD[48+rsp]
|
||||
mov QWORD[((-32))+rbx],r10
|
||||
adcx r11,rax
|
||||
adox r12,r13
|
||||
mulx r15,rax,QWORD[24+rcx]
|
||||
mov rdx,r9
|
||||
mov QWORD[((-24))+rbx],r11
|
||||
adcx r12,rax
|
||||
adox r15,rbp
|
||||
lea rcx,[32+rcx]
|
||||
mov QWORD[((-16))+rbx],r12
|
||||
|
||||
jmp NEAR $L$mulx4x_1st
|
||||
|
||||
ALIGN 32
|
||||
$L$mulx4x_1st:
|
||||
adcx r15,rbp
|
||||
mulx rax,r10,QWORD[rsi]
|
||||
adcx r10,r14
|
||||
mulx r14,r11,QWORD[8+rsi]
|
||||
adcx r11,rax
|
||||
mulx rax,r12,QWORD[16+rsi]
|
||||
adcx r12,r14
|
||||
mulx r14,r13,QWORD[24+rsi]
|
||||
DB 0x67,0x67
|
||||
mov rdx,r8
|
||||
adcx r13,rax
|
||||
adcx r14,rbp
|
||||
lea rsi,[32+rsi]
|
||||
lea rbx,[32+rbx]
|
||||
|
||||
adox r10,r15
|
||||
mulx r15,rax,QWORD[rcx]
|
||||
adcx r10,rax
|
||||
adox r11,r15
|
||||
mulx r15,rax,QWORD[8+rcx]
|
||||
adcx r11,rax
|
||||
adox r12,r15
|
||||
mulx r15,rax,QWORD[16+rcx]
|
||||
mov QWORD[((-40))+rbx],r10
|
||||
adcx r12,rax
|
||||
mov QWORD[((-32))+rbx],r11
|
||||
adox r13,r15
|
||||
mulx r15,rax,QWORD[24+rcx]
|
||||
mov rdx,r9
|
||||
mov QWORD[((-24))+rbx],r12
|
||||
adcx r13,rax
|
||||
adox r15,rbp
|
||||
lea rcx,[32+rcx]
|
||||
mov QWORD[((-16))+rbx],r13
|
||||
|
||||
dec rdi
|
||||
jnz NEAR $L$mulx4x_1st
|
||||
|
||||
mov rax,QWORD[rsp]
|
||||
mov rdi,QWORD[8+rsp]
|
||||
adc r15,rbp
|
||||
add r14,r15
|
||||
sbb r15,r15
|
||||
mov QWORD[((-8))+rbx],r14
|
||||
jmp NEAR $L$mulx4x_outer
|
||||
|
||||
ALIGN 32
|
||||
$L$mulx4x_outer:
|
||||
mov rdx,QWORD[rdi]
|
||||
lea rdi,[8+rdi]
|
||||
sub rsi,rax
|
||||
mov QWORD[rbx],r15
|
||||
lea rbx,[((64+32))+rsp]
|
||||
sub rcx,rax
|
||||
|
||||
mulx r11,r8,QWORD[rsi]
|
||||
xor ebp,ebp
|
||||
mov r9,rdx
|
||||
mulx r12,r14,QWORD[8+rsi]
|
||||
adox r8,QWORD[((-32))+rbx]
|
||||
adcx r11,r14
|
||||
mulx r13,r15,QWORD[16+rsi]
|
||||
adox r11,QWORD[((-24))+rbx]
|
||||
adcx r12,r15
|
||||
adox r12,QWORD[((-16))+rbx]
|
||||
adcx r13,rbp
|
||||
adox r13,rbp
|
||||
|
||||
mov QWORD[8+rsp],rdi
|
||||
mov r15,r8
|
||||
imul r8,QWORD[24+rsp]
|
||||
xor ebp,ebp
|
||||
|
||||
mulx r14,rax,QWORD[24+rsi]
|
||||
mov rdx,r8
|
||||
adcx r13,rax
|
||||
adox r13,QWORD[((-8))+rbx]
|
||||
adcx r14,rbp
|
||||
lea rsi,[32+rsi]
|
||||
adox r14,rbp
|
||||
|
||||
mulx r10,rax,QWORD[rcx]
|
||||
adcx r15,rax
|
||||
adox r10,r11
|
||||
mulx r11,rax,QWORD[8+rcx]
|
||||
adcx r10,rax
|
||||
adox r11,r12
|
||||
mulx r12,rax,QWORD[16+rcx]
|
||||
mov QWORD[((-32))+rbx],r10
|
||||
adcx r11,rax
|
||||
adox r12,r13
|
||||
mulx r15,rax,QWORD[24+rcx]
|
||||
mov rdx,r9
|
||||
mov QWORD[((-24))+rbx],r11
|
||||
lea rcx,[32+rcx]
|
||||
adcx r12,rax
|
||||
adox r15,rbp
|
||||
mov rdi,QWORD[48+rsp]
|
||||
mov QWORD[((-16))+rbx],r12
|
||||
|
||||
jmp NEAR $L$mulx4x_inner
|
||||
|
||||
ALIGN 32
|
||||
$L$mulx4x_inner:
|
||||
mulx rax,r10,QWORD[rsi]
|
||||
adcx r15,rbp
|
||||
adox r10,r14
|
||||
mulx r14,r11,QWORD[8+rsi]
|
||||
adcx r10,QWORD[rbx]
|
||||
adox r11,rax
|
||||
mulx rax,r12,QWORD[16+rsi]
|
||||
adcx r11,QWORD[8+rbx]
|
||||
adox r12,r14
|
||||
mulx r14,r13,QWORD[24+rsi]
|
||||
mov rdx,r8
|
||||
adcx r12,QWORD[16+rbx]
|
||||
adox r13,rax
|
||||
adcx r13,QWORD[24+rbx]
|
||||
adox r14,rbp
|
||||
lea rsi,[32+rsi]
|
||||
lea rbx,[32+rbx]
|
||||
adcx r14,rbp
|
||||
|
||||
adox r10,r15
|
||||
mulx r15,rax,QWORD[rcx]
|
||||
adcx r10,rax
|
||||
adox r11,r15
|
||||
mulx r15,rax,QWORD[8+rcx]
|
||||
adcx r11,rax
|
||||
adox r12,r15
|
||||
mulx r15,rax,QWORD[16+rcx]
|
||||
mov QWORD[((-40))+rbx],r10
|
||||
adcx r12,rax
|
||||
adox r13,r15
|
||||
mulx r15,rax,QWORD[24+rcx]
|
||||
mov rdx,r9
|
||||
mov QWORD[((-32))+rbx],r11
|
||||
mov QWORD[((-24))+rbx],r12
|
||||
adcx r13,rax
|
||||
adox r15,rbp
|
||||
lea rcx,[32+rcx]
|
||||
mov QWORD[((-16))+rbx],r13
|
||||
|
||||
dec rdi
|
||||
jnz NEAR $L$mulx4x_inner
|
||||
|
||||
mov rax,QWORD[rsp]
|
||||
mov rdi,QWORD[8+rsp]
|
||||
adc r15,rbp
|
||||
sub rbp,QWORD[rbx]
|
||||
adc r14,r15
|
||||
sbb r15,r15
|
||||
mov QWORD[((-8))+rbx],r14
|
||||
|
||||
cmp rdi,QWORD[16+rsp]
|
||||
jne NEAR $L$mulx4x_outer
|
||||
|
||||
lea rbx,[64+rsp]
|
||||
sub rcx,rax
|
||||
neg r15
|
||||
mov rdx,rax
|
||||
shr rax,3+2
|
||||
mov rdi,QWORD[32+rsp]
|
||||
jmp NEAR $L$mulx4x_sub
|
||||
|
||||
ALIGN 32
|
||||
$L$mulx4x_sub:
|
||||
mov r11,QWORD[rbx]
|
||||
mov r12,QWORD[8+rbx]
|
||||
mov r13,QWORD[16+rbx]
|
||||
mov r14,QWORD[24+rbx]
|
||||
lea rbx,[32+rbx]
|
||||
sbb r11,QWORD[rcx]
|
||||
sbb r12,QWORD[8+rcx]
|
||||
sbb r13,QWORD[16+rcx]
|
||||
sbb r14,QWORD[24+rcx]
|
||||
lea rcx,[32+rcx]
|
||||
mov QWORD[rdi],r11
|
||||
mov QWORD[8+rdi],r12
|
||||
mov QWORD[16+rdi],r13
|
||||
mov QWORD[24+rdi],r14
|
||||
lea rdi,[32+rdi]
|
||||
dec rax
|
||||
jnz NEAR $L$mulx4x_sub
|
||||
|
||||
sbb r15,0
|
||||
lea rbx,[64+rsp]
|
||||
sub rdi,rdx
|
||||
|
||||
DB 102,73,15,110,207
|
||||
pxor xmm0,xmm0
|
||||
pshufd xmm1,xmm1,0
|
||||
mov rsi,QWORD[40+rsp]
|
||||
|
||||
jmp NEAR $L$mulx4x_cond_copy
|
||||
|
||||
ALIGN 32
|
||||
$L$mulx4x_cond_copy:
|
||||
movdqa xmm2,XMMWORD[rbx]
|
||||
movdqa xmm3,XMMWORD[16+rbx]
|
||||
lea rbx,[32+rbx]
|
||||
movdqu xmm4,XMMWORD[rdi]
|
||||
movdqu xmm5,XMMWORD[16+rdi]
|
||||
lea rdi,[32+rdi]
|
||||
movdqa XMMWORD[(-32)+rbx],xmm0
|
||||
movdqa XMMWORD[(-16)+rbx],xmm0
|
||||
pcmpeqd xmm0,xmm1
|
||||
pand xmm2,xmm1
|
||||
pand xmm3,xmm1
|
||||
pand xmm4,xmm0
|
||||
pand xmm5,xmm0
|
||||
pxor xmm0,xmm0
|
||||
por xmm4,xmm2
|
||||
por xmm5,xmm3
|
||||
movdqu XMMWORD[(-32)+rdi],xmm4
|
||||
movdqu XMMWORD[(-16)+rdi],xmm5
|
||||
sub rdx,32
|
||||
jnz NEAR $L$mulx4x_cond_copy
|
||||
|
||||
mov QWORD[rbx],rdx
|
||||
|
||||
mov rax,1
|
||||
mov r15,QWORD[((-48))+rsi]
|
||||
|
||||
mov r14,QWORD[((-40))+rsi]
|
||||
|
||||
mov r13,QWORD[((-32))+rsi]
|
||||
|
||||
mov r12,QWORD[((-24))+rsi]
|
||||
|
||||
mov rbp,QWORD[((-16))+rsi]
|
||||
|
||||
mov rbx,QWORD[((-8))+rsi]
|
||||
|
||||
lea rsp,[rsi]
|
||||
|
||||
$L$mulx4x_epilogue:
|
||||
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
$L$SEH_end_bn_mulx4x_mont:
|
||||
DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105
|
||||
DB 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56
|
||||
DB 54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83
|
||||
@ -1054,6 +1449,9 @@ ALIGN 4
|
||||
DD $L$SEH_begin_bn_sqr8x_mont wrt ..imagebase
|
||||
DD $L$SEH_end_bn_sqr8x_mont wrt ..imagebase
|
||||
DD $L$SEH_info_bn_sqr8x_mont wrt ..imagebase
|
||||
DD $L$SEH_begin_bn_mulx4x_mont wrt ..imagebase
|
||||
DD $L$SEH_end_bn_mulx4x_mont wrt ..imagebase
|
||||
DD $L$SEH_info_bn_mulx4x_mont wrt ..imagebase
|
||||
section .xdata rdata align=8
|
||||
ALIGN 8
|
||||
$L$SEH_info_bn_mul_mont:
|
||||
@ -1069,3 +1467,8 @@ DB 9,0,0,0
|
||||
DD sqr_handler wrt ..imagebase
|
||||
DD $L$sqr8x_prologue wrt ..imagebase,$L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase
|
||||
ALIGN 8
|
||||
$L$SEH_info_bn_mulx4x_mont:
|
||||
DB 9,0,0,0
|
||||
DD sqr_handler wrt ..imagebase
|
||||
DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase
|
||||
ALIGN 8
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -736,7 +736,9 @@ chrome.fileManagerPrivate.isCrostiniEnabled = function(callback) {};
|
||||
|
||||
/**
|
||||
* Starts and mounts crostini container.
|
||||
* @param {function(boolean)} callback
|
||||
* @param {function()} callback Callback called after the crostini container
|
||||
* is started and mounted.
|
||||
* chrome.runtime.lastError will be set if there was an error.
|
||||
*/
|
||||
chrome.fileManagerPrivate.mountCrostiniContainer = function(callback) {};
|
||||
|
||||
|
||||
4
third_party/freetype/README.chromium
vendored
4
third_party/freetype/README.chromium
vendored
@ -1,7 +1,7 @@
|
||||
Name: FreeType
|
||||
URL: http://www.freetype.org/
|
||||
Version: VER-2-9-67
|
||||
Revision: 2157d8fa6f7e12063ca166476ed2223d24234db7
|
||||
Version: VER-2-9-1-7
|
||||
Revision: 9e345c911714ed62250be13d03d72e25d91fbc77
|
||||
License: Custom license "inspired by the BSD, Artistic, and IJG (Independent
|
||||
JPEG Group) licenses"
|
||||
License File: src/docs/FTL.TXT
|
||||
|
||||
5
third_party/freetype/roll-freetype.sh
vendored
5
third_party/freetype/roll-freetype.sh
vendored
@ -18,11 +18,10 @@ addtrybots() {
|
||||
}
|
||||
|
||||
addotherprojectbugs() {
|
||||
STEP="add pdfium and chromiumos bugs" &&
|
||||
STEP="add pdfium bug" &&
|
||||
OLD_MSG=$(git show -s --format=%B HEAD) &&
|
||||
git commit --amend -m"$OLD_MSG" -m"
|
||||
PDFium-Issue: pdfium:
|
||||
ChromiumOS-Issue: chromium:"
|
||||
PDFium-Issue: pdfium:"
|
||||
}
|
||||
|
||||
checkmodules() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user