Roll chromium_revision f7f609d28c..3dc058abd9 (558320:558478)

Change log: f7f609d28c..3dc058abd9
Full diff: f7f609d28c..3dc058abd9

Roll chromium third_party 70ec6906a5..257f2e30a3
Change log: 70ec6906a5..257f2e30a3

Changed 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..1975b1c78c
DEPS 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:
Autoroller 2018-05-14 14:44:20 -07:00 committed by Commit Bot
parent 52cab50c22
commit d23c6590dd
24 changed files with 11962 additions and 833 deletions

22
DEPS
View File

@ -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':

View File

@ -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",

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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) {};

View File

@ -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

View File

@ -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() {