Browse Source

deps: upgrade openssl to 1.0.2g

PR-URL: https://github.com/nodejs/node/pull/5507
Reviewed-By: Fedor Indutny <fedor@indutny.com>
process-exit-stdio-flushing
Ben Noordhuis 9 years ago
parent
commit
32719950df
  1. 929
      deps/openssl/asm/x64-elf-gas/aes/aesni-mb-x86_64.s
  2. 1335
      deps/openssl/asm/x64-elf-gas/aes/aesni-sha1-x86_64.s
  3. 4297
      deps/openssl/asm/x64-elf-gas/aes/aesni-sha256-x86_64.s
  4. 1637
      deps/openssl/asm/x64-elf-gas/bn/rsaz-avx2.s
  5. 856
      deps/openssl/asm/x64-elf-gas/bn/rsaz-x86_64.s
  6. 2
      deps/openssl/asm/x64-elf-gas/bn/x86_64-gf2m.s
  7. 423
      deps/openssl/asm/x64-elf-gas/bn/x86_64-mont.s
  8. 2117
      deps/openssl/asm/x64-elf-gas/bn/x86_64-mont5.s
  9. 1529
      deps/openssl/asm/x64-elf-gas/ec/ecp_nistz256-x86_64.s
  10. 752
      deps/openssl/asm/x64-elf-gas/modes/aesni-gcm-x86_64.s
  11. 557
      deps/openssl/asm/x64-elf-gas/modes/ghash-x86_64.s
  12. 4303
      deps/openssl/asm/x64-elf-gas/sha/sha1-mb-x86_64.s
  13. 2813
      deps/openssl/asm/x64-elf-gas/sha/sha1-x86_64.s
  14. 4728
      deps/openssl/asm/x64-elf-gas/sha/sha256-mb-x86_64.s
  15. 2353
      deps/openssl/asm/x64-elf-gas/sha/sha256-x86_64.s
  16. 3582
      deps/openssl/asm/x64-elf-gas/sha/sha512-x86_64.s
  17. 929
      deps/openssl/asm/x64-macosx-gas/aes/aesni-mb-x86_64.s
  18. 1335
      deps/openssl/asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s
  19. 4296
      deps/openssl/asm/x64-macosx-gas/aes/aesni-sha256-x86_64.s
  20. 1632
      deps/openssl/asm/x64-macosx-gas/bn/rsaz-avx2.s
  21. 857
      deps/openssl/asm/x64-macosx-gas/bn/rsaz-x86_64.s
  22. 2
      deps/openssl/asm/x64-macosx-gas/bn/x86_64-gf2m.s
  23. 421
      deps/openssl/asm/x64-macosx-gas/bn/x86_64-mont.s
  24. 2103
      deps/openssl/asm/x64-macosx-gas/bn/x86_64-mont5.s
  25. 1529
      deps/openssl/asm/x64-macosx-gas/ec/ecp_nistz256-x86_64.s
  26. 749
      deps/openssl/asm/x64-macosx-gas/modes/aesni-gcm-x86_64.s
  27. 557
      deps/openssl/asm/x64-macosx-gas/modes/ghash-x86_64.s
  28. 4303
      deps/openssl/asm/x64-macosx-gas/sha/sha1-mb-x86_64.s
  29. 2813
      deps/openssl/asm/x64-macosx-gas/sha/sha1-x86_64.s
  30. 4728
      deps/openssl/asm/x64-macosx-gas/sha/sha256-mb-x86_64.s
  31. 2353
      deps/openssl/asm/x64-macosx-gas/sha/sha256-x86_64.s
  32. 3581
      deps/openssl/asm/x64-macosx-gas/sha/sha512-x86_64.s
  33. 171
      deps/openssl/asm/x64-win32-masm/bn/rsaz-avx2.asm
  34. 353
      deps/openssl/asm/x64-win32-masm/bn/rsaz-x86_64.asm
  35. 219
      deps/openssl/asm/x64-win32-masm/bn/x86_64-mont.asm
  36. 1424
      deps/openssl/asm/x64-win32-masm/bn/x86_64-mont5.asm
  37. 22
      deps/openssl/asm/x64-win32-masm/ec/ecp_nistz256-x86_64.asm
  38. 2
      deps/openssl/asm/x64-win32-masm/modes/aesni-gcm-x86_64.asm
  39. 1175
      deps/openssl/asm/x86-elf-gas/sha/sha1-586.s
  40. 2248
      deps/openssl/asm/x86-elf-gas/sha/sha256-586.s
  41. 1173
      deps/openssl/asm/x86-macosx-gas/sha/sha1-586.s
  42. 2248
      deps/openssl/asm/x86-macosx-gas/sha/sha256-586.s
  43. 1174
      deps/openssl/asm/x86-win32-masm/sha/sha1-586.asm
  44. 2248
      deps/openssl/asm/x86-win32-masm/sha/sha256-586.asm
  45. 70
      deps/openssl/asm_obsolete/x64-elf-gas/aes/aes-x86_64.s
  46. 8
      deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s
  47. 112
      deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-x86_64.s
  48. 158
      deps/openssl/asm_obsolete/x64-elf-gas/aes/bsaes-x86_64.s
  49. 20
      deps/openssl/asm_obsolete/x64-elf-gas/aes/vpaes-x86_64.s
  50. 218
      deps/openssl/asm_obsolete/x64-elf-gas/bn/rsaz-x86_64.s
  51. 2
      deps/openssl/asm_obsolete/x64-elf-gas/bn/x86_64-gf2m.s
  52. 108
      deps/openssl/asm_obsolete/x64-elf-gas/bn/x86_64-mont.s
  53. 901
      deps/openssl/asm_obsolete/x64-elf-gas/bn/x86_64-mont5.s
  54. 2
      deps/openssl/asm_obsolete/x64-elf-gas/camellia/cmll-x86_64.s
  55. 27
      deps/openssl/asm_obsolete/x64-elf-gas/ec/ecp_nistz256-x86_64.s
  56. 82
      deps/openssl/asm_obsolete/x64-elf-gas/modes/ghash-x86_64.s
  57. 16
      deps/openssl/asm_obsolete/x64-elf-gas/sha/sha1-mb-x86_64.s
  58. 8
      deps/openssl/asm_obsolete/x64-elf-gas/sha/sha1-x86_64.s
  59. 84
      deps/openssl/asm_obsolete/x64-elf-gas/sha/sha256-mb-x86_64.s
  60. 44
      deps/openssl/asm_obsolete/x64-elf-gas/sha/sha256-x86_64.s
  61. 48
      deps/openssl/asm_obsolete/x64-elf-gas/x86_64cpuid.s
  62. 70
      deps/openssl/asm_obsolete/x64-macosx-gas/aes/aes-x86_64.s
  63. 8
      deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s
  64. 112
      deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-x86_64.s
  65. 158
      deps/openssl/asm_obsolete/x64-macosx-gas/aes/bsaes-x86_64.s
  66. 20
      deps/openssl/asm_obsolete/x64-macosx-gas/aes/vpaes-x86_64.s
  67. 219
      deps/openssl/asm_obsolete/x64-macosx-gas/bn/rsaz-x86_64.s
  68. 2
      deps/openssl/asm_obsolete/x64-macosx-gas/bn/x86_64-gf2m.s
  69. 108
      deps/openssl/asm_obsolete/x64-macosx-gas/bn/x86_64-mont.s
  70. 897
      deps/openssl/asm_obsolete/x64-macosx-gas/bn/x86_64-mont5.s
  71. 2
      deps/openssl/asm_obsolete/x64-macosx-gas/camellia/cmll-x86_64.s
  72. 27
      deps/openssl/asm_obsolete/x64-macosx-gas/ec/ecp_nistz256-x86_64.s
  73. 82
      deps/openssl/asm_obsolete/x64-macosx-gas/modes/ghash-x86_64.s
  74. 16
      deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha1-mb-x86_64.s
  75. 8
      deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha1-x86_64.s
  76. 84
      deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha256-mb-x86_64.s
  77. 44
      deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha256-x86_64.s
  78. 48
      deps/openssl/asm_obsolete/x64-macosx-gas/x86_64cpuid.s
  79. 291
      deps/openssl/asm_obsolete/x64-win32-masm/bn/rsaz-x86_64.asm
  80. 108
      deps/openssl/asm_obsolete/x64-win32-masm/bn/x86_64-mont.asm
  81. 935
      deps/openssl/asm_obsolete/x64-win32-masm/bn/x86_64-mont5.asm
  82. 11
      deps/openssl/asm_obsolete/x64-win32-masm/ec/ecp_nistz256-x86_64.asm
  83. 134
      deps/openssl/openssl/CHANGES
  84. 6
      deps/openssl/openssl/Configure
  85. 6
      deps/openssl/openssl/Makefile.shared
  86. 13
      deps/openssl/openssl/NEWS
  87. 2
      deps/openssl/openssl/README
  88. 8
      deps/openssl/openssl/apps/apps.c
  89. 2
      deps/openssl/openssl/apps/apps.h
  90. 88
      deps/openssl/openssl/apps/pkeyutl.c
  91. 4
      deps/openssl/openssl/apps/req.c
  92. 6
      deps/openssl/openssl/apps/rsautl.c
  93. 2
      deps/openssl/openssl/apps/s_client.c
  94. 35
      deps/openssl/openssl/apps/s_server.c
  95. 3
      deps/openssl/openssl/config
  96. 14
      deps/openssl/openssl/crypto/asn1/tasn_dec.c
  97. 175
      deps/openssl/openssl/crypto/bio/b_print.c
  98. 4
      deps/openssl/openssl/crypto/bio/bio.h
  99. 6
      deps/openssl/openssl/crypto/bio/bss_mem.c
  100. 4
      deps/openssl/openssl/crypto/bn/Makefile

929
deps/openssl/asm/x64-elf-gas/aes/aesni-mb-x86_64.s

@ -6,14 +6,6 @@
.type aesni_multi_cbc_encrypt,@function .type aesni_multi_cbc_encrypt,@function
.align 32 .align 32
aesni_multi_cbc_encrypt: aesni_multi_cbc_encrypt:
cmpl $2,%edx
jb .Lenc_non_avx
movl OPENSSL_ia32cap_P+4(%rip),%ecx
testl $268435456,%ecx
jnz _avx_cbc_enc_shortcut
jmp .Lenc_non_avx
.align 16
.Lenc_non_avx:
movq %rsp,%rax movq %rsp,%rax
pushq %rbx pushq %rbx
pushq %rbp pushq %rbp
@ -270,14 +262,6 @@ aesni_multi_cbc_encrypt:
.type aesni_multi_cbc_decrypt,@function .type aesni_multi_cbc_decrypt,@function
.align 32 .align 32
aesni_multi_cbc_decrypt: aesni_multi_cbc_decrypt:
cmpl $2,%edx
jb .Ldec_non_avx
movl OPENSSL_ia32cap_P+4(%rip),%ecx
testl $268435456,%ecx
jnz _avx_cbc_dec_shortcut
jmp .Ldec_non_avx
.align 16
.Ldec_non_avx:
movq %rsp,%rax movq %rsp,%rax
pushq %rbx pushq %rbx
pushq %rbp pushq %rbp
@ -520,916 +504,3 @@ aesni_multi_cbc_decrypt:
.Ldec4x_epilogue: .Ldec4x_epilogue:
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.size aesni_multi_cbc_decrypt,.-aesni_multi_cbc_decrypt .size aesni_multi_cbc_decrypt,.-aesni_multi_cbc_decrypt
.type aesni_multi_cbc_encrypt_avx,@function
.align 32
aesni_multi_cbc_encrypt_avx:
_avx_cbc_enc_shortcut:
movq %rsp,%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
subq $192,%rsp
andq $-128,%rsp
movq %rax,16(%rsp)
.Lenc8x_body:
vzeroupper
vmovdqu (%rsi),%xmm15
leaq 120(%rsi),%rsi
leaq 160(%rdi),%rdi
shrl $1,%edx
.Lenc8x_loop_grande:
xorl %edx,%edx
movl -144(%rdi),%ecx
movq -160(%rdi),%r8
cmpl %edx,%ecx
movq -152(%rdi),%rbx
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -136(%rdi),%xmm2
movl %ecx,32(%rsp)
cmovleq %rsp,%r8
subq %r8,%rbx
movq %rbx,64(%rsp)
movl -104(%rdi),%ecx
movq -120(%rdi),%r9
cmpl %edx,%ecx
movq -112(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -96(%rdi),%xmm3
movl %ecx,36(%rsp)
cmovleq %rsp,%r9
subq %r9,%rbp
movq %rbp,72(%rsp)
movl -64(%rdi),%ecx
movq -80(%rdi),%r10
cmpl %edx,%ecx
movq -72(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -56(%rdi),%xmm4
movl %ecx,40(%rsp)
cmovleq %rsp,%r10
subq %r10,%rbp
movq %rbp,80(%rsp)
movl -24(%rdi),%ecx
movq -40(%rdi),%r11
cmpl %edx,%ecx
movq -32(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -16(%rdi),%xmm5
movl %ecx,44(%rsp)
cmovleq %rsp,%r11
subq %r11,%rbp
movq %rbp,88(%rsp)
movl 16(%rdi),%ecx
movq 0(%rdi),%r12
cmpl %edx,%ecx
movq 8(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 24(%rdi),%xmm6
movl %ecx,48(%rsp)
cmovleq %rsp,%r12
subq %r12,%rbp
movq %rbp,96(%rsp)
movl 56(%rdi),%ecx
movq 40(%rdi),%r13
cmpl %edx,%ecx
movq 48(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 64(%rdi),%xmm7
movl %ecx,52(%rsp)
cmovleq %rsp,%r13
subq %r13,%rbp
movq %rbp,104(%rsp)
movl 96(%rdi),%ecx
movq 80(%rdi),%r14
cmpl %edx,%ecx
movq 88(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 104(%rdi),%xmm8
movl %ecx,56(%rsp)
cmovleq %rsp,%r14
subq %r14,%rbp
movq %rbp,112(%rsp)
movl 136(%rdi),%ecx
movq 120(%rdi),%r15
cmpl %edx,%ecx
movq 128(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 144(%rdi),%xmm9
movl %ecx,60(%rsp)
cmovleq %rsp,%r15
subq %r15,%rbp
movq %rbp,120(%rsp)
testl %edx,%edx
jz .Lenc8x_done
vmovups 16-120(%rsi),%xmm1
vmovups 32-120(%rsi),%xmm0
movl 240-120(%rsi),%eax
vpxor (%r8),%xmm15,%xmm10
leaq 128(%rsp),%rbp
vpxor (%r9),%xmm15,%xmm11
vpxor (%r10),%xmm15,%xmm12
vpxor (%r11),%xmm15,%xmm13
vpxor %xmm10,%xmm2,%xmm2
vpxor (%r12),%xmm15,%xmm10
vpxor %xmm11,%xmm3,%xmm3
vpxor (%r13),%xmm15,%xmm11
vpxor %xmm12,%xmm4,%xmm4
vpxor (%r14),%xmm15,%xmm12
vpxor %xmm13,%xmm5,%xmm5
vpxor (%r15),%xmm15,%xmm13
vpxor %xmm10,%xmm6,%xmm6
movl $1,%ecx
vpxor %xmm11,%xmm7,%xmm7
vpxor %xmm12,%xmm8,%xmm8
vpxor %xmm13,%xmm9,%xmm9
jmp .Loop_enc8x
.align 32
.Loop_enc8x:
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+0(%rsp),%ecx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r8)
vaesenc %xmm1,%xmm4,%xmm4
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r8,%rbx,1),%rbx
cmovgeq %rsp,%r8
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r8,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r8),%xmm15,%xmm10
movq %rbx,64+0(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups -72(%rsi),%xmm1
leaq 16(%r8,%rbx,1),%r8
vmovdqu %xmm10,0(%rbp)
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+4(%rsp),%ecx
movq 64+8(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r9)
vaesenc %xmm0,%xmm4,%xmm4
vaesenc %xmm0,%xmm5,%xmm5
leaq (%r9,%rbx,1),%rbx
cmovgeq %rsp,%r9
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r9,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r9),%xmm15,%xmm11
movq %rbx,64+8(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups -56(%rsi),%xmm0
leaq 16(%r9,%rbx,1),%r9
vmovdqu %xmm11,16(%rbp)
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+8(%rsp),%ecx
movq 64+16(%rsp),%rbx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r10)
vaesenc %xmm1,%xmm4,%xmm4
prefetcht0 15(%r8)
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r10,%rbx,1),%rbx
cmovgeq %rsp,%r10
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r10,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r10),%xmm15,%xmm12
movq %rbx,64+16(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups -40(%rsi),%xmm1
leaq 16(%r10,%rbx,1),%r10
vmovdqu %xmm12,32(%rbp)
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+12(%rsp),%ecx
movq 64+24(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r11)
vaesenc %xmm0,%xmm4,%xmm4
prefetcht0 15(%r9)
vaesenc %xmm0,%xmm5,%xmm5
leaq (%r11,%rbx,1),%rbx
cmovgeq %rsp,%r11
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r11,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r11),%xmm15,%xmm13
movq %rbx,64+24(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups -24(%rsi),%xmm0
leaq 16(%r11,%rbx,1),%r11
vmovdqu %xmm13,48(%rbp)
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+16(%rsp),%ecx
movq 64+32(%rsp),%rbx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r12)
vaesenc %xmm1,%xmm4,%xmm4
prefetcht0 15(%r10)
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r12,%rbx,1),%rbx
cmovgeq %rsp,%r12
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r12,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r12),%xmm15,%xmm10
movq %rbx,64+32(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups -8(%rsi),%xmm1
leaq 16(%r12,%rbx,1),%r12
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+20(%rsp),%ecx
movq 64+40(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r13)
vaesenc %xmm0,%xmm4,%xmm4
prefetcht0 15(%r11)
vaesenc %xmm0,%xmm5,%xmm5
leaq (%rbx,%r13,1),%rbx
cmovgeq %rsp,%r13
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r13,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r13),%xmm15,%xmm11
movq %rbx,64+40(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups 8(%rsi),%xmm0
leaq 16(%r13,%rbx,1),%r13
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+24(%rsp),%ecx
movq 64+48(%rsp),%rbx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r14)
vaesenc %xmm1,%xmm4,%xmm4
prefetcht0 15(%r12)
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r14,%rbx,1),%rbx
cmovgeq %rsp,%r14
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r14,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r14),%xmm15,%xmm12
movq %rbx,64+48(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups 24(%rsi),%xmm1
leaq 16(%r14,%rbx,1),%r14
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+28(%rsp),%ecx
movq 64+56(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r15)
vaesenc %xmm0,%xmm4,%xmm4
prefetcht0 15(%r13)
vaesenc %xmm0,%xmm5,%xmm5
leaq (%r15,%rbx,1),%rbx
cmovgeq %rsp,%r15
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r15,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r15),%xmm15,%xmm13
movq %rbx,64+56(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups 40(%rsi),%xmm0
leaq 16(%r15,%rbx,1),%r15
vmovdqu 32(%rsp),%xmm14
prefetcht0 15(%r14)
prefetcht0 15(%r15)
cmpl $11,%eax
jb .Lenc8x_tail
vaesenc %xmm1,%xmm2,%xmm2
vaesenc %xmm1,%xmm3,%xmm3
vaesenc %xmm1,%xmm4,%xmm4
vaesenc %xmm1,%xmm5,%xmm5
vaesenc %xmm1,%xmm6,%xmm6
vaesenc %xmm1,%xmm7,%xmm7
vaesenc %xmm1,%xmm8,%xmm8
vaesenc %xmm1,%xmm9,%xmm9
vmovups 176-120(%rsi),%xmm1
vaesenc %xmm0,%xmm2,%xmm2
vaesenc %xmm0,%xmm3,%xmm3
vaesenc %xmm0,%xmm4,%xmm4
vaesenc %xmm0,%xmm5,%xmm5
vaesenc %xmm0,%xmm6,%xmm6
vaesenc %xmm0,%xmm7,%xmm7
vaesenc %xmm0,%xmm8,%xmm8
vaesenc %xmm0,%xmm9,%xmm9
vmovups 192-120(%rsi),%xmm0
je .Lenc8x_tail
vaesenc %xmm1,%xmm2,%xmm2
vaesenc %xmm1,%xmm3,%xmm3
vaesenc %xmm1,%xmm4,%xmm4
vaesenc %xmm1,%xmm5,%xmm5
vaesenc %xmm1,%xmm6,%xmm6
vaesenc %xmm1,%xmm7,%xmm7
vaesenc %xmm1,%xmm8,%xmm8
vaesenc %xmm1,%xmm9,%xmm9
vmovups 208-120(%rsi),%xmm1
vaesenc %xmm0,%xmm2,%xmm2
vaesenc %xmm0,%xmm3,%xmm3
vaesenc %xmm0,%xmm4,%xmm4
vaesenc %xmm0,%xmm5,%xmm5
vaesenc %xmm0,%xmm6,%xmm6
vaesenc %xmm0,%xmm7,%xmm7
vaesenc %xmm0,%xmm8,%xmm8
vaesenc %xmm0,%xmm9,%xmm9
vmovups 224-120(%rsi),%xmm0
.Lenc8x_tail:
vaesenc %xmm1,%xmm2,%xmm2
vpxor %xmm15,%xmm15,%xmm15
vaesenc %xmm1,%xmm3,%xmm3
vaesenc %xmm1,%xmm4,%xmm4
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesenc %xmm1,%xmm5,%xmm5
vaesenc %xmm1,%xmm6,%xmm6
vpaddd %xmm14,%xmm15,%xmm15
vmovdqu 48(%rsp),%xmm14
vaesenc %xmm1,%xmm7,%xmm7
movq 64(%rsp),%rbx
vaesenc %xmm1,%xmm8,%xmm8
vaesenc %xmm1,%xmm9,%xmm9
vmovups 16-120(%rsi),%xmm1
vaesenclast %xmm0,%xmm2,%xmm2
vmovdqa %xmm15,32(%rsp)
vpxor %xmm15,%xmm15,%xmm15
vaesenclast %xmm0,%xmm3,%xmm3
vaesenclast %xmm0,%xmm4,%xmm4
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesenclast %xmm0,%xmm5,%xmm5
vaesenclast %xmm0,%xmm6,%xmm6
vpaddd %xmm15,%xmm14,%xmm14
vmovdqu -120(%rsi),%xmm15
vaesenclast %xmm0,%xmm7,%xmm7
vaesenclast %xmm0,%xmm8,%xmm8
vmovdqa %xmm14,48(%rsp)
vaesenclast %xmm0,%xmm9,%xmm9
vmovups 32-120(%rsi),%xmm0
vmovups %xmm2,-16(%r8)
subq %rbx,%r8
vpxor 0(%rbp),%xmm2,%xmm2
vmovups %xmm3,-16(%r9)
subq 72(%rsp),%r9
vpxor 16(%rbp),%xmm3,%xmm3
vmovups %xmm4,-16(%r10)
subq 80(%rsp),%r10
vpxor 32(%rbp),%xmm4,%xmm4
vmovups %xmm5,-16(%r11)
subq 88(%rsp),%r11
vpxor 48(%rbp),%xmm5,%xmm5
vmovups %xmm6,-16(%r12)
subq 96(%rsp),%r12
vpxor %xmm10,%xmm6,%xmm6
vmovups %xmm7,-16(%r13)
subq 104(%rsp),%r13
vpxor %xmm11,%xmm7,%xmm7
vmovups %xmm8,-16(%r14)
subq 112(%rsp),%r14
vpxor %xmm12,%xmm8,%xmm8
vmovups %xmm9,-16(%r15)
subq 120(%rsp),%r15
vpxor %xmm13,%xmm9,%xmm9
decl %edx
jnz .Loop_enc8x
movq 16(%rsp),%rax
.Lenc8x_done:
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
.Lenc8x_epilogue:
.byte 0xf3,0xc3
.size aesni_multi_cbc_encrypt_avx,.-aesni_multi_cbc_encrypt_avx
.type aesni_multi_cbc_decrypt_avx,@function
.align 32
aesni_multi_cbc_decrypt_avx:
_avx_cbc_dec_shortcut:
movq %rsp,%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
subq $256,%rsp
andq $-256,%rsp
subq $192,%rsp
movq %rax,16(%rsp)
.Ldec8x_body:
vzeroupper
vmovdqu (%rsi),%xmm15
leaq 120(%rsi),%rsi
leaq 160(%rdi),%rdi
shrl $1,%edx
.Ldec8x_loop_grande:
xorl %edx,%edx
movl -144(%rdi),%ecx
movq -160(%rdi),%r8
cmpl %edx,%ecx
movq -152(%rdi),%rbx
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -136(%rdi),%xmm2
movl %ecx,32(%rsp)
cmovleq %rsp,%r8
subq %r8,%rbx
movq %rbx,64(%rsp)
vmovdqu %xmm2,192(%rsp)
movl -104(%rdi),%ecx
movq -120(%rdi),%r9
cmpl %edx,%ecx
movq -112(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -96(%rdi),%xmm3
movl %ecx,36(%rsp)
cmovleq %rsp,%r9
subq %r9,%rbp
movq %rbp,72(%rsp)
vmovdqu %xmm3,208(%rsp)
movl -64(%rdi),%ecx
movq -80(%rdi),%r10
cmpl %edx,%ecx
movq -72(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -56(%rdi),%xmm4
movl %ecx,40(%rsp)
cmovleq %rsp,%r10
subq %r10,%rbp
movq %rbp,80(%rsp)
vmovdqu %xmm4,224(%rsp)
movl -24(%rdi),%ecx
movq -40(%rdi),%r11
cmpl %edx,%ecx
movq -32(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -16(%rdi),%xmm5
movl %ecx,44(%rsp)
cmovleq %rsp,%r11
subq %r11,%rbp
movq %rbp,88(%rsp)
vmovdqu %xmm5,240(%rsp)
movl 16(%rdi),%ecx
movq 0(%rdi),%r12
cmpl %edx,%ecx
movq 8(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 24(%rdi),%xmm6
movl %ecx,48(%rsp)
cmovleq %rsp,%r12
subq %r12,%rbp
movq %rbp,96(%rsp)
vmovdqu %xmm6,256(%rsp)
movl 56(%rdi),%ecx
movq 40(%rdi),%r13
cmpl %edx,%ecx
movq 48(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 64(%rdi),%xmm7
movl %ecx,52(%rsp)
cmovleq %rsp,%r13
subq %r13,%rbp
movq %rbp,104(%rsp)
vmovdqu %xmm7,272(%rsp)
movl 96(%rdi),%ecx
movq 80(%rdi),%r14
cmpl %edx,%ecx
movq 88(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 104(%rdi),%xmm8
movl %ecx,56(%rsp)
cmovleq %rsp,%r14
subq %r14,%rbp
movq %rbp,112(%rsp)
vmovdqu %xmm8,288(%rsp)
movl 136(%rdi),%ecx
movq 120(%rdi),%r15
cmpl %edx,%ecx
movq 128(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 144(%rdi),%xmm9
movl %ecx,60(%rsp)
cmovleq %rsp,%r15
subq %r15,%rbp
movq %rbp,120(%rsp)
vmovdqu %xmm9,304(%rsp)
testl %edx,%edx
jz .Ldec8x_done
vmovups 16-120(%rsi),%xmm1
vmovups 32-120(%rsi),%xmm0
movl 240-120(%rsi),%eax
leaq 192+128(%rsp),%rbp
vmovdqu (%r8),%xmm2
vmovdqu (%r9),%xmm3
vmovdqu (%r10),%xmm4
vmovdqu (%r11),%xmm5
vmovdqu (%r12),%xmm6
vmovdqu (%r13),%xmm7
vmovdqu (%r14),%xmm8
vmovdqu (%r15),%xmm9
vmovdqu %xmm2,0(%rbp)
vpxor %xmm15,%xmm2,%xmm2
vmovdqu %xmm3,16(%rbp)
vpxor %xmm15,%xmm3,%xmm3
vmovdqu %xmm4,32(%rbp)
vpxor %xmm15,%xmm4,%xmm4
vmovdqu %xmm5,48(%rbp)
vpxor %xmm15,%xmm5,%xmm5
vmovdqu %xmm6,64(%rbp)
vpxor %xmm15,%xmm6,%xmm6
vmovdqu %xmm7,80(%rbp)
vpxor %xmm15,%xmm7,%xmm7
vmovdqu %xmm8,96(%rbp)
vpxor %xmm15,%xmm8,%xmm8
vmovdqu %xmm9,112(%rbp)
vpxor %xmm15,%xmm9,%xmm9
xorq $128,%rbp
movl $1,%ecx
jmp .Loop_dec8x
.align 32
.Loop_dec8x:
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+0(%rsp),%ecx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r8)
vaesdec %xmm1,%xmm4,%xmm4
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r8,%rbx,1),%rbx
cmovgeq %rsp,%r8
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r8,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r8),%xmm10
movq %rbx,64+0(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups -72(%rsi),%xmm1
leaq 16(%r8,%rbx,1),%r8
vmovdqu %xmm10,128(%rsp)
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+4(%rsp),%ecx
movq 64+8(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r9)
vaesdec %xmm0,%xmm4,%xmm4
vaesdec %xmm0,%xmm5,%xmm5
leaq (%r9,%rbx,1),%rbx
cmovgeq %rsp,%r9
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r9,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r9),%xmm11
movq %rbx,64+8(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups -56(%rsi),%xmm0
leaq 16(%r9,%rbx,1),%r9
vmovdqu %xmm11,144(%rsp)
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+8(%rsp),%ecx
movq 64+16(%rsp),%rbx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r10)
vaesdec %xmm1,%xmm4,%xmm4
prefetcht0 15(%r8)
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r10,%rbx,1),%rbx
cmovgeq %rsp,%r10
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r10,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r10),%xmm12
movq %rbx,64+16(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups -40(%rsi),%xmm1
leaq 16(%r10,%rbx,1),%r10
vmovdqu %xmm12,160(%rsp)
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+12(%rsp),%ecx
movq 64+24(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r11)
vaesdec %xmm0,%xmm4,%xmm4
prefetcht0 15(%r9)
vaesdec %xmm0,%xmm5,%xmm5
leaq (%r11,%rbx,1),%rbx
cmovgeq %rsp,%r11
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r11,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r11),%xmm13
movq %rbx,64+24(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups -24(%rsi),%xmm0
leaq 16(%r11,%rbx,1),%r11
vmovdqu %xmm13,176(%rsp)
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+16(%rsp),%ecx
movq 64+32(%rsp),%rbx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r12)
vaesdec %xmm1,%xmm4,%xmm4
prefetcht0 15(%r10)
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r12,%rbx,1),%rbx
cmovgeq %rsp,%r12
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r12,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r12),%xmm10
movq %rbx,64+32(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups -8(%rsi),%xmm1
leaq 16(%r12,%rbx,1),%r12
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+20(%rsp),%ecx
movq 64+40(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r13)
vaesdec %xmm0,%xmm4,%xmm4
prefetcht0 15(%r11)
vaesdec %xmm0,%xmm5,%xmm5
leaq (%rbx,%r13,1),%rbx
cmovgeq %rsp,%r13
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r13,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r13),%xmm11
movq %rbx,64+40(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups 8(%rsi),%xmm0
leaq 16(%r13,%rbx,1),%r13
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+24(%rsp),%ecx
movq 64+48(%rsp),%rbx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r14)
vaesdec %xmm1,%xmm4,%xmm4
prefetcht0 15(%r12)
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r14,%rbx,1),%rbx
cmovgeq %rsp,%r14
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r14,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r14),%xmm12
movq %rbx,64+48(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups 24(%rsi),%xmm1
leaq 16(%r14,%rbx,1),%r14
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+28(%rsp),%ecx
movq 64+56(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r15)
vaesdec %xmm0,%xmm4,%xmm4
prefetcht0 15(%r13)
vaesdec %xmm0,%xmm5,%xmm5
leaq (%r15,%rbx,1),%rbx
cmovgeq %rsp,%r15
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r15,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r15),%xmm13
movq %rbx,64+56(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups 40(%rsi),%xmm0
leaq 16(%r15,%rbx,1),%r15
vmovdqu 32(%rsp),%xmm14
prefetcht0 15(%r14)
prefetcht0 15(%r15)
cmpl $11,%eax
jb .Ldec8x_tail
vaesdec %xmm1,%xmm2,%xmm2
vaesdec %xmm1,%xmm3,%xmm3
vaesdec %xmm1,%xmm4,%xmm4
vaesdec %xmm1,%xmm5,%xmm5
vaesdec %xmm1,%xmm6,%xmm6
vaesdec %xmm1,%xmm7,%xmm7
vaesdec %xmm1,%xmm8,%xmm8
vaesdec %xmm1,%xmm9,%xmm9
vmovups 176-120(%rsi),%xmm1
vaesdec %xmm0,%xmm2,%xmm2
vaesdec %xmm0,%xmm3,%xmm3
vaesdec %xmm0,%xmm4,%xmm4
vaesdec %xmm0,%xmm5,%xmm5
vaesdec %xmm0,%xmm6,%xmm6
vaesdec %xmm0,%xmm7,%xmm7
vaesdec %xmm0,%xmm8,%xmm8
vaesdec %xmm0,%xmm9,%xmm9
vmovups 192-120(%rsi),%xmm0
je .Ldec8x_tail
vaesdec %xmm1,%xmm2,%xmm2
vaesdec %xmm1,%xmm3,%xmm3
vaesdec %xmm1,%xmm4,%xmm4
vaesdec %xmm1,%xmm5,%xmm5
vaesdec %xmm1,%xmm6,%xmm6
vaesdec %xmm1,%xmm7,%xmm7
vaesdec %xmm1,%xmm8,%xmm8
vaesdec %xmm1,%xmm9,%xmm9
vmovups 208-120(%rsi),%xmm1
vaesdec %xmm0,%xmm2,%xmm2
vaesdec %xmm0,%xmm3,%xmm3
vaesdec %xmm0,%xmm4,%xmm4
vaesdec %xmm0,%xmm5,%xmm5
vaesdec %xmm0,%xmm6,%xmm6
vaesdec %xmm0,%xmm7,%xmm7
vaesdec %xmm0,%xmm8,%xmm8
vaesdec %xmm0,%xmm9,%xmm9
vmovups 224-120(%rsi),%xmm0
.Ldec8x_tail:
vaesdec %xmm1,%xmm2,%xmm2
vpxor %xmm15,%xmm15,%xmm15
vaesdec %xmm1,%xmm3,%xmm3
vaesdec %xmm1,%xmm4,%xmm4
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesdec %xmm1,%xmm5,%xmm5
vaesdec %xmm1,%xmm6,%xmm6
vpaddd %xmm14,%xmm15,%xmm15
vmovdqu 48(%rsp),%xmm14
vaesdec %xmm1,%xmm7,%xmm7
movq 64(%rsp),%rbx
vaesdec %xmm1,%xmm8,%xmm8
vaesdec %xmm1,%xmm9,%xmm9
vmovups 16-120(%rsi),%xmm1
vaesdeclast %xmm0,%xmm2,%xmm2
vmovdqa %xmm15,32(%rsp)
vpxor %xmm15,%xmm15,%xmm15
vaesdeclast %xmm0,%xmm3,%xmm3
vpxor 0(%rbp),%xmm2,%xmm2
vaesdeclast %xmm0,%xmm4,%xmm4
vpxor 16(%rbp),%xmm3,%xmm3
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesdeclast %xmm0,%xmm5,%xmm5
vpxor 32(%rbp),%xmm4,%xmm4
vaesdeclast %xmm0,%xmm6,%xmm6
vpxor 48(%rbp),%xmm5,%xmm5
vpaddd %xmm15,%xmm14,%xmm14
vmovdqu -120(%rsi),%xmm15
vaesdeclast %xmm0,%xmm7,%xmm7
vpxor 64(%rbp),%xmm6,%xmm6
vaesdeclast %xmm0,%xmm8,%xmm8
vpxor 80(%rbp),%xmm7,%xmm7
vmovdqa %xmm14,48(%rsp)
vaesdeclast %xmm0,%xmm9,%xmm9
vpxor 96(%rbp),%xmm8,%xmm8
vmovups 32-120(%rsi),%xmm0
vmovups %xmm2,-16(%r8)
subq %rbx,%r8
vmovdqu 128+0(%rsp),%xmm2
vpxor 112(%rbp),%xmm9,%xmm9
vmovups %xmm3,-16(%r9)
subq 72(%rsp),%r9
vmovdqu %xmm2,0(%rbp)
vpxor %xmm15,%xmm2,%xmm2
vmovdqu 128+16(%rsp),%xmm3
vmovups %xmm4,-16(%r10)
subq 80(%rsp),%r10
vmovdqu %xmm3,16(%rbp)
vpxor %xmm15,%xmm3,%xmm3
vmovdqu 128+32(%rsp),%xmm4
vmovups %xmm5,-16(%r11)
subq 88(%rsp),%r11
vmovdqu %xmm4,32(%rbp)
vpxor %xmm15,%xmm4,%xmm4
vmovdqu 128+48(%rsp),%xmm5
vmovups %xmm6,-16(%r12)
subq 96(%rsp),%r12
vmovdqu %xmm5,48(%rbp)
vpxor %xmm15,%xmm5,%xmm5
vmovdqu %xmm10,64(%rbp)
vpxor %xmm10,%xmm15,%xmm6
vmovups %xmm7,-16(%r13)
subq 104(%rsp),%r13
vmovdqu %xmm11,80(%rbp)
vpxor %xmm11,%xmm15,%xmm7
vmovups %xmm8,-16(%r14)
subq 112(%rsp),%r14
vmovdqu %xmm12,96(%rbp)
vpxor %xmm12,%xmm15,%xmm8
vmovups %xmm9,-16(%r15)
subq 120(%rsp),%r15
vmovdqu %xmm13,112(%rbp)
vpxor %xmm13,%xmm15,%xmm9
xorq $128,%rbp
decl %edx
jnz .Loop_dec8x
movq 16(%rsp),%rax
.Ldec8x_done:
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
.Ldec8x_epilogue:
.byte 0xf3,0xc3
.size aesni_multi_cbc_decrypt_avx,.-aesni_multi_cbc_decrypt_avx

1335
deps/openssl/asm/x64-elf-gas/aes/aesni-sha1-x86_64.s

File diff suppressed because it is too large

4297
deps/openssl/asm/x64-elf-gas/aes/aesni-sha256-x86_64.s

File diff suppressed because it is too large

1637
deps/openssl/asm/x64-elf-gas/bn/rsaz-avx2.s

File diff suppressed because it is too large

856
deps/openssl/asm/x64-elf-gas/bn/rsaz-x86_64.s

File diff suppressed because it is too large

2
deps/openssl/asm/x64-elf-gas/bn/x86_64-gf2m.s

@ -242,7 +242,7 @@ bn_GF2m_mul_2x2:
movq %rcx,56(%rsp) movq %rcx,56(%rsp)
movq %r8,64(%rsp) movq %r8,64(%rsp)
movq $15,%r8 movq $0xf,%r8
movq %rsi,%rax movq %rsi,%rax
movq %rcx,%rbp movq %rcx,%rbp
call _mul_1x1 call _mul_1x1

423
deps/openssl/asm/x64-elf-gas/bn/x86_64-mont.s

@ -10,7 +10,6 @@ bn_mul_mont:
jnz .Lmul_enter jnz .Lmul_enter
cmpl $8,%r9d cmpl $8,%r9d
jb .Lmul_enter jb .Lmul_enter
movl OPENSSL_ia32cap_P+8(%rip),%r11d
cmpq %rsi,%rdx cmpq %rsi,%rdx
jne .Lmul4x_enter jne .Lmul4x_enter
testl $7,%r9d testl $7,%r9d
@ -216,9 +215,6 @@ bn_mul_mont:
.align 16 .align 16
bn_mul4x_mont: bn_mul4x_mont:
.Lmul4x_enter: .Lmul4x_enter:
andl $524544,%r11d
cmpl $524544,%r11d
je .Lmulx4x_enter
pushq %rbx pushq %rbx
pushq %rbp pushq %rbp
pushq %r12 pushq %r12
@ -615,7 +611,6 @@ bn_mul4x_mont:
.size bn_mul4x_mont,.-bn_mul4x_mont .size bn_mul4x_mont,.-bn_mul4x_mont
.type bn_sqr8x_mont,@function .type bn_sqr8x_mont,@function
.align 32 .align 32
bn_sqr8x_mont: bn_sqr8x_mont:
@ -638,20 +633,20 @@ bn_sqr8x_mont:
leaq -64(%rsp,%r9,4),%r11 leaq -64(%rsp,%r9,2),%r11
movq (%r8),%r8 movq (%r8),%r8
subq %rsi,%r11 subq %rsi,%r11
andq $4095,%r11 andq $4095,%r11
cmpq %r11,%r10 cmpq %r11,%r10
jb .Lsqr8x_sp_alt jb .Lsqr8x_sp_alt
subq %r11,%rsp subq %r11,%rsp
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
jmp .Lsqr8x_sp_done jmp .Lsqr8x_sp_done
.align 32 .align 32
.Lsqr8x_sp_alt: .Lsqr8x_sp_alt:
leaq 4096-64(,%r9,4),%r10 leaq 4096-64(,%r9,2),%r10
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
subq %r10,%r11 subq %r10,%r11
movq $0,%r10 movq $0,%r10
cmovcq %r10,%r11 cmovcq %r10,%r11
@ -661,385 +656,81 @@ bn_sqr8x_mont:
movq %r9,%r10 movq %r9,%r10
negq %r9 negq %r9
leaq 64(%rsp,%r9,2),%r11
movq %r8,32(%rsp) movq %r8,32(%rsp)
movq %rax,40(%rsp) movq %rax,40(%rsp)
.Lsqr8x_body: .Lsqr8x_body:
movq %r9,%rbp .byte 102,72,15,110,209
.byte 102,73,15,110,211
shrq $3+2,%rbp
movl OPENSSL_ia32cap_P+8(%rip),%eax
jmp .Lsqr8x_copy_n
.align 32
.Lsqr8x_copy_n:
movq 0(%rcx),%xmm0
movq 8(%rcx),%xmm1
movq 16(%rcx),%xmm3
movq 24(%rcx),%xmm4
leaq 32(%rcx),%rcx
movdqa %xmm0,0(%r11)
movdqa %xmm1,16(%r11)
movdqa %xmm3,32(%r11)
movdqa %xmm4,48(%r11)
leaq 64(%r11),%r11
decq %rbp
jnz .Lsqr8x_copy_n
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
.byte 102,72,15,110,207 .byte 102,72,15,110,207
.byte 102,73,15,110,218 .byte 102,73,15,110,218
andl $524544,%eax
cmpl $524544,%eax
jne .Lsqr8x_nox
call bn_sqrx8x_internal
pxor %xmm0,%xmm0
leaq 48(%rsp),%rax
leaq 64(%rsp,%r9,2),%rdx
shrq $3+2,%r9
movq 40(%rsp),%rsi
jmp .Lsqr8x_zero
.align 32
.Lsqr8x_nox:
call bn_sqr8x_internal call bn_sqr8x_internal
pxor %xmm0,%xmm0
leaq 48(%rsp),%rax
leaq 64(%rsp,%r9,2),%rdx
shrq $3+2,%r9
movq 40(%rsp),%rsi
jmp .Lsqr8x_zero
.align 32
.Lsqr8x_zero:
movdqa %xmm0,0(%rax)
movdqa %xmm0,16(%rax)
movdqa %xmm0,32(%rax)
movdqa %xmm0,48(%rax)
leaq 64(%rax),%rax
movdqa %xmm0,0(%rdx)
movdqa %xmm0,16(%rdx)
movdqa %xmm0,32(%rdx)
movdqa %xmm0,48(%rdx)
leaq 64(%rdx),%rdx
decq %r9
jnz .Lsqr8x_zero
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
.Lsqr8x_epilogue:
.byte 0xf3,0xc3
.size bn_sqr8x_mont,.-bn_sqr8x_mont
.type bn_mulx4x_mont,@function
.align 32
bn_mulx4x_mont:
.Lmulx4x_enter:
movq %rsp,%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
shll $3,%r9d
.byte 0x67
xorq %r10,%r10
subq %r9,%r10
movq (%r8),%r8
leaq -72(%rsp,%r10,1),%rsp
leaq (%rdx,%r9,1),%r10
andq $-128,%rsp
leaq (%rdi,%r9,1),%rbx
movq %r9,%rcx
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 .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 %rbp,%r12
adcxq %rbp,%r13
movq %rdi,8(%rsp)
.byte 0x67
movq %r8,%r15
imulq 24(%rsp),%r8
xorl %ebp,%ebp
mulxq 24(%rsi),%rax,%r14
movq %r8,%rdx
adoxq -16(%rbx),%r12
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 %r9,%rdx
movq %r11,-24(%rbx) .byte 102,72,15,126,207
leaq 32(%rcx),%rcx sarq $3+2,%rcx
adcxq %rax,%r12 jmp .Lsqr8x_sub
adoxq %rbp,%r15
movq 48(%rsp),%rdi
movq %r12,-16(%rbx)
jmp .Lmulx4x_inner
.align 32 .align 32
.Lmulx4x_inner: .Lsqr8x_sub:
mulxq 0(%rsi),%r10,%rax movq 0(%rbx),%r12
adcxq %rbp,%r15 movq 8(%rbx),%r13
adoxq %r14,%r10 movq 16(%rbx),%r14
mulxq 8(%rsi),%r11,%r14 movq 24(%rbx),%r15
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 leaq 32(%rbx),%rbx
adcxq %rbp,%r14 sbbq 0(%rbp),%r12
sbbq 8(%rbp),%r13
adoxq %r15,%r10 sbbq 16(%rbp),%r14
mulxq 0(%rcx),%rax,%r15 sbbq 24(%rbp),%r15
adcxq %rax,%r10 leaq 32(%rbp),%rbp
adoxq %r15,%r11 movq %r12,0(%rdi)
mulxq 8(%rcx),%rax,%r15 movq %r13,8(%rdi)
adcxq %rax,%r11 movq %r14,16(%rdi)
adoxq %r15,%r12 movq %r15,24(%rdi)
mulxq 16(%rcx),%rax,%r15 leaq 32(%rdi),%rdi
movq %r10,-40(%rbx) incq %rcx
adcxq %rax,%r12 jnz .Lsqr8x_sub
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 sbbq $0,%rax
movq 8(%rsp),%rdi leaq (%rbx,%r9,1),%rbx
adcq %rbp,%r15 leaq (%rdi,%r9,1),%rdi
subq 0(%rbx),%rbp
adcq %r15,%r14
movq -8(%rcx),%r8
sbbq %r15,%r15
movq %r14,-8(%rbx)
cmpq 16(%rsp),%rdi
jne .Lmulx4x_outer
subq %r14,%r8
sbbq %r8,%r8
orq %r8,%r15
negq %rax
xorq %rdx,%rdx
movq 32(%rsp),%rdi
leaq 64(%rsp),%rbx
.byte 102,72,15,110,200
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
movq 0(%rcx,%rax,1),%r8 pshufd $0,%xmm1,%xmm1
movq 8(%rcx,%rax,1),%r9 movq 40(%rsp),%rsi
negq %r8 jmp .Lsqr8x_cond_copy
jmp .Lmulx4x_sub_entry
.align 32 .align 32
.Lmulx4x_sub: .Lsqr8x_cond_copy:
movq 0(%rcx,%rax,1),%r8 movdqa 0(%rbx),%xmm2
movq 8(%rcx,%rax,1),%r9 movdqa 16(%rbx),%xmm3
notq %r8
.Lmulx4x_sub_entry:
movq 16(%rcx,%rax,1),%r10
notq %r9
andq %r15,%r8
movq 24(%rcx,%rax,1),%r11
notq %r10
andq %r15,%r9
notq %r11
andq %r15,%r10
andq %r15,%r11
negq %rdx
adcq 0(%rbx),%r8
adcq 8(%rbx),%r9
movdqa %xmm0,(%rbx)
adcq 16(%rbx),%r10
adcq 24(%rbx),%r11
movdqa %xmm0,16(%rbx)
leaq 32(%rbx),%rbx leaq 32(%rbx),%rbx
sbbq %rdx,%rdx movdqu 0(%rdi),%xmm4
movdqu 16(%rdi),%xmm5
movq %r8,0(%rdi)
movq %r9,8(%rdi)
movq %r10,16(%rdi)
movq %r11,24(%rdi)
leaq 32(%rdi),%rdi leaq 32(%rdi),%rdi
movdqa %xmm0,-32(%rbx)
movdqa %xmm0,-16(%rbx)
movdqa %xmm0,-32(%rbx,%rdx,1)
movdqa %xmm0,-16(%rbx,%rdx,1)
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)
addq $32,%r9
jnz .Lsqr8x_cond_copy
addq $32,%rax
jnz .Lmulx4x_sub
movq 40(%rsp),%rsi
movq $1,%rax movq $1,%rax
movq -48(%rsi),%r15 movq -48(%rsi),%r15
movq -40(%rsi),%r14 movq -40(%rsi),%r14
@ -1048,8 +739,8 @@ bn_mulx4x_mont:
movq -16(%rsi),%rbp movq -16(%rsi),%rbp
movq -8(%rsi),%rbx movq -8(%rsi),%rbx
leaq (%rsi),%rsp leaq (%rsi),%rsp
.Lmulx4x_epilogue: .Lsqr8x_epilogue:
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.size bn_mulx4x_mont,.-bn_mulx4x_mont .size bn_sqr8x_mont,.-bn_sqr8x_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 .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 .align 16

2117
deps/openssl/asm/x64-elf-gas/bn/x86_64-mont5.s

File diff suppressed because it is too large

1529
deps/openssl/asm/x64-elf-gas/ec/ecp_nistz256-x86_64.s

File diff suppressed because it is too large

752
deps/openssl/asm/x64-elf-gas/modes/aesni-gcm-x86_64.s

@ -1,753 +1,15 @@
.text .text
.type _aesni_ctr32_ghash_6x,@function .globl aesni_gcm_encrypt
.align 32 .type aesni_gcm_encrypt,@function
_aesni_ctr32_ghash_6x: aesni_gcm_encrypt:
vmovdqu 32(%r11),%xmm2 xorl %eax,%eax
subq $6,%rdx
vpxor %xmm4,%xmm4,%xmm4
vmovdqu 0-128(%rcx),%xmm15
vpaddb %xmm2,%xmm1,%xmm10
vpaddb %xmm2,%xmm10,%xmm11
vpaddb %xmm2,%xmm11,%xmm12
vpaddb %xmm2,%xmm12,%xmm13
vpaddb %xmm2,%xmm13,%xmm14
vpxor %xmm15,%xmm1,%xmm9
vmovdqu %xmm4,16+8(%rsp)
jmp .Loop6x
.align 32
.Loop6x:
addl $100663296,%ebx
jc .Lhandle_ctr32
vmovdqu 0-32(%r9),%xmm3
vpaddb %xmm2,%xmm14,%xmm1
vpxor %xmm15,%xmm10,%xmm10
vpxor %xmm15,%xmm11,%xmm11
.Lresume_ctr32:
vmovdqu %xmm1,(%r8)
vpclmulqdq $16,%xmm3,%xmm7,%xmm5
vpxor %xmm15,%xmm12,%xmm12
vmovups 16-128(%rcx),%xmm2
vpclmulqdq $1,%xmm3,%xmm7,%xmm6
xorq %r12,%r12
cmpq %r14,%r15
vaesenc %xmm2,%xmm9,%xmm9
vmovdqu 48+8(%rsp),%xmm0
vpxor %xmm15,%xmm13,%xmm13
vpclmulqdq $0,%xmm3,%xmm7,%xmm1
vaesenc %xmm2,%xmm10,%xmm10
vpxor %xmm15,%xmm14,%xmm14
setnc %r12b
vpclmulqdq $17,%xmm3,%xmm7,%xmm7
vaesenc %xmm2,%xmm11,%xmm11
vmovdqu 16-32(%r9),%xmm3
negq %r12
vaesenc %xmm2,%xmm12,%xmm12
vpxor %xmm5,%xmm6,%xmm6
vpclmulqdq $0,%xmm3,%xmm0,%xmm5
vpxor %xmm4,%xmm8,%xmm8
vaesenc %xmm2,%xmm13,%xmm13
vpxor %xmm5,%xmm1,%xmm4
andq $96,%r12
vmovups 32-128(%rcx),%xmm15
vpclmulqdq $16,%xmm3,%xmm0,%xmm1
vaesenc %xmm2,%xmm14,%xmm14
vpclmulqdq $1,%xmm3,%xmm0,%xmm2
leaq (%r14,%r12,1),%r14
vaesenc %xmm15,%xmm9,%xmm9
vpxor 16+8(%rsp),%xmm8,%xmm8
vpclmulqdq $17,%xmm3,%xmm0,%xmm3
vmovdqu 64+8(%rsp),%xmm0
vaesenc %xmm15,%xmm10,%xmm10
movbeq 88(%r14),%r13
vaesenc %xmm15,%xmm11,%xmm11
movbeq 80(%r14),%r12
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,32+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,40+8(%rsp)
vmovdqu 48-32(%r9),%xmm5
vaesenc %xmm15,%xmm14,%xmm14
vmovups 48-128(%rcx),%xmm15
vpxor %xmm1,%xmm6,%xmm6
vpclmulqdq $0,%xmm5,%xmm0,%xmm1
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm2,%xmm6,%xmm6
vpclmulqdq $16,%xmm5,%xmm0,%xmm2
vaesenc %xmm15,%xmm10,%xmm10
vpxor %xmm3,%xmm7,%xmm7
vpclmulqdq $1,%xmm5,%xmm0,%xmm3
vaesenc %xmm15,%xmm11,%xmm11
vpclmulqdq $17,%xmm5,%xmm0,%xmm5
vmovdqu 80+8(%rsp),%xmm0
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vpxor %xmm1,%xmm4,%xmm4
vmovdqu 64-32(%r9),%xmm1
vaesenc %xmm15,%xmm14,%xmm14
vmovups 64-128(%rcx),%xmm15
vpxor %xmm2,%xmm6,%xmm6
vpclmulqdq $0,%xmm1,%xmm0,%xmm2
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm3,%xmm6,%xmm6
vpclmulqdq $16,%xmm1,%xmm0,%xmm3
vaesenc %xmm15,%xmm10,%xmm10
movbeq 72(%r14),%r13
vpxor %xmm5,%xmm7,%xmm7
vpclmulqdq $1,%xmm1,%xmm0,%xmm5
vaesenc %xmm15,%xmm11,%xmm11
movbeq 64(%r14),%r12
vpclmulqdq $17,%xmm1,%xmm0,%xmm1
vmovdqu 96+8(%rsp),%xmm0
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,48+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,56+8(%rsp)
vpxor %xmm2,%xmm4,%xmm4
vmovdqu 96-32(%r9),%xmm2
vaesenc %xmm15,%xmm14,%xmm14
vmovups 80-128(%rcx),%xmm15
vpxor %xmm3,%xmm6,%xmm6
vpclmulqdq $0,%xmm2,%xmm0,%xmm3
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm5,%xmm6,%xmm6
vpclmulqdq $16,%xmm2,%xmm0,%xmm5
vaesenc %xmm15,%xmm10,%xmm10
movbeq 56(%r14),%r13
vpxor %xmm1,%xmm7,%xmm7
vpclmulqdq $1,%xmm2,%xmm0,%xmm1
vpxor 112+8(%rsp),%xmm8,%xmm8
vaesenc %xmm15,%xmm11,%xmm11
movbeq 48(%r14),%r12
vpclmulqdq $17,%xmm2,%xmm0,%xmm2
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,64+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,72+8(%rsp)
vpxor %xmm3,%xmm4,%xmm4
vmovdqu 112-32(%r9),%xmm3
vaesenc %xmm15,%xmm14,%xmm14
vmovups 96-128(%rcx),%xmm15
vpxor %xmm5,%xmm6,%xmm6
vpclmulqdq $16,%xmm3,%xmm8,%xmm5
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm1,%xmm6,%xmm6
vpclmulqdq $1,%xmm3,%xmm8,%xmm1
vaesenc %xmm15,%xmm10,%xmm10
movbeq 40(%r14),%r13
vpxor %xmm2,%xmm7,%xmm7
vpclmulqdq $0,%xmm3,%xmm8,%xmm2
vaesenc %xmm15,%xmm11,%xmm11
movbeq 32(%r14),%r12
vpclmulqdq $17,%xmm3,%xmm8,%xmm8
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,80+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,88+8(%rsp)
vpxor %xmm5,%xmm6,%xmm6
vaesenc %xmm15,%xmm14,%xmm14
vpxor %xmm1,%xmm6,%xmm6
vmovups 112-128(%rcx),%xmm15
vpslldq $8,%xmm6,%xmm5
vpxor %xmm2,%xmm4,%xmm4
vmovdqu 16(%r11),%xmm3
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm8,%xmm7,%xmm7
vaesenc %xmm15,%xmm10,%xmm10
vpxor %xmm5,%xmm4,%xmm4
movbeq 24(%r14),%r13
vaesenc %xmm15,%xmm11,%xmm11
movbeq 16(%r14),%r12
vpalignr $8,%xmm4,%xmm4,%xmm0
vpclmulqdq $16,%xmm3,%xmm4,%xmm4
movq %r13,96+8(%rsp)
vaesenc %xmm15,%xmm12,%xmm12
movq %r12,104+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
vmovups 128-128(%rcx),%xmm1
vaesenc %xmm15,%xmm14,%xmm14
vaesenc %xmm1,%xmm9,%xmm9
vmovups 144-128(%rcx),%xmm15
vaesenc %xmm1,%xmm10,%xmm10
vpsrldq $8,%xmm6,%xmm6
vaesenc %xmm1,%xmm11,%xmm11
vpxor %xmm6,%xmm7,%xmm7
vaesenc %xmm1,%xmm12,%xmm12
vpxor %xmm0,%xmm4,%xmm4
movbeq 8(%r14),%r13
vaesenc %xmm1,%xmm13,%xmm13
movbeq 0(%r14),%r12
vaesenc %xmm1,%xmm14,%xmm14
vmovups 160-128(%rcx),%xmm1
cmpl $11,%ebp
jb .Lenc_tail
vaesenc %xmm15,%xmm9,%xmm9
vaesenc %xmm15,%xmm10,%xmm10
vaesenc %xmm15,%xmm11,%xmm11
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vaesenc %xmm15,%xmm14,%xmm14
vaesenc %xmm1,%xmm9,%xmm9
vaesenc %xmm1,%xmm10,%xmm10
vaesenc %xmm1,%xmm11,%xmm11
vaesenc %xmm1,%xmm12,%xmm12
vaesenc %xmm1,%xmm13,%xmm13
vmovups 176-128(%rcx),%xmm15
vaesenc %xmm1,%xmm14,%xmm14
vmovups 192-128(%rcx),%xmm1
je .Lenc_tail
vaesenc %xmm15,%xmm9,%xmm9
vaesenc %xmm15,%xmm10,%xmm10
vaesenc %xmm15,%xmm11,%xmm11
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vaesenc %xmm15,%xmm14,%xmm14
vaesenc %xmm1,%xmm9,%xmm9
vaesenc %xmm1,%xmm10,%xmm10
vaesenc %xmm1,%xmm11,%xmm11
vaesenc %xmm1,%xmm12,%xmm12
vaesenc %xmm1,%xmm13,%xmm13
vmovups 208-128(%rcx),%xmm15
vaesenc %xmm1,%xmm14,%xmm14
vmovups 224-128(%rcx),%xmm1
jmp .Lenc_tail
.align 32
.Lhandle_ctr32:
vmovdqu (%r11),%xmm0
vpshufb %xmm0,%xmm1,%xmm6
vmovdqu 48(%r11),%xmm5
vpaddd 64(%r11),%xmm6,%xmm10
vpaddd %xmm5,%xmm6,%xmm11
vmovdqu 0-32(%r9),%xmm3
vpaddd %xmm5,%xmm10,%xmm12
vpshufb %xmm0,%xmm10,%xmm10
vpaddd %xmm5,%xmm11,%xmm13
vpshufb %xmm0,%xmm11,%xmm11
vpxor %xmm15,%xmm10,%xmm10
vpaddd %xmm5,%xmm12,%xmm14
vpshufb %xmm0,%xmm12,%xmm12
vpxor %xmm15,%xmm11,%xmm11
vpaddd %xmm5,%xmm13,%xmm1
vpshufb %xmm0,%xmm13,%xmm13
vpshufb %xmm0,%xmm14,%xmm14
vpshufb %xmm0,%xmm1,%xmm1
jmp .Lresume_ctr32
.align 32
.Lenc_tail:
vaesenc %xmm15,%xmm9,%xmm9
vmovdqu %xmm7,16+8(%rsp)
vpalignr $8,%xmm4,%xmm4,%xmm8
vaesenc %xmm15,%xmm10,%xmm10
vpclmulqdq $16,%xmm3,%xmm4,%xmm4
vpxor 0(%rdi),%xmm1,%xmm2
vaesenc %xmm15,%xmm11,%xmm11
vpxor 16(%rdi),%xmm1,%xmm0
vaesenc %xmm15,%xmm12,%xmm12
vpxor 32(%rdi),%xmm1,%xmm5
vaesenc %xmm15,%xmm13,%xmm13
vpxor 48(%rdi),%xmm1,%xmm6
vaesenc %xmm15,%xmm14,%xmm14
vpxor 64(%rdi),%xmm1,%xmm7
vpxor 80(%rdi),%xmm1,%xmm3
vmovdqu (%r8),%xmm1
vaesenclast %xmm2,%xmm9,%xmm9
vmovdqu 32(%r11),%xmm2
vaesenclast %xmm0,%xmm10,%xmm10
vpaddb %xmm2,%xmm1,%xmm0
movq %r13,112+8(%rsp)
leaq 96(%rdi),%rdi
vaesenclast %xmm5,%xmm11,%xmm11
vpaddb %xmm2,%xmm0,%xmm5
movq %r12,120+8(%rsp)
leaq 96(%rsi),%rsi
vmovdqu 0-128(%rcx),%xmm15
vaesenclast %xmm6,%xmm12,%xmm12
vpaddb %xmm2,%xmm5,%xmm6
vaesenclast %xmm7,%xmm13,%xmm13
vpaddb %xmm2,%xmm6,%xmm7
vaesenclast %xmm3,%xmm14,%xmm14
vpaddb %xmm2,%xmm7,%xmm3
addq $96,%r10
subq $6,%rdx
jc .L6x_done
vmovups %xmm9,-96(%rsi)
vpxor %xmm15,%xmm1,%xmm9
vmovups %xmm10,-80(%rsi)
vmovdqa %xmm0,%xmm10
vmovups %xmm11,-64(%rsi)
vmovdqa %xmm5,%xmm11
vmovups %xmm12,-48(%rsi)
vmovdqa %xmm6,%xmm12
vmovups %xmm13,-32(%rsi)
vmovdqa %xmm7,%xmm13
vmovups %xmm14,-16(%rsi)
vmovdqa %xmm3,%xmm14
vmovdqu 32+8(%rsp),%xmm7
jmp .Loop6x
.L6x_done:
vpxor 16+8(%rsp),%xmm8,%xmm8
vpxor %xmm4,%xmm8,%xmm8
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .size aesni_gcm_encrypt,.-aesni_gcm_encrypt
.globl aesni_gcm_decrypt .globl aesni_gcm_decrypt
.type aesni_gcm_decrypt,@function .type aesni_gcm_decrypt,@function
.align 32
aesni_gcm_decrypt: aesni_gcm_decrypt:
xorq %r10,%r10 xorl %eax,%eax
cmpq $96,%rdx
jb .Lgcm_dec_abort
leaq (%rsp),%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
vzeroupper
vmovdqu (%r8),%xmm1
addq $-128,%rsp
movl 12(%r8),%ebx
leaq .Lbswap_mask(%rip),%r11
leaq -128(%rcx),%r14
movq $3968,%r15
vmovdqu (%r9),%xmm8
andq $-128,%rsp
vmovdqu (%r11),%xmm0
leaq 128(%rcx),%rcx
leaq 32+32(%r9),%r9
movl 240-128(%rcx),%ebp
vpshufb %xmm0,%xmm8,%xmm8
andq %r15,%r14
andq %rsp,%r15
subq %r14,%r15
jc .Ldec_no_key_aliasing
cmpq $768,%r15
jnc .Ldec_no_key_aliasing
subq %r15,%rsp
.Ldec_no_key_aliasing:
vmovdqu 80(%rdi),%xmm7
leaq (%rdi),%r14
vmovdqu 64(%rdi),%xmm4
leaq -192(%rdi,%rdx,1),%r15
vmovdqu 48(%rdi),%xmm5
shrq $4,%rdx
xorq %r10,%r10
vmovdqu 32(%rdi),%xmm6
vpshufb %xmm0,%xmm7,%xmm7
vmovdqu 16(%rdi),%xmm2
vpshufb %xmm0,%xmm4,%xmm4
vmovdqu (%rdi),%xmm3
vpshufb %xmm0,%xmm5,%xmm5
vmovdqu %xmm4,48(%rsp)
vpshufb %xmm0,%xmm6,%xmm6
vmovdqu %xmm5,64(%rsp)
vpshufb %xmm0,%xmm2,%xmm2
vmovdqu %xmm6,80(%rsp)
vpshufb %xmm0,%xmm3,%xmm3
vmovdqu %xmm2,96(%rsp)
vmovdqu %xmm3,112(%rsp)
call _aesni_ctr32_ghash_6x
vmovups %xmm9,-96(%rsi)
vmovups %xmm10,-80(%rsi)
vmovups %xmm11,-64(%rsi)
vmovups %xmm12,-48(%rsi)
vmovups %xmm13,-32(%rsi)
vmovups %xmm14,-16(%rsi)
vpshufb (%r11),%xmm8,%xmm8
vmovdqu %xmm8,-64(%r9)
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
.Lgcm_dec_abort:
movq %r10,%rax
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.size aesni_gcm_decrypt,.-aesni_gcm_decrypt .size aesni_gcm_decrypt,.-aesni_gcm_decrypt
.type _aesni_ctr32_6x,@function
.align 32
_aesni_ctr32_6x:
vmovdqu 0-128(%rcx),%xmm4
vmovdqu 32(%r11),%xmm2
leaq -1(%rbp),%r13
vmovups 16-128(%rcx),%xmm15
leaq 32-128(%rcx),%r12
vpxor %xmm4,%xmm1,%xmm9
addl $100663296,%ebx
jc .Lhandle_ctr32_2
vpaddb %xmm2,%xmm1,%xmm10
vpaddb %xmm2,%xmm10,%xmm11
vpxor %xmm4,%xmm10,%xmm10
vpaddb %xmm2,%xmm11,%xmm12
vpxor %xmm4,%xmm11,%xmm11
vpaddb %xmm2,%xmm12,%xmm13
vpxor %xmm4,%xmm12,%xmm12
vpaddb %xmm2,%xmm13,%xmm14
vpxor %xmm4,%xmm13,%xmm13
vpaddb %xmm2,%xmm14,%xmm1
vpxor %xmm4,%xmm14,%xmm14
jmp .Loop_ctr32
.align 16
.Loop_ctr32:
vaesenc %xmm15,%xmm9,%xmm9
vaesenc %xmm15,%xmm10,%xmm10
vaesenc %xmm15,%xmm11,%xmm11
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vaesenc %xmm15,%xmm14,%xmm14
vmovups (%r12),%xmm15
leaq 16(%r12),%r12
decl %r13d
jnz .Loop_ctr32
vmovdqu (%r12),%xmm3
vaesenc %xmm15,%xmm9,%xmm9
vpxor 0(%rdi),%xmm3,%xmm4
vaesenc %xmm15,%xmm10,%xmm10
vpxor 16(%rdi),%xmm3,%xmm5
vaesenc %xmm15,%xmm11,%xmm11
vpxor 32(%rdi),%xmm3,%xmm6
vaesenc %xmm15,%xmm12,%xmm12
vpxor 48(%rdi),%xmm3,%xmm8
vaesenc %xmm15,%xmm13,%xmm13
vpxor 64(%rdi),%xmm3,%xmm2
vaesenc %xmm15,%xmm14,%xmm14
vpxor 80(%rdi),%xmm3,%xmm3
leaq 96(%rdi),%rdi
vaesenclast %xmm4,%xmm9,%xmm9
vaesenclast %xmm5,%xmm10,%xmm10
vaesenclast %xmm6,%xmm11,%xmm11
vaesenclast %xmm8,%xmm12,%xmm12
vaesenclast %xmm2,%xmm13,%xmm13
vaesenclast %xmm3,%xmm14,%xmm14
vmovups %xmm9,0(%rsi)
vmovups %xmm10,16(%rsi)
vmovups %xmm11,32(%rsi)
vmovups %xmm12,48(%rsi)
vmovups %xmm13,64(%rsi)
vmovups %xmm14,80(%rsi)
leaq 96(%rsi),%rsi
.byte 0xf3,0xc3
.align 32
.Lhandle_ctr32_2:
vpshufb %xmm0,%xmm1,%xmm6
vmovdqu 48(%r11),%xmm5
vpaddd 64(%r11),%xmm6,%xmm10
vpaddd %xmm5,%xmm6,%xmm11
vpaddd %xmm5,%xmm10,%xmm12
vpshufb %xmm0,%xmm10,%xmm10
vpaddd %xmm5,%xmm11,%xmm13
vpshufb %xmm0,%xmm11,%xmm11
vpxor %xmm4,%xmm10,%xmm10
vpaddd %xmm5,%xmm12,%xmm14
vpshufb %xmm0,%xmm12,%xmm12
vpxor %xmm4,%xmm11,%xmm11
vpaddd %xmm5,%xmm13,%xmm1
vpshufb %xmm0,%xmm13,%xmm13
vpxor %xmm4,%xmm12,%xmm12
vpshufb %xmm0,%xmm14,%xmm14
vpxor %xmm4,%xmm13,%xmm13
vpshufb %xmm0,%xmm1,%xmm1
vpxor %xmm4,%xmm14,%xmm14
jmp .Loop_ctr32
.size _aesni_ctr32_6x,.-_aesni_ctr32_6x
.globl aesni_gcm_encrypt
.type aesni_gcm_encrypt,@function
.align 32
aesni_gcm_encrypt:
xorq %r10,%r10
cmpq $288,%rdx
jb .Lgcm_enc_abort
leaq (%rsp),%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
vzeroupper
vmovdqu (%r8),%xmm1
addq $-128,%rsp
movl 12(%r8),%ebx
leaq .Lbswap_mask(%rip),%r11
leaq -128(%rcx),%r14
movq $3968,%r15
leaq 128(%rcx),%rcx
vmovdqu (%r11),%xmm0
andq $-128,%rsp
movl 240-128(%rcx),%ebp
andq %r15,%r14
andq %rsp,%r15
subq %r14,%r15
jc .Lenc_no_key_aliasing
cmpq $768,%r15
jnc .Lenc_no_key_aliasing
subq %r15,%rsp
.Lenc_no_key_aliasing:
leaq (%rsi),%r14
leaq -192(%rsi,%rdx,1),%r15
shrq $4,%rdx
call _aesni_ctr32_6x
vpshufb %xmm0,%xmm9,%xmm8
vpshufb %xmm0,%xmm10,%xmm2
vmovdqu %xmm8,112(%rsp)
vpshufb %xmm0,%xmm11,%xmm4
vmovdqu %xmm2,96(%rsp)
vpshufb %xmm0,%xmm12,%xmm5
vmovdqu %xmm4,80(%rsp)
vpshufb %xmm0,%xmm13,%xmm6
vmovdqu %xmm5,64(%rsp)
vpshufb %xmm0,%xmm14,%xmm7
vmovdqu %xmm6,48(%rsp)
call _aesni_ctr32_6x
vmovdqu (%r9),%xmm8
leaq 32+32(%r9),%r9
subq $12,%rdx
movq $192,%r10
vpshufb %xmm0,%xmm8,%xmm8
call _aesni_ctr32_ghash_6x
vmovdqu 32(%rsp),%xmm7
vmovdqu (%r11),%xmm0
vmovdqu 0-32(%r9),%xmm3
vpunpckhqdq %xmm7,%xmm7,%xmm1
vmovdqu 32-32(%r9),%xmm15
vmovups %xmm9,-96(%rsi)
vpshufb %xmm0,%xmm9,%xmm9
vpxor %xmm7,%xmm1,%xmm1
vmovups %xmm10,-80(%rsi)
vpshufb %xmm0,%xmm10,%xmm10
vmovups %xmm11,-64(%rsi)
vpshufb %xmm0,%xmm11,%xmm11
vmovups %xmm12,-48(%rsi)
vpshufb %xmm0,%xmm12,%xmm12
vmovups %xmm13,-32(%rsi)
vpshufb %xmm0,%xmm13,%xmm13
vmovups %xmm14,-16(%rsi)
vpshufb %xmm0,%xmm14,%xmm14
vmovdqu %xmm9,16(%rsp)
vmovdqu 48(%rsp),%xmm6
vmovdqu 16-32(%r9),%xmm0
vpunpckhqdq %xmm6,%xmm6,%xmm2
vpclmulqdq $0,%xmm3,%xmm7,%xmm5
vpxor %xmm6,%xmm2,%xmm2
vpclmulqdq $17,%xmm3,%xmm7,%xmm7
vpclmulqdq $0,%xmm15,%xmm1,%xmm1
vmovdqu 64(%rsp),%xmm9
vpclmulqdq $0,%xmm0,%xmm6,%xmm4
vmovdqu 48-32(%r9),%xmm3
vpxor %xmm5,%xmm4,%xmm4
vpunpckhqdq %xmm9,%xmm9,%xmm5
vpclmulqdq $17,%xmm0,%xmm6,%xmm6
vpxor %xmm9,%xmm5,%xmm5
vpxor %xmm7,%xmm6,%xmm6
vpclmulqdq $16,%xmm15,%xmm2,%xmm2
vmovdqu 80-32(%r9),%xmm15
vpxor %xmm1,%xmm2,%xmm2
vmovdqu 80(%rsp),%xmm1
vpclmulqdq $0,%xmm3,%xmm9,%xmm7
vmovdqu 64-32(%r9),%xmm0
vpxor %xmm4,%xmm7,%xmm7
vpunpckhqdq %xmm1,%xmm1,%xmm4
vpclmulqdq $17,%xmm3,%xmm9,%xmm9
vpxor %xmm1,%xmm4,%xmm4
vpxor %xmm6,%xmm9,%xmm9
vpclmulqdq $0,%xmm15,%xmm5,%xmm5
vpxor %xmm2,%xmm5,%xmm5
vmovdqu 96(%rsp),%xmm2
vpclmulqdq $0,%xmm0,%xmm1,%xmm6
vmovdqu 96-32(%r9),%xmm3
vpxor %xmm7,%xmm6,%xmm6
vpunpckhqdq %xmm2,%xmm2,%xmm7
vpclmulqdq $17,%xmm0,%xmm1,%xmm1
vpxor %xmm2,%xmm7,%xmm7
vpxor %xmm9,%xmm1,%xmm1
vpclmulqdq $16,%xmm15,%xmm4,%xmm4
vmovdqu 128-32(%r9),%xmm15
vpxor %xmm5,%xmm4,%xmm4
vpxor 112(%rsp),%xmm8,%xmm8
vpclmulqdq $0,%xmm3,%xmm2,%xmm5
vmovdqu 112-32(%r9),%xmm0
vpunpckhqdq %xmm8,%xmm8,%xmm9
vpxor %xmm6,%xmm5,%xmm5
vpclmulqdq $17,%xmm3,%xmm2,%xmm2
vpxor %xmm8,%xmm9,%xmm9
vpxor %xmm1,%xmm2,%xmm2
vpclmulqdq $0,%xmm15,%xmm7,%xmm7
vpxor %xmm4,%xmm7,%xmm4
vpclmulqdq $0,%xmm0,%xmm8,%xmm6
vmovdqu 0-32(%r9),%xmm3
vpunpckhqdq %xmm14,%xmm14,%xmm1
vpclmulqdq $17,%xmm0,%xmm8,%xmm8
vpxor %xmm14,%xmm1,%xmm1
vpxor %xmm5,%xmm6,%xmm5
vpclmulqdq $16,%xmm15,%xmm9,%xmm9
vmovdqu 32-32(%r9),%xmm15
vpxor %xmm2,%xmm8,%xmm7
vpxor %xmm4,%xmm9,%xmm6
vmovdqu 16-32(%r9),%xmm0
vpxor %xmm5,%xmm7,%xmm9
vpclmulqdq $0,%xmm3,%xmm14,%xmm4
vpxor %xmm9,%xmm6,%xmm6
vpunpckhqdq %xmm13,%xmm13,%xmm2
vpclmulqdq $17,%xmm3,%xmm14,%xmm14
vpxor %xmm13,%xmm2,%xmm2
vpslldq $8,%xmm6,%xmm9
vpclmulqdq $0,%xmm15,%xmm1,%xmm1
vpxor %xmm9,%xmm5,%xmm8
vpsrldq $8,%xmm6,%xmm6
vpxor %xmm6,%xmm7,%xmm7
vpclmulqdq $0,%xmm0,%xmm13,%xmm5
vmovdqu 48-32(%r9),%xmm3
vpxor %xmm4,%xmm5,%xmm5
vpunpckhqdq %xmm12,%xmm12,%xmm9
vpclmulqdq $17,%xmm0,%xmm13,%xmm13
vpxor %xmm12,%xmm9,%xmm9
vpxor %xmm14,%xmm13,%xmm13
vpalignr $8,%xmm8,%xmm8,%xmm14
vpclmulqdq $16,%xmm15,%xmm2,%xmm2
vmovdqu 80-32(%r9),%xmm15
vpxor %xmm1,%xmm2,%xmm2
vpclmulqdq $0,%xmm3,%xmm12,%xmm4
vmovdqu 64-32(%r9),%xmm0
vpxor %xmm5,%xmm4,%xmm4
vpunpckhqdq %xmm11,%xmm11,%xmm1
vpclmulqdq $17,%xmm3,%xmm12,%xmm12
vpxor %xmm11,%xmm1,%xmm1
vpxor %xmm13,%xmm12,%xmm12
vxorps 16(%rsp),%xmm7,%xmm7
vpclmulqdq $0,%xmm15,%xmm9,%xmm9
vpxor %xmm2,%xmm9,%xmm9
vpclmulqdq $16,16(%r11),%xmm8,%xmm8
vxorps %xmm14,%xmm8,%xmm8
vpclmulqdq $0,%xmm0,%xmm11,%xmm5
vmovdqu 96-32(%r9),%xmm3
vpxor %xmm4,%xmm5,%xmm5
vpunpckhqdq %xmm10,%xmm10,%xmm2
vpclmulqdq $17,%xmm0,%xmm11,%xmm11
vpxor %xmm10,%xmm2,%xmm2
vpalignr $8,%xmm8,%xmm8,%xmm14
vpxor %xmm12,%xmm11,%xmm11
vpclmulqdq $16,%xmm15,%xmm1,%xmm1
vmovdqu 128-32(%r9),%xmm15
vpxor %xmm9,%xmm1,%xmm1
vxorps %xmm7,%xmm14,%xmm14
vpclmulqdq $16,16(%r11),%xmm8,%xmm8
vxorps %xmm14,%xmm8,%xmm8
vpclmulqdq $0,%xmm3,%xmm10,%xmm4
vmovdqu 112-32(%r9),%xmm0
vpxor %xmm5,%xmm4,%xmm4
vpunpckhqdq %xmm8,%xmm8,%xmm9
vpclmulqdq $17,%xmm3,%xmm10,%xmm10
vpxor %xmm8,%xmm9,%xmm9
vpxor %xmm11,%xmm10,%xmm10
vpclmulqdq $0,%xmm15,%xmm2,%xmm2
vpxor %xmm1,%xmm2,%xmm2
vpclmulqdq $0,%xmm0,%xmm8,%xmm5
vpclmulqdq $17,%xmm0,%xmm8,%xmm7
vpxor %xmm4,%xmm5,%xmm5
vpclmulqdq $16,%xmm15,%xmm9,%xmm6
vpxor %xmm10,%xmm7,%xmm7
vpxor %xmm2,%xmm6,%xmm6
vpxor %xmm5,%xmm7,%xmm4
vpxor %xmm4,%xmm6,%xmm6
vpslldq $8,%xmm6,%xmm1
vmovdqu 16(%r11),%xmm3
vpsrldq $8,%xmm6,%xmm6
vpxor %xmm1,%xmm5,%xmm8
vpxor %xmm6,%xmm7,%xmm7
vpalignr $8,%xmm8,%xmm8,%xmm2
vpclmulqdq $16,%xmm3,%xmm8,%xmm8
vpxor %xmm2,%xmm8,%xmm8
vpalignr $8,%xmm8,%xmm8,%xmm2
vpclmulqdq $16,%xmm3,%xmm8,%xmm8
vpxor %xmm7,%xmm2,%xmm2
vpxor %xmm2,%xmm8,%xmm8
vpshufb (%r11),%xmm8,%xmm8
vmovdqu %xmm8,-64(%r9)
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
.Lgcm_enc_abort:
movq %r10,%rax
.byte 0xf3,0xc3
.size aesni_gcm_encrypt,.-aesni_gcm_encrypt
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
.Lpoly:
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
.Lone_msb:
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
.Ltwo_lsb:
.byte 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.Lone_lsb:
.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108,101,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 64

557
deps/openssl/asm/x64-elf-gas/modes/ghash-x86_64.s

@ -20,14 +20,14 @@ gcm_gmult_4bit:
movq $14,%rcx movq $14,%rcx
movq 8(%rsi,%rax,1),%r8 movq 8(%rsi,%rax,1),%r8
movq (%rsi,%rax,1),%r9 movq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
movq %r8,%rdx movq %r8,%rdx
jmp .Loop1 jmp .Loop1
.align 16 .align 16
.Loop1: .Loop1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
movb (%rdi,%rcx,1),%al movb (%rdi,%rcx,1),%al
shrq $4,%r9 shrq $4,%r9
@ -43,13 +43,13 @@ gcm_gmult_4bit:
js .Lbreak1 js .Lbreak1
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
@ -58,19 +58,19 @@ gcm_gmult_4bit:
.align 16 .align 16
.Lbreak1: .Lbreak1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rbx,1),%r8 xorq 8(%rsi,%rbx,1),%r8
@ -661,10 +661,10 @@ gcm_ghash_4bit:
gcm_init_clmul: gcm_init_clmul:
.L_init_clmul: .L_init_clmul:
movdqu (%rsi),%xmm2 movdqu (%rsi),%xmm2
pshufd $78,%xmm2,%xmm2 pshufd $0b01001110,%xmm2,%xmm2
pshufd $255,%xmm2,%xmm4 pshufd $0b11111111,%xmm2,%xmm4
movdqa %xmm2,%xmm3 movdqa %xmm2,%xmm3
psllq $1,%xmm2 psllq $1,%xmm2
pxor %xmm5,%xmm5 pxor %xmm5,%xmm5
@ -678,11 +678,11 @@ gcm_init_clmul:
pxor %xmm5,%xmm2 pxor %xmm5,%xmm2
pshufd $78,%xmm2,%xmm6 pshufd $0b01001110,%xmm2,%xmm6
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
pxor %xmm2,%xmm6 pxor %xmm2,%xmm6
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -718,8 +718,8 @@ gcm_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm2,%xmm3 pshufd $0b01001110,%xmm2,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm2,%xmm3 pxor %xmm2,%xmm3
movdqu %xmm2,0(%rdi) movdqu %xmm2,0(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -727,7 +727,7 @@ gcm_init_clmul:
.byte 102,15,58,15,227,8 .byte 102,15,58,15,227,8
movdqu %xmm4,32(%rdi) movdqu %xmm4,32(%rdi)
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -765,7 +765,7 @@ gcm_init_clmul:
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
movdqa %xmm0,%xmm5 movdqa %xmm0,%xmm5
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -801,8 +801,8 @@ gcm_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm5,%xmm3 pshufd $0b01001110,%xmm5,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm5,%xmm3 pxor %xmm5,%xmm3
movdqu %xmm5,48(%rdi) movdqu %xmm5,48(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -822,7 +822,7 @@ gcm_gmult_clmul:
movdqu 32(%rsi),%xmm4 movdqu 32(%rsi),%xmm4
.byte 102,15,56,0,197 .byte 102,15,56,0,197
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -874,20 +874,20 @@ gcm_ghash_clmul:
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
.byte 102,65,15,56,0,194 .byte 102,65,15,56,0,194
subq $16,%rcx subq $0x10,%rcx
jz .Lodd_tail jz .Lodd_tail
movdqu 16(%rsi),%xmm6 movdqu 16(%rsi),%xmm6
movl OPENSSL_ia32cap_P+4(%rip),%eax movl OPENSSL_ia32cap_P+4(%rip),%eax
cmpq $48,%rcx cmpq $0x30,%rcx
jb .Lskip4x jb .Lskip4x
andl $71303168,%eax andl $71303168,%eax
cmpl $4194304,%eax cmpl $4194304,%eax
je .Lskip4x je .Lskip4x
subq $48,%rcx subq $0x30,%rcx
movq $11547335547999543296,%rax movq $0xA040608020C0E000,%rax
movdqu 48(%rsi),%xmm14 movdqu 48(%rsi),%xmm14
movdqu 64(%rsi),%xmm15 movdqu 64(%rsi),%xmm15
@ -899,14 +899,14 @@ gcm_ghash_clmul:
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,68,15,58,68,222,0 .byte 102,68,15,58,68,222,0
.byte 102,68,15,58,68,238,17 .byte 102,68,15,58,68,238,17
@ -921,12 +921,12 @@ gcm_ghash_clmul:
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,69,15,58,68,222,0 .byte 102,69,15,58,68,222,0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
@ -934,7 +934,7 @@ gcm_ghash_clmul:
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jc .Ltail4x jc .Ltail4x
jmp .Lmod4_loop jmp .Lmod4_loop
@ -949,14 +949,14 @@ gcm_ghash_clmul:
movdqu 32(%rdx),%xmm3 movdqu 32(%rdx),%xmm3
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
.byte 102,68,15,58,68,199,16 .byte 102,68,15,58,68,199,16
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
xorps %xmm5,%xmm1 xorps %xmm5,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
movups 32(%rsi),%xmm7 movups 32(%rsi),%xmm7
xorps %xmm4,%xmm8 xorps %xmm4,%xmm8
.byte 102,68,15,58,68,218,0 .byte 102,68,15,58,68,218,0
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
@ -1000,7 +1000,7 @@ gcm_ghash_clmul:
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
@ -1010,14 +1010,14 @@ gcm_ghash_clmul:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
xorps %xmm11,%xmm3 xorps %xmm11,%xmm3
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jnc .Lmod4_loop jnc .Lmod4_loop
.Ltail4x: .Ltail4x:
@ -1061,10 +1061,10 @@ gcm_ghash_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
addq $64,%rcx addq $0x40,%rcx
jz .Ldone jz .Ldone
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
subq $16,%rcx subq $0x10,%rcx
jz .Lodd_tail jz .Lodd_tail
.Lskip4x: .Lskip4x:
@ -1079,7 +1079,7 @@ gcm_ghash_clmul:
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
@ -1087,7 +1087,7 @@ gcm_ghash_clmul:
leaq 32(%rdx),%rdx leaq 32(%rdx),%rdx
nop nop
subq $32,%rcx subq $0x20,%rcx
jbe .Leven_tail jbe .Leven_tail
nop nop
jmp .Lmod_loop jmp .Lmod_loop
@ -1096,7 +1096,7 @@ gcm_ghash_clmul:
.Lmod_loop: .Lmod_loop:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1134,7 +1134,7 @@ gcm_ghash_clmul:
pslldq $8,%xmm0 pslldq $8,%xmm0
psrldq $8,%xmm8 psrldq $8,%xmm8
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pshufd $78,%xmm5,%xmm4 pshufd $0b01001110,%xmm5,%xmm4
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm5,%xmm4 pxor %xmm5,%xmm4
@ -1150,13 +1150,13 @@ gcm_ghash_clmul:
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
subq $32,%rcx subq $0x20,%rcx
ja .Lmod_loop ja .Lmod_loop
.Leven_tail: .Leven_tail:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1204,7 +1204,7 @@ gcm_ghash_clmul:
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -1249,108 +1249,7 @@ gcm_ghash_clmul:
.type gcm_init_avx,@function .type gcm_init_avx,@function
.align 32 .align 32
gcm_init_avx: gcm_init_avx:
vzeroupper jmp .L_init_clmul
vmovdqu (%rsi),%xmm2
vpshufd $78,%xmm2,%xmm2
vpshufd $255,%xmm2,%xmm4
vpsrlq $63,%xmm2,%xmm3
vpsllq $1,%xmm2,%xmm2
vpxor %xmm5,%xmm5,%xmm5
vpcmpgtd %xmm4,%xmm5,%xmm5
vpslldq $8,%xmm3,%xmm3
vpor %xmm3,%xmm2,%xmm2
vpand .L0x1c2_polynomial(%rip),%xmm5,%xmm5
vpxor %xmm5,%xmm2,%xmm2
vpunpckhqdq %xmm2,%xmm2,%xmm6
vmovdqa %xmm2,%xmm0
vpxor %xmm2,%xmm6,%xmm6
movq $4,%r10
jmp .Linit_start_avx
.align 32
.Linit_loop_avx:
vpalignr $8,%xmm3,%xmm4,%xmm5
vmovdqu %xmm5,-16(%rdi)
vpunpckhqdq %xmm0,%xmm0,%xmm3
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm2,%xmm0,%xmm1
vpclmulqdq $0,%xmm2,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm3,%xmm3
vpxor %xmm0,%xmm1,%xmm4
vpxor %xmm4,%xmm3,%xmm3
vpslldq $8,%xmm3,%xmm4
vpsrldq $8,%xmm3,%xmm3
vpxor %xmm4,%xmm0,%xmm0
vpxor %xmm3,%xmm1,%xmm1
vpsllq $57,%xmm0,%xmm3
vpsllq $62,%xmm0,%xmm4
vpxor %xmm3,%xmm4,%xmm4
vpsllq $63,%xmm0,%xmm3
vpxor %xmm3,%xmm4,%xmm4
vpslldq $8,%xmm4,%xmm3
vpsrldq $8,%xmm4,%xmm4
vpxor %xmm3,%xmm0,%xmm0
vpxor %xmm4,%xmm1,%xmm1
vpsrlq $1,%xmm0,%xmm4
vpxor %xmm0,%xmm1,%xmm1
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $5,%xmm4,%xmm4
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $1,%xmm0,%xmm0
vpxor %xmm1,%xmm0,%xmm0
.Linit_start_avx:
vmovdqa %xmm0,%xmm5
vpunpckhqdq %xmm0,%xmm0,%xmm3
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm2,%xmm0,%xmm1
vpclmulqdq $0,%xmm2,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm3,%xmm3
vpxor %xmm0,%xmm1,%xmm4
vpxor %xmm4,%xmm3,%xmm3
vpslldq $8,%xmm3,%xmm4
vpsrldq $8,%xmm3,%xmm3
vpxor %xmm4,%xmm0,%xmm0
vpxor %xmm3,%xmm1,%xmm1
vpsllq $57,%xmm0,%xmm3
vpsllq $62,%xmm0,%xmm4
vpxor %xmm3,%xmm4,%xmm4
vpsllq $63,%xmm0,%xmm3
vpxor %xmm3,%xmm4,%xmm4
vpslldq $8,%xmm4,%xmm3
vpsrldq $8,%xmm4,%xmm4
vpxor %xmm3,%xmm0,%xmm0
vpxor %xmm4,%xmm1,%xmm1
vpsrlq $1,%xmm0,%xmm4
vpxor %xmm0,%xmm1,%xmm1
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $5,%xmm4,%xmm4
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $1,%xmm0,%xmm0
vpxor %xmm1,%xmm0,%xmm0
vpshufd $78,%xmm5,%xmm3
vpshufd $78,%xmm0,%xmm4
vpxor %xmm5,%xmm3,%xmm3
vmovdqu %xmm5,0(%rdi)
vpxor %xmm0,%xmm4,%xmm4
vmovdqu %xmm0,16(%rdi)
leaq 48(%rdi),%rdi
subq $1,%r10
jnz .Linit_loop_avx
vpalignr $8,%xmm4,%xmm3,%xmm5
vmovdqu %xmm5,-16(%rdi)
vzeroupper
.byte 0xf3,0xc3
.size gcm_init_avx,.-gcm_init_avx .size gcm_init_avx,.-gcm_init_avx
.globl gcm_gmult_avx .globl gcm_gmult_avx
.type gcm_gmult_avx,@function .type gcm_gmult_avx,@function
@ -1362,377 +1261,7 @@ gcm_gmult_avx:
.type gcm_ghash_avx,@function .type gcm_ghash_avx,@function
.align 32 .align 32
gcm_ghash_avx: gcm_ghash_avx:
vzeroupper jmp .L_ghash_clmul
vmovdqu (%rdi),%xmm10
leaq .L0x1c2_polynomial(%rip),%r10
leaq 64(%rsi),%rsi
vmovdqu .Lbswap_mask(%rip),%xmm13
vpshufb %xmm13,%xmm10,%xmm10
cmpq $128,%rcx
jb .Lshort_avx
subq $128,%rcx
vmovdqu 112(%rdx),%xmm14
vmovdqu 0-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm14
vmovdqu 32-64(%rsi),%xmm7
vpunpckhqdq %xmm14,%xmm14,%xmm9
vmovdqu 96(%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm14,%xmm9,%xmm9
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 16-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vmovdqu 80(%rdx),%xmm14
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vpshufb %xmm13,%xmm14,%xmm14
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 48-64(%rsi),%xmm6
vpxor %xmm14,%xmm9,%xmm9
vmovdqu 64(%rdx),%xmm15
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 80-64(%rsi),%xmm7
vpshufb %xmm13,%xmm15,%xmm15
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm1,%xmm4,%xmm4
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 64-64(%rsi),%xmm6
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vmovdqu 48(%rdx),%xmm14
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpxor %xmm4,%xmm1,%xmm1
vpshufb %xmm13,%xmm14,%xmm14
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 96-64(%rsi),%xmm6
vpxor %xmm5,%xmm2,%xmm2
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 128-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vmovdqu 32(%rdx),%xmm15
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm1,%xmm4,%xmm4
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 112-64(%rsi),%xmm6
vpxor %xmm2,%xmm5,%xmm5
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vmovdqu 16(%rdx),%xmm14
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpxor %xmm4,%xmm1,%xmm1
vpshufb %xmm13,%xmm14,%xmm14
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 144-64(%rsi),%xmm6
vpxor %xmm5,%xmm2,%xmm2
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 176-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vmovdqu (%rdx),%xmm15
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm1,%xmm4,%xmm4
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 160-64(%rsi),%xmm6
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $16,%xmm7,%xmm9,%xmm2
leaq 128(%rdx),%rdx
cmpq $128,%rcx
jb .Ltail_avx
vpxor %xmm10,%xmm15,%xmm15
subq $128,%rcx
jmp .Loop8x_avx
.align 32
.Loop8x_avx:
vpunpckhqdq %xmm15,%xmm15,%xmm8
vmovdqu 112(%rdx),%xmm14
vpxor %xmm0,%xmm3,%xmm3
vpxor %xmm15,%xmm8,%xmm8
vpclmulqdq $0,%xmm6,%xmm15,%xmm10
vpshufb %xmm13,%xmm14,%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm11
vmovdqu 0-64(%rsi),%xmm6
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm12
vmovdqu 32-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vmovdqu 96(%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm3,%xmm10,%xmm10
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vxorps %xmm4,%xmm11,%xmm11
vmovdqu 16-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm5,%xmm12,%xmm12
vxorps %xmm15,%xmm8,%xmm8
vmovdqu 80(%rdx),%xmm14
vpxor %xmm10,%xmm12,%xmm12
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpxor %xmm11,%xmm12,%xmm12
vpslldq $8,%xmm12,%xmm9
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vpsrldq $8,%xmm12,%xmm12
vpxor %xmm9,%xmm10,%xmm10
vmovdqu 48-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm14
vxorps %xmm12,%xmm11,%xmm11
vpxor %xmm1,%xmm4,%xmm4
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 80-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vmovdqu 64(%rdx),%xmm15
vpalignr $8,%xmm10,%xmm10,%xmm12
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpshufb %xmm13,%xmm15,%xmm15
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 64-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm4,%xmm1,%xmm1
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vxorps %xmm15,%xmm8,%xmm8
vpxor %xmm5,%xmm2,%xmm2
vmovdqu 48(%rdx),%xmm14
vpclmulqdq $16,(%r10),%xmm10,%xmm10
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpshufb %xmm13,%xmm14,%xmm14
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 96-64(%rsi),%xmm6
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 128-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vmovdqu 32(%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpshufb %xmm13,%xmm15,%xmm15
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 112-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm4,%xmm1,%xmm1
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vpxor %xmm5,%xmm2,%xmm2
vxorps %xmm12,%xmm10,%xmm10
vmovdqu 16(%rdx),%xmm14
vpalignr $8,%xmm10,%xmm10,%xmm12
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpshufb %xmm13,%xmm14,%xmm14
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 144-64(%rsi),%xmm6
vpclmulqdq $16,(%r10),%xmm10,%xmm10
vxorps %xmm11,%xmm12,%xmm12
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 176-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vmovdqu (%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 160-64(%rsi),%xmm6
vpxor %xmm12,%xmm15,%xmm15
vpclmulqdq $16,%xmm7,%xmm9,%xmm2
vpxor %xmm10,%xmm15,%xmm15
leaq 128(%rdx),%rdx
subq $128,%rcx
jnc .Loop8x_avx
addq $128,%rcx
jmp .Ltail_no_xor_avx
.align 32
.Lshort_avx:
vmovdqu -16(%rdx,%rcx,1),%xmm14
leaq (%rdx,%rcx,1),%rdx
vmovdqu 0-64(%rsi),%xmm6
vmovdqu 32-64(%rsi),%xmm7
vpshufb %xmm13,%xmm14,%xmm15
vmovdqa %xmm0,%xmm3
vmovdqa %xmm1,%xmm4
vmovdqa %xmm2,%xmm5
subq $16,%rcx
jz .Ltail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -32(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 16-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vpsrldq $8,%xmm7,%xmm7
subq $16,%rcx
jz .Ltail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -48(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 48-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovdqu 80-64(%rsi),%xmm7
subq $16,%rcx
jz .Ltail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -64(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 64-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vpsrldq $8,%xmm7,%xmm7
subq $16,%rcx
jz .Ltail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -80(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 96-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovdqu 128-64(%rsi),%xmm7
subq $16,%rcx
jz .Ltail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -96(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 112-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vpsrldq $8,%xmm7,%xmm7
subq $16,%rcx
jz .Ltail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -112(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 144-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovq 184-64(%rsi),%xmm7
subq $16,%rcx
jmp .Ltail_avx
.align 32
.Ltail_avx:
vpxor %xmm10,%xmm15,%xmm15
.Ltail_no_xor_avx:
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovdqu (%r10),%xmm12
vpxor %xmm0,%xmm3,%xmm10
vpxor %xmm1,%xmm4,%xmm11
vpxor %xmm2,%xmm5,%xmm5
vpxor %xmm10,%xmm5,%xmm5
vpxor %xmm11,%xmm5,%xmm5
vpslldq $8,%xmm5,%xmm9
vpsrldq $8,%xmm5,%xmm5
vpxor %xmm9,%xmm10,%xmm10
vpxor %xmm5,%xmm11,%xmm11
vpclmulqdq $16,%xmm12,%xmm10,%xmm9
vpalignr $8,%xmm10,%xmm10,%xmm10
vpxor %xmm9,%xmm10,%xmm10
vpclmulqdq $16,%xmm12,%xmm10,%xmm9
vpalignr $8,%xmm10,%xmm10,%xmm10
vpxor %xmm11,%xmm10,%xmm10
vpxor %xmm9,%xmm10,%xmm10
cmpq $0,%rcx
jne .Lshort_avx
vpshufb %xmm13,%xmm10,%xmm10
vmovdqu %xmm10,(%rdi)
vzeroupper
.byte 0xf3,0xc3
.size gcm_ghash_avx,.-gcm_ghash_avx .size gcm_ghash_avx,.-gcm_ghash_avx
.align 64 .align 64
.Lbswap_mask: .Lbswap_mask:

4303
deps/openssl/asm/x64-elf-gas/sha/sha1-mb-x86_64.s

File diff suppressed because it is too large

2813
deps/openssl/asm/x64-elf-gas/sha/sha1-x86_64.s

File diff suppressed because it is too large

4728
deps/openssl/asm/x64-elf-gas/sha/sha256-mb-x86_64.s

File diff suppressed because it is too large

2353
deps/openssl/asm/x64-elf-gas/sha/sha256-x86_64.s

File diff suppressed because it is too large

3582
deps/openssl/asm/x64-elf-gas/sha/sha512-x86_64.s

File diff suppressed because it is too large

929
deps/openssl/asm/x64-macosx-gas/aes/aesni-mb-x86_64.s

@ -6,14 +6,6 @@
.p2align 5 .p2align 5
_aesni_multi_cbc_encrypt: _aesni_multi_cbc_encrypt:
cmpl $2,%edx
jb L$enc_non_avx
movl _OPENSSL_ia32cap_P+4(%rip),%ecx
testl $268435456,%ecx
jnz _avx_cbc_enc_shortcut
jmp L$enc_non_avx
.p2align 4
L$enc_non_avx:
movq %rsp,%rax movq %rsp,%rax
pushq %rbx pushq %rbx
pushq %rbp pushq %rbp
@ -270,14 +262,6 @@ L$enc4x_epilogue:
.p2align 5 .p2align 5
_aesni_multi_cbc_decrypt: _aesni_multi_cbc_decrypt:
cmpl $2,%edx
jb L$dec_non_avx
movl _OPENSSL_ia32cap_P+4(%rip),%ecx
testl $268435456,%ecx
jnz _avx_cbc_dec_shortcut
jmp L$dec_non_avx
.p2align 4
L$dec_non_avx:
movq %rsp,%rax movq %rsp,%rax
pushq %rbx pushq %rbx
pushq %rbp pushq %rbp
@ -519,916 +503,3 @@ L$dec4x_done:
leaq (%rax),%rsp leaq (%rax),%rsp
L$dec4x_epilogue: L$dec4x_epilogue:
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.p2align 5
aesni_multi_cbc_encrypt_avx:
_avx_cbc_enc_shortcut:
movq %rsp,%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
subq $192,%rsp
andq $-128,%rsp
movq %rax,16(%rsp)
L$enc8x_body:
vzeroupper
vmovdqu (%rsi),%xmm15
leaq 120(%rsi),%rsi
leaq 160(%rdi),%rdi
shrl $1,%edx
L$enc8x_loop_grande:
xorl %edx,%edx
movl -144(%rdi),%ecx
movq -160(%rdi),%r8
cmpl %edx,%ecx
movq -152(%rdi),%rbx
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -136(%rdi),%xmm2
movl %ecx,32(%rsp)
cmovleq %rsp,%r8
subq %r8,%rbx
movq %rbx,64(%rsp)
movl -104(%rdi),%ecx
movq -120(%rdi),%r9
cmpl %edx,%ecx
movq -112(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -96(%rdi),%xmm3
movl %ecx,36(%rsp)
cmovleq %rsp,%r9
subq %r9,%rbp
movq %rbp,72(%rsp)
movl -64(%rdi),%ecx
movq -80(%rdi),%r10
cmpl %edx,%ecx
movq -72(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -56(%rdi),%xmm4
movl %ecx,40(%rsp)
cmovleq %rsp,%r10
subq %r10,%rbp
movq %rbp,80(%rsp)
movl -24(%rdi),%ecx
movq -40(%rdi),%r11
cmpl %edx,%ecx
movq -32(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -16(%rdi),%xmm5
movl %ecx,44(%rsp)
cmovleq %rsp,%r11
subq %r11,%rbp
movq %rbp,88(%rsp)
movl 16(%rdi),%ecx
movq 0(%rdi),%r12
cmpl %edx,%ecx
movq 8(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 24(%rdi),%xmm6
movl %ecx,48(%rsp)
cmovleq %rsp,%r12
subq %r12,%rbp
movq %rbp,96(%rsp)
movl 56(%rdi),%ecx
movq 40(%rdi),%r13
cmpl %edx,%ecx
movq 48(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 64(%rdi),%xmm7
movl %ecx,52(%rsp)
cmovleq %rsp,%r13
subq %r13,%rbp
movq %rbp,104(%rsp)
movl 96(%rdi),%ecx
movq 80(%rdi),%r14
cmpl %edx,%ecx
movq 88(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 104(%rdi),%xmm8
movl %ecx,56(%rsp)
cmovleq %rsp,%r14
subq %r14,%rbp
movq %rbp,112(%rsp)
movl 136(%rdi),%ecx
movq 120(%rdi),%r15
cmpl %edx,%ecx
movq 128(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 144(%rdi),%xmm9
movl %ecx,60(%rsp)
cmovleq %rsp,%r15
subq %r15,%rbp
movq %rbp,120(%rsp)
testl %edx,%edx
jz L$enc8x_done
vmovups 16-120(%rsi),%xmm1
vmovups 32-120(%rsi),%xmm0
movl 240-120(%rsi),%eax
vpxor (%r8),%xmm15,%xmm10
leaq 128(%rsp),%rbp
vpxor (%r9),%xmm15,%xmm11
vpxor (%r10),%xmm15,%xmm12
vpxor (%r11),%xmm15,%xmm13
vpxor %xmm10,%xmm2,%xmm2
vpxor (%r12),%xmm15,%xmm10
vpxor %xmm11,%xmm3,%xmm3
vpxor (%r13),%xmm15,%xmm11
vpxor %xmm12,%xmm4,%xmm4
vpxor (%r14),%xmm15,%xmm12
vpxor %xmm13,%xmm5,%xmm5
vpxor (%r15),%xmm15,%xmm13
vpxor %xmm10,%xmm6,%xmm6
movl $1,%ecx
vpxor %xmm11,%xmm7,%xmm7
vpxor %xmm12,%xmm8,%xmm8
vpxor %xmm13,%xmm9,%xmm9
jmp L$oop_enc8x
.p2align 5
L$oop_enc8x:
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+0(%rsp),%ecx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r8)
vaesenc %xmm1,%xmm4,%xmm4
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r8,%rbx,1),%rbx
cmovgeq %rsp,%r8
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r8,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r8),%xmm15,%xmm10
movq %rbx,64+0(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups -72(%rsi),%xmm1
leaq 16(%r8,%rbx,1),%r8
vmovdqu %xmm10,0(%rbp)
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+4(%rsp),%ecx
movq 64+8(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r9)
vaesenc %xmm0,%xmm4,%xmm4
vaesenc %xmm0,%xmm5,%xmm5
leaq (%r9,%rbx,1),%rbx
cmovgeq %rsp,%r9
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r9,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r9),%xmm15,%xmm11
movq %rbx,64+8(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups -56(%rsi),%xmm0
leaq 16(%r9,%rbx,1),%r9
vmovdqu %xmm11,16(%rbp)
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+8(%rsp),%ecx
movq 64+16(%rsp),%rbx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r10)
vaesenc %xmm1,%xmm4,%xmm4
prefetcht0 15(%r8)
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r10,%rbx,1),%rbx
cmovgeq %rsp,%r10
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r10,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r10),%xmm15,%xmm12
movq %rbx,64+16(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups -40(%rsi),%xmm1
leaq 16(%r10,%rbx,1),%r10
vmovdqu %xmm12,32(%rbp)
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+12(%rsp),%ecx
movq 64+24(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r11)
vaesenc %xmm0,%xmm4,%xmm4
prefetcht0 15(%r9)
vaesenc %xmm0,%xmm5,%xmm5
leaq (%r11,%rbx,1),%rbx
cmovgeq %rsp,%r11
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r11,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r11),%xmm15,%xmm13
movq %rbx,64+24(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups -24(%rsi),%xmm0
leaq 16(%r11,%rbx,1),%r11
vmovdqu %xmm13,48(%rbp)
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+16(%rsp),%ecx
movq 64+32(%rsp),%rbx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r12)
vaesenc %xmm1,%xmm4,%xmm4
prefetcht0 15(%r10)
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r12,%rbx,1),%rbx
cmovgeq %rsp,%r12
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r12,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r12),%xmm15,%xmm10
movq %rbx,64+32(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups -8(%rsi),%xmm1
leaq 16(%r12,%rbx,1),%r12
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+20(%rsp),%ecx
movq 64+40(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r13)
vaesenc %xmm0,%xmm4,%xmm4
prefetcht0 15(%r11)
vaesenc %xmm0,%xmm5,%xmm5
leaq (%rbx,%r13,1),%rbx
cmovgeq %rsp,%r13
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r13,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r13),%xmm15,%xmm11
movq %rbx,64+40(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups 8(%rsi),%xmm0
leaq 16(%r13,%rbx,1),%r13
vaesenc %xmm1,%xmm2,%xmm2
cmpl 32+24(%rsp),%ecx
movq 64+48(%rsp),%rbx
vaesenc %xmm1,%xmm3,%xmm3
prefetcht0 31(%r14)
vaesenc %xmm1,%xmm4,%xmm4
prefetcht0 15(%r12)
vaesenc %xmm1,%xmm5,%xmm5
leaq (%r14,%rbx,1),%rbx
cmovgeq %rsp,%r14
vaesenc %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm1,%xmm7,%xmm7
subq %r14,%rbx
vaesenc %xmm1,%xmm8,%xmm8
vpxor 16(%r14),%xmm15,%xmm12
movq %rbx,64+48(%rsp)
vaesenc %xmm1,%xmm9,%xmm9
vmovups 24(%rsi),%xmm1
leaq 16(%r14,%rbx,1),%r14
vaesenc %xmm0,%xmm2,%xmm2
cmpl 32+28(%rsp),%ecx
movq 64+56(%rsp),%rbx
vaesenc %xmm0,%xmm3,%xmm3
prefetcht0 31(%r15)
vaesenc %xmm0,%xmm4,%xmm4
prefetcht0 15(%r13)
vaesenc %xmm0,%xmm5,%xmm5
leaq (%r15,%rbx,1),%rbx
cmovgeq %rsp,%r15
vaesenc %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesenc %xmm0,%xmm7,%xmm7
subq %r15,%rbx
vaesenc %xmm0,%xmm8,%xmm8
vpxor 16(%r15),%xmm15,%xmm13
movq %rbx,64+56(%rsp)
vaesenc %xmm0,%xmm9,%xmm9
vmovups 40(%rsi),%xmm0
leaq 16(%r15,%rbx,1),%r15
vmovdqu 32(%rsp),%xmm14
prefetcht0 15(%r14)
prefetcht0 15(%r15)
cmpl $11,%eax
jb L$enc8x_tail
vaesenc %xmm1,%xmm2,%xmm2
vaesenc %xmm1,%xmm3,%xmm3
vaesenc %xmm1,%xmm4,%xmm4
vaesenc %xmm1,%xmm5,%xmm5
vaesenc %xmm1,%xmm6,%xmm6
vaesenc %xmm1,%xmm7,%xmm7
vaesenc %xmm1,%xmm8,%xmm8
vaesenc %xmm1,%xmm9,%xmm9
vmovups 176-120(%rsi),%xmm1
vaesenc %xmm0,%xmm2,%xmm2
vaesenc %xmm0,%xmm3,%xmm3
vaesenc %xmm0,%xmm4,%xmm4
vaesenc %xmm0,%xmm5,%xmm5
vaesenc %xmm0,%xmm6,%xmm6
vaesenc %xmm0,%xmm7,%xmm7
vaesenc %xmm0,%xmm8,%xmm8
vaesenc %xmm0,%xmm9,%xmm9
vmovups 192-120(%rsi),%xmm0
je L$enc8x_tail
vaesenc %xmm1,%xmm2,%xmm2
vaesenc %xmm1,%xmm3,%xmm3
vaesenc %xmm1,%xmm4,%xmm4
vaesenc %xmm1,%xmm5,%xmm5
vaesenc %xmm1,%xmm6,%xmm6
vaesenc %xmm1,%xmm7,%xmm7
vaesenc %xmm1,%xmm8,%xmm8
vaesenc %xmm1,%xmm9,%xmm9
vmovups 208-120(%rsi),%xmm1
vaesenc %xmm0,%xmm2,%xmm2
vaesenc %xmm0,%xmm3,%xmm3
vaesenc %xmm0,%xmm4,%xmm4
vaesenc %xmm0,%xmm5,%xmm5
vaesenc %xmm0,%xmm6,%xmm6
vaesenc %xmm0,%xmm7,%xmm7
vaesenc %xmm0,%xmm8,%xmm8
vaesenc %xmm0,%xmm9,%xmm9
vmovups 224-120(%rsi),%xmm0
L$enc8x_tail:
vaesenc %xmm1,%xmm2,%xmm2
vpxor %xmm15,%xmm15,%xmm15
vaesenc %xmm1,%xmm3,%xmm3
vaesenc %xmm1,%xmm4,%xmm4
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesenc %xmm1,%xmm5,%xmm5
vaesenc %xmm1,%xmm6,%xmm6
vpaddd %xmm14,%xmm15,%xmm15
vmovdqu 48(%rsp),%xmm14
vaesenc %xmm1,%xmm7,%xmm7
movq 64(%rsp),%rbx
vaesenc %xmm1,%xmm8,%xmm8
vaesenc %xmm1,%xmm9,%xmm9
vmovups 16-120(%rsi),%xmm1
vaesenclast %xmm0,%xmm2,%xmm2
vmovdqa %xmm15,32(%rsp)
vpxor %xmm15,%xmm15,%xmm15
vaesenclast %xmm0,%xmm3,%xmm3
vaesenclast %xmm0,%xmm4,%xmm4
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesenclast %xmm0,%xmm5,%xmm5
vaesenclast %xmm0,%xmm6,%xmm6
vpaddd %xmm15,%xmm14,%xmm14
vmovdqu -120(%rsi),%xmm15
vaesenclast %xmm0,%xmm7,%xmm7
vaesenclast %xmm0,%xmm8,%xmm8
vmovdqa %xmm14,48(%rsp)
vaesenclast %xmm0,%xmm9,%xmm9
vmovups 32-120(%rsi),%xmm0
vmovups %xmm2,-16(%r8)
subq %rbx,%r8
vpxor 0(%rbp),%xmm2,%xmm2
vmovups %xmm3,-16(%r9)
subq 72(%rsp),%r9
vpxor 16(%rbp),%xmm3,%xmm3
vmovups %xmm4,-16(%r10)
subq 80(%rsp),%r10
vpxor 32(%rbp),%xmm4,%xmm4
vmovups %xmm5,-16(%r11)
subq 88(%rsp),%r11
vpxor 48(%rbp),%xmm5,%xmm5
vmovups %xmm6,-16(%r12)
subq 96(%rsp),%r12
vpxor %xmm10,%xmm6,%xmm6
vmovups %xmm7,-16(%r13)
subq 104(%rsp),%r13
vpxor %xmm11,%xmm7,%xmm7
vmovups %xmm8,-16(%r14)
subq 112(%rsp),%r14
vpxor %xmm12,%xmm8,%xmm8
vmovups %xmm9,-16(%r15)
subq 120(%rsp),%r15
vpxor %xmm13,%xmm9,%xmm9
decl %edx
jnz L$oop_enc8x
movq 16(%rsp),%rax
L$enc8x_done:
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
L$enc8x_epilogue:
.byte 0xf3,0xc3
.p2align 5
aesni_multi_cbc_decrypt_avx:
_avx_cbc_dec_shortcut:
movq %rsp,%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
subq $256,%rsp
andq $-256,%rsp
subq $192,%rsp
movq %rax,16(%rsp)
L$dec8x_body:
vzeroupper
vmovdqu (%rsi),%xmm15
leaq 120(%rsi),%rsi
leaq 160(%rdi),%rdi
shrl $1,%edx
L$dec8x_loop_grande:
xorl %edx,%edx
movl -144(%rdi),%ecx
movq -160(%rdi),%r8
cmpl %edx,%ecx
movq -152(%rdi),%rbx
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -136(%rdi),%xmm2
movl %ecx,32(%rsp)
cmovleq %rsp,%r8
subq %r8,%rbx
movq %rbx,64(%rsp)
vmovdqu %xmm2,192(%rsp)
movl -104(%rdi),%ecx
movq -120(%rdi),%r9
cmpl %edx,%ecx
movq -112(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -96(%rdi),%xmm3
movl %ecx,36(%rsp)
cmovleq %rsp,%r9
subq %r9,%rbp
movq %rbp,72(%rsp)
vmovdqu %xmm3,208(%rsp)
movl -64(%rdi),%ecx
movq -80(%rdi),%r10
cmpl %edx,%ecx
movq -72(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -56(%rdi),%xmm4
movl %ecx,40(%rsp)
cmovleq %rsp,%r10
subq %r10,%rbp
movq %rbp,80(%rsp)
vmovdqu %xmm4,224(%rsp)
movl -24(%rdi),%ecx
movq -40(%rdi),%r11
cmpl %edx,%ecx
movq -32(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu -16(%rdi),%xmm5
movl %ecx,44(%rsp)
cmovleq %rsp,%r11
subq %r11,%rbp
movq %rbp,88(%rsp)
vmovdqu %xmm5,240(%rsp)
movl 16(%rdi),%ecx
movq 0(%rdi),%r12
cmpl %edx,%ecx
movq 8(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 24(%rdi),%xmm6
movl %ecx,48(%rsp)
cmovleq %rsp,%r12
subq %r12,%rbp
movq %rbp,96(%rsp)
vmovdqu %xmm6,256(%rsp)
movl 56(%rdi),%ecx
movq 40(%rdi),%r13
cmpl %edx,%ecx
movq 48(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 64(%rdi),%xmm7
movl %ecx,52(%rsp)
cmovleq %rsp,%r13
subq %r13,%rbp
movq %rbp,104(%rsp)
vmovdqu %xmm7,272(%rsp)
movl 96(%rdi),%ecx
movq 80(%rdi),%r14
cmpl %edx,%ecx
movq 88(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 104(%rdi),%xmm8
movl %ecx,56(%rsp)
cmovleq %rsp,%r14
subq %r14,%rbp
movq %rbp,112(%rsp)
vmovdqu %xmm8,288(%rsp)
movl 136(%rdi),%ecx
movq 120(%rdi),%r15
cmpl %edx,%ecx
movq 128(%rdi),%rbp
cmovgl %ecx,%edx
testl %ecx,%ecx
vmovdqu 144(%rdi),%xmm9
movl %ecx,60(%rsp)
cmovleq %rsp,%r15
subq %r15,%rbp
movq %rbp,120(%rsp)
vmovdqu %xmm9,304(%rsp)
testl %edx,%edx
jz L$dec8x_done
vmovups 16-120(%rsi),%xmm1
vmovups 32-120(%rsi),%xmm0
movl 240-120(%rsi),%eax
leaq 192+128(%rsp),%rbp
vmovdqu (%r8),%xmm2
vmovdqu (%r9),%xmm3
vmovdqu (%r10),%xmm4
vmovdqu (%r11),%xmm5
vmovdqu (%r12),%xmm6
vmovdqu (%r13),%xmm7
vmovdqu (%r14),%xmm8
vmovdqu (%r15),%xmm9
vmovdqu %xmm2,0(%rbp)
vpxor %xmm15,%xmm2,%xmm2
vmovdqu %xmm3,16(%rbp)
vpxor %xmm15,%xmm3,%xmm3
vmovdqu %xmm4,32(%rbp)
vpxor %xmm15,%xmm4,%xmm4
vmovdqu %xmm5,48(%rbp)
vpxor %xmm15,%xmm5,%xmm5
vmovdqu %xmm6,64(%rbp)
vpxor %xmm15,%xmm6,%xmm6
vmovdqu %xmm7,80(%rbp)
vpxor %xmm15,%xmm7,%xmm7
vmovdqu %xmm8,96(%rbp)
vpxor %xmm15,%xmm8,%xmm8
vmovdqu %xmm9,112(%rbp)
vpxor %xmm15,%xmm9,%xmm9
xorq $128,%rbp
movl $1,%ecx
jmp L$oop_dec8x
.p2align 5
L$oop_dec8x:
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+0(%rsp),%ecx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r8)
vaesdec %xmm1,%xmm4,%xmm4
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r8,%rbx,1),%rbx
cmovgeq %rsp,%r8
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r8,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r8),%xmm10
movq %rbx,64+0(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups -72(%rsi),%xmm1
leaq 16(%r8,%rbx,1),%r8
vmovdqu %xmm10,128(%rsp)
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+4(%rsp),%ecx
movq 64+8(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r9)
vaesdec %xmm0,%xmm4,%xmm4
vaesdec %xmm0,%xmm5,%xmm5
leaq (%r9,%rbx,1),%rbx
cmovgeq %rsp,%r9
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r9,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r9),%xmm11
movq %rbx,64+8(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups -56(%rsi),%xmm0
leaq 16(%r9,%rbx,1),%r9
vmovdqu %xmm11,144(%rsp)
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+8(%rsp),%ecx
movq 64+16(%rsp),%rbx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r10)
vaesdec %xmm1,%xmm4,%xmm4
prefetcht0 15(%r8)
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r10,%rbx,1),%rbx
cmovgeq %rsp,%r10
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r10,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r10),%xmm12
movq %rbx,64+16(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups -40(%rsi),%xmm1
leaq 16(%r10,%rbx,1),%r10
vmovdqu %xmm12,160(%rsp)
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+12(%rsp),%ecx
movq 64+24(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r11)
vaesdec %xmm0,%xmm4,%xmm4
prefetcht0 15(%r9)
vaesdec %xmm0,%xmm5,%xmm5
leaq (%r11,%rbx,1),%rbx
cmovgeq %rsp,%r11
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r11,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r11),%xmm13
movq %rbx,64+24(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups -24(%rsi),%xmm0
leaq 16(%r11,%rbx,1),%r11
vmovdqu %xmm13,176(%rsp)
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+16(%rsp),%ecx
movq 64+32(%rsp),%rbx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r12)
vaesdec %xmm1,%xmm4,%xmm4
prefetcht0 15(%r10)
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r12,%rbx,1),%rbx
cmovgeq %rsp,%r12
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r12,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r12),%xmm10
movq %rbx,64+32(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups -8(%rsi),%xmm1
leaq 16(%r12,%rbx,1),%r12
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+20(%rsp),%ecx
movq 64+40(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r13)
vaesdec %xmm0,%xmm4,%xmm4
prefetcht0 15(%r11)
vaesdec %xmm0,%xmm5,%xmm5
leaq (%rbx,%r13,1),%rbx
cmovgeq %rsp,%r13
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r13,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r13),%xmm11
movq %rbx,64+40(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups 8(%rsi),%xmm0
leaq 16(%r13,%rbx,1),%r13
vaesdec %xmm1,%xmm2,%xmm2
cmpl 32+24(%rsp),%ecx
movq 64+48(%rsp),%rbx
vaesdec %xmm1,%xmm3,%xmm3
prefetcht0 31(%r14)
vaesdec %xmm1,%xmm4,%xmm4
prefetcht0 15(%r12)
vaesdec %xmm1,%xmm5,%xmm5
leaq (%r14,%rbx,1),%rbx
cmovgeq %rsp,%r14
vaesdec %xmm1,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm1,%xmm7,%xmm7
subq %r14,%rbx
vaesdec %xmm1,%xmm8,%xmm8
vmovdqu 16(%r14),%xmm12
movq %rbx,64+48(%rsp)
vaesdec %xmm1,%xmm9,%xmm9
vmovups 24(%rsi),%xmm1
leaq 16(%r14,%rbx,1),%r14
vaesdec %xmm0,%xmm2,%xmm2
cmpl 32+28(%rsp),%ecx
movq 64+56(%rsp),%rbx
vaesdec %xmm0,%xmm3,%xmm3
prefetcht0 31(%r15)
vaesdec %xmm0,%xmm4,%xmm4
prefetcht0 15(%r13)
vaesdec %xmm0,%xmm5,%xmm5
leaq (%r15,%rbx,1),%rbx
cmovgeq %rsp,%r15
vaesdec %xmm0,%xmm6,%xmm6
cmovgq %rsp,%rbx
vaesdec %xmm0,%xmm7,%xmm7
subq %r15,%rbx
vaesdec %xmm0,%xmm8,%xmm8
vmovdqu 16(%r15),%xmm13
movq %rbx,64+56(%rsp)
vaesdec %xmm0,%xmm9,%xmm9
vmovups 40(%rsi),%xmm0
leaq 16(%r15,%rbx,1),%r15
vmovdqu 32(%rsp),%xmm14
prefetcht0 15(%r14)
prefetcht0 15(%r15)
cmpl $11,%eax
jb L$dec8x_tail
vaesdec %xmm1,%xmm2,%xmm2
vaesdec %xmm1,%xmm3,%xmm3
vaesdec %xmm1,%xmm4,%xmm4
vaesdec %xmm1,%xmm5,%xmm5
vaesdec %xmm1,%xmm6,%xmm6
vaesdec %xmm1,%xmm7,%xmm7
vaesdec %xmm1,%xmm8,%xmm8
vaesdec %xmm1,%xmm9,%xmm9
vmovups 176-120(%rsi),%xmm1
vaesdec %xmm0,%xmm2,%xmm2
vaesdec %xmm0,%xmm3,%xmm3
vaesdec %xmm0,%xmm4,%xmm4
vaesdec %xmm0,%xmm5,%xmm5
vaesdec %xmm0,%xmm6,%xmm6
vaesdec %xmm0,%xmm7,%xmm7
vaesdec %xmm0,%xmm8,%xmm8
vaesdec %xmm0,%xmm9,%xmm9
vmovups 192-120(%rsi),%xmm0
je L$dec8x_tail
vaesdec %xmm1,%xmm2,%xmm2
vaesdec %xmm1,%xmm3,%xmm3
vaesdec %xmm1,%xmm4,%xmm4
vaesdec %xmm1,%xmm5,%xmm5
vaesdec %xmm1,%xmm6,%xmm6
vaesdec %xmm1,%xmm7,%xmm7
vaesdec %xmm1,%xmm8,%xmm8
vaesdec %xmm1,%xmm9,%xmm9
vmovups 208-120(%rsi),%xmm1
vaesdec %xmm0,%xmm2,%xmm2
vaesdec %xmm0,%xmm3,%xmm3
vaesdec %xmm0,%xmm4,%xmm4
vaesdec %xmm0,%xmm5,%xmm5
vaesdec %xmm0,%xmm6,%xmm6
vaesdec %xmm0,%xmm7,%xmm7
vaesdec %xmm0,%xmm8,%xmm8
vaesdec %xmm0,%xmm9,%xmm9
vmovups 224-120(%rsi),%xmm0
L$dec8x_tail:
vaesdec %xmm1,%xmm2,%xmm2
vpxor %xmm15,%xmm15,%xmm15
vaesdec %xmm1,%xmm3,%xmm3
vaesdec %xmm1,%xmm4,%xmm4
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesdec %xmm1,%xmm5,%xmm5
vaesdec %xmm1,%xmm6,%xmm6
vpaddd %xmm14,%xmm15,%xmm15
vmovdqu 48(%rsp),%xmm14
vaesdec %xmm1,%xmm7,%xmm7
movq 64(%rsp),%rbx
vaesdec %xmm1,%xmm8,%xmm8
vaesdec %xmm1,%xmm9,%xmm9
vmovups 16-120(%rsi),%xmm1
vaesdeclast %xmm0,%xmm2,%xmm2
vmovdqa %xmm15,32(%rsp)
vpxor %xmm15,%xmm15,%xmm15
vaesdeclast %xmm0,%xmm3,%xmm3
vpxor 0(%rbp),%xmm2,%xmm2
vaesdeclast %xmm0,%xmm4,%xmm4
vpxor 16(%rbp),%xmm3,%xmm3
vpcmpgtd %xmm15,%xmm14,%xmm15
vaesdeclast %xmm0,%xmm5,%xmm5
vpxor 32(%rbp),%xmm4,%xmm4
vaesdeclast %xmm0,%xmm6,%xmm6
vpxor 48(%rbp),%xmm5,%xmm5
vpaddd %xmm15,%xmm14,%xmm14
vmovdqu -120(%rsi),%xmm15
vaesdeclast %xmm0,%xmm7,%xmm7
vpxor 64(%rbp),%xmm6,%xmm6
vaesdeclast %xmm0,%xmm8,%xmm8
vpxor 80(%rbp),%xmm7,%xmm7
vmovdqa %xmm14,48(%rsp)
vaesdeclast %xmm0,%xmm9,%xmm9
vpxor 96(%rbp),%xmm8,%xmm8
vmovups 32-120(%rsi),%xmm0
vmovups %xmm2,-16(%r8)
subq %rbx,%r8
vmovdqu 128+0(%rsp),%xmm2
vpxor 112(%rbp),%xmm9,%xmm9
vmovups %xmm3,-16(%r9)
subq 72(%rsp),%r9
vmovdqu %xmm2,0(%rbp)
vpxor %xmm15,%xmm2,%xmm2
vmovdqu 128+16(%rsp),%xmm3
vmovups %xmm4,-16(%r10)
subq 80(%rsp),%r10
vmovdqu %xmm3,16(%rbp)
vpxor %xmm15,%xmm3,%xmm3
vmovdqu 128+32(%rsp),%xmm4
vmovups %xmm5,-16(%r11)
subq 88(%rsp),%r11
vmovdqu %xmm4,32(%rbp)
vpxor %xmm15,%xmm4,%xmm4
vmovdqu 128+48(%rsp),%xmm5
vmovups %xmm6,-16(%r12)
subq 96(%rsp),%r12
vmovdqu %xmm5,48(%rbp)
vpxor %xmm15,%xmm5,%xmm5
vmovdqu %xmm10,64(%rbp)
vpxor %xmm10,%xmm15,%xmm6
vmovups %xmm7,-16(%r13)
subq 104(%rsp),%r13
vmovdqu %xmm11,80(%rbp)
vpxor %xmm11,%xmm15,%xmm7
vmovups %xmm8,-16(%r14)
subq 112(%rsp),%r14
vmovdqu %xmm12,96(%rbp)
vpxor %xmm12,%xmm15,%xmm8
vmovups %xmm9,-16(%r15)
subq 120(%rsp),%r15
vmovdqu %xmm13,112(%rbp)
vpxor %xmm13,%xmm15,%xmm9
xorq $128,%rbp
decl %edx
jnz L$oop_dec8x
movq 16(%rsp),%rax
L$dec8x_done:
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
L$dec8x_epilogue:
.byte 0xf3,0xc3

1335
deps/openssl/asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s

File diff suppressed because it is too large

4296
deps/openssl/asm/x64-macosx-gas/aes/aesni-sha256-x86_64.s

File diff suppressed because it is too large

1632
deps/openssl/asm/x64-macosx-gas/bn/rsaz-avx2.s

File diff suppressed because it is too large

857
deps/openssl/asm/x64-macosx-gas/bn/rsaz-x86_64.s

File diff suppressed because it is too large

2
deps/openssl/asm/x64-macosx-gas/bn/x86_64-gf2m.s

@ -242,7 +242,7 @@ L$body_mul_2x2:
movq %rcx,56(%rsp) movq %rcx,56(%rsp)
movq %r8,64(%rsp) movq %r8,64(%rsp)
movq $15,%r8 movq $0xf,%r8
movq %rsi,%rax movq %rsi,%rax
movq %rcx,%rbp movq %rcx,%rbp
call _mul_1x1 call _mul_1x1

421
deps/openssl/asm/x64-macosx-gas/bn/x86_64-mont.s

@ -10,7 +10,6 @@ _bn_mul_mont:
jnz L$mul_enter jnz L$mul_enter
cmpl $8,%r9d cmpl $8,%r9d
jb L$mul_enter jb L$mul_enter
movl _OPENSSL_ia32cap_P+8(%rip),%r11d
cmpq %rsi,%rdx cmpq %rsi,%rdx
jne L$mul4x_enter jne L$mul4x_enter
testl $7,%r9d testl $7,%r9d
@ -216,9 +215,6 @@ L$mul_epilogue:
.p2align 4 .p2align 4
bn_mul4x_mont: bn_mul4x_mont:
L$mul4x_enter: L$mul4x_enter:
andl $524544,%r11d
cmpl $524544,%r11d
je L$mulx4x_enter
pushq %rbx pushq %rbx
pushq %rbp pushq %rbp
pushq %r12 pushq %r12
@ -616,7 +612,6 @@ L$mul4x_epilogue:
.p2align 5 .p2align 5
bn_sqr8x_mont: bn_sqr8x_mont:
L$sqr8x_enter: L$sqr8x_enter:
@ -638,20 +633,20 @@ L$sqr8x_enter:
leaq -64(%rsp,%r9,4),%r11 leaq -64(%rsp,%r9,2),%r11
movq (%r8),%r8 movq (%r8),%r8
subq %rsi,%r11 subq %rsi,%r11
andq $4095,%r11 andq $4095,%r11
cmpq %r11,%r10 cmpq %r11,%r10
jb L$sqr8x_sp_alt jb L$sqr8x_sp_alt
subq %r11,%rsp subq %r11,%rsp
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
jmp L$sqr8x_sp_done jmp L$sqr8x_sp_done
.p2align 5 .p2align 5
L$sqr8x_sp_alt: L$sqr8x_sp_alt:
leaq 4096-64(,%r9,4),%r10 leaq 4096-64(,%r9,2),%r10
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
subq %r10,%r11 subq %r10,%r11
movq $0,%r10 movq $0,%r10
cmovcq %r10,%r11 cmovcq %r10,%r11
@ -661,385 +656,81 @@ L$sqr8x_sp_done:
movq %r9,%r10 movq %r9,%r10
negq %r9 negq %r9
leaq 64(%rsp,%r9,2),%r11
movq %r8,32(%rsp) movq %r8,32(%rsp)
movq %rax,40(%rsp) movq %rax,40(%rsp)
L$sqr8x_body: L$sqr8x_body:
movq %r9,%rbp .byte 102,72,15,110,209
.byte 102,73,15,110,211
shrq $3+2,%rbp
movl _OPENSSL_ia32cap_P+8(%rip),%eax
jmp L$sqr8x_copy_n
.p2align 5
L$sqr8x_copy_n:
movq 0(%rcx),%xmm0
movq 8(%rcx),%xmm1
movq 16(%rcx),%xmm3
movq 24(%rcx),%xmm4
leaq 32(%rcx),%rcx
movdqa %xmm0,0(%r11)
movdqa %xmm1,16(%r11)
movdqa %xmm3,32(%r11)
movdqa %xmm4,48(%r11)
leaq 64(%r11),%r11
decq %rbp
jnz L$sqr8x_copy_n
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
.byte 102,72,15,110,207 .byte 102,72,15,110,207
.byte 102,73,15,110,218 .byte 102,73,15,110,218
andl $524544,%eax
cmpl $524544,%eax
jne L$sqr8x_nox
call _bn_sqrx8x_internal
pxor %xmm0,%xmm0
leaq 48(%rsp),%rax
leaq 64(%rsp,%r9,2),%rdx
shrq $3+2,%r9
movq 40(%rsp),%rsi
jmp L$sqr8x_zero
.p2align 5
L$sqr8x_nox:
call _bn_sqr8x_internal call _bn_sqr8x_internal
pxor %xmm0,%xmm0
leaq 48(%rsp),%rax
leaq 64(%rsp,%r9,2),%rdx
shrq $3+2,%r9
movq 40(%rsp),%rsi
jmp L$sqr8x_zero
.p2align 5
L$sqr8x_zero:
movdqa %xmm0,0(%rax)
movdqa %xmm0,16(%rax)
movdqa %xmm0,32(%rax)
movdqa %xmm0,48(%rax)
leaq 64(%rax),%rax
movdqa %xmm0,0(%rdx)
movdqa %xmm0,16(%rdx)
movdqa %xmm0,32(%rdx)
movdqa %xmm0,48(%rdx)
leaq 64(%rdx),%rdx
decq %r9
jnz L$sqr8x_zero
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$sqr8x_epilogue:
.byte 0xf3,0xc3
.p2align 5
bn_mulx4x_mont:
L$mulx4x_enter:
movq %rsp,%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
shll $3,%r9d
.byte 0x67
xorq %r10,%r10
subq %r9,%r10
movq (%r8),%r8
leaq -72(%rsp,%r10,1),%rsp
leaq (%rdx,%r9,1),%r10
andq $-128,%rsp
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 leaq (%rdi,%r9,1),%rbx
L$mulx4x_outer: movq %r9,%rcx
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 %rbp,%r12
adcxq %rbp,%r13
movq %rdi,8(%rsp)
.byte 0x67
movq %r8,%r15
imulq 24(%rsp),%r8
xorl %ebp,%ebp
mulxq 24(%rsi),%rax,%r14
movq %r8,%rdx
adoxq -16(%rbx),%r12
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 %r9,%rdx
movq %r11,-24(%rbx) .byte 102,72,15,126,207
leaq 32(%rcx),%rcx sarq $3+2,%rcx
adcxq %rax,%r12 jmp L$sqr8x_sub
adoxq %rbp,%r15
movq 48(%rsp),%rdi
movq %r12,-16(%rbx)
jmp L$mulx4x_inner
.p2align 5 .p2align 5
L$mulx4x_inner: L$sqr8x_sub:
mulxq 0(%rsi),%r10,%rax movq 0(%rbx),%r12
adcxq %rbp,%r15 movq 8(%rbx),%r13
adoxq %r14,%r10 movq 16(%rbx),%r14
mulxq 8(%rsi),%r11,%r14 movq 24(%rbx),%r15
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 leaq 32(%rbx),%rbx
adcxq %rbp,%r14 sbbq 0(%rbp),%r12
sbbq 8(%rbp),%r13
adoxq %r15,%r10 sbbq 16(%rbp),%r14
mulxq 0(%rcx),%rax,%r15 sbbq 24(%rbp),%r15
adcxq %rax,%r10 leaq 32(%rbp),%rbp
adoxq %r15,%r11 movq %r12,0(%rdi)
mulxq 8(%rcx),%rax,%r15 movq %r13,8(%rdi)
adcxq %rax,%r11 movq %r14,16(%rdi)
adoxq %r15,%r12 movq %r15,24(%rdi)
mulxq 16(%rcx),%rax,%r15 leaq 32(%rdi),%rdi
movq %r10,-40(%rbx) incq %rcx
adcxq %rax,%r12 jnz L$sqr8x_sub
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 sbbq $0,%rax
movq 8(%rsp),%rdi leaq (%rbx,%r9,1),%rbx
adcq %rbp,%r15 leaq (%rdi,%r9,1),%rdi
subq 0(%rbx),%rbp
adcq %r15,%r14
movq -8(%rcx),%r8
sbbq %r15,%r15
movq %r14,-8(%rbx)
cmpq 16(%rsp),%rdi
jne L$mulx4x_outer
subq %r14,%r8
sbbq %r8,%r8
orq %r8,%r15
negq %rax
xorq %rdx,%rdx
movq 32(%rsp),%rdi
leaq 64(%rsp),%rbx
.byte 102,72,15,110,200
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
movq 0(%rcx,%rax,1),%r8 pshufd $0,%xmm1,%xmm1
movq 8(%rcx,%rax,1),%r9 movq 40(%rsp),%rsi
negq %r8 jmp L$sqr8x_cond_copy
jmp L$mulx4x_sub_entry
.p2align 5 .p2align 5
L$mulx4x_sub: L$sqr8x_cond_copy:
movq 0(%rcx,%rax,1),%r8 movdqa 0(%rbx),%xmm2
movq 8(%rcx,%rax,1),%r9 movdqa 16(%rbx),%xmm3
notq %r8
L$mulx4x_sub_entry:
movq 16(%rcx,%rax,1),%r10
notq %r9
andq %r15,%r8
movq 24(%rcx,%rax,1),%r11
notq %r10
andq %r15,%r9
notq %r11
andq %r15,%r10
andq %r15,%r11
negq %rdx
adcq 0(%rbx),%r8
adcq 8(%rbx),%r9
movdqa %xmm0,(%rbx)
adcq 16(%rbx),%r10
adcq 24(%rbx),%r11
movdqa %xmm0,16(%rbx)
leaq 32(%rbx),%rbx leaq 32(%rbx),%rbx
sbbq %rdx,%rdx movdqu 0(%rdi),%xmm4
movdqu 16(%rdi),%xmm5
movq %r8,0(%rdi)
movq %r9,8(%rdi)
movq %r10,16(%rdi)
movq %r11,24(%rdi)
leaq 32(%rdi),%rdi leaq 32(%rdi),%rdi
movdqa %xmm0,-32(%rbx)
movdqa %xmm0,-16(%rbx)
movdqa %xmm0,-32(%rbx,%rdx,1)
movdqa %xmm0,-16(%rbx,%rdx,1)
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)
addq $32,%r9
jnz L$sqr8x_cond_copy
addq $32,%rax
jnz L$mulx4x_sub
movq 40(%rsp),%rsi
movq $1,%rax movq $1,%rax
movq -48(%rsi),%r15 movq -48(%rsi),%r15
movq -40(%rsi),%r14 movq -40(%rsi),%r14
@ -1048,7 +739,7 @@ L$mulx4x_sub_entry:
movq -16(%rsi),%rbp movq -16(%rsi),%rbp
movq -8(%rsi),%rbx movq -8(%rsi),%rbx
leaq (%rsi),%rsp leaq (%rsi),%rsp
L$mulx4x_epilogue: L$sqr8x_epilogue:
.byte 0xf3,0xc3 .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 .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

2103
deps/openssl/asm/x64-macosx-gas/bn/x86_64-mont5.s

File diff suppressed because it is too large

1529
deps/openssl/asm/x64-macosx-gas/ec/ecp_nistz256-x86_64.s

File diff suppressed because it is too large

749
deps/openssl/asm/x64-macosx-gas/modes/aesni-gcm-x86_64.s

@ -1,753 +1,14 @@
.text .text
.p2align 5
_aesni_ctr32_ghash_6x:
vmovdqu 32(%r11),%xmm2
subq $6,%rdx
vpxor %xmm4,%xmm4,%xmm4
vmovdqu 0-128(%rcx),%xmm15
vpaddb %xmm2,%xmm1,%xmm10
vpaddb %xmm2,%xmm10,%xmm11
vpaddb %xmm2,%xmm11,%xmm12
vpaddb %xmm2,%xmm12,%xmm13
vpaddb %xmm2,%xmm13,%xmm14
vpxor %xmm15,%xmm1,%xmm9
vmovdqu %xmm4,16+8(%rsp)
jmp L$oop6x
.p2align 5
L$oop6x:
addl $100663296,%ebx
jc L$handle_ctr32
vmovdqu 0-32(%r9),%xmm3
vpaddb %xmm2,%xmm14,%xmm1
vpxor %xmm15,%xmm10,%xmm10
vpxor %xmm15,%xmm11,%xmm11
L$resume_ctr32:
vmovdqu %xmm1,(%r8)
vpclmulqdq $16,%xmm3,%xmm7,%xmm5
vpxor %xmm15,%xmm12,%xmm12
vmovups 16-128(%rcx),%xmm2
vpclmulqdq $1,%xmm3,%xmm7,%xmm6
xorq %r12,%r12
cmpq %r14,%r15
vaesenc %xmm2,%xmm9,%xmm9
vmovdqu 48+8(%rsp),%xmm0
vpxor %xmm15,%xmm13,%xmm13
vpclmulqdq $0,%xmm3,%xmm7,%xmm1
vaesenc %xmm2,%xmm10,%xmm10
vpxor %xmm15,%xmm14,%xmm14
setnc %r12b
vpclmulqdq $17,%xmm3,%xmm7,%xmm7
vaesenc %xmm2,%xmm11,%xmm11
vmovdqu 16-32(%r9),%xmm3
negq %r12
vaesenc %xmm2,%xmm12,%xmm12
vpxor %xmm5,%xmm6,%xmm6
vpclmulqdq $0,%xmm3,%xmm0,%xmm5
vpxor %xmm4,%xmm8,%xmm8
vaesenc %xmm2,%xmm13,%xmm13
vpxor %xmm5,%xmm1,%xmm4
andq $96,%r12
vmovups 32-128(%rcx),%xmm15
vpclmulqdq $16,%xmm3,%xmm0,%xmm1
vaesenc %xmm2,%xmm14,%xmm14
vpclmulqdq $1,%xmm3,%xmm0,%xmm2
leaq (%r14,%r12,1),%r14
vaesenc %xmm15,%xmm9,%xmm9
vpxor 16+8(%rsp),%xmm8,%xmm8
vpclmulqdq $17,%xmm3,%xmm0,%xmm3
vmovdqu 64+8(%rsp),%xmm0
vaesenc %xmm15,%xmm10,%xmm10
movbeq 88(%r14),%r13
vaesenc %xmm15,%xmm11,%xmm11
movbeq 80(%r14),%r12
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,32+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,40+8(%rsp)
vmovdqu 48-32(%r9),%xmm5
vaesenc %xmm15,%xmm14,%xmm14
vmovups 48-128(%rcx),%xmm15
vpxor %xmm1,%xmm6,%xmm6
vpclmulqdq $0,%xmm5,%xmm0,%xmm1
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm2,%xmm6,%xmm6
vpclmulqdq $16,%xmm5,%xmm0,%xmm2
vaesenc %xmm15,%xmm10,%xmm10
vpxor %xmm3,%xmm7,%xmm7
vpclmulqdq $1,%xmm5,%xmm0,%xmm3
vaesenc %xmm15,%xmm11,%xmm11
vpclmulqdq $17,%xmm5,%xmm0,%xmm5
vmovdqu 80+8(%rsp),%xmm0
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vpxor %xmm1,%xmm4,%xmm4
vmovdqu 64-32(%r9),%xmm1
vaesenc %xmm15,%xmm14,%xmm14
vmovups 64-128(%rcx),%xmm15
vpxor %xmm2,%xmm6,%xmm6
vpclmulqdq $0,%xmm1,%xmm0,%xmm2
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm3,%xmm6,%xmm6
vpclmulqdq $16,%xmm1,%xmm0,%xmm3
vaesenc %xmm15,%xmm10,%xmm10
movbeq 72(%r14),%r13
vpxor %xmm5,%xmm7,%xmm7
vpclmulqdq $1,%xmm1,%xmm0,%xmm5
vaesenc %xmm15,%xmm11,%xmm11
movbeq 64(%r14),%r12
vpclmulqdq $17,%xmm1,%xmm0,%xmm1
vmovdqu 96+8(%rsp),%xmm0
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,48+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,56+8(%rsp)
vpxor %xmm2,%xmm4,%xmm4
vmovdqu 96-32(%r9),%xmm2
vaesenc %xmm15,%xmm14,%xmm14
vmovups 80-128(%rcx),%xmm15
vpxor %xmm3,%xmm6,%xmm6
vpclmulqdq $0,%xmm2,%xmm0,%xmm3
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm5,%xmm6,%xmm6
vpclmulqdq $16,%xmm2,%xmm0,%xmm5
vaesenc %xmm15,%xmm10,%xmm10
movbeq 56(%r14),%r13
vpxor %xmm1,%xmm7,%xmm7
vpclmulqdq $1,%xmm2,%xmm0,%xmm1
vpxor 112+8(%rsp),%xmm8,%xmm8
vaesenc %xmm15,%xmm11,%xmm11
movbeq 48(%r14),%r12
vpclmulqdq $17,%xmm2,%xmm0,%xmm2
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,64+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,72+8(%rsp)
vpxor %xmm3,%xmm4,%xmm4
vmovdqu 112-32(%r9),%xmm3
vaesenc %xmm15,%xmm14,%xmm14
vmovups 96-128(%rcx),%xmm15
vpxor %xmm5,%xmm6,%xmm6
vpclmulqdq $16,%xmm3,%xmm8,%xmm5
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm1,%xmm6,%xmm6
vpclmulqdq $1,%xmm3,%xmm8,%xmm1
vaesenc %xmm15,%xmm10,%xmm10
movbeq 40(%r14),%r13
vpxor %xmm2,%xmm7,%xmm7
vpclmulqdq $0,%xmm3,%xmm8,%xmm2
vaesenc %xmm15,%xmm11,%xmm11
movbeq 32(%r14),%r12
vpclmulqdq $17,%xmm3,%xmm8,%xmm8
vaesenc %xmm15,%xmm12,%xmm12
movq %r13,80+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
movq %r12,88+8(%rsp)
vpxor %xmm5,%xmm6,%xmm6
vaesenc %xmm15,%xmm14,%xmm14
vpxor %xmm1,%xmm6,%xmm6
vmovups 112-128(%rcx),%xmm15
vpslldq $8,%xmm6,%xmm5
vpxor %xmm2,%xmm4,%xmm4
vmovdqu 16(%r11),%xmm3
vaesenc %xmm15,%xmm9,%xmm9
vpxor %xmm8,%xmm7,%xmm7
vaesenc %xmm15,%xmm10,%xmm10
vpxor %xmm5,%xmm4,%xmm4
movbeq 24(%r14),%r13
vaesenc %xmm15,%xmm11,%xmm11
movbeq 16(%r14),%r12
vpalignr $8,%xmm4,%xmm4,%xmm0
vpclmulqdq $16,%xmm3,%xmm4,%xmm4
movq %r13,96+8(%rsp)
vaesenc %xmm15,%xmm12,%xmm12
movq %r12,104+8(%rsp)
vaesenc %xmm15,%xmm13,%xmm13
vmovups 128-128(%rcx),%xmm1
vaesenc %xmm15,%xmm14,%xmm14
vaesenc %xmm1,%xmm9,%xmm9
vmovups 144-128(%rcx),%xmm15
vaesenc %xmm1,%xmm10,%xmm10
vpsrldq $8,%xmm6,%xmm6
vaesenc %xmm1,%xmm11,%xmm11
vpxor %xmm6,%xmm7,%xmm7
vaesenc %xmm1,%xmm12,%xmm12
vpxor %xmm0,%xmm4,%xmm4
movbeq 8(%r14),%r13
vaesenc %xmm1,%xmm13,%xmm13
movbeq 0(%r14),%r12
vaesenc %xmm1,%xmm14,%xmm14
vmovups 160-128(%rcx),%xmm1
cmpl $11,%ebp
jb L$enc_tail
vaesenc %xmm15,%xmm9,%xmm9
vaesenc %xmm15,%xmm10,%xmm10
vaesenc %xmm15,%xmm11,%xmm11
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vaesenc %xmm15,%xmm14,%xmm14
vaesenc %xmm1,%xmm9,%xmm9
vaesenc %xmm1,%xmm10,%xmm10
vaesenc %xmm1,%xmm11,%xmm11
vaesenc %xmm1,%xmm12,%xmm12
vaesenc %xmm1,%xmm13,%xmm13
vmovups 176-128(%rcx),%xmm15
vaesenc %xmm1,%xmm14,%xmm14
vmovups 192-128(%rcx),%xmm1
je L$enc_tail
vaesenc %xmm15,%xmm9,%xmm9
vaesenc %xmm15,%xmm10,%xmm10
vaesenc %xmm15,%xmm11,%xmm11
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vaesenc %xmm15,%xmm14,%xmm14
vaesenc %xmm1,%xmm9,%xmm9
vaesenc %xmm1,%xmm10,%xmm10
vaesenc %xmm1,%xmm11,%xmm11
vaesenc %xmm1,%xmm12,%xmm12
vaesenc %xmm1,%xmm13,%xmm13
vmovups 208-128(%rcx),%xmm15
vaesenc %xmm1,%xmm14,%xmm14
vmovups 224-128(%rcx),%xmm1
jmp L$enc_tail
.p2align 5
L$handle_ctr32:
vmovdqu (%r11),%xmm0
vpshufb %xmm0,%xmm1,%xmm6
vmovdqu 48(%r11),%xmm5
vpaddd 64(%r11),%xmm6,%xmm10
vpaddd %xmm5,%xmm6,%xmm11
vmovdqu 0-32(%r9),%xmm3
vpaddd %xmm5,%xmm10,%xmm12
vpshufb %xmm0,%xmm10,%xmm10
vpaddd %xmm5,%xmm11,%xmm13
vpshufb %xmm0,%xmm11,%xmm11
vpxor %xmm15,%xmm10,%xmm10
vpaddd %xmm5,%xmm12,%xmm14
vpshufb %xmm0,%xmm12,%xmm12
vpxor %xmm15,%xmm11,%xmm11
vpaddd %xmm5,%xmm13,%xmm1
vpshufb %xmm0,%xmm13,%xmm13
vpshufb %xmm0,%xmm14,%xmm14
vpshufb %xmm0,%xmm1,%xmm1
jmp L$resume_ctr32
.p2align 5
L$enc_tail:
vaesenc %xmm15,%xmm9,%xmm9
vmovdqu %xmm7,16+8(%rsp)
vpalignr $8,%xmm4,%xmm4,%xmm8
vaesenc %xmm15,%xmm10,%xmm10
vpclmulqdq $16,%xmm3,%xmm4,%xmm4
vpxor 0(%rdi),%xmm1,%xmm2
vaesenc %xmm15,%xmm11,%xmm11
vpxor 16(%rdi),%xmm1,%xmm0
vaesenc %xmm15,%xmm12,%xmm12
vpxor 32(%rdi),%xmm1,%xmm5
vaesenc %xmm15,%xmm13,%xmm13
vpxor 48(%rdi),%xmm1,%xmm6
vaesenc %xmm15,%xmm14,%xmm14
vpxor 64(%rdi),%xmm1,%xmm7
vpxor 80(%rdi),%xmm1,%xmm3
vmovdqu (%r8),%xmm1
vaesenclast %xmm2,%xmm9,%xmm9
vmovdqu 32(%r11),%xmm2
vaesenclast %xmm0,%xmm10,%xmm10
vpaddb %xmm2,%xmm1,%xmm0
movq %r13,112+8(%rsp)
leaq 96(%rdi),%rdi
vaesenclast %xmm5,%xmm11,%xmm11
vpaddb %xmm2,%xmm0,%xmm5
movq %r12,120+8(%rsp)
leaq 96(%rsi),%rsi
vmovdqu 0-128(%rcx),%xmm15
vaesenclast %xmm6,%xmm12,%xmm12
vpaddb %xmm2,%xmm5,%xmm6
vaesenclast %xmm7,%xmm13,%xmm13
vpaddb %xmm2,%xmm6,%xmm7
vaesenclast %xmm3,%xmm14,%xmm14
vpaddb %xmm2,%xmm7,%xmm3
addq $96,%r10
subq $6,%rdx
jc L$6x_done
vmovups %xmm9,-96(%rsi)
vpxor %xmm15,%xmm1,%xmm9
vmovups %xmm10,-80(%rsi)
vmovdqa %xmm0,%xmm10
vmovups %xmm11,-64(%rsi)
vmovdqa %xmm5,%xmm11
vmovups %xmm12,-48(%rsi)
vmovdqa %xmm6,%xmm12
vmovups %xmm13,-32(%rsi)
vmovdqa %xmm7,%xmm13
vmovups %xmm14,-16(%rsi)
vmovdqa %xmm3,%xmm14
vmovdqu 32+8(%rsp),%xmm7
jmp L$oop6x
L$6x_done:
vpxor 16+8(%rsp),%xmm8,%xmm8
vpxor %xmm4,%xmm8,%xmm8
.byte 0xf3,0xc3
.globl _aesni_gcm_decrypt
.p2align 5
_aesni_gcm_decrypt:
xorq %r10,%r10
cmpq $96,%rdx
jb L$gcm_dec_abort
leaq (%rsp),%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
vzeroupper
vmovdqu (%r8),%xmm1
addq $-128,%rsp
movl 12(%r8),%ebx
leaq L$bswap_mask(%rip),%r11
leaq -128(%rcx),%r14
movq $3968,%r15
vmovdqu (%r9),%xmm8
andq $-128,%rsp
vmovdqu (%r11),%xmm0
leaq 128(%rcx),%rcx
leaq 32+32(%r9),%r9
movl 240-128(%rcx),%ebp
vpshufb %xmm0,%xmm8,%xmm8
andq %r15,%r14
andq %rsp,%r15
subq %r14,%r15
jc L$dec_no_key_aliasing
cmpq $768,%r15
jnc L$dec_no_key_aliasing
subq %r15,%rsp
L$dec_no_key_aliasing:
vmovdqu 80(%rdi),%xmm7
leaq (%rdi),%r14
vmovdqu 64(%rdi),%xmm4
leaq -192(%rdi,%rdx,1),%r15
vmovdqu 48(%rdi),%xmm5
shrq $4,%rdx
xorq %r10,%r10
vmovdqu 32(%rdi),%xmm6
vpshufb %xmm0,%xmm7,%xmm7
vmovdqu 16(%rdi),%xmm2
vpshufb %xmm0,%xmm4,%xmm4
vmovdqu (%rdi),%xmm3
vpshufb %xmm0,%xmm5,%xmm5
vmovdqu %xmm4,48(%rsp)
vpshufb %xmm0,%xmm6,%xmm6
vmovdqu %xmm5,64(%rsp)
vpshufb %xmm0,%xmm2,%xmm2
vmovdqu %xmm6,80(%rsp)
vpshufb %xmm0,%xmm3,%xmm3
vmovdqu %xmm2,96(%rsp)
vmovdqu %xmm3,112(%rsp)
call _aesni_ctr32_ghash_6x
vmovups %xmm9,-96(%rsi)
vmovups %xmm10,-80(%rsi)
vmovups %xmm11,-64(%rsi)
vmovups %xmm12,-48(%rsi)
vmovups %xmm13,-32(%rsi)
vmovups %xmm14,-16(%rsi)
vpshufb (%r11),%xmm8,%xmm8
vmovdqu %xmm8,-64(%r9)
vzeroupper
movq -48(%rax),%r15
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
L$gcm_dec_abort:
movq %r10,%rax
.byte 0xf3,0xc3
.p2align 5
_aesni_ctr32_6x:
vmovdqu 0-128(%rcx),%xmm4
vmovdqu 32(%r11),%xmm2
leaq -1(%rbp),%r13
vmovups 16-128(%rcx),%xmm15
leaq 32-128(%rcx),%r12
vpxor %xmm4,%xmm1,%xmm9
addl $100663296,%ebx
jc L$handle_ctr32_2
vpaddb %xmm2,%xmm1,%xmm10
vpaddb %xmm2,%xmm10,%xmm11
vpxor %xmm4,%xmm10,%xmm10
vpaddb %xmm2,%xmm11,%xmm12
vpxor %xmm4,%xmm11,%xmm11
vpaddb %xmm2,%xmm12,%xmm13
vpxor %xmm4,%xmm12,%xmm12
vpaddb %xmm2,%xmm13,%xmm14
vpxor %xmm4,%xmm13,%xmm13
vpaddb %xmm2,%xmm14,%xmm1
vpxor %xmm4,%xmm14,%xmm14
jmp L$oop_ctr32
.p2align 4
L$oop_ctr32:
vaesenc %xmm15,%xmm9,%xmm9
vaesenc %xmm15,%xmm10,%xmm10
vaesenc %xmm15,%xmm11,%xmm11
vaesenc %xmm15,%xmm12,%xmm12
vaesenc %xmm15,%xmm13,%xmm13
vaesenc %xmm15,%xmm14,%xmm14
vmovups (%r12),%xmm15
leaq 16(%r12),%r12
decl %r13d
jnz L$oop_ctr32
vmovdqu (%r12),%xmm3
vaesenc %xmm15,%xmm9,%xmm9
vpxor 0(%rdi),%xmm3,%xmm4
vaesenc %xmm15,%xmm10,%xmm10
vpxor 16(%rdi),%xmm3,%xmm5
vaesenc %xmm15,%xmm11,%xmm11
vpxor 32(%rdi),%xmm3,%xmm6
vaesenc %xmm15,%xmm12,%xmm12
vpxor 48(%rdi),%xmm3,%xmm8
vaesenc %xmm15,%xmm13,%xmm13
vpxor 64(%rdi),%xmm3,%xmm2
vaesenc %xmm15,%xmm14,%xmm14
vpxor 80(%rdi),%xmm3,%xmm3
leaq 96(%rdi),%rdi
vaesenclast %xmm4,%xmm9,%xmm9
vaesenclast %xmm5,%xmm10,%xmm10
vaesenclast %xmm6,%xmm11,%xmm11
vaesenclast %xmm8,%xmm12,%xmm12
vaesenclast %xmm2,%xmm13,%xmm13
vaesenclast %xmm3,%xmm14,%xmm14
vmovups %xmm9,0(%rsi)
vmovups %xmm10,16(%rsi)
vmovups %xmm11,32(%rsi)
vmovups %xmm12,48(%rsi)
vmovups %xmm13,64(%rsi)
vmovups %xmm14,80(%rsi)
leaq 96(%rsi),%rsi
.byte 0xf3,0xc3
.p2align 5
L$handle_ctr32_2:
vpshufb %xmm0,%xmm1,%xmm6
vmovdqu 48(%r11),%xmm5
vpaddd 64(%r11),%xmm6,%xmm10
vpaddd %xmm5,%xmm6,%xmm11
vpaddd %xmm5,%xmm10,%xmm12
vpshufb %xmm0,%xmm10,%xmm10
vpaddd %xmm5,%xmm11,%xmm13
vpshufb %xmm0,%xmm11,%xmm11
vpxor %xmm4,%xmm10,%xmm10
vpaddd %xmm5,%xmm12,%xmm14
vpshufb %xmm0,%xmm12,%xmm12
vpxor %xmm4,%xmm11,%xmm11
vpaddd %xmm5,%xmm13,%xmm1
vpshufb %xmm0,%xmm13,%xmm13
vpxor %xmm4,%xmm12,%xmm12
vpshufb %xmm0,%xmm14,%xmm14
vpxor %xmm4,%xmm13,%xmm13
vpshufb %xmm0,%xmm1,%xmm1
vpxor %xmm4,%xmm14,%xmm14
jmp L$oop_ctr32
.globl _aesni_gcm_encrypt .globl _aesni_gcm_encrypt
.p2align 5
_aesni_gcm_encrypt: _aesni_gcm_encrypt:
xorq %r10,%r10 xorl %eax,%eax
cmpq $288,%rdx .byte 0xf3,0xc3
jb L$gcm_enc_abort
leaq (%rsp),%rax
pushq %rbx
pushq %rbp
pushq %r12
pushq %r13
pushq %r14
pushq %r15
vzeroupper
vmovdqu (%r8),%xmm1
addq $-128,%rsp
movl 12(%r8),%ebx
leaq L$bswap_mask(%rip),%r11
leaq -128(%rcx),%r14
movq $3968,%r15
leaq 128(%rcx),%rcx
vmovdqu (%r11),%xmm0
andq $-128,%rsp
movl 240-128(%rcx),%ebp
andq %r15,%r14
andq %rsp,%r15
subq %r14,%r15
jc L$enc_no_key_aliasing
cmpq $768,%r15
jnc L$enc_no_key_aliasing
subq %r15,%rsp
L$enc_no_key_aliasing:
leaq (%rsi),%r14
leaq -192(%rsi,%rdx,1),%r15
shrq $4,%rdx
call _aesni_ctr32_6x
vpshufb %xmm0,%xmm9,%xmm8
vpshufb %xmm0,%xmm10,%xmm2
vmovdqu %xmm8,112(%rsp)
vpshufb %xmm0,%xmm11,%xmm4
vmovdqu %xmm2,96(%rsp)
vpshufb %xmm0,%xmm12,%xmm5
vmovdqu %xmm4,80(%rsp)
vpshufb %xmm0,%xmm13,%xmm6
vmovdqu %xmm5,64(%rsp)
vpshufb %xmm0,%xmm14,%xmm7
vmovdqu %xmm6,48(%rsp)
call _aesni_ctr32_6x
vmovdqu (%r9),%xmm8
leaq 32+32(%r9),%r9
subq $12,%rdx
movq $192,%r10
vpshufb %xmm0,%xmm8,%xmm8
call _aesni_ctr32_ghash_6x
vmovdqu 32(%rsp),%xmm7
vmovdqu (%r11),%xmm0
vmovdqu 0-32(%r9),%xmm3
vpunpckhqdq %xmm7,%xmm7,%xmm1
vmovdqu 32-32(%r9),%xmm15
vmovups %xmm9,-96(%rsi)
vpshufb %xmm0,%xmm9,%xmm9
vpxor %xmm7,%xmm1,%xmm1
vmovups %xmm10,-80(%rsi)
vpshufb %xmm0,%xmm10,%xmm10
vmovups %xmm11,-64(%rsi)
vpshufb %xmm0,%xmm11,%xmm11
vmovups %xmm12,-48(%rsi)
vpshufb %xmm0,%xmm12,%xmm12
vmovups %xmm13,-32(%rsi)
vpshufb %xmm0,%xmm13,%xmm13
vmovups %xmm14,-16(%rsi)
vpshufb %xmm0,%xmm14,%xmm14
vmovdqu %xmm9,16(%rsp)
vmovdqu 48(%rsp),%xmm6
vmovdqu 16-32(%r9),%xmm0
vpunpckhqdq %xmm6,%xmm6,%xmm2
vpclmulqdq $0,%xmm3,%xmm7,%xmm5
vpxor %xmm6,%xmm2,%xmm2
vpclmulqdq $17,%xmm3,%xmm7,%xmm7
vpclmulqdq $0,%xmm15,%xmm1,%xmm1
vmovdqu 64(%rsp),%xmm9
vpclmulqdq $0,%xmm0,%xmm6,%xmm4
vmovdqu 48-32(%r9),%xmm3
vpxor %xmm5,%xmm4,%xmm4
vpunpckhqdq %xmm9,%xmm9,%xmm5
vpclmulqdq $17,%xmm0,%xmm6,%xmm6
vpxor %xmm9,%xmm5,%xmm5
vpxor %xmm7,%xmm6,%xmm6
vpclmulqdq $16,%xmm15,%xmm2,%xmm2
vmovdqu 80-32(%r9),%xmm15
vpxor %xmm1,%xmm2,%xmm2
vmovdqu 80(%rsp),%xmm1
vpclmulqdq $0,%xmm3,%xmm9,%xmm7
vmovdqu 64-32(%r9),%xmm0
vpxor %xmm4,%xmm7,%xmm7
vpunpckhqdq %xmm1,%xmm1,%xmm4
vpclmulqdq $17,%xmm3,%xmm9,%xmm9
vpxor %xmm1,%xmm4,%xmm4
vpxor %xmm6,%xmm9,%xmm9
vpclmulqdq $0,%xmm15,%xmm5,%xmm5
vpxor %xmm2,%xmm5,%xmm5
vmovdqu 96(%rsp),%xmm2
vpclmulqdq $0,%xmm0,%xmm1,%xmm6
vmovdqu 96-32(%r9),%xmm3
vpxor %xmm7,%xmm6,%xmm6
vpunpckhqdq %xmm2,%xmm2,%xmm7
vpclmulqdq $17,%xmm0,%xmm1,%xmm1
vpxor %xmm2,%xmm7,%xmm7
vpxor %xmm9,%xmm1,%xmm1
vpclmulqdq $16,%xmm15,%xmm4,%xmm4
vmovdqu 128-32(%r9),%xmm15
vpxor %xmm5,%xmm4,%xmm4
vpxor 112(%rsp),%xmm8,%xmm8
vpclmulqdq $0,%xmm3,%xmm2,%xmm5
vmovdqu 112-32(%r9),%xmm0
vpunpckhqdq %xmm8,%xmm8,%xmm9
vpxor %xmm6,%xmm5,%xmm5
vpclmulqdq $17,%xmm3,%xmm2,%xmm2
vpxor %xmm8,%xmm9,%xmm9
vpxor %xmm1,%xmm2,%xmm2
vpclmulqdq $0,%xmm15,%xmm7,%xmm7
vpxor %xmm4,%xmm7,%xmm4
vpclmulqdq $0,%xmm0,%xmm8,%xmm6
vmovdqu 0-32(%r9),%xmm3
vpunpckhqdq %xmm14,%xmm14,%xmm1
vpclmulqdq $17,%xmm0,%xmm8,%xmm8
vpxor %xmm14,%xmm1,%xmm1
vpxor %xmm5,%xmm6,%xmm5
vpclmulqdq $16,%xmm15,%xmm9,%xmm9
vmovdqu 32-32(%r9),%xmm15
vpxor %xmm2,%xmm8,%xmm7
vpxor %xmm4,%xmm9,%xmm6
vmovdqu 16-32(%r9),%xmm0
vpxor %xmm5,%xmm7,%xmm9
vpclmulqdq $0,%xmm3,%xmm14,%xmm4
vpxor %xmm9,%xmm6,%xmm6
vpunpckhqdq %xmm13,%xmm13,%xmm2
vpclmulqdq $17,%xmm3,%xmm14,%xmm14
vpxor %xmm13,%xmm2,%xmm2
vpslldq $8,%xmm6,%xmm9
vpclmulqdq $0,%xmm15,%xmm1,%xmm1
vpxor %xmm9,%xmm5,%xmm8
vpsrldq $8,%xmm6,%xmm6
vpxor %xmm6,%xmm7,%xmm7
vpclmulqdq $0,%xmm0,%xmm13,%xmm5
vmovdqu 48-32(%r9),%xmm3
vpxor %xmm4,%xmm5,%xmm5
vpunpckhqdq %xmm12,%xmm12,%xmm9
vpclmulqdq $17,%xmm0,%xmm13,%xmm13
vpxor %xmm12,%xmm9,%xmm9
vpxor %xmm14,%xmm13,%xmm13
vpalignr $8,%xmm8,%xmm8,%xmm14
vpclmulqdq $16,%xmm15,%xmm2,%xmm2
vmovdqu 80-32(%r9),%xmm15
vpxor %xmm1,%xmm2,%xmm2
vpclmulqdq $0,%xmm3,%xmm12,%xmm4
vmovdqu 64-32(%r9),%xmm0
vpxor %xmm5,%xmm4,%xmm4
vpunpckhqdq %xmm11,%xmm11,%xmm1
vpclmulqdq $17,%xmm3,%xmm12,%xmm12
vpxor %xmm11,%xmm1,%xmm1
vpxor %xmm13,%xmm12,%xmm12
vxorps 16(%rsp),%xmm7,%xmm7
vpclmulqdq $0,%xmm15,%xmm9,%xmm9
vpxor %xmm2,%xmm9,%xmm9
vpclmulqdq $16,16(%r11),%xmm8,%xmm8
vxorps %xmm14,%xmm8,%xmm8
vpclmulqdq $0,%xmm0,%xmm11,%xmm5
vmovdqu 96-32(%r9),%xmm3
vpxor %xmm4,%xmm5,%xmm5
vpunpckhqdq %xmm10,%xmm10,%xmm2
vpclmulqdq $17,%xmm0,%xmm11,%xmm11
vpxor %xmm10,%xmm2,%xmm2
vpalignr $8,%xmm8,%xmm8,%xmm14
vpxor %xmm12,%xmm11,%xmm11
vpclmulqdq $16,%xmm15,%xmm1,%xmm1
vmovdqu 128-32(%r9),%xmm15
vpxor %xmm9,%xmm1,%xmm1
vxorps %xmm7,%xmm14,%xmm14
vpclmulqdq $16,16(%r11),%xmm8,%xmm8
vxorps %xmm14,%xmm8,%xmm8
vpclmulqdq $0,%xmm3,%xmm10,%xmm4
vmovdqu 112-32(%r9),%xmm0
vpxor %xmm5,%xmm4,%xmm4
vpunpckhqdq %xmm8,%xmm8,%xmm9
vpclmulqdq $17,%xmm3,%xmm10,%xmm10
vpxor %xmm8,%xmm9,%xmm9
vpxor %xmm11,%xmm10,%xmm10
vpclmulqdq $0,%xmm15,%xmm2,%xmm2
vpxor %xmm1,%xmm2,%xmm2
vpclmulqdq $0,%xmm0,%xmm8,%xmm5
vpclmulqdq $17,%xmm0,%xmm8,%xmm7
vpxor %xmm4,%xmm5,%xmm5
vpclmulqdq $16,%xmm15,%xmm9,%xmm6
vpxor %xmm10,%xmm7,%xmm7
vpxor %xmm2,%xmm6,%xmm6
vpxor %xmm5,%xmm7,%xmm4
vpxor %xmm4,%xmm6,%xmm6
vpslldq $8,%xmm6,%xmm1
vmovdqu 16(%r11),%xmm3
vpsrldq $8,%xmm6,%xmm6
vpxor %xmm1,%xmm5,%xmm8
vpxor %xmm6,%xmm7,%xmm7
vpalignr $8,%xmm8,%xmm8,%xmm2
vpclmulqdq $16,%xmm3,%xmm8,%xmm8
vpxor %xmm2,%xmm8,%xmm8
vpalignr $8,%xmm8,%xmm8,%xmm2 .globl _aesni_gcm_decrypt
vpclmulqdq $16,%xmm3,%xmm8,%xmm8
vpxor %xmm7,%xmm2,%xmm2
vpxor %xmm2,%xmm8,%xmm8
vpshufb (%r11),%xmm8,%xmm8
vmovdqu %xmm8,-64(%r9)
vzeroupper _aesni_gcm_decrypt:
movq -48(%rax),%r15 xorl %eax,%eax
movq -40(%rax),%r14
movq -32(%rax),%r13
movq -24(%rax),%r12
movq -16(%rax),%rbp
movq -8(%rax),%rbx
leaq (%rax),%rsp
L$gcm_enc_abort:
movq %r10,%rax
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.p2align 6
L$bswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
L$poly:
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
L$one_msb:
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
L$two_lsb:
.byte 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
L$one_lsb:
.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108,101,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 6

557
deps/openssl/asm/x64-macosx-gas/modes/ghash-x86_64.s

@ -20,14 +20,14 @@ L$gmult_prologue:
movq $14,%rcx movq $14,%rcx
movq 8(%rsi,%rax,1),%r8 movq 8(%rsi,%rax,1),%r8
movq (%rsi,%rax,1),%r9 movq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
movq %r8,%rdx movq %r8,%rdx
jmp L$oop1 jmp L$oop1
.p2align 4 .p2align 4
L$oop1: L$oop1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
movb (%rdi,%rcx,1),%al movb (%rdi,%rcx,1),%al
shrq $4,%r9 shrq $4,%r9
@ -43,13 +43,13 @@ L$oop1:
js L$break1 js L$break1
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
@ -58,19 +58,19 @@ L$oop1:
.p2align 4 .p2align 4
L$break1: L$break1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rbx,1),%r8 xorq 8(%rsi,%rbx,1),%r8
@ -661,10 +661,10 @@ L$ghash_epilogue:
_gcm_init_clmul: _gcm_init_clmul:
L$_init_clmul: L$_init_clmul:
movdqu (%rsi),%xmm2 movdqu (%rsi),%xmm2
pshufd $78,%xmm2,%xmm2 pshufd $0b01001110,%xmm2,%xmm2
pshufd $255,%xmm2,%xmm4 pshufd $0b11111111,%xmm2,%xmm4
movdqa %xmm2,%xmm3 movdqa %xmm2,%xmm3
psllq $1,%xmm2 psllq $1,%xmm2
pxor %xmm5,%xmm5 pxor %xmm5,%xmm5
@ -678,11 +678,11 @@ L$_init_clmul:
pxor %xmm5,%xmm2 pxor %xmm5,%xmm2
pshufd $78,%xmm2,%xmm6 pshufd $0b01001110,%xmm2,%xmm6
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
pxor %xmm2,%xmm6 pxor %xmm2,%xmm6
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -718,8 +718,8 @@ L$_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm2,%xmm3 pshufd $0b01001110,%xmm2,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm2,%xmm3 pxor %xmm2,%xmm3
movdqu %xmm2,0(%rdi) movdqu %xmm2,0(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -727,7 +727,7 @@ L$_init_clmul:
.byte 102,15,58,15,227,8 .byte 102,15,58,15,227,8
movdqu %xmm4,32(%rdi) movdqu %xmm4,32(%rdi)
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -765,7 +765,7 @@ L$_init_clmul:
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
movdqa %xmm0,%xmm5 movdqa %xmm0,%xmm5
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -801,8 +801,8 @@ L$_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm5,%xmm3 pshufd $0b01001110,%xmm5,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm5,%xmm3 pxor %xmm5,%xmm3
movdqu %xmm5,48(%rdi) movdqu %xmm5,48(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -822,7 +822,7 @@ L$_gmult_clmul:
movdqu 32(%rsi),%xmm4 movdqu 32(%rsi),%xmm4
.byte 102,15,56,0,197 .byte 102,15,56,0,197
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -874,20 +874,20 @@ L$_ghash_clmul:
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
.byte 102,65,15,56,0,194 .byte 102,65,15,56,0,194
subq $16,%rcx subq $0x10,%rcx
jz L$odd_tail jz L$odd_tail
movdqu 16(%rsi),%xmm6 movdqu 16(%rsi),%xmm6
movl _OPENSSL_ia32cap_P+4(%rip),%eax movl _OPENSSL_ia32cap_P+4(%rip),%eax
cmpq $48,%rcx cmpq $0x30,%rcx
jb L$skip4x jb L$skip4x
andl $71303168,%eax andl $71303168,%eax
cmpl $4194304,%eax cmpl $4194304,%eax
je L$skip4x je L$skip4x
subq $48,%rcx subq $0x30,%rcx
movq $11547335547999543296,%rax movq $0xA040608020C0E000,%rax
movdqu 48(%rsi),%xmm14 movdqu 48(%rsi),%xmm14
movdqu 64(%rsi),%xmm15 movdqu 64(%rsi),%xmm15
@ -899,14 +899,14 @@ L$_ghash_clmul:
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,68,15,58,68,222,0 .byte 102,68,15,58,68,222,0
.byte 102,68,15,58,68,238,17 .byte 102,68,15,58,68,238,17
@ -921,12 +921,12 @@ L$_ghash_clmul:
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,69,15,58,68,222,0 .byte 102,69,15,58,68,222,0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
@ -934,7 +934,7 @@ L$_ghash_clmul:
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jc L$tail4x jc L$tail4x
jmp L$mod4_loop jmp L$mod4_loop
@ -949,14 +949,14 @@ L$mod4_loop:
movdqu 32(%rdx),%xmm3 movdqu 32(%rdx),%xmm3
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
.byte 102,68,15,58,68,199,16 .byte 102,68,15,58,68,199,16
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
xorps %xmm5,%xmm1 xorps %xmm5,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
movups 32(%rsi),%xmm7 movups 32(%rsi),%xmm7
xorps %xmm4,%xmm8 xorps %xmm4,%xmm8
.byte 102,68,15,58,68,218,0 .byte 102,68,15,58,68,218,0
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
@ -1000,7 +1000,7 @@ L$mod4_loop:
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
@ -1010,14 +1010,14 @@ L$mod4_loop:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
xorps %xmm11,%xmm3 xorps %xmm11,%xmm3
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jnc L$mod4_loop jnc L$mod4_loop
L$tail4x: L$tail4x:
@ -1061,10 +1061,10 @@ L$tail4x:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
addq $64,%rcx addq $0x40,%rcx
jz L$done jz L$done
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
subq $16,%rcx subq $0x10,%rcx
jz L$odd_tail jz L$odd_tail
L$skip4x: L$skip4x:
@ -1079,7 +1079,7 @@ L$skip4x:
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
@ -1087,7 +1087,7 @@ L$skip4x:
leaq 32(%rdx),%rdx leaq 32(%rdx),%rdx
nop nop
subq $32,%rcx subq $0x20,%rcx
jbe L$even_tail jbe L$even_tail
nop nop
jmp L$mod_loop jmp L$mod_loop
@ -1096,7 +1096,7 @@ L$skip4x:
L$mod_loop: L$mod_loop:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1134,7 +1134,7 @@ L$mod_loop:
pslldq $8,%xmm0 pslldq $8,%xmm0
psrldq $8,%xmm8 psrldq $8,%xmm8
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pshufd $78,%xmm5,%xmm4 pshufd $0b01001110,%xmm5,%xmm4
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm5,%xmm4 pxor %xmm5,%xmm4
@ -1150,13 +1150,13 @@ L$mod_loop:
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
subq $32,%rcx subq $0x20,%rcx
ja L$mod_loop ja L$mod_loop
L$even_tail: L$even_tail:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1204,7 +1204,7 @@ L$odd_tail:
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -1249,108 +1249,7 @@ L$done:
.p2align 5 .p2align 5
_gcm_init_avx: _gcm_init_avx:
vzeroupper jmp L$_init_clmul
vmovdqu (%rsi),%xmm2
vpshufd $78,%xmm2,%xmm2
vpshufd $255,%xmm2,%xmm4
vpsrlq $63,%xmm2,%xmm3
vpsllq $1,%xmm2,%xmm2
vpxor %xmm5,%xmm5,%xmm5
vpcmpgtd %xmm4,%xmm5,%xmm5
vpslldq $8,%xmm3,%xmm3
vpor %xmm3,%xmm2,%xmm2
vpand L$0x1c2_polynomial(%rip),%xmm5,%xmm5
vpxor %xmm5,%xmm2,%xmm2
vpunpckhqdq %xmm2,%xmm2,%xmm6
vmovdqa %xmm2,%xmm0
vpxor %xmm2,%xmm6,%xmm6
movq $4,%r10
jmp L$init_start_avx
.p2align 5
L$init_loop_avx:
vpalignr $8,%xmm3,%xmm4,%xmm5
vmovdqu %xmm5,-16(%rdi)
vpunpckhqdq %xmm0,%xmm0,%xmm3
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm2,%xmm0,%xmm1
vpclmulqdq $0,%xmm2,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm3,%xmm3
vpxor %xmm0,%xmm1,%xmm4
vpxor %xmm4,%xmm3,%xmm3
vpslldq $8,%xmm3,%xmm4
vpsrldq $8,%xmm3,%xmm3
vpxor %xmm4,%xmm0,%xmm0
vpxor %xmm3,%xmm1,%xmm1
vpsllq $57,%xmm0,%xmm3
vpsllq $62,%xmm0,%xmm4
vpxor %xmm3,%xmm4,%xmm4
vpsllq $63,%xmm0,%xmm3
vpxor %xmm3,%xmm4,%xmm4
vpslldq $8,%xmm4,%xmm3
vpsrldq $8,%xmm4,%xmm4
vpxor %xmm3,%xmm0,%xmm0
vpxor %xmm4,%xmm1,%xmm1
vpsrlq $1,%xmm0,%xmm4
vpxor %xmm0,%xmm1,%xmm1
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $5,%xmm4,%xmm4
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $1,%xmm0,%xmm0
vpxor %xmm1,%xmm0,%xmm0
L$init_start_avx:
vmovdqa %xmm0,%xmm5
vpunpckhqdq %xmm0,%xmm0,%xmm3
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm2,%xmm0,%xmm1
vpclmulqdq $0,%xmm2,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm3,%xmm3
vpxor %xmm0,%xmm1,%xmm4
vpxor %xmm4,%xmm3,%xmm3
vpslldq $8,%xmm3,%xmm4
vpsrldq $8,%xmm3,%xmm3
vpxor %xmm4,%xmm0,%xmm0
vpxor %xmm3,%xmm1,%xmm1
vpsllq $57,%xmm0,%xmm3
vpsllq $62,%xmm0,%xmm4
vpxor %xmm3,%xmm4,%xmm4
vpsllq $63,%xmm0,%xmm3
vpxor %xmm3,%xmm4,%xmm4
vpslldq $8,%xmm4,%xmm3
vpsrldq $8,%xmm4,%xmm4
vpxor %xmm3,%xmm0,%xmm0
vpxor %xmm4,%xmm1,%xmm1
vpsrlq $1,%xmm0,%xmm4
vpxor %xmm0,%xmm1,%xmm1
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $5,%xmm4,%xmm4
vpxor %xmm4,%xmm0,%xmm0
vpsrlq $1,%xmm0,%xmm0
vpxor %xmm1,%xmm0,%xmm0
vpshufd $78,%xmm5,%xmm3
vpshufd $78,%xmm0,%xmm4
vpxor %xmm5,%xmm3,%xmm3
vmovdqu %xmm5,0(%rdi)
vpxor %xmm0,%xmm4,%xmm4
vmovdqu %xmm0,16(%rdi)
leaq 48(%rdi),%rdi
subq $1,%r10
jnz L$init_loop_avx
vpalignr $8,%xmm4,%xmm3,%xmm5
vmovdqu %xmm5,-16(%rdi)
vzeroupper
.byte 0xf3,0xc3
.globl _gcm_gmult_avx .globl _gcm_gmult_avx
@ -1362,377 +1261,7 @@ _gcm_gmult_avx:
.p2align 5 .p2align 5
_gcm_ghash_avx: _gcm_ghash_avx:
vzeroupper jmp L$_ghash_clmul
vmovdqu (%rdi),%xmm10
leaq L$0x1c2_polynomial(%rip),%r10
leaq 64(%rsi),%rsi
vmovdqu L$bswap_mask(%rip),%xmm13
vpshufb %xmm13,%xmm10,%xmm10
cmpq $128,%rcx
jb L$short_avx
subq $128,%rcx
vmovdqu 112(%rdx),%xmm14
vmovdqu 0-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm14
vmovdqu 32-64(%rsi),%xmm7
vpunpckhqdq %xmm14,%xmm14,%xmm9
vmovdqu 96(%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm14,%xmm9,%xmm9
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 16-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vmovdqu 80(%rdx),%xmm14
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vpshufb %xmm13,%xmm14,%xmm14
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 48-64(%rsi),%xmm6
vpxor %xmm14,%xmm9,%xmm9
vmovdqu 64(%rdx),%xmm15
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 80-64(%rsi),%xmm7
vpshufb %xmm13,%xmm15,%xmm15
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm1,%xmm4,%xmm4
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 64-64(%rsi),%xmm6
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vmovdqu 48(%rdx),%xmm14
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpxor %xmm4,%xmm1,%xmm1
vpshufb %xmm13,%xmm14,%xmm14
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 96-64(%rsi),%xmm6
vpxor %xmm5,%xmm2,%xmm2
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 128-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vmovdqu 32(%rdx),%xmm15
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm1,%xmm4,%xmm4
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 112-64(%rsi),%xmm6
vpxor %xmm2,%xmm5,%xmm5
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vmovdqu 16(%rdx),%xmm14
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpxor %xmm4,%xmm1,%xmm1
vpshufb %xmm13,%xmm14,%xmm14
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 144-64(%rsi),%xmm6
vpxor %xmm5,%xmm2,%xmm2
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 176-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vmovdqu (%rdx),%xmm15
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm1,%xmm4,%xmm4
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 160-64(%rsi),%xmm6
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $16,%xmm7,%xmm9,%xmm2
leaq 128(%rdx),%rdx
cmpq $128,%rcx
jb L$tail_avx
vpxor %xmm10,%xmm15,%xmm15
subq $128,%rcx
jmp L$oop8x_avx
.p2align 5
L$oop8x_avx:
vpunpckhqdq %xmm15,%xmm15,%xmm8
vmovdqu 112(%rdx),%xmm14
vpxor %xmm0,%xmm3,%xmm3
vpxor %xmm15,%xmm8,%xmm8
vpclmulqdq $0,%xmm6,%xmm15,%xmm10
vpshufb %xmm13,%xmm14,%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm11
vmovdqu 0-64(%rsi),%xmm6
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm12
vmovdqu 32-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vmovdqu 96(%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpxor %xmm3,%xmm10,%xmm10
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vxorps %xmm4,%xmm11,%xmm11
vmovdqu 16-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm5,%xmm12,%xmm12
vxorps %xmm15,%xmm8,%xmm8
vmovdqu 80(%rdx),%xmm14
vpxor %xmm10,%xmm12,%xmm12
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpxor %xmm11,%xmm12,%xmm12
vpslldq $8,%xmm12,%xmm9
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vpsrldq $8,%xmm12,%xmm12
vpxor %xmm9,%xmm10,%xmm10
vmovdqu 48-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm14
vxorps %xmm12,%xmm11,%xmm11
vpxor %xmm1,%xmm4,%xmm4
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 80-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vmovdqu 64(%rdx),%xmm15
vpalignr $8,%xmm10,%xmm10,%xmm12
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpshufb %xmm13,%xmm15,%xmm15
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 64-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm4,%xmm1,%xmm1
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vxorps %xmm15,%xmm8,%xmm8
vpxor %xmm5,%xmm2,%xmm2
vmovdqu 48(%rdx),%xmm14
vpclmulqdq $16,(%r10),%xmm10,%xmm10
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpshufb %xmm13,%xmm14,%xmm14
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 96-64(%rsi),%xmm6
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 128-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vmovdqu 32(%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpshufb %xmm13,%xmm15,%xmm15
vpxor %xmm3,%xmm0,%xmm0
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 112-64(%rsi),%xmm6
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm4,%xmm1,%xmm1
vpclmulqdq $0,%xmm7,%xmm9,%xmm2
vpxor %xmm15,%xmm8,%xmm8
vpxor %xmm5,%xmm2,%xmm2
vxorps %xmm12,%xmm10,%xmm10
vmovdqu 16(%rdx),%xmm14
vpalignr $8,%xmm10,%xmm10,%xmm12
vpclmulqdq $0,%xmm6,%xmm15,%xmm3
vpshufb %xmm13,%xmm14,%xmm14
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $17,%xmm6,%xmm15,%xmm4
vmovdqu 144-64(%rsi),%xmm6
vpclmulqdq $16,(%r10),%xmm10,%xmm10
vxorps %xmm11,%xmm12,%xmm12
vpunpckhqdq %xmm14,%xmm14,%xmm9
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $16,%xmm7,%xmm8,%xmm5
vmovdqu 176-64(%rsi),%xmm7
vpxor %xmm14,%xmm9,%xmm9
vpxor %xmm2,%xmm5,%xmm5
vmovdqu (%rdx),%xmm15
vpclmulqdq $0,%xmm6,%xmm14,%xmm0
vpshufb %xmm13,%xmm15,%xmm15
vpclmulqdq $17,%xmm6,%xmm14,%xmm1
vmovdqu 160-64(%rsi),%xmm6
vpxor %xmm12,%xmm15,%xmm15
vpclmulqdq $16,%xmm7,%xmm9,%xmm2
vpxor %xmm10,%xmm15,%xmm15
leaq 128(%rdx),%rdx
subq $128,%rcx
jnc L$oop8x_avx
addq $128,%rcx
jmp L$tail_no_xor_avx
.p2align 5
L$short_avx:
vmovdqu -16(%rdx,%rcx,1),%xmm14
leaq (%rdx,%rcx,1),%rdx
vmovdqu 0-64(%rsi),%xmm6
vmovdqu 32-64(%rsi),%xmm7
vpshufb %xmm13,%xmm14,%xmm15
vmovdqa %xmm0,%xmm3
vmovdqa %xmm1,%xmm4
vmovdqa %xmm2,%xmm5
subq $16,%rcx
jz L$tail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -32(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 16-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vpsrldq $8,%xmm7,%xmm7
subq $16,%rcx
jz L$tail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -48(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 48-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovdqu 80-64(%rsi),%xmm7
subq $16,%rcx
jz L$tail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -64(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 64-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vpsrldq $8,%xmm7,%xmm7
subq $16,%rcx
jz L$tail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -80(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 96-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovdqu 128-64(%rsi),%xmm7
subq $16,%rcx
jz L$tail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -96(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 112-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vpsrldq $8,%xmm7,%xmm7
subq $16,%rcx
jz L$tail_avx
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vmovdqu -112(%rdx),%xmm14
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vmovdqu 144-64(%rsi),%xmm6
vpshufb %xmm13,%xmm14,%xmm15
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovq 184-64(%rsi),%xmm7
subq $16,%rcx
jmp L$tail_avx
.p2align 5
L$tail_avx:
vpxor %xmm10,%xmm15,%xmm15
L$tail_no_xor_avx:
vpunpckhqdq %xmm15,%xmm15,%xmm8
vpxor %xmm0,%xmm3,%xmm3
vpclmulqdq $0,%xmm6,%xmm15,%xmm0
vpxor %xmm15,%xmm8,%xmm8
vpxor %xmm1,%xmm4,%xmm4
vpclmulqdq $17,%xmm6,%xmm15,%xmm1
vpxor %xmm2,%xmm5,%xmm5
vpclmulqdq $0,%xmm7,%xmm8,%xmm2
vmovdqu (%r10),%xmm12
vpxor %xmm0,%xmm3,%xmm10
vpxor %xmm1,%xmm4,%xmm11
vpxor %xmm2,%xmm5,%xmm5
vpxor %xmm10,%xmm5,%xmm5
vpxor %xmm11,%xmm5,%xmm5
vpslldq $8,%xmm5,%xmm9
vpsrldq $8,%xmm5,%xmm5
vpxor %xmm9,%xmm10,%xmm10
vpxor %xmm5,%xmm11,%xmm11
vpclmulqdq $16,%xmm12,%xmm10,%xmm9
vpalignr $8,%xmm10,%xmm10,%xmm10
vpxor %xmm9,%xmm10,%xmm10
vpclmulqdq $16,%xmm12,%xmm10,%xmm9
vpalignr $8,%xmm10,%xmm10,%xmm10
vpxor %xmm11,%xmm10,%xmm10
vpxor %xmm9,%xmm10,%xmm10
cmpq $0,%rcx
jne L$short_avx
vpshufb %xmm13,%xmm10,%xmm10
vmovdqu %xmm10,(%rdi)
vzeroupper
.byte 0xf3,0xc3
.p2align 6 .p2align 6
L$bswap_mask: L$bswap_mask:

4303
deps/openssl/asm/x64-macosx-gas/sha/sha1-mb-x86_64.s

File diff suppressed because it is too large

2813
deps/openssl/asm/x64-macosx-gas/sha/sha1-x86_64.s

File diff suppressed because it is too large

4728
deps/openssl/asm/x64-macosx-gas/sha/sha256-mb-x86_64.s

File diff suppressed because it is too large

2353
deps/openssl/asm/x64-macosx-gas/sha/sha256-x86_64.s

File diff suppressed because it is too large

3581
deps/openssl/asm/x64-macosx-gas/sha/sha512-x86_64.s

File diff suppressed because it is too large

171
deps/openssl/asm/x64-win32-masm/bn/rsaz-avx2.asm

@ -1628,8 +1628,9 @@ PUBLIC rsaz_1024_gather5_avx2
ALIGN 32 ALIGN 32
rsaz_1024_gather5_avx2 PROC PUBLIC rsaz_1024_gather5_avx2 PROC PUBLIC
lea rax,QWORD PTR[((-136))+rsp]
vzeroupper vzeroupper
mov r11,rsp
lea rax,QWORD PTR[((-136))+rsp]
$L$SEH_begin_rsaz_1024_gather5:: $L$SEH_begin_rsaz_1024_gather5::
DB 048h,08dh,060h,0e0h DB 048h,08dh,060h,0e0h
@ -1643,66 +1644,125 @@ DB 0c5h,078h,029h,060h,040h
DB 0c5h,078h,029h,068h,050h DB 0c5h,078h,029h,068h,050h
DB 0c5h,078h,029h,070h,060h DB 0c5h,078h,029h,070h,060h
DB 0c5h,078h,029h,078h,070h DB 0c5h,078h,029h,078h,070h
lea r11,QWORD PTR[$L$gather_table] lea rsp,QWORD PTR[((-256))+rsp]
mov eax,r8d and rsp,-32
and r8d,3 lea r10,QWORD PTR[$L$inc]
shr eax,2 lea rax,QWORD PTR[((-128))+rsp]
shl r8d,4
vmovd xmm4,r8d
vmovdqu ymm7,YMMWORD PTR[((-32))+r11] vmovdqa ymm0,YMMWORD PTR[r10]
vpbroadcastb xmm8,BYTE PTR[8+rax*1+r11] vmovdqa ymm1,YMMWORD PTR[32+r10]
vpbroadcastb xmm9,BYTE PTR[7+rax*1+r11] vmovdqa ymm5,YMMWORD PTR[64+r10]
vpbroadcastb xmm10,BYTE PTR[6+rax*1+r11] vpbroadcastd ymm4,xmm4
vpbroadcastb xmm11,BYTE PTR[5+rax*1+r11]
vpbroadcastb xmm12,BYTE PTR[4+rax*1+r11] vpaddd ymm2,ymm0,ymm5
vpbroadcastb xmm13,BYTE PTR[3+rax*1+r11] vpcmpeqd ymm0,ymm0,ymm4
vpbroadcastb xmm14,BYTE PTR[2+rax*1+r11] vpaddd ymm3,ymm1,ymm5
vpbroadcastb xmm15,BYTE PTR[1+rax*1+r11] vpcmpeqd ymm1,ymm1,ymm4
vmovdqa YMMWORD PTR[(0+128)+rax],ymm0
lea rdx,QWORD PTR[64+r8*1+rdx] vpaddd ymm0,ymm2,ymm5
mov r11,64 vpcmpeqd ymm2,ymm2,ymm4
mov eax,9 vmovdqa YMMWORD PTR[(32+128)+rax],ymm1
jmp $L$oop_gather_1024 vpaddd ymm1,ymm3,ymm5
vpcmpeqd ymm3,ymm3,ymm4
vmovdqa YMMWORD PTR[(64+128)+rax],ymm2
vpaddd ymm2,ymm0,ymm5
vpcmpeqd ymm0,ymm0,ymm4
vmovdqa YMMWORD PTR[(96+128)+rax],ymm3
vpaddd ymm3,ymm1,ymm5
vpcmpeqd ymm1,ymm1,ymm4
vmovdqa YMMWORD PTR[(128+128)+rax],ymm0
vpaddd ymm8,ymm2,ymm5
vpcmpeqd ymm2,ymm2,ymm4
vmovdqa YMMWORD PTR[(160+128)+rax],ymm1
vpaddd ymm9,ymm3,ymm5
vpcmpeqd ymm3,ymm3,ymm4
vmovdqa YMMWORD PTR[(192+128)+rax],ymm2
vpaddd ymm10,ymm8,ymm5
vpcmpeqd ymm8,ymm8,ymm4
vmovdqa YMMWORD PTR[(224+128)+rax],ymm3
vpaddd ymm11,ymm9,ymm5
vpcmpeqd ymm9,ymm9,ymm4
vpaddd ymm12,ymm10,ymm5
vpcmpeqd ymm10,ymm10,ymm4
vpaddd ymm13,ymm11,ymm5
vpcmpeqd ymm11,ymm11,ymm4
vpaddd ymm14,ymm12,ymm5
vpcmpeqd ymm12,ymm12,ymm4
vpaddd ymm15,ymm13,ymm5
vpcmpeqd ymm13,ymm13,ymm4
vpcmpeqd ymm14,ymm14,ymm4
vpcmpeqd ymm15,ymm15,ymm4
vmovdqa ymm7,YMMWORD PTR[((-32))+r10]
lea rdx,QWORD PTR[128+rdx]
mov r8d,9
ALIGN 32
$L$oop_gather_1024:: $L$oop_gather_1024::
vpand xmm0,xmm8,XMMWORD PTR[((-64))+rdx] vmovdqa ymm0,YMMWORD PTR[((0-128))+rdx]
vpand xmm1,xmm9,XMMWORD PTR[rdx] vmovdqa ymm1,YMMWORD PTR[((32-128))+rdx]
vpand xmm2,xmm10,XMMWORD PTR[64+rdx] vmovdqa ymm2,YMMWORD PTR[((64-128))+rdx]
vpand xmm3,xmm11,XMMWORD PTR[r11*2+rdx] vmovdqa ymm3,YMMWORD PTR[((96-128))+rdx]
vpor xmm1,xmm1,xmm0 vpand ymm0,ymm0,YMMWORD PTR[((0+128))+rax]
vpand xmm4,xmm12,XMMWORD PTR[64+r11*2+rdx] vpand ymm1,ymm1,YMMWORD PTR[((32+128))+rax]
vpor xmm3,xmm3,xmm2 vpand ymm2,ymm2,YMMWORD PTR[((64+128))+rax]
vpand xmm5,xmm13,XMMWORD PTR[r11*4+rdx] vpor ymm4,ymm1,ymm0
vpor xmm3,xmm3,xmm1 vpand ymm3,ymm3,YMMWORD PTR[((96+128))+rax]
vpand xmm6,xmm14,XMMWORD PTR[64+r11*4+rdx] vmovdqa ymm0,YMMWORD PTR[((128-128))+rdx]
vmovdqa ymm1,YMMWORD PTR[((160-128))+rdx]
vpor ymm5,ymm3,ymm2
vmovdqa ymm2,YMMWORD PTR[((192-128))+rdx]
vmovdqa ymm3,YMMWORD PTR[((224-128))+rdx]
vpand ymm0,ymm0,YMMWORD PTR[((128+128))+rax]
vpand ymm1,ymm1,YMMWORD PTR[((160+128))+rax]
vpand ymm2,ymm2,YMMWORD PTR[((192+128))+rax]
vpor ymm4,ymm4,ymm0
vpand ymm3,ymm3,YMMWORD PTR[((224+128))+rax]
vpand ymm0,ymm8,YMMWORD PTR[((256-128))+rdx]
vpor ymm5,ymm5,ymm1
vpand ymm1,ymm9,YMMWORD PTR[((288-128))+rdx]
vpor ymm4,ymm4,ymm2
vpand ymm2,ymm10,YMMWORD PTR[((320-128))+rdx]
vpor ymm5,ymm5,ymm3
vpand ymm3,ymm11,YMMWORD PTR[((352-128))+rdx]
vpor ymm4,ymm4,ymm0
vpand ymm0,ymm12,YMMWORD PTR[((384-128))+rdx]
vpor ymm5,ymm5,ymm1
vpand ymm1,ymm13,YMMWORD PTR[((416-128))+rdx]
vpor ymm4,ymm4,ymm2
vpand ymm2,ymm14,YMMWORD PTR[((448-128))+rdx]
vpor ymm5,ymm5,ymm3
vpand ymm3,ymm15,YMMWORD PTR[((480-128))+rdx]
lea rdx,QWORD PTR[512+rdx]
vpor ymm4,ymm4,ymm0
vpor ymm5,ymm5,ymm1
vpor ymm4,ymm4,ymm2
vpor ymm5,ymm5,ymm3
vpor ymm4,ymm4,ymm5
vextracti128 xmm5,ymm4,1
vpor xmm5,xmm5,xmm4 vpor xmm5,xmm5,xmm4
vpand xmm2,xmm15,XMMWORD PTR[((-128))+r11*8+rdx] vpermd ymm5,ymm7,ymm5
lea rdx,QWORD PTR[r11*8+rdx] vmovdqu YMMWORD PTR[rcx],ymm5
vpor xmm5,xmm5,xmm3
vpor xmm6,xmm6,xmm2
vpor xmm6,xmm6,xmm5
vpermd ymm6,ymm7,ymm6
vmovdqu YMMWORD PTR[rcx],ymm6
lea rcx,QWORD PTR[32+rcx] lea rcx,QWORD PTR[32+rcx]
dec eax dec r8d
jnz $L$oop_gather_1024 jnz $L$oop_gather_1024
vpxor ymm0,ymm0,ymm0 vpxor ymm0,ymm0,ymm0
vmovdqu YMMWORD PTR[rcx],ymm0 vmovdqu YMMWORD PTR[rcx],ymm0
vzeroupper vzeroupper
movaps xmm6,XMMWORD PTR[rsp] movaps xmm6,XMMWORD PTR[((-168))+r11]
movaps xmm7,XMMWORD PTR[16+rsp] movaps xmm7,XMMWORD PTR[((-152))+r11]
movaps xmm8,XMMWORD PTR[32+rsp] movaps xmm8,XMMWORD PTR[((-136))+r11]
movaps xmm9,XMMWORD PTR[48+rsp] movaps xmm9,XMMWORD PTR[((-120))+r11]
movaps xmm10,XMMWORD PTR[64+rsp] movaps xmm10,XMMWORD PTR[((-104))+r11]
movaps xmm11,XMMWORD PTR[80+rsp] movaps xmm11,XMMWORD PTR[((-88))+r11]
movaps xmm12,XMMWORD PTR[96+rsp] movaps xmm12,XMMWORD PTR[((-72))+r11]
movaps xmm13,XMMWORD PTR[112+rsp] movaps xmm13,XMMWORD PTR[((-56))+r11]
movaps xmm14,XMMWORD PTR[128+rsp] movaps xmm14,XMMWORD PTR[((-40))+r11]
movaps xmm15,XMMWORD PTR[144+rsp] movaps xmm15,XMMWORD PTR[((-24))+r11]
lea rsp,QWORD PTR[168+rsp]
$L$SEH_end_rsaz_1024_gather5:: $L$SEH_end_rsaz_1024_gather5::
lea rsp,QWORD PTR[r11]
DB 0F3h,0C3h ;repret DB 0F3h,0C3h ;repret
rsaz_1024_gather5_avx2 ENDP rsaz_1024_gather5_avx2 ENDP
EXTERN OPENSSL_ia32cap_P:NEAR EXTERN OPENSSL_ia32cap_P:NEAR
@ -1728,8 +1788,10 @@ $L$scatter_permd::
DD 0,2,4,6,7,7,7,7 DD 0,2,4,6,7,7,7,7
$L$gather_permd:: $L$gather_permd::
DD 0,7,1,7,2,7,3,7 DD 0,7,1,7,2,7,3,7
$L$gather_table:: $L$inc::
DB 0,0,0,0,0,0,0,0,0ffh,0,0,0,0,0,0,0 DD 0,0,0,0,1,1,1,1
DD 2,2,2,2,3,3,3,3
DD 4,4,4,4,4,4,4,4
ALIGN 64 ALIGN 64
EXTERN __imp_RtlVirtualUnwind:NEAR EXTERN __imp_RtlVirtualUnwind:NEAR
@ -1850,7 +1912,7 @@ DB 9,0,0,0
DD imagerel rsaz_se_handler DD imagerel rsaz_se_handler
DD imagerel $L$mul_1024_body,imagerel $L$mul_1024_epilogue DD imagerel $L$mul_1024_body,imagerel $L$mul_1024_epilogue
$L$SEH_info_rsaz_1024_gather5:: $L$SEH_info_rsaz_1024_gather5::
DB 001h,033h,016h,000h DB 001h,036h,017h,00bh
DB 036h,0f8h,009h,000h DB 036h,0f8h,009h,000h
DB 031h,0e8h,008h,000h DB 031h,0e8h,008h,000h
DB 02ch,0d8h,007h,000h DB 02ch,0d8h,007h,000h
@ -1862,6 +1924,7 @@ DB 013h,088h,002h,000h
DB 00eh,078h,001h,000h DB 00eh,078h,001h,000h
DB 009h,068h,000h,000h DB 009h,068h,000h,000h
DB 004h,001h,015h,000h DB 004h,001h,015h,000h
DB 000h,0b3h,000h,000h
.xdata ENDS .xdata ENDS
END END

353
deps/openssl/asm/x64-win32-masm/bn/rsaz-x86_64.asm

@ -803,52 +803,108 @@ $L$SEH_begin_rsaz_512_mul_gather4::
push r14 push r14
push r15 push r15
mov r9d,r9d sub rsp,328
sub rsp,128+24 movaps XMMWORD PTR[160+rsp],xmm6
movaps XMMWORD PTR[176+rsp],xmm7
movaps XMMWORD PTR[192+rsp],xmm8
movaps XMMWORD PTR[208+rsp],xmm9
movaps XMMWORD PTR[224+rsp],xmm10
movaps XMMWORD PTR[240+rsp],xmm11
movaps XMMWORD PTR[256+rsp],xmm12
movaps XMMWORD PTR[272+rsp],xmm13
movaps XMMWORD PTR[288+rsp],xmm14
movaps XMMWORD PTR[304+rsp],xmm15
$L$mul_gather4_body:: $L$mul_gather4_body::
movd xmm8,r9d
movdqa xmm1,XMMWORD PTR[(($L$inc+16))]
movdqa xmm0,XMMWORD PTR[$L$inc]
pshufd xmm8,xmm8,0
movdqa xmm7,xmm1
movdqa xmm2,xmm1
paddd xmm1,xmm0
pcmpeqd xmm0,xmm8
movdqa xmm3,xmm7
paddd xmm2,xmm1
pcmpeqd xmm1,xmm8
movdqa xmm4,xmm7
paddd xmm3,xmm2
pcmpeqd xmm2,xmm8
movdqa xmm5,xmm7
paddd xmm4,xmm3
pcmpeqd xmm3,xmm8
movdqa xmm6,xmm7
paddd xmm5,xmm4
pcmpeqd xmm4,xmm8
paddd xmm6,xmm5
pcmpeqd xmm5,xmm8
paddd xmm7,xmm6
pcmpeqd xmm6,xmm8
pcmpeqd xmm7,xmm8
movdqa xmm8,XMMWORD PTR[rdx]
movdqa xmm9,XMMWORD PTR[16+rdx]
movdqa xmm10,XMMWORD PTR[32+rdx]
movdqa xmm11,XMMWORD PTR[48+rdx]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rdx]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rdx]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rdx]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rdx]
lea rbp,QWORD PTR[128+rdx]
pand xmm12,xmm4
pand xmm13,xmm5
pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
mov r11d,080100h mov r11d,080100h
and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))] and r11d,DWORD PTR[((OPENSSL_ia32cap_P+8))]
cmp r11d,080100h cmp r11d,080100h
je $L$mulx_gather je $L$mulx_gather
mov eax,DWORD PTR[64+r9*4+rdx] DB 102,76,15,126,195
DB 102,72,15,110,199
mov ebx,DWORD PTR[r9*4+rdx]
DB 102,72,15,110,201
mov QWORD PTR[128+rsp],r8 mov QWORD PTR[128+rsp],r8
mov QWORD PTR[((128+8))+rsp],rdi
mov QWORD PTR[((128+16))+rsp],rcx
shl rax,32
or rbx,rax
mov rax,QWORD PTR[rsi] mov rax,QWORD PTR[rsi]
mov rcx,QWORD PTR[8+rsi] mov rcx,QWORD PTR[8+rsi]
lea rbp,QWORD PTR[128+r9*4+rdx]
mul rbx mul rbx
mov QWORD PTR[rsp],rax mov QWORD PTR[rsp],rax
mov rax,rcx mov rax,rcx
mov r8,rdx mov r8,rdx
mul rbx mul rbx
movd xmm4,DWORD PTR[rbp]
add r8,rax add r8,rax
mov rax,QWORD PTR[16+rsi] mov rax,QWORD PTR[16+rsi]
mov r9,rdx mov r9,rdx
adc r9,0 adc r9,0
mul rbx mul rbx
movd xmm5,DWORD PTR[64+rbp]
add r9,rax add r9,rax
mov rax,QWORD PTR[24+rsi] mov rax,QWORD PTR[24+rsi]
mov r10,rdx mov r10,rdx
adc r10,0 adc r10,0
mul rbx mul rbx
pslldq xmm5,4
add r10,rax add r10,rax
mov rax,QWORD PTR[32+rsi] mov rax,QWORD PTR[32+rsi]
mov r11,rdx mov r11,rdx
adc r11,0 adc r11,0
mul rbx mul rbx
por xmm4,xmm5
add r11,rax add r11,rax
mov rax,QWORD PTR[40+rsi] mov rax,QWORD PTR[40+rsi]
mov r12,rdx mov r12,rdx
@ -861,14 +917,12 @@ DB 102,72,15,110,201
adc r13,0 adc r13,0
mul rbx mul rbx
lea rbp,QWORD PTR[128+rbp]
add r13,rax add r13,rax
mov rax,QWORD PTR[56+rsi] mov rax,QWORD PTR[56+rsi]
mov r14,rdx mov r14,rdx
adc r14,0 adc r14,0
mul rbx mul rbx
DB 102,72,15,126,227
add r14,rax add r14,rax
mov rax,QWORD PTR[rsi] mov rax,QWORD PTR[rsi]
mov r15,rdx mov r15,rdx
@ -880,6 +934,35 @@ DB 102,72,15,126,227
ALIGN 32 ALIGN 32
$L$oop_mul_gather:: $L$oop_mul_gather::
movdqa xmm8,XMMWORD PTR[rbp]
movdqa xmm9,XMMWORD PTR[16+rbp]
movdqa xmm10,XMMWORD PTR[32+rbp]
movdqa xmm11,XMMWORD PTR[48+rbp]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rbp]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rbp]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rbp]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rbp]
lea rbp,QWORD PTR[128+rbp]
pand xmm12,xmm4
pand xmm13,xmm5
pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
DB 102,76,15,126,195
mul rbx mul rbx
add r8,rax add r8,rax
mov rax,QWORD PTR[8+rsi] mov rax,QWORD PTR[8+rsi]
@ -888,7 +971,6 @@ $L$oop_mul_gather::
adc r8,0 adc r8,0
mul rbx mul rbx
movd xmm4,DWORD PTR[rbp]
add r9,rax add r9,rax
mov rax,QWORD PTR[16+rsi] mov rax,QWORD PTR[16+rsi]
adc rdx,0 adc rdx,0
@ -897,7 +979,6 @@ $L$oop_mul_gather::
adc r9,0 adc r9,0
mul rbx mul rbx
movd xmm5,DWORD PTR[64+rbp]
add r10,rax add r10,rax
mov rax,QWORD PTR[24+rsi] mov rax,QWORD PTR[24+rsi]
adc rdx,0 adc rdx,0
@ -906,7 +987,6 @@ $L$oop_mul_gather::
adc r10,0 adc r10,0
mul rbx mul rbx
pslldq xmm5,4
add r11,rax add r11,rax
mov rax,QWORD PTR[32+rsi] mov rax,QWORD PTR[32+rsi]
adc rdx,0 adc rdx,0
@ -915,7 +995,6 @@ $L$oop_mul_gather::
adc r11,0 adc r11,0
mul rbx mul rbx
por xmm4,xmm5
add r12,rax add r12,rax
mov rax,QWORD PTR[40+rsi] mov rax,QWORD PTR[40+rsi]
adc rdx,0 adc rdx,0
@ -940,7 +1019,6 @@ $L$oop_mul_gather::
adc r14,0 adc r14,0
mul rbx mul rbx
DB 102,72,15,126,227
add r15,rax add r15,rax
mov rax,QWORD PTR[rsi] mov rax,QWORD PTR[rsi]
adc rdx,0 adc rdx,0
@ -948,7 +1026,6 @@ DB 102,72,15,126,227
mov r15,rdx mov r15,rdx
adc r15,0 adc r15,0
lea rbp,QWORD PTR[128+rbp]
lea rdi,QWORD PTR[8+rdi] lea rdi,QWORD PTR[8+rdi]
dec ecx dec ecx
@ -963,8 +1040,8 @@ DB 102,72,15,126,227
mov QWORD PTR[48+rdi],r14 mov QWORD PTR[48+rdi],r14
mov QWORD PTR[56+rdi],r15 mov QWORD PTR[56+rdi],r15
DB 102,72,15,126,199 mov rdi,QWORD PTR[((128+8))+rsp]
DB 102,72,15,126,205 mov rbp,QWORD PTR[((128+16))+rsp]
mov r8,QWORD PTR[rsp] mov r8,QWORD PTR[rsp]
mov r9,QWORD PTR[8+rsp] mov r9,QWORD PTR[8+rsp]
@ -980,45 +1057,37 @@ DB 102,72,15,126,205
ALIGN 32 ALIGN 32
$L$mulx_gather:: $L$mulx_gather::
mov eax,DWORD PTR[64+r9*4+rdx] DB 102,76,15,126,194
DB 102,72,15,110,199
lea rbp,QWORD PTR[128+r9*4+rdx]
mov edx,DWORD PTR[r9*4+rdx]
DB 102,72,15,110,201
mov QWORD PTR[128+rsp],r8 mov QWORD PTR[128+rsp],r8
mov QWORD PTR[((128+8))+rsp],rdi
mov QWORD PTR[((128+16))+rsp],rcx
shl rax,32
or rdx,rax
mulx r8,rbx,QWORD PTR[rsi] mulx r8,rbx,QWORD PTR[rsi]
mov QWORD PTR[rsp],rbx mov QWORD PTR[rsp],rbx
xor edi,edi xor edi,edi
mulx r9,rax,QWORD PTR[8+rsi] mulx r9,rax,QWORD PTR[8+rsi]
movd xmm4,DWORD PTR[rbp]
mulx r10,rbx,QWORD PTR[16+rsi] mulx r10,rbx,QWORD PTR[16+rsi]
movd xmm5,DWORD PTR[64+rbp]
adcx r8,rax adcx r8,rax
mulx r11,rax,QWORD PTR[24+rsi] mulx r11,rax,QWORD PTR[24+rsi]
pslldq xmm5,4
adcx r9,rbx adcx r9,rbx
mulx r12,rbx,QWORD PTR[32+rsi] mulx r12,rbx,QWORD PTR[32+rsi]
por xmm4,xmm5
adcx r10,rax adcx r10,rax
mulx r13,rax,QWORD PTR[40+rsi] mulx r13,rax,QWORD PTR[40+rsi]
adcx r11,rbx adcx r11,rbx
mulx r14,rbx,QWORD PTR[48+rsi] mulx r14,rbx,QWORD PTR[48+rsi]
lea rbp,QWORD PTR[128+rbp]
adcx r12,rax adcx r12,rax
mulx r15,rax,QWORD PTR[56+rsi] mulx r15,rax,QWORD PTR[56+rsi]
DB 102,72,15,126,226
adcx r13,rbx adcx r13,rbx
adcx r14,rax adcx r14,rax
DB 067h
mov rbx,r8 mov rbx,r8
adcx r15,rdi adcx r15,rdi
@ -1027,24 +1096,48 @@ DB 102,72,15,126,226
ALIGN 32 ALIGN 32
$L$oop_mulx_gather:: $L$oop_mulx_gather::
mulx r8,rax,QWORD PTR[rsi] movdqa xmm8,XMMWORD PTR[rbp]
movdqa xmm9,XMMWORD PTR[16+rbp]
movdqa xmm10,XMMWORD PTR[32+rbp]
movdqa xmm11,XMMWORD PTR[48+rbp]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rbp]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rbp]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rbp]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rbp]
lea rbp,QWORD PTR[128+rbp]
pand xmm12,xmm4
pand xmm13,xmm5
pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
DB 102,76,15,126,194
DB 0c4h,062h,0fbh,0f6h,086h,000h,000h,000h,000h
adcx rbx,rax adcx rbx,rax
adox r8,r9 adox r8,r9
mulx r9,rax,QWORD PTR[8+rsi] mulx r9,rax,QWORD PTR[8+rsi]
DB 066h,00fh,06eh,0a5h,000h,000h,000h,000h
adcx r8,rax adcx r8,rax
adox r9,r10 adox r9,r10
mulx r10,rax,QWORD PTR[16+rsi] mulx r10,rax,QWORD PTR[16+rsi]
movd xmm5,DWORD PTR[64+rbp]
lea rbp,QWORD PTR[128+rbp]
adcx r9,rax adcx r9,rax
adox r10,r11 adox r10,r11
DB 0c4h,062h,0fbh,0f6h,09eh,018h,000h,000h,000h DB 0c4h,062h,0fbh,0f6h,09eh,018h,000h,000h,000h
pslldq xmm5,4
por xmm4,xmm5
adcx r10,rax adcx r10,rax
adox r11,r12 adox r11,r12
@ -1058,10 +1151,10 @@ DB 0c4h,062h,0fbh,0f6h,09eh,018h,000h,000h,000h
DB 0c4h,062h,0fbh,0f6h,0b6h,030h,000h,000h,000h DB 0c4h,062h,0fbh,0f6h,0b6h,030h,000h,000h,000h
adcx r13,rax adcx r13,rax
DB 067h
adox r14,r15 adox r14,r15
mulx r15,rax,QWORD PTR[56+rsi] mulx r15,rax,QWORD PTR[56+rsi]
DB 102,72,15,126,226
mov QWORD PTR[64+rcx*8+rsp],rbx mov QWORD PTR[64+rcx*8+rsp],rbx
adcx r14,rax adcx r14,rax
adox r15,rdi adox r15,rdi
@ -1080,10 +1173,10 @@ DB 102,72,15,126,226
mov QWORD PTR[((64+48))+rsp],r14 mov QWORD PTR[((64+48))+rsp],r14
mov QWORD PTR[((64+56))+rsp],r15 mov QWORD PTR[((64+56))+rsp],r15
DB 102,72,15,126,199
DB 102,72,15,126,205
mov rdx,QWORD PTR[128+rsp] mov rdx,QWORD PTR[128+rsp]
mov rdi,QWORD PTR[((128+8))+rsp]
mov rbp,QWORD PTR[((128+16))+rsp]
mov r8,QWORD PTR[rsp] mov r8,QWORD PTR[rsp]
mov r9,QWORD PTR[8+rsp] mov r9,QWORD PTR[8+rsp]
mov r10,QWORD PTR[16+rsp] mov r10,QWORD PTR[16+rsp]
@ -1109,6 +1202,17 @@ $L$mul_gather_tail::
call __rsaz_512_subtract call __rsaz_512_subtract
lea rax,QWORD PTR[((128+24+48))+rsp] lea rax,QWORD PTR[((128+24+48))+rsp]
movaps xmm6,XMMWORD PTR[((160-200))+rax]
movaps xmm7,XMMWORD PTR[((176-200))+rax]
movaps xmm8,XMMWORD PTR[((192-200))+rax]
movaps xmm9,XMMWORD PTR[((208-200))+rax]
movaps xmm10,XMMWORD PTR[((224-200))+rax]
movaps xmm11,XMMWORD PTR[((240-200))+rax]
movaps xmm12,XMMWORD PTR[((256-200))+rax]
movaps xmm13,XMMWORD PTR[((272-200))+rax]
movaps xmm14,XMMWORD PTR[((288-200))+rax]
movaps xmm15,XMMWORD PTR[((304-200))+rax]
lea rax,QWORD PTR[176+rax]
mov r15,QWORD PTR[((-48))+rax] mov r15,QWORD PTR[((-48))+rax]
mov r14,QWORD PTR[((-40))+rax] mov r14,QWORD PTR[((-40))+rax]
mov r13,QWORD PTR[((-32))+rax] mov r13,QWORD PTR[((-32))+rax]
@ -1148,7 +1252,7 @@ $L$SEH_begin_rsaz_512_mul_scatter4::
mov r9d,r9d mov r9d,r9d
sub rsp,128+24 sub rsp,128+24
$L$mul_scatter4_body:: $L$mul_scatter4_body::
lea r8,QWORD PTR[r9*4+r8] lea r8,QWORD PTR[r9*8+r8]
DB 102,72,15,110,199 DB 102,72,15,110,199
DB 102,72,15,110,202 DB 102,72,15,110,202
DB 102,73,15,110,208 DB 102,73,15,110,208
@ -1211,30 +1315,14 @@ DB 102,72,15,126,214
call __rsaz_512_subtract call __rsaz_512_subtract
mov DWORD PTR[rsi],r8d mov QWORD PTR[rsi],r8
shr r8,32 mov QWORD PTR[128+rsi],r9
mov DWORD PTR[128+rsi],r9d mov QWORD PTR[256+rsi],r10
shr r9,32 mov QWORD PTR[384+rsi],r11
mov DWORD PTR[256+rsi],r10d mov QWORD PTR[512+rsi],r12
shr r10,32 mov QWORD PTR[640+rsi],r13
mov DWORD PTR[384+rsi],r11d mov QWORD PTR[768+rsi],r14
shr r11,32 mov QWORD PTR[896+rsi],r15
mov DWORD PTR[512+rsi],r12d
shr r12,32
mov DWORD PTR[640+rsi],r13d
shr r13,32
mov DWORD PTR[768+rsi],r14d
shr r14,32
mov DWORD PTR[896+rsi],r15d
shr r15,32
mov DWORD PTR[64+rsi],r8d
mov DWORD PTR[192+rsi],r9d
mov DWORD PTR[320+rsi],r10d
mov DWORD PTR[448+rsi],r11d
mov DWORD PTR[576+rsi],r12d
mov DWORD PTR[704+rsi],r13d
mov DWORD PTR[832+rsi],r14d
mov DWORD PTR[960+rsi],r15d
lea rax,QWORD PTR[((128+24+48))+rsp] lea rax,QWORD PTR[((128+24+48))+rsp]
mov r15,QWORD PTR[((-48))+rax] mov r15,QWORD PTR[((-48))+rax]
@ -1789,16 +1877,14 @@ PUBLIC rsaz_512_scatter4
ALIGN 16 ALIGN 16
rsaz_512_scatter4 PROC PUBLIC rsaz_512_scatter4 PROC PUBLIC
lea rcx,QWORD PTR[r8*4+rcx] lea rcx,QWORD PTR[r8*8+rcx]
mov r9d,8 mov r9d,8
jmp $L$oop_scatter jmp $L$oop_scatter
ALIGN 16 ALIGN 16
$L$oop_scatter:: $L$oop_scatter::
mov rax,QWORD PTR[rdx] mov rax,QWORD PTR[rdx]
lea rdx,QWORD PTR[8+rdx] lea rdx,QWORD PTR[8+rdx]
mov DWORD PTR[rcx],eax mov QWORD PTR[rcx],rax
shr rax,32
mov DWORD PTR[64+rcx],eax
lea rcx,QWORD PTR[128+rcx] lea rcx,QWORD PTR[128+rcx]
dec r9d dec r9d
jnz $L$oop_scatter jnz $L$oop_scatter
@ -1809,22 +1895,98 @@ PUBLIC rsaz_512_gather4
ALIGN 16 ALIGN 16
rsaz_512_gather4 PROC PUBLIC rsaz_512_gather4 PROC PUBLIC
lea rdx,QWORD PTR[r8*4+rdx] $L$SEH_begin_rsaz_512_gather4::
DB 048h,081h,0ech,0a8h,000h,000h,000h
DB 00fh,029h,034h,024h
DB 00fh,029h,07ch,024h,010h
DB 044h,00fh,029h,044h,024h,020h
DB 044h,00fh,029h,04ch,024h,030h
DB 044h,00fh,029h,054h,024h,040h
DB 044h,00fh,029h,05ch,024h,050h
DB 044h,00fh,029h,064h,024h,060h
DB 044h,00fh,029h,06ch,024h,070h
DB 044h,00fh,029h,0b4h,024h,080h,0,0,0
DB 044h,00fh,029h,0bch,024h,090h,0,0,0
movd xmm8,r8d
movdqa xmm1,XMMWORD PTR[(($L$inc+16))]
movdqa xmm0,XMMWORD PTR[$L$inc]
pshufd xmm8,xmm8,0
movdqa xmm7,xmm1
movdqa xmm2,xmm1
paddd xmm1,xmm0
pcmpeqd xmm0,xmm8
movdqa xmm3,xmm7
paddd xmm2,xmm1
pcmpeqd xmm1,xmm8
movdqa xmm4,xmm7
paddd xmm3,xmm2
pcmpeqd xmm2,xmm8
movdqa xmm5,xmm7
paddd xmm4,xmm3
pcmpeqd xmm3,xmm8
movdqa xmm6,xmm7
paddd xmm5,xmm4
pcmpeqd xmm4,xmm8
paddd xmm6,xmm5
pcmpeqd xmm5,xmm8
paddd xmm7,xmm6
pcmpeqd xmm6,xmm8
pcmpeqd xmm7,xmm8
mov r9d,8 mov r9d,8
jmp $L$oop_gather jmp $L$oop_gather
ALIGN 16 ALIGN 16
$L$oop_gather:: $L$oop_gather::
mov eax,DWORD PTR[rdx] movdqa xmm8,XMMWORD PTR[rdx]
mov r8d,DWORD PTR[64+rdx] movdqa xmm9,XMMWORD PTR[16+rdx]
movdqa xmm10,XMMWORD PTR[32+rdx]
movdqa xmm11,XMMWORD PTR[48+rdx]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rdx]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rdx]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rdx]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rdx]
lea rdx,QWORD PTR[128+rdx] lea rdx,QWORD PTR[128+rdx]
shl r8,32 pand xmm12,xmm4
or rax,r8 pand xmm13,xmm5
mov QWORD PTR[rcx],rax pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
movq QWORD PTR[rcx],xmm8
lea rcx,QWORD PTR[8+rcx] lea rcx,QWORD PTR[8+rcx]
dec r9d dec r9d
jnz $L$oop_gather jnz $L$oop_gather
movaps xmm6,XMMWORD PTR[rsp]
movaps xmm7,XMMWORD PTR[16+rsp]
movaps xmm8,XMMWORD PTR[32+rsp]
movaps xmm9,XMMWORD PTR[48+rsp]
movaps xmm10,XMMWORD PTR[64+rsp]
movaps xmm11,XMMWORD PTR[80+rsp]
movaps xmm12,XMMWORD PTR[96+rsp]
movaps xmm13,XMMWORD PTR[112+rsp]
movaps xmm14,XMMWORD PTR[128+rsp]
movaps xmm15,XMMWORD PTR[144+rsp]
add rsp,0a8h
DB 0F3h,0C3h ;repret DB 0F3h,0C3h ;repret
$L$SEH_end_rsaz_512_gather4::
rsaz_512_gather4 ENDP rsaz_512_gather4 ENDP
ALIGN 64
$L$inc::
DD 0,0,1,1
DD 2,2,2,2
EXTERN __imp_RtlVirtualUnwind:NEAR EXTERN __imp_RtlVirtualUnwind:NEAR
ALIGN 16 ALIGN 16
@ -1860,6 +2022,18 @@ se_handler PROC PRIVATE
lea rax,QWORD PTR[((128+24+48))+rax] lea rax,QWORD PTR[((128+24+48))+rax]
lea rbx,QWORD PTR[$L$mul_gather4_epilogue]
cmp rbx,r10
jne $L$se_not_in_mul_gather4
lea rax,QWORD PTR[176+rax]
lea rsi,QWORD PTR[((-48-168))+rax]
lea rdi,QWORD PTR[512+r8]
mov ecx,20
DD 0a548f3fch
$L$se_not_in_mul_gather4::
mov rbx,QWORD PTR[((-8))+rax] mov rbx,QWORD PTR[((-8))+rax]
mov rbp,QWORD PTR[((-16))+rax] mov rbp,QWORD PTR[((-16))+rax]
mov r12,QWORD PTR[((-24))+rax] mov r12,QWORD PTR[((-24))+rax]
@ -1936,6 +2110,10 @@ ALIGN 4
DD imagerel $L$SEH_end_rsaz_512_mul_by_one DD imagerel $L$SEH_end_rsaz_512_mul_by_one
DD imagerel $L$SEH_info_rsaz_512_mul_by_one DD imagerel $L$SEH_info_rsaz_512_mul_by_one
DD imagerel $L$SEH_begin_rsaz_512_gather4
DD imagerel $L$SEH_end_rsaz_512_gather4
DD imagerel $L$SEH_info_rsaz_512_gather4
.pdata ENDS .pdata ENDS
.xdata SEGMENT READONLY ALIGN(8) .xdata SEGMENT READONLY ALIGN(8)
ALIGN 8 ALIGN 8
@ -1959,6 +2137,19 @@ $L$SEH_info_rsaz_512_mul_by_one::
DB 9,0,0,0 DB 9,0,0,0
DD imagerel se_handler DD imagerel se_handler
DD imagerel $L$mul_by_one_body,imagerel $L$mul_by_one_epilogue DD imagerel $L$mul_by_one_body,imagerel $L$mul_by_one_epilogue
$L$SEH_info_rsaz_512_gather4::
DB 001h,046h,016h,000h
DB 046h,0f8h,009h,000h
DB 03dh,0e8h,008h,000h
DB 034h,0d8h,007h,000h
DB 02eh,0c8h,006h,000h
DB 028h,0b8h,005h,000h
DB 022h,0a8h,004h,000h
DB 01ch,098h,003h,000h
DB 016h,088h,002h,000h
DB 010h,078h,001h,000h
DB 00bh,068h,000h,000h
DB 007h,001h,015h,000h
.xdata ENDS .xdata ENDS
END END

219
deps/openssl/asm/x64-win32-masm/bn/x86_64-mont.asm

@ -681,20 +681,20 @@ $L$sqr8x_enter::
lea r11,QWORD PTR[((-64))+r9*4+rsp] lea r11,QWORD PTR[((-64))+r9*2+rsp]
mov r8,QWORD PTR[r8] mov r8,QWORD PTR[r8]
sub r11,rsi sub r11,rsi
and r11,4095 and r11,4095
cmp r10,r11 cmp r10,r11
jb $L$sqr8x_sp_alt jb $L$sqr8x_sp_alt
sub rsp,r11 sub rsp,r11
lea rsp,QWORD PTR[((-64))+r9*4+rsp] lea rsp,QWORD PTR[((-64))+r9*2+rsp]
jmp $L$sqr8x_sp_done jmp $L$sqr8x_sp_done
ALIGN 32 ALIGN 32
$L$sqr8x_sp_alt:: $L$sqr8x_sp_alt::
lea r10,QWORD PTR[((4096-64))+r9*4] lea r10,QWORD PTR[((4096-64))+r9*2]
lea rsp,QWORD PTR[((-64))+r9*4+rsp] lea rsp,QWORD PTR[((-64))+r9*2+rsp]
sub r11,r10 sub r11,r10
mov r10,0 mov r10,0
cmovc r11,r10 cmovc r11,r10
@ -704,73 +704,99 @@ $L$sqr8x_sp_done::
mov r10,r9 mov r10,r9
neg r9 neg r9
lea r11,QWORD PTR[64+r9*2+rsp]
mov QWORD PTR[32+rsp],r8 mov QWORD PTR[32+rsp],r8
mov QWORD PTR[40+rsp],rax mov QWORD PTR[40+rsp],rax
$L$sqr8x_body:: $L$sqr8x_body::
mov rbp,r9 DB 102,72,15,110,209
DB 102,73,15,110,211
shr rbp,3+2
mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))]
jmp $L$sqr8x_copy_n
ALIGN 32
$L$sqr8x_copy_n::
movq xmm0,QWORD PTR[rcx]
movq xmm1,QWORD PTR[8+rcx]
movq xmm3,QWORD PTR[16+rcx]
movq xmm4,QWORD PTR[24+rcx]
lea rcx,QWORD PTR[32+rcx]
movdqa XMMWORD PTR[r11],xmm0
movdqa XMMWORD PTR[16+r11],xmm1
movdqa XMMWORD PTR[32+r11],xmm3
movdqa XMMWORD PTR[48+r11],xmm4
lea r11,QWORD PTR[64+r11]
dec rbp
jnz $L$sqr8x_copy_n
pxor xmm0,xmm0 pxor xmm0,xmm0
DB 102,72,15,110,207 DB 102,72,15,110,207
DB 102,73,15,110,218 DB 102,73,15,110,218
mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))]
and eax,080100h and eax,080100h
cmp eax,080100h cmp eax,080100h
jne $L$sqr8x_nox jne $L$sqr8x_nox
call bn_sqrx8x_internal call bn_sqrx8x_internal
pxor xmm0,xmm0
lea rax,QWORD PTR[48+rsp]
lea rdx,QWORD PTR[64+r9*2+rsp]
shr r9,3+2 lea rbx,QWORD PTR[rcx*1+r8]
mov rsi,QWORD PTR[40+rsp] mov r9,rcx
jmp $L$sqr8x_zero mov rdx,rcx
DB 102,72,15,126,207
sar rcx,3+2
jmp $L$sqr8x_sub
ALIGN 32 ALIGN 32
$L$sqr8x_nox:: $L$sqr8x_nox::
call bn_sqr8x_internal call bn_sqr8x_internal
lea rbx,QWORD PTR[r9*1+rdi]
mov rcx,r9
mov rdx,r9
DB 102,72,15,126,207
sar rcx,3+2
jmp $L$sqr8x_sub
ALIGN 32
$L$sqr8x_sub::
mov r12,QWORD PTR[rbx]
mov r13,QWORD PTR[8+rbx]
mov r14,QWORD PTR[16+rbx]
mov r15,QWORD PTR[24+rbx]
lea rbx,QWORD PTR[32+rbx]
sbb r12,QWORD PTR[rbp]
sbb r13,QWORD PTR[8+rbp]
sbb r14,QWORD PTR[16+rbp]
sbb r15,QWORD PTR[24+rbp]
lea rbp,QWORD PTR[32+rbp]
mov QWORD PTR[rdi],r12
mov QWORD PTR[8+rdi],r13
mov QWORD PTR[16+rdi],r14
mov QWORD PTR[24+rdi],r15
lea rdi,QWORD PTR[32+rdi]
inc rcx
jnz $L$sqr8x_sub
sbb rax,0
lea rbx,QWORD PTR[r9*1+rbx]
lea rdi,QWORD PTR[r9*1+rdi]
DB 102,72,15,110,200
pxor xmm0,xmm0 pxor xmm0,xmm0
lea rax,QWORD PTR[48+rsp] pshufd xmm1,xmm1,0
lea rdx,QWORD PTR[64+r9*2+rsp]
shr r9,3+2
mov rsi,QWORD PTR[40+rsp] mov rsi,QWORD PTR[40+rsp]
jmp $L$sqr8x_zero jmp $L$sqr8x_cond_copy
ALIGN 32 ALIGN 32
$L$sqr8x_zero:: $L$sqr8x_cond_copy::
movdqa XMMWORD PTR[rax],xmm0 movdqa xmm2,XMMWORD PTR[rbx]
movdqa XMMWORD PTR[16+rax],xmm0 movdqa xmm3,XMMWORD PTR[16+rbx]
movdqa XMMWORD PTR[32+rax],xmm0 lea rbx,QWORD PTR[32+rbx]
movdqa XMMWORD PTR[48+rax],xmm0 movdqu xmm4,XMMWORD PTR[rdi]
lea rax,QWORD PTR[64+rax] movdqu xmm5,XMMWORD PTR[16+rdi]
movdqa XMMWORD PTR[rdx],xmm0 lea rdi,QWORD PTR[32+rdi]
movdqa XMMWORD PTR[16+rdx],xmm0 movdqa XMMWORD PTR[(-32)+rbx],xmm0
movdqa XMMWORD PTR[32+rdx],xmm0 movdqa XMMWORD PTR[(-16)+rbx],xmm0
movdqa XMMWORD PTR[48+rdx],xmm0 movdqa XMMWORD PTR[(-32)+rdx*1+rbx],xmm0
lea rdx,QWORD PTR[64+rdx] movdqa XMMWORD PTR[(-16)+rdx*1+rbx],xmm0
dec r9 pcmpeqd xmm0,xmm1
jnz $L$sqr8x_zero pand xmm2,xmm1
pand xmm3,xmm1
pand xmm4,xmm0
pand xmm5,xmm0
pxor xmm0,xmm0
por xmm4,xmm2
por xmm5,xmm3
movdqu XMMWORD PTR[(-32)+rdi],xmm4
movdqu XMMWORD PTR[(-16)+rdi],xmm5
add r9,32
jnz $L$sqr8x_cond_copy
mov rax,1 mov rax,1
mov r15,QWORD PTR[((-48))+rsi] mov r15,QWORD PTR[((-48))+rsi]
@ -1040,64 +1066,75 @@ $L$mulx4x_inner::
adc r15,rbp adc r15,rbp
sub rbp,QWORD PTR[rbx] sub rbp,QWORD PTR[rbx]
adc r14,r15 adc r14,r15
mov r8,QWORD PTR[((-8))+rcx]
sbb r15,r15 sbb r15,r15
mov QWORD PTR[((-8))+rbx],r14 mov QWORD PTR[((-8))+rbx],r14
cmp rdi,QWORD PTR[16+rsp] cmp rdi,QWORD PTR[16+rsp]
jne $L$mulx4x_outer jne $L$mulx4x_outer
sub r8,r14 lea rbx,QWORD PTR[64+rsp]
sbb r8,r8 sub rcx,rax
or r15,r8 neg r15
mov rdx,rax
neg rax shr rax,3+2
xor rdx,rdx
mov rdi,QWORD PTR[32+rsp] mov rdi,QWORD PTR[32+rsp]
jmp $L$mulx4x_sub
ALIGN 32
$L$mulx4x_sub::
mov r11,QWORD PTR[rbx]
mov r12,QWORD PTR[8+rbx]
mov r13,QWORD PTR[16+rbx]
mov r14,QWORD PTR[24+rbx]
lea rbx,QWORD PTR[32+rbx]
sbb r11,QWORD PTR[rcx]
sbb r12,QWORD PTR[8+rcx]
sbb r13,QWORD PTR[16+rcx]
sbb r14,QWORD PTR[24+rcx]
lea rcx,QWORD PTR[32+rcx]
mov QWORD PTR[rdi],r11
mov QWORD PTR[8+rdi],r12
mov QWORD PTR[16+rdi],r13
mov QWORD PTR[24+rdi],r14
lea rdi,QWORD PTR[32+rdi]
dec rax
jnz $L$mulx4x_sub
sbb r15,0
lea rbx,QWORD PTR[64+rsp] lea rbx,QWORD PTR[64+rsp]
sub rdi,rdx
DB 102,73,15,110,207
pxor xmm0,xmm0 pxor xmm0,xmm0
mov r8,QWORD PTR[rax*1+rcx] pshufd xmm1,xmm1,0
mov r9,QWORD PTR[8+rax*1+rcx] mov rsi,QWORD PTR[40+rsp]
neg r8 jmp $L$mulx4x_cond_copy
jmp $L$mulx4x_sub_entry
ALIGN 32 ALIGN 32
$L$mulx4x_sub:: $L$mulx4x_cond_copy::
mov r8,QWORD PTR[rax*1+rcx] movdqa xmm2,XMMWORD PTR[rbx]
mov r9,QWORD PTR[8+rax*1+rcx] movdqa xmm3,XMMWORD PTR[16+rbx]
not r8
$L$mulx4x_sub_entry::
mov r10,QWORD PTR[16+rax*1+rcx]
not r9
and r8,r15
mov r11,QWORD PTR[24+rax*1+rcx]
not r10
and r9,r15
not r11
and r10,r15
and r11,r15
neg rdx
adc r8,QWORD PTR[rbx]
adc r9,QWORD PTR[8+rbx]
movdqa XMMWORD PTR[rbx],xmm0
adc r10,QWORD PTR[16+rbx]
adc r11,QWORD PTR[24+rbx]
movdqa XMMWORD PTR[16+rbx],xmm0
lea rbx,QWORD PTR[32+rbx] lea rbx,QWORD PTR[32+rbx]
sbb rdx,rdx movdqu xmm4,XMMWORD PTR[rdi]
movdqu xmm5,XMMWORD PTR[16+rdi]
mov QWORD PTR[rdi],r8
mov QWORD PTR[8+rdi],r9
mov QWORD PTR[16+rdi],r10
mov QWORD PTR[24+rdi],r11
lea rdi,QWORD PTR[32+rdi] lea rdi,QWORD PTR[32+rdi]
movdqa XMMWORD PTR[(-32)+rbx],xmm0
movdqa XMMWORD PTR[(-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 PTR[(-32)+rdi],xmm4
movdqu XMMWORD PTR[(-16)+rdi],xmm5
sub rdx,32
jnz $L$mulx4x_cond_copy
add rax,32 mov QWORD PTR[rbx],rdx
jnz $L$mulx4x_sub
mov rsi,QWORD PTR[40+rsp]
mov rax,1 mov rax,1
mov r15,QWORD PTR[((-48))+rsi] mov r15,QWORD PTR[((-48))+rsi]
mov r14,QWORD PTR[((-40))+rsi] mov r14,QWORD PTR[((-40))+rsi]

1424
deps/openssl/asm/x64-win32-masm/bn/x86_64-mont5.asm

File diff suppressed because it is too large

22
deps/openssl/asm/x64-win32-masm/ec/ecp_nistz256-x86_64.asm

@ -1813,6 +1813,7 @@ $L$SEH_begin_ecp_nistz256_point_double::
push r15 push r15
sub rsp,32*5+8 sub rsp,32*5+8
$L$point_double_shortcutq::
movdqu xmm0,XMMWORD PTR[rsi] movdqu xmm0,XMMWORD PTR[rsi]
mov rbx,rsi mov rbx,rsi
movdqu xmm1,XMMWORD PTR[16+rsi] movdqu xmm1,XMMWORD PTR[16+rsi]
@ -2091,6 +2092,7 @@ DB 102,72,15,110,199
mov r14,QWORD PTR[((64+8))+rbx] mov r14,QWORD PTR[((64+8))+rbx]
mov r15,QWORD PTR[((64+16))+rbx] mov r15,QWORD PTR[((64+16))+rbx]
mov r8,QWORD PTR[((64+24))+rbx] mov r8,QWORD PTR[((64+24))+rbx]
DB 102,72,15,110,203
lea rsi,QWORD PTR[((64-0))+rbx] lea rsi,QWORD PTR[((64-0))+rbx]
lea rdi,QWORD PTR[32+rsp] lea rdi,QWORD PTR[32+rsp]
@ -2182,7 +2184,7 @@ DB 102,73,15,126,217
test r8,r8 test r8,r8
jnz $L$add_proceedq jnz $L$add_proceedq
test r9,r9 test r9,r9
jz $L$add_proceedq jz $L$add_doubleq
DB 102,72,15,126,199 DB 102,72,15,126,199
pxor xmm0,xmm0 pxor xmm0,xmm0
@ -2194,6 +2196,13 @@ DB 102,72,15,126,199
movdqu XMMWORD PTR[80+rdi],xmm0 movdqu XMMWORD PTR[80+rdi],xmm0
jmp $L$add_doneq jmp $L$add_doneq
ALIGN 32
$L$add_doubleq::
DB 102,72,15,126,206
DB 102,72,15,126,199
add rsp,416
jmp $L$point_double_shortcutq
ALIGN 32 ALIGN 32
$L$add_proceedq:: $L$add_proceedq::
mov rax,QWORD PTR[((0+64))+rsp] mov rax,QWORD PTR[((0+64))+rsp]
@ -2876,6 +2885,7 @@ $L$point_doublex::
push r15 push r15
sub rsp,32*5+8 sub rsp,32*5+8
$L$point_double_shortcutx::
movdqu xmm0,XMMWORD PTR[rsi] movdqu xmm0,XMMWORD PTR[rsi]
mov rbx,rsi mov rbx,rsi
movdqu xmm1,XMMWORD PTR[16+rsi] movdqu xmm1,XMMWORD PTR[16+rsi]
@ -3150,6 +3160,7 @@ DB 102,72,15,110,199
mov r14,QWORD PTR[((64+8))+rbx] mov r14,QWORD PTR[((64+8))+rbx]
mov r15,QWORD PTR[((64+16))+rbx] mov r15,QWORD PTR[((64+16))+rbx]
mov r8,QWORD PTR[((64+24))+rbx] mov r8,QWORD PTR[((64+24))+rbx]
DB 102,72,15,110,203
lea rsi,QWORD PTR[((64-128))+rbx] lea rsi,QWORD PTR[((64-128))+rbx]
lea rdi,QWORD PTR[32+rsp] lea rdi,QWORD PTR[32+rsp]
@ -3241,7 +3252,7 @@ DB 102,73,15,126,217
test r8,r8 test r8,r8
jnz $L$add_proceedx jnz $L$add_proceedx
test r9,r9 test r9,r9
jz $L$add_proceedx jz $L$add_doublex
DB 102,72,15,126,199 DB 102,72,15,126,199
pxor xmm0,xmm0 pxor xmm0,xmm0
@ -3253,6 +3264,13 @@ DB 102,72,15,126,199
movdqu XMMWORD PTR[80+rdi],xmm0 movdqu XMMWORD PTR[80+rdi],xmm0
jmp $L$add_donex jmp $L$add_donex
ALIGN 32
$L$add_doublex::
DB 102,72,15,126,206
DB 102,72,15,126,199
add rsp,416
jmp $L$point_double_shortcutx
ALIGN 32 ALIGN 32
$L$add_proceedx:: $L$add_proceedx::
mov rdx,QWORD PTR[((0+64))+rsp] mov rdx,QWORD PTR[((0+64))+rsp]

2
deps/openssl/asm/x64-win32-masm/modes/aesni-gcm-x86_64.asm

@ -412,7 +412,7 @@ $L$dec_no_key_aliasing::
vzeroupper vzeroupper
movaps xmm6,XMMWORD PTR[((-216))+rax] movaps xmm6,XMMWORD PTR[((-216))+rax]
movaps xmm7,XMMWORD PTR[((-216))+rax] movaps xmm7,XMMWORD PTR[((-200))+rax]
movaps xmm8,XMMWORD PTR[((-184))+rax] movaps xmm8,XMMWORD PTR[((-184))+rax]
movaps xmm9,XMMWORD PTR[((-168))+rax] movaps xmm9,XMMWORD PTR[((-168))+rax]
movaps xmm10,XMMWORD PTR[((-152))+rax] movaps xmm10,XMMWORD PTR[((-152))+rax]

1175
deps/openssl/asm/x86-elf-gas/sha/sha1-586.s

File diff suppressed because it is too large

2248
deps/openssl/asm/x86-elf-gas/sha/sha256-586.s

File diff suppressed because it is too large

1173
deps/openssl/asm/x86-macosx-gas/sha/sha1-586.s

File diff suppressed because it is too large

2248
deps/openssl/asm/x86-macosx-gas/sha/sha256-586.s

File diff suppressed because it is too large

1174
deps/openssl/asm/x86-win32-masm/sha/sha1-586.asm

File diff suppressed because it is too large

2248
deps/openssl/asm/x86-win32-masm/sha/sha256-586.asm

File diff suppressed because it is too large

70
deps/openssl/asm_obsolete/x64-elf-gas/aes/aes-x86_64.s

@ -81,8 +81,8 @@ _x86_64_AES_encrypt:
movl 0(%r14,%rdi,8),%edi movl 0(%r14,%rdi,8),%edi
movl 0(%r14,%rbp,8),%ebp movl 0(%r14,%rbp,8),%ebp
andl $65280,%edi andl $0x0000ff00,%edi
andl $65280,%ebp andl $0x0000ff00,%ebp
xorl %edi,%r10d xorl %edi,%r10d
xorl %ebp,%r11d xorl %ebp,%r11d
@ -94,8 +94,8 @@ _x86_64_AES_encrypt:
movl 0(%r14,%rsi,8),%esi movl 0(%r14,%rsi,8),%esi
movl 0(%r14,%rdi,8),%edi movl 0(%r14,%rdi,8),%edi
andl $65280,%esi andl $0x0000ff00,%esi
andl $65280,%edi andl $0x0000ff00,%edi
shrl $16,%ebx shrl $16,%ebx
xorl %esi,%r12d xorl %esi,%r12d
xorl %edi,%r8d xorl %edi,%r8d
@ -108,9 +108,9 @@ _x86_64_AES_encrypt:
movl 0(%r14,%rdi,8),%edi movl 0(%r14,%rdi,8),%edi
movl 0(%r14,%rbp,8),%ebp movl 0(%r14,%rbp,8),%ebp
andl $16711680,%esi andl $0x00ff0000,%esi
andl $16711680,%edi andl $0x00ff0000,%edi
andl $16711680,%ebp andl $0x00ff0000,%ebp
xorl %esi,%r10d xorl %esi,%r10d
xorl %edi,%r11d xorl %edi,%r11d
@ -123,9 +123,9 @@ _x86_64_AES_encrypt:
movl 2(%r14,%rdi,8),%edi movl 2(%r14,%rdi,8),%edi
movl 2(%r14,%rbp,8),%ebp movl 2(%r14,%rbp,8),%ebp
andl $16711680,%esi andl $0x00ff0000,%esi
andl $4278190080,%edi andl $0xff000000,%edi
andl $4278190080,%ebp andl $0xff000000,%ebp
xorl %esi,%r8d xorl %esi,%r8d
xorl %edi,%r10d xorl %edi,%r10d
@ -138,8 +138,8 @@ _x86_64_AES_encrypt:
movl 2(%r14,%rdi,8),%edi movl 2(%r14,%rdi,8),%edi
movl 16+0(%r15),%eax movl 16+0(%r15),%eax
andl $4278190080,%esi andl $0xff000000,%esi
andl $4278190080,%edi andl $0xff000000,%edi
xorl %esi,%r12d xorl %esi,%r12d
xorl %edi,%r8d xorl %edi,%r8d
@ -241,8 +241,8 @@ _x86_64_AES_encrypt_compact:
xorl %r8d,%edx xorl %r8d,%edx
cmpq 16(%rsp),%r15 cmpq 16(%rsp),%r15
je .Lenc_compact_done je .Lenc_compact_done
movl $2155905152,%r10d movl $0x80808080,%r10d
movl $2155905152,%r11d movl $0x80808080,%r11d
andl %eax,%r10d andl %eax,%r10d
andl %ebx,%r11d andl %ebx,%r11d
movl %r10d,%esi movl %r10d,%esi
@ -253,10 +253,10 @@ _x86_64_AES_encrypt_compact:
leal (%rbx,%rbx,1),%r9d leal (%rbx,%rbx,1),%r9d
subl %r10d,%esi subl %r10d,%esi
subl %r11d,%edi subl %r11d,%edi
andl $4278124286,%r8d andl $0xfefefefe,%r8d
andl $4278124286,%r9d andl $0xfefefefe,%r9d
andl $454761243,%esi andl $0x1b1b1b1b,%esi
andl $454761243,%edi andl $0x1b1b1b1b,%edi
movl %eax,%r10d movl %eax,%r10d
movl %ebx,%r11d movl %ebx,%r11d
xorl %esi,%r8d xorl %esi,%r8d
@ -264,9 +264,9 @@ _x86_64_AES_encrypt_compact:
xorl %r8d,%eax xorl %r8d,%eax
xorl %r9d,%ebx xorl %r9d,%ebx
movl $2155905152,%r12d movl $0x80808080,%r12d
roll $24,%eax roll $24,%eax
movl $2155905152,%ebp movl $0x80808080,%ebp
roll $24,%ebx roll $24,%ebx
andl %ecx,%r12d andl %ecx,%r12d
andl %edx,%ebp andl %edx,%ebp
@ -289,10 +289,10 @@ _x86_64_AES_encrypt_compact:
xorl %r10d,%eax xorl %r10d,%eax
xorl %r11d,%ebx xorl %r11d,%ebx
andl $4278124286,%r8d andl $0xfefefefe,%r8d
andl $4278124286,%r9d andl $0xfefefefe,%r9d
andl $454761243,%esi andl $0x1b1b1b1b,%esi
andl $454761243,%edi andl $0x1b1b1b1b,%edi
movl %ecx,%r12d movl %ecx,%r12d
movl %edx,%ebp movl %edx,%ebp
xorl %esi,%r8d xorl %esi,%r8d
@ -345,7 +345,7 @@ AES_encrypt:
andq $-64,%rsp andq $-64,%rsp
subq %rsp,%rcx subq %rsp,%rcx
negq %rcx negq %rcx
andq $960,%rcx andq $0x3c0,%rcx
subq %rcx,%rsp subq %rcx,%rsp
subq $32,%rsp subq $32,%rsp
@ -370,7 +370,7 @@ AES_encrypt:
leaq .LAES_Te+2048(%rip),%r14 leaq .LAES_Te+2048(%rip),%r14
leaq 768(%rsp),%rbp leaq 768(%rsp),%rbp
subq %r14,%rbp subq %r14,%rbp
andq $768,%rbp andq $0x300,%rbp
leaq (%r14,%rbp,1),%r14 leaq (%r14,%rbp,1),%r14
call _x86_64_AES_encrypt_compact call _x86_64_AES_encrypt_compact
@ -792,7 +792,7 @@ AES_decrypt:
andq $-64,%rsp andq $-64,%rsp
subq %rsp,%rcx subq %rsp,%rcx
negq %rcx negq %rcx
andq $960,%rcx andq $0x3c0,%rcx
subq %rcx,%rsp subq %rcx,%rsp
subq $32,%rsp subq $32,%rsp
@ -817,7 +817,7 @@ AES_decrypt:
leaq .LAES_Td+2048(%rip),%r14 leaq .LAES_Td+2048(%rip),%r14
leaq 768(%rsp),%rbp leaq 768(%rsp),%rbp
subq %r14,%rbp subq %r14,%rbp
andq $768,%rbp andq $0x300,%rbp
leaq (%r14,%rbp,1),%r14 leaq (%r14,%rbp,1),%r14
shrq $3,%rbp shrq $3,%rbp
addq %rbp,%r14 addq %rbp,%r14
@ -1333,9 +1333,9 @@ AES_cbc_encrypt:
movq %r14,%r10 movq %r14,%r10
leaq 2304(%r14),%r11 leaq 2304(%r14),%r11
movq %r15,%r12 movq %r15,%r12
andq $4095,%r10 andq $0xFFF,%r10
andq $4095,%r11 andq $0xFFF,%r11
andq $4095,%r12 andq $0xFFF,%r12
cmpq %r11,%r12 cmpq %r11,%r12
jb .Lcbc_te_break_out jb .Lcbc_te_break_out
@ -1344,7 +1344,7 @@ AES_cbc_encrypt:
jmp .Lcbc_te_ok jmp .Lcbc_te_ok
.Lcbc_te_break_out: .Lcbc_te_break_out:
subq %r10,%r12 subq %r10,%r12
andq $4095,%r12 andq $0xFFF,%r12
addq $320,%r12 addq $320,%r12
subq %r12,%r15 subq %r12,%r15
.align 4 .align 4
@ -1370,7 +1370,7 @@ AES_cbc_encrypt:
movq %r15,%r10 movq %r15,%r10
subq %r14,%r10 subq %r14,%r10
andq $4095,%r10 andq $0xfff,%r10
cmpq $2304,%r10 cmpq $2304,%r10
jb .Lcbc_do_ecopy jb .Lcbc_do_ecopy
cmpq $4096-248,%r10 cmpq $4096-248,%r10
@ -1557,7 +1557,7 @@ AES_cbc_encrypt:
leaq -88-63(%rcx),%r10 leaq -88-63(%rcx),%r10
subq %rbp,%r10 subq %rbp,%r10
negq %r10 negq %r10
andq $960,%r10 andq $0x3c0,%r10
subq %r10,%rbp subq %r10,%rbp
xchgq %rsp,%rbp xchgq %rsp,%rbp
@ -1586,7 +1586,7 @@ AES_cbc_encrypt:
leaq 2048(%r14),%r14 leaq 2048(%r14),%r14
leaq 768-8(%rsp),%rax leaq 768-8(%rsp),%rax
subq %r14,%rax subq %r14,%rax
andq $768,%rax andq $0x300,%rax
leaq (%r14,%rax,1),%r14 leaq (%r14,%rax,1),%r14
cmpq $0,%rbx cmpq $0,%rbx

8
deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s

@ -1392,8 +1392,8 @@ aesni_cbc_sha1_enc_shaext:
movups 16(%rcx),%xmm0 movups 16(%rcx),%xmm0
leaq 112(%rcx),%rcx leaq 112(%rcx),%rcx
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
pshufd $27,%xmm9,%xmm9 pshufd $0b00011011,%xmm9,%xmm9
jmp .Loop_shaext jmp .Loop_shaext
.align 16 .align 16
@ -1672,8 +1672,8 @@ aesni_cbc_sha1_enc_shaext:
leaq 64(%rdi),%rdi leaq 64(%rdi),%rdi
jnz .Loop_shaext jnz .Loop_shaext
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
pshufd $27,%xmm9,%xmm9 pshufd $0b00011011,%xmm9,%xmm9
movups %xmm2,(%r8) movups %xmm2,(%r8)
movdqu %xmm8,(%r9) movdqu %xmm8,(%r9)
movd %xmm9,16(%r9) movd %xmm9,16(%r9)

112
deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-x86_64.s

@ -503,7 +503,7 @@ aesni_ecb_encrypt:
testl %r8d,%r8d testl %r8d,%r8d
jz .Lecb_decrypt jz .Lecb_decrypt
cmpq $128,%rdx cmpq $0x80,%rdx
jb .Lecb_enc_tail jb .Lecb_enc_tail
movdqu (%rdi),%xmm2 movdqu (%rdi),%xmm2
@ -515,7 +515,7 @@ aesni_ecb_encrypt:
movdqu 96(%rdi),%xmm8 movdqu 96(%rdi),%xmm8
movdqu 112(%rdi),%xmm9 movdqu 112(%rdi),%xmm9
leaq 128(%rdi),%rdi leaq 128(%rdi),%rdi
subq $128,%rdx subq $0x80,%rdx
jmp .Lecb_enc_loop8_enter jmp .Lecb_enc_loop8_enter
.align 16 .align 16
.Lecb_enc_loop8: .Lecb_enc_loop8:
@ -543,7 +543,7 @@ aesni_ecb_encrypt:
call _aesni_encrypt8 call _aesni_encrypt8
subq $128,%rdx subq $0x80,%rdx
jnc .Lecb_enc_loop8 jnc .Lecb_enc_loop8
movups %xmm2,(%rsi) movups %xmm2,(%rsi)
@ -557,22 +557,22 @@ aesni_ecb_encrypt:
movups %xmm8,96(%rsi) movups %xmm8,96(%rsi)
movups %xmm9,112(%rsi) movups %xmm9,112(%rsi)
leaq 128(%rsi),%rsi leaq 128(%rsi),%rsi
addq $128,%rdx addq $0x80,%rdx
jz .Lecb_ret jz .Lecb_ret
.Lecb_enc_tail: .Lecb_enc_tail:
movups (%rdi),%xmm2 movups (%rdi),%xmm2
cmpq $32,%rdx cmpq $0x20,%rdx
jb .Lecb_enc_one jb .Lecb_enc_one
movups 16(%rdi),%xmm3 movups 16(%rdi),%xmm3
je .Lecb_enc_two je .Lecb_enc_two
movups 32(%rdi),%xmm4 movups 32(%rdi),%xmm4
cmpq $64,%rdx cmpq $0x40,%rdx
jb .Lecb_enc_three jb .Lecb_enc_three
movups 48(%rdi),%xmm5 movups 48(%rdi),%xmm5
je .Lecb_enc_four je .Lecb_enc_four
movups 64(%rdi),%xmm6 movups 64(%rdi),%xmm6
cmpq $96,%rdx cmpq $0x60,%rdx
jb .Lecb_enc_five jb .Lecb_enc_five
movups 80(%rdi),%xmm7 movups 80(%rdi),%xmm7
je .Lecb_enc_six je .Lecb_enc_six
@ -646,7 +646,7 @@ aesni_ecb_encrypt:
.align 16 .align 16
.Lecb_decrypt: .Lecb_decrypt:
cmpq $128,%rdx cmpq $0x80,%rdx
jb .Lecb_dec_tail jb .Lecb_dec_tail
movdqu (%rdi),%xmm2 movdqu (%rdi),%xmm2
@ -658,7 +658,7 @@ aesni_ecb_encrypt:
movdqu 96(%rdi),%xmm8 movdqu 96(%rdi),%xmm8
movdqu 112(%rdi),%xmm9 movdqu 112(%rdi),%xmm9
leaq 128(%rdi),%rdi leaq 128(%rdi),%rdi
subq $128,%rdx subq $0x80,%rdx
jmp .Lecb_dec_loop8_enter jmp .Lecb_dec_loop8_enter
.align 16 .align 16
.Lecb_dec_loop8: .Lecb_dec_loop8:
@ -687,7 +687,7 @@ aesni_ecb_encrypt:
call _aesni_decrypt8 call _aesni_decrypt8
movups (%r11),%xmm0 movups (%r11),%xmm0
subq $128,%rdx subq $0x80,%rdx
jnc .Lecb_dec_loop8 jnc .Lecb_dec_loop8
movups %xmm2,(%rsi) movups %xmm2,(%rsi)
@ -709,22 +709,22 @@ aesni_ecb_encrypt:
movups %xmm9,112(%rsi) movups %xmm9,112(%rsi)
pxor %xmm9,%xmm9 pxor %xmm9,%xmm9
leaq 128(%rsi),%rsi leaq 128(%rsi),%rsi
addq $128,%rdx addq $0x80,%rdx
jz .Lecb_ret jz .Lecb_ret
.Lecb_dec_tail: .Lecb_dec_tail:
movups (%rdi),%xmm2 movups (%rdi),%xmm2
cmpq $32,%rdx cmpq $0x20,%rdx
jb .Lecb_dec_one jb .Lecb_dec_one
movups 16(%rdi),%xmm3 movups 16(%rdi),%xmm3
je .Lecb_dec_two je .Lecb_dec_two
movups 32(%rdi),%xmm4 movups 32(%rdi),%xmm4
cmpq $64,%rdx cmpq $0x40,%rdx
jb .Lecb_dec_three jb .Lecb_dec_three
movups 48(%rdi),%xmm5 movups 48(%rdi),%xmm5
je .Lecb_dec_four je .Lecb_dec_four
movups 64(%rdi),%xmm6 movups 64(%rdi),%xmm6
cmpq $96,%rdx cmpq $0x60,%rdx
jb .Lecb_dec_five jb .Lecb_dec_five
movups 80(%rdi),%xmm7 movups 80(%rdi),%xmm7
je .Lecb_dec_six je .Lecb_dec_six
@ -1598,7 +1598,7 @@ aesni_xts_encrypt:
movdqa .Lxts_magic(%rip),%xmm8 movdqa .Lxts_magic(%rip),%xmm8
movdqa %xmm2,%xmm15 movdqa %xmm2,%xmm15
pshufd $95,%xmm2,%xmm9 pshufd $0x5f,%xmm2,%xmm9
pxor %xmm0,%xmm1 pxor %xmm0,%xmm1
movdqa %xmm9,%xmm14 movdqa %xmm9,%xmm14
paddd %xmm9,%xmm9 paddd %xmm9,%xmm9
@ -1697,7 +1697,7 @@ aesni_xts_encrypt:
.byte 102,15,56,220,248 .byte 102,15,56,220,248
movups 64(%r11),%xmm0 movups 64(%r11),%xmm0
movdqa %xmm8,80(%rsp) movdqa %xmm8,80(%rsp)
pshufd $95,%xmm15,%xmm9 pshufd $0x5f,%xmm15,%xmm9
jmp .Lxts_enc_loop6 jmp .Lxts_enc_loop6
.align 32 .align 32
.Lxts_enc_loop6: .Lxts_enc_loop6:
@ -1836,13 +1836,13 @@ aesni_xts_encrypt:
jz .Lxts_enc_done jz .Lxts_enc_done
pxor %xmm0,%xmm11 pxor %xmm0,%xmm11
cmpq $32,%rdx cmpq $0x20,%rdx
jb .Lxts_enc_one jb .Lxts_enc_one
pxor %xmm0,%xmm12 pxor %xmm0,%xmm12
je .Lxts_enc_two je .Lxts_enc_two
pxor %xmm0,%xmm13 pxor %xmm0,%xmm13
cmpq $64,%rdx cmpq $0x40,%rdx
jb .Lxts_enc_three jb .Lxts_enc_three
pxor %xmm0,%xmm14 pxor %xmm0,%xmm14
je .Lxts_enc_four je .Lxts_enc_four
@ -2069,7 +2069,7 @@ aesni_xts_decrypt:
movdqa .Lxts_magic(%rip),%xmm8 movdqa .Lxts_magic(%rip),%xmm8
movdqa %xmm2,%xmm15 movdqa %xmm2,%xmm15
pshufd $95,%xmm2,%xmm9 pshufd $0x5f,%xmm2,%xmm9
pxor %xmm0,%xmm1 pxor %xmm0,%xmm1
movdqa %xmm9,%xmm14 movdqa %xmm9,%xmm14
paddd %xmm9,%xmm9 paddd %xmm9,%xmm9
@ -2168,7 +2168,7 @@ aesni_xts_decrypt:
.byte 102,15,56,222,248 .byte 102,15,56,222,248
movups 64(%r11),%xmm0 movups 64(%r11),%xmm0
movdqa %xmm8,80(%rsp) movdqa %xmm8,80(%rsp)
pshufd $95,%xmm15,%xmm9 pshufd $0x5f,%xmm15,%xmm9
jmp .Lxts_dec_loop6 jmp .Lxts_dec_loop6
.align 32 .align 32
.Lxts_dec_loop6: .Lxts_dec_loop6:
@ -2308,13 +2308,13 @@ aesni_xts_decrypt:
jz .Lxts_dec_done jz .Lxts_dec_done
pxor %xmm0,%xmm12 pxor %xmm0,%xmm12
cmpq $32,%rdx cmpq $0x20,%rdx
jb .Lxts_dec_one jb .Lxts_dec_one
pxor %xmm0,%xmm13 pxor %xmm0,%xmm13
je .Lxts_dec_two je .Lxts_dec_two
pxor %xmm0,%xmm14 pxor %xmm0,%xmm14
cmpq $64,%rdx cmpq $0x40,%rdx
jb .Lxts_dec_three jb .Lxts_dec_three
je .Lxts_dec_four je .Lxts_dec_four
@ -2345,7 +2345,7 @@ aesni_xts_decrypt:
pcmpgtd %xmm15,%xmm14 pcmpgtd %xmm15,%xmm14
movdqu %xmm6,64(%rsi) movdqu %xmm6,64(%rsi)
leaq 80(%rsi),%rsi leaq 80(%rsi),%rsi
pshufd $19,%xmm14,%xmm11 pshufd $0x13,%xmm14,%xmm11
andq $15,%r9 andq $15,%r9
jz .Lxts_dec_ret jz .Lxts_dec_ret
@ -2634,7 +2634,7 @@ aesni_cbc_encrypt:
leaq -8(%rax),%rbp leaq -8(%rax),%rbp
movups (%r8),%xmm10 movups (%r8),%xmm10
movl %r10d,%eax movl %r10d,%eax
cmpq $80,%rdx cmpq $0x50,%rdx
jbe .Lcbc_dec_tail jbe .Lcbc_dec_tail
movups (%rcx),%xmm0 movups (%rcx),%xmm0
@ -2650,14 +2650,14 @@ aesni_cbc_encrypt:
movdqu 80(%rdi),%xmm7 movdqu 80(%rdi),%xmm7
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movl OPENSSL_ia32cap_P+4(%rip),%r9d movl OPENSSL_ia32cap_P+4(%rip),%r9d
cmpq $112,%rdx cmpq $0x70,%rdx
jbe .Lcbc_dec_six_or_seven jbe .Lcbc_dec_six_or_seven
andl $71303168,%r9d andl $71303168,%r9d
subq $80,%rdx subq $0x50,%rdx
cmpl $4194304,%r9d cmpl $4194304,%r9d
je .Lcbc_dec_loop6_enter je .Lcbc_dec_loop6_enter
subq $32,%rdx subq $0x20,%rdx
leaq 112(%rcx),%rcx leaq 112(%rcx),%rcx
jmp .Lcbc_dec_loop8_enter jmp .Lcbc_dec_loop8_enter
.align 16 .align 16
@ -2672,7 +2672,7 @@ aesni_cbc_encrypt:
movups 16-112(%rcx),%xmm1 movups 16-112(%rcx),%xmm1
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
xorq %r11,%r11 xorq %r11,%r11
cmpq $112,%rdx cmpq $0x70,%rdx
pxor %xmm0,%xmm5 pxor %xmm0,%xmm5
pxor %xmm0,%xmm6 pxor %xmm0,%xmm6
pxor %xmm0,%xmm7 pxor %xmm0,%xmm7
@ -2857,21 +2857,21 @@ aesni_cbc_encrypt:
movups %xmm8,96(%rsi) movups %xmm8,96(%rsi)
leaq 112(%rsi),%rsi leaq 112(%rsi),%rsi
subq $128,%rdx subq $0x80,%rdx
ja .Lcbc_dec_loop8 ja .Lcbc_dec_loop8
movaps %xmm9,%xmm2 movaps %xmm9,%xmm2
leaq -112(%rcx),%rcx leaq -112(%rcx),%rcx
addq $112,%rdx addq $0x70,%rdx
jle .Lcbc_dec_clear_tail_collected jle .Lcbc_dec_clear_tail_collected
movups %xmm9,(%rsi) movups %xmm9,(%rsi)
leaq 16(%rsi),%rsi leaq 16(%rsi),%rsi
cmpq $80,%rdx cmpq $0x50,%rdx
jbe .Lcbc_dec_tail jbe .Lcbc_dec_tail
movaps %xmm11,%xmm2 movaps %xmm11,%xmm2
.Lcbc_dec_six_or_seven: .Lcbc_dec_six_or_seven:
cmpq $96,%rdx cmpq $0x60,%rdx
ja .Lcbc_dec_seven ja .Lcbc_dec_seven
movaps %xmm7,%xmm8 movaps %xmm7,%xmm8
@ -2964,33 +2964,33 @@ aesni_cbc_encrypt:
movl %r10d,%eax movl %r10d,%eax
movdqu %xmm6,64(%rsi) movdqu %xmm6,64(%rsi)
leaq 80(%rsi),%rsi leaq 80(%rsi),%rsi
subq $96,%rdx subq $0x60,%rdx
ja .Lcbc_dec_loop6 ja .Lcbc_dec_loop6
movdqa %xmm7,%xmm2 movdqa %xmm7,%xmm2
addq $80,%rdx addq $0x50,%rdx
jle .Lcbc_dec_clear_tail_collected jle .Lcbc_dec_clear_tail_collected
movups %xmm7,(%rsi) movups %xmm7,(%rsi)
leaq 16(%rsi),%rsi leaq 16(%rsi),%rsi
.Lcbc_dec_tail: .Lcbc_dec_tail:
movups (%rdi),%xmm2 movups (%rdi),%xmm2
subq $16,%rdx subq $0x10,%rdx
jbe .Lcbc_dec_one jbe .Lcbc_dec_one
movups 16(%rdi),%xmm3 movups 16(%rdi),%xmm3
movaps %xmm2,%xmm11 movaps %xmm2,%xmm11
subq $16,%rdx subq $0x10,%rdx
jbe .Lcbc_dec_two jbe .Lcbc_dec_two
movups 32(%rdi),%xmm4 movups 32(%rdi),%xmm4
movaps %xmm3,%xmm12 movaps %xmm3,%xmm12
subq $16,%rdx subq $0x10,%rdx
jbe .Lcbc_dec_three jbe .Lcbc_dec_three
movups 48(%rdi),%xmm5 movups 48(%rdi),%xmm5
movaps %xmm4,%xmm13 movaps %xmm4,%xmm13
subq $16,%rdx subq $0x10,%rdx
jbe .Lcbc_dec_four jbe .Lcbc_dec_four
movups 64(%rdi),%xmm6 movups 64(%rdi),%xmm6
@ -3015,7 +3015,7 @@ aesni_cbc_encrypt:
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
pxor %xmm6,%xmm6 pxor %xmm6,%xmm6
pxor %xmm7,%xmm7 pxor %xmm7,%xmm7
subq $16,%rdx subq $0x10,%rdx
jmp .Lcbc_dec_tail_collected jmp .Lcbc_dec_tail_collected
.align 16 .align 16
@ -3332,7 +3332,7 @@ __aesni_set_encrypt_key:
pslldq $4,%xmm0 pslldq $4,%xmm0
pxor %xmm3,%xmm0 pxor %xmm3,%xmm0
pshufd $255,%xmm0,%xmm3 pshufd $0xff,%xmm0,%xmm3
pxor %xmm1,%xmm3 pxor %xmm1,%xmm3
pslldq $4,%xmm1 pslldq $4,%xmm1
pxor %xmm1,%xmm3 pxor %xmm1,%xmm3
@ -3419,7 +3419,7 @@ __aesni_set_encrypt_key:
decl %r10d decl %r10d
jz .Ldone_key256 jz .Ldone_key256
pshufd $255,%xmm0,%xmm2 pshufd $0xff,%xmm0,%xmm2
pxor %xmm3,%xmm3 pxor %xmm3,%xmm3
.byte 102,15,56,221,211 .byte 102,15,56,221,211
@ -3462,11 +3462,11 @@ __aesni_set_encrypt_key:
movups %xmm0,(%rax) movups %xmm0,(%rax)
leaq 16(%rax),%rax leaq 16(%rax),%rax
.Lkey_expansion_128_cold: .Lkey_expansion_128_cold:
shufps $16,%xmm0,%xmm4 shufps $0b00010000,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $140,%xmm0,%xmm4 shufps $0b10001100,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $255,%xmm1,%xmm1 shufps $0b11111111,%xmm1,%xmm1
xorps %xmm1,%xmm0 xorps %xmm1,%xmm0
.byte 0xf3,0xc3 .byte 0xf3,0xc3
@ -3477,25 +3477,25 @@ __aesni_set_encrypt_key:
.Lkey_expansion_192a_cold: .Lkey_expansion_192a_cold:
movaps %xmm2,%xmm5 movaps %xmm2,%xmm5
.Lkey_expansion_192b_warm: .Lkey_expansion_192b_warm:
shufps $16,%xmm0,%xmm4 shufps $0b00010000,%xmm0,%xmm4
movdqa %xmm2,%xmm3 movdqa %xmm2,%xmm3
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $140,%xmm0,%xmm4 shufps $0b10001100,%xmm0,%xmm4
pslldq $4,%xmm3 pslldq $4,%xmm3
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
pshufd $85,%xmm1,%xmm1 pshufd $0b01010101,%xmm1,%xmm1
pxor %xmm3,%xmm2 pxor %xmm3,%xmm2
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $255,%xmm0,%xmm3 pshufd $0b11111111,%xmm0,%xmm3
pxor %xmm3,%xmm2 pxor %xmm3,%xmm2
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.align 16 .align 16
.Lkey_expansion_192b: .Lkey_expansion_192b:
movaps %xmm0,%xmm3 movaps %xmm0,%xmm3
shufps $68,%xmm0,%xmm5 shufps $0b01000100,%xmm0,%xmm5
movups %xmm5,(%rax) movups %xmm5,(%rax)
shufps $78,%xmm2,%xmm3 shufps $0b01001110,%xmm2,%xmm3
movups %xmm3,16(%rax) movups %xmm3,16(%rax)
leaq 32(%rax),%rax leaq 32(%rax),%rax
jmp .Lkey_expansion_192b_warm jmp .Lkey_expansion_192b_warm
@ -3505,11 +3505,11 @@ __aesni_set_encrypt_key:
movups %xmm2,(%rax) movups %xmm2,(%rax)
leaq 16(%rax),%rax leaq 16(%rax),%rax
.Lkey_expansion_256a_cold: .Lkey_expansion_256a_cold:
shufps $16,%xmm0,%xmm4 shufps $0b00010000,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $140,%xmm0,%xmm4 shufps $0b10001100,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $255,%xmm1,%xmm1 shufps $0b11111111,%xmm1,%xmm1
xorps %xmm1,%xmm0 xorps %xmm1,%xmm0
.byte 0xf3,0xc3 .byte 0xf3,0xc3
@ -3518,11 +3518,11 @@ __aesni_set_encrypt_key:
movups %xmm0,(%rax) movups %xmm0,(%rax)
leaq 16(%rax),%rax leaq 16(%rax),%rax
shufps $16,%xmm2,%xmm4 shufps $0b00010000,%xmm2,%xmm4
xorps %xmm4,%xmm2 xorps %xmm4,%xmm2
shufps $140,%xmm2,%xmm4 shufps $0b10001100,%xmm2,%xmm4
xorps %xmm4,%xmm2 xorps %xmm4,%xmm2
shufps $170,%xmm1,%xmm1 shufps $0b10101010,%xmm1,%xmm1
xorps %xmm1,%xmm2 xorps %xmm1,%xmm2
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size aesni_set_encrypt_key,.-aesni_set_encrypt_key

158
deps/openssl/asm_obsolete/x64-elf-gas/aes/bsaes-x86_64.s

@ -324,45 +324,45 @@ _bsaes_encrypt8_bitslice:
pxor %xmm2,%xmm5 pxor %xmm2,%xmm5
decl %r10d decl %r10d
jl .Lenc_done jl .Lenc_done
pshufd $147,%xmm15,%xmm7 pshufd $0x93,%xmm15,%xmm7
pshufd $147,%xmm0,%xmm8 pshufd $0x93,%xmm0,%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $147,%xmm3,%xmm9 pshufd $0x93,%xmm3,%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $147,%xmm5,%xmm10 pshufd $0x93,%xmm5,%xmm10
pxor %xmm9,%xmm3 pxor %xmm9,%xmm3
pshufd $147,%xmm2,%xmm11 pshufd $0x93,%xmm2,%xmm11
pxor %xmm10,%xmm5 pxor %xmm10,%xmm5
pshufd $147,%xmm6,%xmm12 pshufd $0x93,%xmm6,%xmm12
pxor %xmm11,%xmm2 pxor %xmm11,%xmm2
pshufd $147,%xmm1,%xmm13 pshufd $0x93,%xmm1,%xmm13
pxor %xmm12,%xmm6 pxor %xmm12,%xmm6
pshufd $147,%xmm4,%xmm14 pshufd $0x93,%xmm4,%xmm14
pxor %xmm13,%xmm1 pxor %xmm13,%xmm1
pxor %xmm14,%xmm4 pxor %xmm14,%xmm4
pxor %xmm15,%xmm8 pxor %xmm15,%xmm8
pxor %xmm4,%xmm7 pxor %xmm4,%xmm7
pxor %xmm4,%xmm8 pxor %xmm4,%xmm8
pshufd $78,%xmm15,%xmm15 pshufd $0x4E,%xmm15,%xmm15
pxor %xmm0,%xmm9 pxor %xmm0,%xmm9
pshufd $78,%xmm0,%xmm0 pshufd $0x4E,%xmm0,%xmm0
pxor %xmm2,%xmm12 pxor %xmm2,%xmm12
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pxor %xmm6,%xmm13 pxor %xmm6,%xmm13
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm5,%xmm11 pxor %xmm5,%xmm11
pshufd $78,%xmm2,%xmm7 pshufd $0x4E,%xmm2,%xmm7
pxor %xmm1,%xmm14 pxor %xmm1,%xmm14
pshufd $78,%xmm6,%xmm8 pshufd $0x4E,%xmm6,%xmm8
pxor %xmm3,%xmm10 pxor %xmm3,%xmm10
pshufd $78,%xmm5,%xmm2 pshufd $0x4E,%xmm5,%xmm2
pxor %xmm4,%xmm10 pxor %xmm4,%xmm10
pshufd $78,%xmm4,%xmm6 pshufd $0x4E,%xmm4,%xmm6
pxor %xmm4,%xmm11 pxor %xmm4,%xmm11
pshufd $78,%xmm1,%xmm5 pshufd $0x4E,%xmm1,%xmm5
pxor %xmm11,%xmm7 pxor %xmm11,%xmm7
pshufd $78,%xmm3,%xmm1 pshufd $0x4E,%xmm3,%xmm1
pxor %xmm12,%xmm8 pxor %xmm12,%xmm8
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pxor %xmm14,%xmm6 pxor %xmm14,%xmm6
@ -796,24 +796,24 @@ _bsaes_decrypt8:
decl %r10d decl %r10d
jl .Ldec_done jl .Ldec_done
pshufd $78,%xmm15,%xmm7 pshufd $0x4E,%xmm15,%xmm7
pshufd $78,%xmm2,%xmm13 pshufd $0x4E,%xmm2,%xmm13
pxor %xmm15,%xmm7 pxor %xmm15,%xmm7
pshufd $78,%xmm4,%xmm14 pshufd $0x4E,%xmm4,%xmm14
pxor %xmm2,%xmm13 pxor %xmm2,%xmm13
pshufd $78,%xmm0,%xmm8 pshufd $0x4E,%xmm0,%xmm8
pxor %xmm4,%xmm14 pxor %xmm4,%xmm14
pshufd $78,%xmm5,%xmm9 pshufd $0x4E,%xmm5,%xmm9
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
pshufd $78,%xmm3,%xmm10 pshufd $0x4E,%xmm3,%xmm10
pxor %xmm5,%xmm9 pxor %xmm5,%xmm9
pxor %xmm13,%xmm15 pxor %xmm13,%xmm15
pxor %xmm13,%xmm0 pxor %xmm13,%xmm0
pshufd $78,%xmm1,%xmm11 pshufd $0x4E,%xmm1,%xmm11
pxor %xmm3,%xmm10 pxor %xmm3,%xmm10
pxor %xmm7,%xmm5 pxor %xmm7,%xmm5
pxor %xmm8,%xmm3 pxor %xmm8,%xmm3
pshufd $78,%xmm6,%xmm12 pshufd $0x4E,%xmm6,%xmm12
pxor %xmm1,%xmm11 pxor %xmm1,%xmm11
pxor %xmm14,%xmm0 pxor %xmm14,%xmm0
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
@ -827,45 +827,45 @@ _bsaes_decrypt8:
pxor %xmm14,%xmm1 pxor %xmm14,%xmm1
pxor %xmm14,%xmm6 pxor %xmm14,%xmm6
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
pshufd $147,%xmm15,%xmm7 pshufd $0x93,%xmm15,%xmm7
pshufd $147,%xmm0,%xmm8 pshufd $0x93,%xmm0,%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $147,%xmm5,%xmm9 pshufd $0x93,%xmm5,%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $147,%xmm3,%xmm10 pshufd $0x93,%xmm3,%xmm10
pxor %xmm9,%xmm5 pxor %xmm9,%xmm5
pshufd $147,%xmm1,%xmm11 pshufd $0x93,%xmm1,%xmm11
pxor %xmm10,%xmm3 pxor %xmm10,%xmm3
pshufd $147,%xmm6,%xmm12 pshufd $0x93,%xmm6,%xmm12
pxor %xmm11,%xmm1 pxor %xmm11,%xmm1
pshufd $147,%xmm2,%xmm13 pshufd $0x93,%xmm2,%xmm13
pxor %xmm12,%xmm6 pxor %xmm12,%xmm6
pshufd $147,%xmm4,%xmm14 pshufd $0x93,%xmm4,%xmm14
pxor %xmm13,%xmm2 pxor %xmm13,%xmm2
pxor %xmm14,%xmm4 pxor %xmm14,%xmm4
pxor %xmm15,%xmm8 pxor %xmm15,%xmm8
pxor %xmm4,%xmm7 pxor %xmm4,%xmm7
pxor %xmm4,%xmm8 pxor %xmm4,%xmm8
pshufd $78,%xmm15,%xmm15 pshufd $0x4E,%xmm15,%xmm15
pxor %xmm0,%xmm9 pxor %xmm0,%xmm9
pshufd $78,%xmm0,%xmm0 pshufd $0x4E,%xmm0,%xmm0
pxor %xmm1,%xmm12 pxor %xmm1,%xmm12
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pxor %xmm6,%xmm13 pxor %xmm6,%xmm13
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm3,%xmm11 pxor %xmm3,%xmm11
pshufd $78,%xmm1,%xmm7 pshufd $0x4E,%xmm1,%xmm7
pxor %xmm2,%xmm14 pxor %xmm2,%xmm14
pshufd $78,%xmm6,%xmm8 pshufd $0x4E,%xmm6,%xmm8
pxor %xmm5,%xmm10 pxor %xmm5,%xmm10
pshufd $78,%xmm3,%xmm1 pshufd $0x4E,%xmm3,%xmm1
pxor %xmm4,%xmm10 pxor %xmm4,%xmm10
pshufd $78,%xmm4,%xmm6 pshufd $0x4E,%xmm4,%xmm6
pxor %xmm4,%xmm11 pxor %xmm4,%xmm11
pshufd $78,%xmm2,%xmm3 pshufd $0x4E,%xmm2,%xmm3
pxor %xmm11,%xmm7 pxor %xmm11,%xmm7
pshufd $78,%xmm5,%xmm2 pshufd $0x4E,%xmm5,%xmm2
pxor %xmm12,%xmm8 pxor %xmm12,%xmm8
pxor %xmm1,%xmm10 pxor %xmm1,%xmm10
pxor %xmm14,%xmm6 pxor %xmm14,%xmm6
@ -1552,20 +1552,20 @@ bsaes_xts_encrypt:
movdqa %xmm7,(%rax) movdqa %xmm7,(%rax)
andq $-16,%r14 andq $-16,%r14
subq $128,%rsp subq $0x80,%rsp
movdqa 32(%rbp),%xmm6 movdqa 32(%rbp),%xmm6
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa .Lxts_magic(%rip),%xmm12 movdqa .Lxts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
subq $128,%r14 subq $0x80,%r14
jc .Lxts_enc_short jc .Lxts_enc_short
jmp .Lxts_enc_loop jmp .Lxts_enc_loop
.align 16 .align 16
.Lxts_enc_loop: .Lxts_enc_loop:
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -1573,7 +1573,7 @@ bsaes_xts_encrypt:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -1582,7 +1582,7 @@ bsaes_xts_encrypt:
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -1592,7 +1592,7 @@ bsaes_xts_encrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 16(%r12),%xmm8 movdqu 16(%r12),%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -1602,7 +1602,7 @@ bsaes_xts_encrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 32(%r12),%xmm9 movdqu 32(%r12),%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -1612,7 +1612,7 @@ bsaes_xts_encrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 48(%r12),%xmm10 movdqu 48(%r12),%xmm10
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -1622,7 +1622,7 @@ bsaes_xts_encrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 64(%r12),%xmm11 movdqu 64(%r12),%xmm11
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -1666,20 +1666,20 @@ bsaes_xts_encrypt:
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa .Lxts_magic(%rip),%xmm12 movdqa .Lxts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
paddq %xmm6,%xmm6 paddq %xmm6,%xmm6
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
subq $128,%r14 subq $0x80,%r14
jnc .Lxts_enc_loop jnc .Lxts_enc_loop
.Lxts_enc_short: .Lxts_enc_short:
addq $128,%r14 addq $0x80,%r14
jz .Lxts_enc_done jz .Lxts_enc_done
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -1687,7 +1687,7 @@ bsaes_xts_encrypt:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -1698,7 +1698,7 @@ bsaes_xts_encrypt:
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
cmpq $16,%r14 cmpq $16,%r14
je .Lxts_enc_1 je .Lxts_enc_1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -1710,7 +1710,7 @@ bsaes_xts_encrypt:
cmpq $32,%r14 cmpq $32,%r14
je .Lxts_enc_2 je .Lxts_enc_2
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -1722,7 +1722,7 @@ bsaes_xts_encrypt:
cmpq $48,%r14 cmpq $48,%r14
je .Lxts_enc_3 je .Lxts_enc_3
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -1734,7 +1734,7 @@ bsaes_xts_encrypt:
cmpq $64,%r14 cmpq $64,%r14
je .Lxts_enc_4 je .Lxts_enc_4
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -1746,7 +1746,7 @@ bsaes_xts_encrypt:
cmpq $80,%r14 cmpq $80,%r14
je .Lxts_enc_5 je .Lxts_enc_5
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -2011,20 +2011,20 @@ bsaes_xts_decrypt:
shlq $4,%rax shlq $4,%rax
subq %rax,%r14 subq %rax,%r14
subq $128,%rsp subq $0x80,%rsp
movdqa 32(%rbp),%xmm6 movdqa 32(%rbp),%xmm6
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa .Lxts_magic(%rip),%xmm12 movdqa .Lxts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
subq $128,%r14 subq $0x80,%r14
jc .Lxts_dec_short jc .Lxts_dec_short
jmp .Lxts_dec_loop jmp .Lxts_dec_loop
.align 16 .align 16
.Lxts_dec_loop: .Lxts_dec_loop:
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -2032,7 +2032,7 @@ bsaes_xts_decrypt:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -2041,7 +2041,7 @@ bsaes_xts_decrypt:
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -2051,7 +2051,7 @@ bsaes_xts_decrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 16(%r12),%xmm8 movdqu 16(%r12),%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -2061,7 +2061,7 @@ bsaes_xts_decrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 32(%r12),%xmm9 movdqu 32(%r12),%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -2071,7 +2071,7 @@ bsaes_xts_decrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 48(%r12),%xmm10 movdqu 48(%r12),%xmm10
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -2081,7 +2081,7 @@ bsaes_xts_decrypt:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 64(%r12),%xmm11 movdqu 64(%r12),%xmm11
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -2125,20 +2125,20 @@ bsaes_xts_decrypt:
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa .Lxts_magic(%rip),%xmm12 movdqa .Lxts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
paddq %xmm6,%xmm6 paddq %xmm6,%xmm6
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
subq $128,%r14 subq $0x80,%r14
jnc .Lxts_dec_loop jnc .Lxts_dec_loop
.Lxts_dec_short: .Lxts_dec_short:
addq $128,%r14 addq $0x80,%r14
jz .Lxts_dec_done jz .Lxts_dec_done
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -2146,7 +2146,7 @@ bsaes_xts_decrypt:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -2157,7 +2157,7 @@ bsaes_xts_decrypt:
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
cmpq $16,%r14 cmpq $16,%r14
je .Lxts_dec_1 je .Lxts_dec_1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -2169,7 +2169,7 @@ bsaes_xts_decrypt:
cmpq $32,%r14 cmpq $32,%r14
je .Lxts_dec_2 je .Lxts_dec_2
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -2181,7 +2181,7 @@ bsaes_xts_decrypt:
cmpq $48,%r14 cmpq $48,%r14
je .Lxts_dec_3 je .Lxts_dec_3
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -2193,7 +2193,7 @@ bsaes_xts_decrypt:
cmpq $64,%r14 cmpq $64,%r14
je .Lxts_dec_4 je .Lxts_dec_4
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -2205,7 +2205,7 @@ bsaes_xts_decrypt:
cmpq $80,%r14 cmpq $80,%r14
je .Lxts_dec_5 je .Lxts_dec_5
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -2382,7 +2382,7 @@ bsaes_xts_decrypt:
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa .Lxts_magic(%rip),%xmm12 movdqa .Lxts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
paddq %xmm6,%xmm6 paddq %xmm6,%xmm6
pand %xmm12,%xmm13 pand %xmm12,%xmm13

20
deps/openssl/asm_obsolete/x64-elf-gas/aes/vpaes-x86_64.s

@ -60,7 +60,7 @@ _vpaes_encrypt_core:
addq $16,%r11 addq $16,%r11
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,56,0,193 .byte 102,15,56,0,193
andq $48,%r11 andq $0x30,%r11
subq $1,%rax subq $1,%rax
pxor %xmm3,%xmm0 pxor %xmm3,%xmm0
@ -120,10 +120,10 @@ _vpaes_decrypt_core:
pand %xmm9,%xmm0 pand %xmm9,%xmm0
.byte 102,15,56,0,208 .byte 102,15,56,0,208
movdqa .Lk_dipt+16(%rip),%xmm0 movdqa .Lk_dipt+16(%rip),%xmm0
xorq $48,%r11 xorq $0x30,%r11
leaq .Lk_dsbd(%rip),%r10 leaq .Lk_dsbd(%rip),%r10
.byte 102,15,56,0,193 .byte 102,15,56,0,193
andq $48,%r11 andq $0x30,%r11
pxor %xmm5,%xmm2 pxor %xmm5,%xmm2
movdqa .Lk_mc_forward+48(%rip),%xmm5 movdqa .Lk_mc_forward+48(%rip),%xmm5
pxor %xmm2,%xmm0 pxor %xmm2,%xmm0
@ -242,7 +242,7 @@ _vpaes_schedule_core:
movdqa (%r8,%r10,1),%xmm1 movdqa (%r8,%r10,1),%xmm1
.byte 102,15,56,0,217 .byte 102,15,56,0,217
movdqu %xmm3,(%rdx) movdqu %xmm3,(%rdx)
xorq $48,%r8 xorq $0x30,%r8
.Lschedule_go: .Lschedule_go:
cmpl $192,%esi cmpl $192,%esi
@ -332,7 +332,7 @@ _vpaes_schedule_core:
call _vpaes_schedule_mangle call _vpaes_schedule_mangle
pshufd $255,%xmm0,%xmm0 pshufd $0xFF,%xmm0,%xmm0
movdqa %xmm7,%xmm5 movdqa %xmm7,%xmm5
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
call _vpaes_schedule_low_round call _vpaes_schedule_low_round
@ -399,8 +399,8 @@ _vpaes_schedule_core:
.type _vpaes_schedule_192_smear,@function .type _vpaes_schedule_192_smear,@function
.align 16 .align 16
_vpaes_schedule_192_smear: _vpaes_schedule_192_smear:
pshufd $128,%xmm6,%xmm1 pshufd $0x80,%xmm6,%xmm1
pshufd $254,%xmm7,%xmm0 pshufd $0xFE,%xmm7,%xmm0
pxor %xmm1,%xmm6 pxor %xmm1,%xmm6
pxor %xmm1,%xmm1 pxor %xmm1,%xmm1
pxor %xmm0,%xmm6 pxor %xmm0,%xmm6
@ -437,7 +437,7 @@ _vpaes_schedule_round:
pxor %xmm1,%xmm7 pxor %xmm1,%xmm7
pshufd $255,%xmm0,%xmm0 pshufd $0xFF,%xmm0,%xmm0
.byte 102,15,58,15,192,1 .byte 102,15,58,15,192,1
@ -596,7 +596,7 @@ _vpaes_schedule_mangle:
movdqa (%r8,%r10,1),%xmm1 movdqa (%r8,%r10,1),%xmm1
.byte 102,15,56,0,217 .byte 102,15,56,0,217
addq $-16,%r8 addq $-16,%r8
andq $48,%r8 andq $0x30,%r8
movdqu %xmm3,(%rdx) movdqu %xmm3,(%rdx)
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle .size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
@ -614,7 +614,7 @@ vpaes_set_encrypt_key:
movl %eax,240(%rdx) movl %eax,240(%rdx)
movl $0,%ecx movl $0,%ecx
movl $48,%r8d movl $0x30,%r8d
call _vpaes_schedule_core call _vpaes_schedule_core
xorl %eax,%eax xorl %eax,%eax
.byte 0xf3,0xc3 .byte 0xf3,0xc3

218
deps/openssl/asm_obsolete/x64-elf-gas/bn/rsaz-x86_64.s

@ -461,48 +461,94 @@ rsaz_512_mul_gather4:
pushq %r14 pushq %r14
pushq %r15 pushq %r15
movl %r9d,%r9d subq $152,%rsp
subq $128+24,%rsp
.Lmul_gather4_body: .Lmul_gather4_body:
movl 64(%rdx,%r9,4),%eax movd %r9d,%xmm8
.byte 102,72,15,110,199 movdqa .Linc+16(%rip),%xmm1
movl (%rdx,%r9,4),%ebx movdqa .Linc(%rip),%xmm0
.byte 102,72,15,110,201
pshufd $0,%xmm8,%xmm8
movdqa %xmm1,%xmm7
movdqa %xmm1,%xmm2
paddd %xmm0,%xmm1
pcmpeqd %xmm8,%xmm0
movdqa %xmm7,%xmm3
paddd %xmm1,%xmm2
pcmpeqd %xmm8,%xmm1
movdqa %xmm7,%xmm4
paddd %xmm2,%xmm3
pcmpeqd %xmm8,%xmm2
movdqa %xmm7,%xmm5
paddd %xmm3,%xmm4
pcmpeqd %xmm8,%xmm3
movdqa %xmm7,%xmm6
paddd %xmm4,%xmm5
pcmpeqd %xmm8,%xmm4
paddd %xmm5,%xmm6
pcmpeqd %xmm8,%xmm5
paddd %xmm6,%xmm7
pcmpeqd %xmm8,%xmm6
pcmpeqd %xmm8,%xmm7
movdqa 0(%rdx),%xmm8
movdqa 16(%rdx),%xmm9
movdqa 32(%rdx),%xmm10
movdqa 48(%rdx),%xmm11
pand %xmm0,%xmm8
movdqa 64(%rdx),%xmm12
pand %xmm1,%xmm9
movdqa 80(%rdx),%xmm13
pand %xmm2,%xmm10
movdqa 96(%rdx),%xmm14
pand %xmm3,%xmm11
movdqa 112(%rdx),%xmm15
leaq 128(%rdx),%rbp
pand %xmm4,%xmm12
pand %xmm5,%xmm13
pand %xmm6,%xmm14
pand %xmm7,%xmm15
por %xmm10,%xmm8
por %xmm11,%xmm9
por %xmm12,%xmm8
por %xmm13,%xmm9
por %xmm14,%xmm8
por %xmm15,%xmm9
por %xmm9,%xmm8
pshufd $0x4e,%xmm8,%xmm9
por %xmm9,%xmm8
.byte 102,76,15,126,195
movq %r8,128(%rsp) movq %r8,128(%rsp)
movq %rdi,128+8(%rsp)
movq %rcx,128+16(%rsp)
shlq $32,%rax
orq %rax,%rbx
movq (%rsi),%rax movq (%rsi),%rax
movq 8(%rsi),%rcx movq 8(%rsi),%rcx
leaq 128(%rdx,%r9,4),%rbp
mulq %rbx mulq %rbx
movq %rax,(%rsp) movq %rax,(%rsp)
movq %rcx,%rax movq %rcx,%rax
movq %rdx,%r8 movq %rdx,%r8
mulq %rbx mulq %rbx
movd (%rbp),%xmm4
addq %rax,%r8 addq %rax,%r8
movq 16(%rsi),%rax movq 16(%rsi),%rax
movq %rdx,%r9 movq %rdx,%r9
adcq $0,%r9 adcq $0,%r9
mulq %rbx mulq %rbx
movd 64(%rbp),%xmm5
addq %rax,%r9 addq %rax,%r9
movq 24(%rsi),%rax movq 24(%rsi),%rax
movq %rdx,%r10 movq %rdx,%r10
adcq $0,%r10 adcq $0,%r10
mulq %rbx mulq %rbx
pslldq $4,%xmm5
addq %rax,%r10 addq %rax,%r10
movq 32(%rsi),%rax movq 32(%rsi),%rax
movq %rdx,%r11 movq %rdx,%r11
adcq $0,%r11 adcq $0,%r11
mulq %rbx mulq %rbx
por %xmm5,%xmm4
addq %rax,%r11 addq %rax,%r11
movq 40(%rsi),%rax movq 40(%rsi),%rax
movq %rdx,%r12 movq %rdx,%r12
@ -515,14 +561,12 @@ rsaz_512_mul_gather4:
adcq $0,%r13 adcq $0,%r13
mulq %rbx mulq %rbx
leaq 128(%rbp),%rbp
addq %rax,%r13 addq %rax,%r13
movq 56(%rsi),%rax movq 56(%rsi),%rax
movq %rdx,%r14 movq %rdx,%r14
adcq $0,%r14 adcq $0,%r14
mulq %rbx mulq %rbx
.byte 102,72,15,126,227
addq %rax,%r14 addq %rax,%r14
movq (%rsi),%rax movq (%rsi),%rax
movq %rdx,%r15 movq %rdx,%r15
@ -534,6 +578,35 @@ rsaz_512_mul_gather4:
.align 32 .align 32
.Loop_mul_gather: .Loop_mul_gather:
movdqa 0(%rbp),%xmm8
movdqa 16(%rbp),%xmm9
movdqa 32(%rbp),%xmm10
movdqa 48(%rbp),%xmm11
pand %xmm0,%xmm8
movdqa 64(%rbp),%xmm12
pand %xmm1,%xmm9
movdqa 80(%rbp),%xmm13
pand %xmm2,%xmm10
movdqa 96(%rbp),%xmm14
pand %xmm3,%xmm11
movdqa 112(%rbp),%xmm15
leaq 128(%rbp),%rbp
pand %xmm4,%xmm12
pand %xmm5,%xmm13
pand %xmm6,%xmm14
pand %xmm7,%xmm15
por %xmm10,%xmm8
por %xmm11,%xmm9
por %xmm12,%xmm8
por %xmm13,%xmm9
por %xmm14,%xmm8
por %xmm15,%xmm9
por %xmm9,%xmm8
pshufd $0x4e,%xmm8,%xmm9
por %xmm9,%xmm8
.byte 102,76,15,126,195
mulq %rbx mulq %rbx
addq %rax,%r8 addq %rax,%r8
movq 8(%rsi),%rax movq 8(%rsi),%rax
@ -542,7 +615,6 @@ rsaz_512_mul_gather4:
adcq $0,%r8 adcq $0,%r8
mulq %rbx mulq %rbx
movd (%rbp),%xmm4
addq %rax,%r9 addq %rax,%r9
movq 16(%rsi),%rax movq 16(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -551,7 +623,6 @@ rsaz_512_mul_gather4:
adcq $0,%r9 adcq $0,%r9
mulq %rbx mulq %rbx
movd 64(%rbp),%xmm5
addq %rax,%r10 addq %rax,%r10
movq 24(%rsi),%rax movq 24(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -560,7 +631,6 @@ rsaz_512_mul_gather4:
adcq $0,%r10 adcq $0,%r10
mulq %rbx mulq %rbx
pslldq $4,%xmm5
addq %rax,%r11 addq %rax,%r11
movq 32(%rsi),%rax movq 32(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -569,7 +639,6 @@ rsaz_512_mul_gather4:
adcq $0,%r11 adcq $0,%r11
mulq %rbx mulq %rbx
por %xmm5,%xmm4
addq %rax,%r12 addq %rax,%r12
movq 40(%rsi),%rax movq 40(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -594,7 +663,6 @@ rsaz_512_mul_gather4:
adcq $0,%r14 adcq $0,%r14
mulq %rbx mulq %rbx
.byte 102,72,15,126,227
addq %rax,%r15 addq %rax,%r15
movq (%rsi),%rax movq (%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -602,7 +670,6 @@ rsaz_512_mul_gather4:
movq %rdx,%r15 movq %rdx,%r15
adcq $0,%r15 adcq $0,%r15
leaq 128(%rbp),%rbp
leaq 8(%rdi),%rdi leaq 8(%rdi),%rdi
decl %ecx decl %ecx
@ -617,8 +684,8 @@ rsaz_512_mul_gather4:
movq %r14,48(%rdi) movq %r14,48(%rdi)
movq %r15,56(%rdi) movq %r15,56(%rdi)
.byte 102,72,15,126,199 movq 128+8(%rsp),%rdi
.byte 102,72,15,126,205 movq 128+16(%rsp),%rbp
movq (%rsp),%r8 movq (%rsp),%r8
movq 8(%rsp),%r9 movq 8(%rsp),%r9
@ -667,7 +734,7 @@ rsaz_512_mul_scatter4:
movl %r9d,%r9d movl %r9d,%r9d
subq $128+24,%rsp subq $128+24,%rsp
.Lmul_scatter4_body: .Lmul_scatter4_body:
leaq (%r8,%r9,4),%r8 leaq (%r8,%r9,8),%r8
.byte 102,72,15,110,199 .byte 102,72,15,110,199
.byte 102,72,15,110,202 .byte 102,72,15,110,202
.byte 102,73,15,110,208 .byte 102,73,15,110,208
@ -703,30 +770,14 @@ rsaz_512_mul_scatter4:
call __rsaz_512_subtract call __rsaz_512_subtract
movl %r8d,0(%rsi) movq %r8,0(%rsi)
shrq $32,%r8 movq %r9,128(%rsi)
movl %r9d,128(%rsi) movq %r10,256(%rsi)
shrq $32,%r9 movq %r11,384(%rsi)
movl %r10d,256(%rsi) movq %r12,512(%rsi)
shrq $32,%r10 movq %r13,640(%rsi)
movl %r11d,384(%rsi) movq %r14,768(%rsi)
shrq $32,%r11 movq %r15,896(%rsi)
movl %r12d,512(%rsi)
shrq $32,%r12
movl %r13d,640(%rsi)
shrq $32,%r13
movl %r14d,768(%rsi)
shrq $32,%r14
movl %r15d,896(%rsi)
shrq $32,%r15
movl %r8d,64(%rsi)
movl %r9d,192(%rsi)
movl %r10d,320(%rsi)
movl %r11d,448(%rsi)
movl %r12d,576(%rsi)
movl %r13d,704(%rsi)
movl %r14d,832(%rsi)
movl %r15d,960(%rsi)
leaq 128+24+48(%rsp),%rax leaq 128+24+48(%rsp),%rax
movq -48(%rax),%r15 movq -48(%rax),%r15
@ -1079,16 +1130,14 @@ __rsaz_512_mul:
.type rsaz_512_scatter4,@function .type rsaz_512_scatter4,@function
.align 16 .align 16
rsaz_512_scatter4: rsaz_512_scatter4:
leaq (%rdi,%rdx,4),%rdi leaq (%rdi,%rdx,8),%rdi
movl $8,%r9d movl $8,%r9d
jmp .Loop_scatter jmp .Loop_scatter
.align 16 .align 16
.Loop_scatter: .Loop_scatter:
movq (%rsi),%rax movq (%rsi),%rax
leaq 8(%rsi),%rsi leaq 8(%rsi),%rsi
movl %eax,(%rdi) movq %rax,(%rdi)
shrq $32,%rax
movl %eax,64(%rdi)
leaq 128(%rdi),%rdi leaq 128(%rdi),%rdi
decl %r9d decl %r9d
jnz .Loop_scatter jnz .Loop_scatter
@ -1099,19 +1148,72 @@ rsaz_512_scatter4:
.type rsaz_512_gather4,@function .type rsaz_512_gather4,@function
.align 16 .align 16
rsaz_512_gather4: rsaz_512_gather4:
leaq (%rsi,%rdx,4),%rsi movd %edx,%xmm8
movdqa .Linc+16(%rip),%xmm1
movdqa .Linc(%rip),%xmm0
pshufd $0,%xmm8,%xmm8
movdqa %xmm1,%xmm7
movdqa %xmm1,%xmm2
paddd %xmm0,%xmm1
pcmpeqd %xmm8,%xmm0
movdqa %xmm7,%xmm3
paddd %xmm1,%xmm2
pcmpeqd %xmm8,%xmm1
movdqa %xmm7,%xmm4
paddd %xmm2,%xmm3
pcmpeqd %xmm8,%xmm2
movdqa %xmm7,%xmm5
paddd %xmm3,%xmm4
pcmpeqd %xmm8,%xmm3
movdqa %xmm7,%xmm6
paddd %xmm4,%xmm5
pcmpeqd %xmm8,%xmm4
paddd %xmm5,%xmm6
pcmpeqd %xmm8,%xmm5
paddd %xmm6,%xmm7
pcmpeqd %xmm8,%xmm6
pcmpeqd %xmm8,%xmm7
movl $8,%r9d movl $8,%r9d
jmp .Loop_gather jmp .Loop_gather
.align 16 .align 16
.Loop_gather: .Loop_gather:
movl (%rsi),%eax movdqa 0(%rsi),%xmm8
movl 64(%rsi),%r8d movdqa 16(%rsi),%xmm9
movdqa 32(%rsi),%xmm10
movdqa 48(%rsi),%xmm11
pand %xmm0,%xmm8
movdqa 64(%rsi),%xmm12
pand %xmm1,%xmm9
movdqa 80(%rsi),%xmm13
pand %xmm2,%xmm10
movdqa 96(%rsi),%xmm14
pand %xmm3,%xmm11
movdqa 112(%rsi),%xmm15
leaq 128(%rsi),%rsi leaq 128(%rsi),%rsi
shlq $32,%r8 pand %xmm4,%xmm12
orq %r8,%rax pand %xmm5,%xmm13
movq %rax,(%rdi) pand %xmm6,%xmm14
pand %xmm7,%xmm15
por %xmm10,%xmm8
por %xmm11,%xmm9
por %xmm12,%xmm8
por %xmm13,%xmm9
por %xmm14,%xmm8
por %xmm15,%xmm9
por %xmm9,%xmm8
pshufd $0x4e,%xmm8,%xmm9
por %xmm9,%xmm8
movq %xmm8,(%rdi)
leaq 8(%rdi),%rdi leaq 8(%rdi),%rdi
decl %r9d decl %r9d
jnz .Loop_gather jnz .Loop_gather
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.LSEH_end_rsaz_512_gather4:
.size rsaz_512_gather4,.-rsaz_512_gather4 .size rsaz_512_gather4,.-rsaz_512_gather4
.align 64
.Linc:
.long 0,0, 1,1
.long 2,2, 2,2

2
deps/openssl/asm_obsolete/x64-elf-gas/bn/x86_64-gf2m.s

@ -242,7 +242,7 @@ bn_GF2m_mul_2x2:
movq %rcx,56(%rsp) movq %rcx,56(%rsp)
movq %r8,64(%rsp) movq %r8,64(%rsp)
movq $15,%r8 movq $0xf,%r8
movq %rsi,%rax movq %rsi,%rax
movq %rcx,%rbp movq %rcx,%rbp
call _mul_1x1 call _mul_1x1

108
deps/openssl/asm_obsolete/x64-elf-gas/bn/x86_64-mont.s

@ -633,20 +633,20 @@ bn_sqr8x_mont:
leaq -64(%rsp,%r9,4),%r11 leaq -64(%rsp,%r9,2),%r11
movq (%r8),%r8 movq (%r8),%r8
subq %rsi,%r11 subq %rsi,%r11
andq $4095,%r11 andq $4095,%r11
cmpq %r11,%r10 cmpq %r11,%r10
jb .Lsqr8x_sp_alt jb .Lsqr8x_sp_alt
subq %r11,%rsp subq %r11,%rsp
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
jmp .Lsqr8x_sp_done jmp .Lsqr8x_sp_done
.align 32 .align 32
.Lsqr8x_sp_alt: .Lsqr8x_sp_alt:
leaq 4096-64(,%r9,4),%r10 leaq 4096-64(,%r9,2),%r10
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
subq %r10,%r11 subq %r10,%r11
movq $0,%r10 movq $0,%r10
cmovcq %r10,%r11 cmovcq %r10,%r11
@ -656,58 +656,80 @@ bn_sqr8x_mont:
movq %r9,%r10 movq %r9,%r10
negq %r9 negq %r9
leaq 64(%rsp,%r9,2),%r11
movq %r8,32(%rsp) movq %r8,32(%rsp)
movq %rax,40(%rsp) movq %rax,40(%rsp)
.Lsqr8x_body: .Lsqr8x_body:
movq %r9,%rbp .byte 102,72,15,110,209
.byte 102,73,15,110,211
shrq $3+2,%rbp
movl OPENSSL_ia32cap_P+8(%rip),%eax
jmp .Lsqr8x_copy_n
.align 32
.Lsqr8x_copy_n:
movq 0(%rcx),%xmm0
movq 8(%rcx),%xmm1
movq 16(%rcx),%xmm3
movq 24(%rcx),%xmm4
leaq 32(%rcx),%rcx
movdqa %xmm0,0(%r11)
movdqa %xmm1,16(%r11)
movdqa %xmm3,32(%r11)
movdqa %xmm4,48(%r11)
leaq 64(%r11),%r11
decq %rbp
jnz .Lsqr8x_copy_n
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
.byte 102,72,15,110,207 .byte 102,72,15,110,207
.byte 102,73,15,110,218 .byte 102,73,15,110,218
call bn_sqr8x_internal call bn_sqr8x_internal
leaq (%rdi,%r9,1),%rbx
movq %r9,%rcx
movq %r9,%rdx
.byte 102,72,15,126,207
sarq $3+2,%rcx
jmp .Lsqr8x_sub
.align 32
.Lsqr8x_sub:
movq 0(%rbx),%r12
movq 8(%rbx),%r13
movq 16(%rbx),%r14
movq 24(%rbx),%r15
leaq 32(%rbx),%rbx
sbbq 0(%rbp),%r12
sbbq 8(%rbp),%r13
sbbq 16(%rbp),%r14
sbbq 24(%rbp),%r15
leaq 32(%rbp),%rbp
movq %r12,0(%rdi)
movq %r13,8(%rdi)
movq %r14,16(%rdi)
movq %r15,24(%rdi)
leaq 32(%rdi),%rdi
incq %rcx
jnz .Lsqr8x_sub
sbbq $0,%rax
leaq (%rbx,%r9,1),%rbx
leaq (%rdi,%r9,1),%rdi
.byte 102,72,15,110,200
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
leaq 48(%rsp),%rax pshufd $0,%xmm1,%xmm1
leaq 64(%rsp,%r9,2),%rdx
shrq $3+2,%r9
movq 40(%rsp),%rsi movq 40(%rsp),%rsi
jmp .Lsqr8x_zero jmp .Lsqr8x_cond_copy
.align 32 .align 32
.Lsqr8x_zero: .Lsqr8x_cond_copy:
movdqa %xmm0,0(%rax) movdqa 0(%rbx),%xmm2
movdqa %xmm0,16(%rax) movdqa 16(%rbx),%xmm3
movdqa %xmm0,32(%rax) leaq 32(%rbx),%rbx
movdqa %xmm0,48(%rax) movdqu 0(%rdi),%xmm4
leaq 64(%rax),%rax movdqu 16(%rdi),%xmm5
movdqa %xmm0,0(%rdx) leaq 32(%rdi),%rdi
movdqa %xmm0,16(%rdx) movdqa %xmm0,-32(%rbx)
movdqa %xmm0,32(%rdx) movdqa %xmm0,-16(%rbx)
movdqa %xmm0,48(%rdx) movdqa %xmm0,-32(%rbx,%rdx,1)
leaq 64(%rdx),%rdx movdqa %xmm0,-16(%rbx,%rdx,1)
decq %r9 pcmpeqd %xmm1,%xmm0
jnz .Lsqr8x_zero 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)
addq $32,%r9
jnz .Lsqr8x_cond_copy
movq $1,%rax movq $1,%rax
movq -48(%rsi),%r15 movq -48(%rsi),%r15

901
deps/openssl/asm_obsolete/x64-elf-gas/bn/x86_64-mont5.s

File diff suppressed because it is too large

2
deps/openssl/asm_obsolete/x64-elf-gas/camellia/cmll-x86_64.s

@ -1624,7 +1624,7 @@ Camellia_cbc_encrypt:
leaq -64-63(%rcx),%r10 leaq -64-63(%rcx),%r10
subq %rsp,%r10 subq %rsp,%r10
negq %r10 negq %r10
andq $960,%r10 andq $0x3C0,%r10
subq %r10,%rsp subq %r10,%rsp

27
deps/openssl/asm_obsolete/x64-elf-gas/ec/ecp_nistz256-x86_64.s

@ -1121,6 +1121,7 @@ ecp_nistz256_point_double:
pushq %r15 pushq %r15
subq $160+8,%rsp subq $160+8,%rsp
.Lpoint_double_shortcutq:
movdqu 0(%rsi),%xmm0 movdqu 0(%rsi),%xmm0
movq %rsi,%rbx movq %rsi,%rbx
movdqu 16(%rsi),%xmm1 movdqu 16(%rsi),%xmm1
@ -1341,7 +1342,7 @@ ecp_nistz256_point_add:
por %xmm1,%xmm3 por %xmm1,%xmm3
movdqu 0(%rsi),%xmm0 movdqu 0(%rsi),%xmm0
pshufd $177,%xmm3,%xmm5 pshufd $0xb1,%xmm3,%xmm5
movdqu 16(%rsi),%xmm1 movdqu 16(%rsi),%xmm1
movdqu 32(%rsi),%xmm2 movdqu 32(%rsi),%xmm2
por %xmm3,%xmm5 por %xmm3,%xmm5
@ -1351,7 +1352,7 @@ ecp_nistz256_point_add:
movq 64+16(%rsi),%r15 movq 64+16(%rsi),%r15
movq 64+24(%rsi),%r8 movq 64+24(%rsi),%r8
movdqa %xmm0,480(%rsp) movdqa %xmm0,480(%rsp)
pshufd $30,%xmm5,%xmm4 pshufd $0x1e,%xmm5,%xmm4
movdqa %xmm1,480+16(%rsp) movdqa %xmm1,480+16(%rsp)
por %xmm0,%xmm1 por %xmm0,%xmm1
.byte 102,72,15,110,199 .byte 102,72,15,110,199
@ -1371,10 +1372,10 @@ ecp_nistz256_point_add:
call __ecp_nistz256_sqr_montq call __ecp_nistz256_sqr_montq
pcmpeqd %xmm4,%xmm5 pcmpeqd %xmm4,%xmm5
pshufd $177,%xmm3,%xmm4 pshufd $0xb1,%xmm3,%xmm4
por %xmm3,%xmm4 por %xmm3,%xmm4
pshufd $0,%xmm5,%xmm5 pshufd $0,%xmm5,%xmm5
pshufd $30,%xmm4,%xmm3 pshufd $0x1e,%xmm4,%xmm3
por %xmm3,%xmm4 por %xmm3,%xmm4
pxor %xmm3,%xmm3 pxor %xmm3,%xmm3
pcmpeqd %xmm3,%xmm4 pcmpeqd %xmm3,%xmm4
@ -1383,6 +1384,7 @@ ecp_nistz256_point_add:
movq 64+8(%rbx),%r14 movq 64+8(%rbx),%r14
movq 64+16(%rbx),%r15 movq 64+16(%rbx),%r15
movq 64+24(%rbx),%r8 movq 64+24(%rbx),%r8
.byte 102,72,15,110,203
leaq 64-0(%rbx),%rsi leaq 64-0(%rbx),%rsi
leaq 32(%rsp),%rdi leaq 32(%rsp),%rdi
@ -1474,7 +1476,7 @@ ecp_nistz256_point_add:
testq %r8,%r8 testq %r8,%r8
jnz .Ladd_proceedq jnz .Ladd_proceedq
testq %r9,%r9 testq %r9,%r9
jz .Ladd_proceedq jz .Ladd_doubleq
.byte 102,72,15,126,199 .byte 102,72,15,126,199
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
@ -1486,6 +1488,13 @@ ecp_nistz256_point_add:
movdqu %xmm0,80(%rdi) movdqu %xmm0,80(%rdi)
jmp .Ladd_doneq jmp .Ladd_doneq
.align 32
.Ladd_doubleq:
.byte 102,72,15,126,206
.byte 102,72,15,126,199
addq $416,%rsp
jmp .Lpoint_double_shortcutq
.align 32 .align 32
.Ladd_proceedq: .Ladd_proceedq:
movq 0+64(%rsp),%rax movq 0+64(%rsp),%rax
@ -1733,13 +1742,13 @@ ecp_nistz256_point_add_affine:
por %xmm1,%xmm3 por %xmm1,%xmm3
movdqu 0(%rbx),%xmm0 movdqu 0(%rbx),%xmm0
pshufd $177,%xmm3,%xmm5 pshufd $0xb1,%xmm3,%xmm5
movdqu 16(%rbx),%xmm1 movdqu 16(%rbx),%xmm1
movdqu 32(%rbx),%xmm2 movdqu 32(%rbx),%xmm2
por %xmm3,%xmm5 por %xmm3,%xmm5
movdqu 48(%rbx),%xmm3 movdqu 48(%rbx),%xmm3
movdqa %xmm0,416(%rsp) movdqa %xmm0,416(%rsp)
pshufd $30,%xmm5,%xmm4 pshufd $0x1e,%xmm5,%xmm4
movdqa %xmm1,416+16(%rsp) movdqa %xmm1,416+16(%rsp)
por %xmm0,%xmm1 por %xmm0,%xmm1
.byte 102,72,15,110,199 .byte 102,72,15,110,199
@ -1755,13 +1764,13 @@ ecp_nistz256_point_add_affine:
call __ecp_nistz256_sqr_montq call __ecp_nistz256_sqr_montq
pcmpeqd %xmm4,%xmm5 pcmpeqd %xmm4,%xmm5
pshufd $177,%xmm3,%xmm4 pshufd $0xb1,%xmm3,%xmm4
movq 0(%rbx),%rax movq 0(%rbx),%rax
movq %r12,%r9 movq %r12,%r9
por %xmm3,%xmm4 por %xmm3,%xmm4
pshufd $0,%xmm5,%xmm5 pshufd $0,%xmm5,%xmm5
pshufd $30,%xmm4,%xmm3 pshufd $0x1e,%xmm4,%xmm3
movq %r13,%r10 movq %r13,%r10
por %xmm3,%xmm4 por %xmm3,%xmm4
pxor %xmm3,%xmm3 pxor %xmm3,%xmm3

82
deps/openssl/asm_obsolete/x64-elf-gas/modes/ghash-x86_64.s

@ -20,14 +20,14 @@ gcm_gmult_4bit:
movq $14,%rcx movq $14,%rcx
movq 8(%rsi,%rax,1),%r8 movq 8(%rsi,%rax,1),%r8
movq (%rsi,%rax,1),%r9 movq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
movq %r8,%rdx movq %r8,%rdx
jmp .Loop1 jmp .Loop1
.align 16 .align 16
.Loop1: .Loop1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
movb (%rdi,%rcx,1),%al movb (%rdi,%rcx,1),%al
shrq $4,%r9 shrq $4,%r9
@ -43,13 +43,13 @@ gcm_gmult_4bit:
js .Lbreak1 js .Lbreak1
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
@ -58,19 +58,19 @@ gcm_gmult_4bit:
.align 16 .align 16
.Lbreak1: .Lbreak1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rbx,1),%r8 xorq 8(%rsi,%rbx,1),%r8
@ -661,10 +661,10 @@ gcm_ghash_4bit:
gcm_init_clmul: gcm_init_clmul:
.L_init_clmul: .L_init_clmul:
movdqu (%rsi),%xmm2 movdqu (%rsi),%xmm2
pshufd $78,%xmm2,%xmm2 pshufd $0b01001110,%xmm2,%xmm2
pshufd $255,%xmm2,%xmm4 pshufd $0b11111111,%xmm2,%xmm4
movdqa %xmm2,%xmm3 movdqa %xmm2,%xmm3
psllq $1,%xmm2 psllq $1,%xmm2
pxor %xmm5,%xmm5 pxor %xmm5,%xmm5
@ -678,11 +678,11 @@ gcm_init_clmul:
pxor %xmm5,%xmm2 pxor %xmm5,%xmm2
pshufd $78,%xmm2,%xmm6 pshufd $0b01001110,%xmm2,%xmm6
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
pxor %xmm2,%xmm6 pxor %xmm2,%xmm6
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -718,8 +718,8 @@ gcm_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm2,%xmm3 pshufd $0b01001110,%xmm2,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm2,%xmm3 pxor %xmm2,%xmm3
movdqu %xmm2,0(%rdi) movdqu %xmm2,0(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -727,7 +727,7 @@ gcm_init_clmul:
.byte 102,15,58,15,227,8 .byte 102,15,58,15,227,8
movdqu %xmm4,32(%rdi) movdqu %xmm4,32(%rdi)
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -765,7 +765,7 @@ gcm_init_clmul:
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
movdqa %xmm0,%xmm5 movdqa %xmm0,%xmm5
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -801,8 +801,8 @@ gcm_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm5,%xmm3 pshufd $0b01001110,%xmm5,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm5,%xmm3 pxor %xmm5,%xmm3
movdqu %xmm5,48(%rdi) movdqu %xmm5,48(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -822,7 +822,7 @@ gcm_gmult_clmul:
movdqu 32(%rsi),%xmm4 movdqu 32(%rsi),%xmm4
.byte 102,15,56,0,197 .byte 102,15,56,0,197
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -874,20 +874,20 @@ gcm_ghash_clmul:
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
.byte 102,65,15,56,0,194 .byte 102,65,15,56,0,194
subq $16,%rcx subq $0x10,%rcx
jz .Lodd_tail jz .Lodd_tail
movdqu 16(%rsi),%xmm6 movdqu 16(%rsi),%xmm6
movl OPENSSL_ia32cap_P+4(%rip),%eax movl OPENSSL_ia32cap_P+4(%rip),%eax
cmpq $48,%rcx cmpq $0x30,%rcx
jb .Lskip4x jb .Lskip4x
andl $71303168,%eax andl $71303168,%eax
cmpl $4194304,%eax cmpl $4194304,%eax
je .Lskip4x je .Lskip4x
subq $48,%rcx subq $0x30,%rcx
movq $11547335547999543296,%rax movq $0xA040608020C0E000,%rax
movdqu 48(%rsi),%xmm14 movdqu 48(%rsi),%xmm14
movdqu 64(%rsi),%xmm15 movdqu 64(%rsi),%xmm15
@ -899,14 +899,14 @@ gcm_ghash_clmul:
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,68,15,58,68,222,0 .byte 102,68,15,58,68,222,0
.byte 102,68,15,58,68,238,17 .byte 102,68,15,58,68,238,17
@ -921,12 +921,12 @@ gcm_ghash_clmul:
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,69,15,58,68,222,0 .byte 102,69,15,58,68,222,0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
@ -934,7 +934,7 @@ gcm_ghash_clmul:
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jc .Ltail4x jc .Ltail4x
jmp .Lmod4_loop jmp .Lmod4_loop
@ -949,14 +949,14 @@ gcm_ghash_clmul:
movdqu 32(%rdx),%xmm3 movdqu 32(%rdx),%xmm3
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
.byte 102,68,15,58,68,199,16 .byte 102,68,15,58,68,199,16
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
xorps %xmm5,%xmm1 xorps %xmm5,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
movups 32(%rsi),%xmm7 movups 32(%rsi),%xmm7
xorps %xmm4,%xmm8 xorps %xmm4,%xmm8
.byte 102,68,15,58,68,218,0 .byte 102,68,15,58,68,218,0
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
@ -1000,7 +1000,7 @@ gcm_ghash_clmul:
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
@ -1010,14 +1010,14 @@ gcm_ghash_clmul:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
xorps %xmm11,%xmm3 xorps %xmm11,%xmm3
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jnc .Lmod4_loop jnc .Lmod4_loop
.Ltail4x: .Ltail4x:
@ -1061,10 +1061,10 @@ gcm_ghash_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
addq $64,%rcx addq $0x40,%rcx
jz .Ldone jz .Ldone
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
subq $16,%rcx subq $0x10,%rcx
jz .Lodd_tail jz .Lodd_tail
.Lskip4x: .Lskip4x:
@ -1079,7 +1079,7 @@ gcm_ghash_clmul:
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
@ -1087,7 +1087,7 @@ gcm_ghash_clmul:
leaq 32(%rdx),%rdx leaq 32(%rdx),%rdx
nop nop
subq $32,%rcx subq $0x20,%rcx
jbe .Leven_tail jbe .Leven_tail
nop nop
jmp .Lmod_loop jmp .Lmod_loop
@ -1096,7 +1096,7 @@ gcm_ghash_clmul:
.Lmod_loop: .Lmod_loop:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1134,7 +1134,7 @@ gcm_ghash_clmul:
pslldq $8,%xmm0 pslldq $8,%xmm0
psrldq $8,%xmm8 psrldq $8,%xmm8
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pshufd $78,%xmm5,%xmm4 pshufd $0b01001110,%xmm5,%xmm4
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm5,%xmm4 pxor %xmm5,%xmm4
@ -1150,13 +1150,13 @@ gcm_ghash_clmul:
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
subq $32,%rcx subq $0x20,%rcx
ja .Lmod_loop ja .Lmod_loop
.Leven_tail: .Leven_tail:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1204,7 +1204,7 @@ gcm_ghash_clmul:
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17

16
deps/openssl/asm_obsolete/x64-elf-gas/sha/sha1-mb-x86_64.s

@ -2599,10 +2599,10 @@ _shaext_shortcut:
punpcklqdq %xmm5,%xmm0 punpcklqdq %xmm5,%xmm0
punpckhqdq %xmm5,%xmm8 punpckhqdq %xmm5,%xmm8
pshufd $63,%xmm7,%xmm1 pshufd $0b00111111,%xmm7,%xmm1
pshufd $127,%xmm7,%xmm9 pshufd $0b01111111,%xmm7,%xmm9
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
jmp .Loop_shaext jmp .Loop_shaext
.align 32 .align 32
@ -2857,8 +2857,8 @@ _shaext_shortcut:
.byte 69,15,58,204,193,3 .byte 69,15,58,204,193,3
.byte 69,15,56,200,214 .byte 69,15,56,200,214
pshufd $0,%xmm6,%xmm11 pshufd $0x00,%xmm6,%xmm11
pshufd $85,%xmm6,%xmm12 pshufd $0x55,%xmm6,%xmm12
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
pcmpgtd %xmm4,%xmm11 pcmpgtd %xmm4,%xmm11
pcmpgtd %xmm4,%xmm12 pcmpgtd %xmm4,%xmm12
@ -2888,8 +2888,8 @@ _shaext_shortcut:
movl 280(%rsp),%edx movl 280(%rsp),%edx
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
movdqa %xmm0,%xmm6 movdqa %xmm0,%xmm6
punpckldq %xmm8,%xmm0 punpckldq %xmm8,%xmm0

8
deps/openssl/asm_obsolete/x64-elf-gas/sha/sha1-x86_64.s

@ -1240,9 +1240,9 @@ _shaext_shortcut:
movdqa K_XX_XX+160(%rip),%xmm3 movdqa K_XX_XX+160(%rip),%xmm3
movdqu (%rsi),%xmm4 movdqu (%rsi),%xmm4
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
movdqu 16(%rsi),%xmm5 movdqu 16(%rsi),%xmm5
pshufd $27,%xmm1,%xmm1 pshufd $0b00011011,%xmm1,%xmm1
movdqu 32(%rsi),%xmm6 movdqu 32(%rsi),%xmm6
.byte 102,15,56,0,227 .byte 102,15,56,0,227
movdqu 48(%rsi),%xmm7 movdqu 48(%rsi),%xmm7
@ -1392,8 +1392,8 @@ _shaext_shortcut:
jnz .Loop_shaext jnz .Loop_shaext
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
pshufd $27,%xmm1,%xmm1 pshufd $0b00011011,%xmm1,%xmm1
movdqu %xmm0,(%rdi) movdqu %xmm0,(%rdi)
movd %xmm1,16(%rdi) movd %xmm1,16(%rdi)
.byte 0xf3,0xc3 .byte 0xf3,0xc3

84
deps/openssl/asm_obsolete/x64-elf-gas/sha/sha256-mb-x86_64.s

@ -2677,10 +2677,10 @@ _shaext_shortcut:
punpckhqdq %xmm8,%xmm14 punpckhqdq %xmm8,%xmm14
punpckhqdq %xmm10,%xmm15 punpckhqdq %xmm10,%xmm15
pshufd $27,%xmm12,%xmm12 pshufd $0b00011011,%xmm12,%xmm12
pshufd $27,%xmm13,%xmm13 pshufd $0b00011011,%xmm13,%xmm13
pshufd $27,%xmm14,%xmm14 pshufd $0b00011011,%xmm14,%xmm14
pshufd $27,%xmm15,%xmm15 pshufd $0b00011011,%xmm15,%xmm15
jmp .Loop_shaext jmp .Loop_shaext
.align 32 .align 32
@ -2712,11 +2712,11 @@ _shaext_shortcut:
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
movdqa %xmm15,112(%rsp) movdqa %xmm15,112(%rsp)
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
movdqa %xmm12,64(%rsp) movdqa %xmm12,64(%rsp)
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
pxor %xmm14,%xmm8 pxor %xmm14,%xmm8
movdqa %xmm14,96(%rsp) movdqa %xmm14,96(%rsp)
movdqa 16-128(%rbp),%xmm1 movdqa 16-128(%rbp),%xmm1
@ -2734,11 +2734,11 @@ _shaext_shortcut:
.byte 102,68,15,56,0,211 .byte 102,68,15,56,0,211
prefetcht0 127(%r9) prefetcht0 127(%r9)
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
.byte 102,68,15,56,0,219 .byte 102,68,15,56,0,219
.byte 15,56,204,229 .byte 15,56,204,229
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 32-128(%rbp),%xmm1 movdqa 32-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2751,14 +2751,14 @@ _shaext_shortcut:
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
movdqa %xmm7,%xmm3 movdqa %xmm7,%xmm3
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
.byte 102,15,58,15,222,4 .byte 102,15,58,15,222,4
paddd %xmm3,%xmm4 paddd %xmm3,%xmm4
movdqa %xmm11,%xmm3 movdqa %xmm11,%xmm3
.byte 102,65,15,58,15,218,4 .byte 102,65,15,58,15,218,4
.byte 15,56,204,238 .byte 15,56,204,238
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 48-128(%rbp),%xmm1 movdqa 48-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2775,13 +2775,13 @@ _shaext_shortcut:
.byte 102,15,58,15,223,4 .byte 102,15,58,15,223,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,195 .byte 69,15,56,205,195
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm5 paddd %xmm3,%xmm5
movdqa %xmm8,%xmm3 movdqa %xmm8,%xmm3
.byte 102,65,15,58,15,219,4 .byte 102,65,15,58,15,219,4
.byte 15,56,204,247 .byte 15,56,204,247
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 64-128(%rbp),%xmm1 movdqa 64-128(%rbp),%xmm1
paddd %xmm4,%xmm1 paddd %xmm4,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2797,13 +2797,13 @@ _shaext_shortcut:
.byte 102,15,58,15,220,4 .byte 102,15,58,15,220,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,200 .byte 69,15,56,205,200
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm6 paddd %xmm3,%xmm6
movdqa %xmm9,%xmm3 movdqa %xmm9,%xmm3
.byte 102,65,15,58,15,216,4 .byte 102,65,15,58,15,216,4
.byte 15,56,204,252 .byte 15,56,204,252
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 80-128(%rbp),%xmm1 movdqa 80-128(%rbp),%xmm1
paddd %xmm5,%xmm1 paddd %xmm5,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2819,13 +2819,13 @@ _shaext_shortcut:
.byte 102,15,58,15,221,4 .byte 102,15,58,15,221,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,209 .byte 69,15,56,205,209
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm7 paddd %xmm3,%xmm7
movdqa %xmm10,%xmm3 movdqa %xmm10,%xmm3
.byte 102,65,15,58,15,217,4 .byte 102,65,15,58,15,217,4
.byte 15,56,204,229 .byte 15,56,204,229
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 96-128(%rbp),%xmm1 movdqa 96-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2841,13 +2841,13 @@ _shaext_shortcut:
.byte 102,15,58,15,222,4 .byte 102,15,58,15,222,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,218 .byte 69,15,56,205,218
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm4 paddd %xmm3,%xmm4
movdqa %xmm11,%xmm3 movdqa %xmm11,%xmm3
.byte 102,65,15,58,15,218,4 .byte 102,65,15,58,15,218,4
.byte 15,56,204,238 .byte 15,56,204,238
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 112-128(%rbp),%xmm1 movdqa 112-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2863,13 +2863,13 @@ _shaext_shortcut:
.byte 102,15,58,15,223,4 .byte 102,15,58,15,223,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,195 .byte 69,15,56,205,195
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm5 paddd %xmm3,%xmm5
movdqa %xmm8,%xmm3 movdqa %xmm8,%xmm3
.byte 102,65,15,58,15,219,4 .byte 102,65,15,58,15,219,4
.byte 15,56,204,247 .byte 15,56,204,247
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 128-128(%rbp),%xmm1 movdqa 128-128(%rbp),%xmm1
paddd %xmm4,%xmm1 paddd %xmm4,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2885,13 +2885,13 @@ _shaext_shortcut:
.byte 102,15,58,15,220,4 .byte 102,15,58,15,220,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,200 .byte 69,15,56,205,200
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm6 paddd %xmm3,%xmm6
movdqa %xmm9,%xmm3 movdqa %xmm9,%xmm3
.byte 102,65,15,58,15,216,4 .byte 102,65,15,58,15,216,4
.byte 15,56,204,252 .byte 15,56,204,252
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 144-128(%rbp),%xmm1 movdqa 144-128(%rbp),%xmm1
paddd %xmm5,%xmm1 paddd %xmm5,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2907,13 +2907,13 @@ _shaext_shortcut:
.byte 102,15,58,15,221,4 .byte 102,15,58,15,221,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,209 .byte 69,15,56,205,209
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm7 paddd %xmm3,%xmm7
movdqa %xmm10,%xmm3 movdqa %xmm10,%xmm3
.byte 102,65,15,58,15,217,4 .byte 102,65,15,58,15,217,4
.byte 15,56,204,229 .byte 15,56,204,229
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 160-128(%rbp),%xmm1 movdqa 160-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2929,13 +2929,13 @@ _shaext_shortcut:
.byte 102,15,58,15,222,4 .byte 102,15,58,15,222,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,218 .byte 69,15,56,205,218
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm4 paddd %xmm3,%xmm4
movdqa %xmm11,%xmm3 movdqa %xmm11,%xmm3
.byte 102,65,15,58,15,218,4 .byte 102,65,15,58,15,218,4
.byte 15,56,204,238 .byte 15,56,204,238
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 176-128(%rbp),%xmm1 movdqa 176-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2951,13 +2951,13 @@ _shaext_shortcut:
.byte 102,15,58,15,223,4 .byte 102,15,58,15,223,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,195 .byte 69,15,56,205,195
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm5 paddd %xmm3,%xmm5
movdqa %xmm8,%xmm3 movdqa %xmm8,%xmm3
.byte 102,65,15,58,15,219,4 .byte 102,65,15,58,15,219,4
.byte 15,56,204,247 .byte 15,56,204,247
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 192-128(%rbp),%xmm1 movdqa 192-128(%rbp),%xmm1
paddd %xmm4,%xmm1 paddd %xmm4,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2973,13 +2973,13 @@ _shaext_shortcut:
.byte 102,15,58,15,220,4 .byte 102,15,58,15,220,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,200 .byte 69,15,56,205,200
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm6 paddd %xmm3,%xmm6
movdqa %xmm9,%xmm3 movdqa %xmm9,%xmm3
.byte 102,65,15,58,15,216,4 .byte 102,65,15,58,15,216,4
.byte 15,56,204,252 .byte 15,56,204,252
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 208-128(%rbp),%xmm1 movdqa 208-128(%rbp),%xmm1
paddd %xmm5,%xmm1 paddd %xmm5,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2995,13 +2995,13 @@ _shaext_shortcut:
.byte 102,15,58,15,221,4 .byte 102,15,58,15,221,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,209 .byte 69,15,56,205,209
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm7 paddd %xmm3,%xmm7
movdqa %xmm10,%xmm3 movdqa %xmm10,%xmm3
.byte 102,65,15,58,15,217,4 .byte 102,65,15,58,15,217,4
nop nop
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 224-128(%rbp),%xmm1 movdqa 224-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -3018,13 +3018,13 @@ _shaext_shortcut:
pxor %xmm6,%xmm6 pxor %xmm6,%xmm6
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,218 .byte 69,15,56,205,218
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
movdqa 240-128(%rbp),%xmm1 movdqa 240-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
movq (%rbx),%xmm7 movq (%rbx),%xmm7
nop nop
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 240-128(%rbp),%xmm2 movdqa 240-128(%rbp),%xmm2
paddd %xmm11,%xmm2 paddd %xmm11,%xmm2
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -3034,17 +3034,17 @@ _shaext_shortcut:
cmovgeq %rsp,%r8 cmovgeq %rsp,%r8
cmpl 4(%rbx),%ecx cmpl 4(%rbx),%ecx
cmovgeq %rsp,%r9 cmovgeq %rsp,%r9
pshufd $0,%xmm7,%xmm9 pshufd $0x00,%xmm7,%xmm9
.byte 69,15,56,203,236 .byte 69,15,56,203,236
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
pshufd $85,%xmm7,%xmm10 pshufd $0x55,%xmm7,%xmm10
movdqa %xmm7,%xmm11 movdqa %xmm7,%xmm11
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
pcmpgtd %xmm6,%xmm9 pcmpgtd %xmm6,%xmm9
pcmpgtd %xmm6,%xmm10 pcmpgtd %xmm6,%xmm10
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
pcmpgtd %xmm6,%xmm11 pcmpgtd %xmm6,%xmm11
movdqa K256_shaext-16(%rip),%xmm3 movdqa K256_shaext-16(%rip),%xmm3
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -3066,10 +3066,10 @@ _shaext_shortcut:
movl 280(%rsp),%edx movl 280(%rsp),%edx
pshufd $27,%xmm12,%xmm12 pshufd $0b00011011,%xmm12,%xmm12
pshufd $27,%xmm13,%xmm13 pshufd $0b00011011,%xmm13,%xmm13
pshufd $27,%xmm14,%xmm14 pshufd $0b00011011,%xmm14,%xmm14
pshufd $27,%xmm15,%xmm15 pshufd $0b00011011,%xmm15,%xmm15
movdqa %xmm12,%xmm5 movdqa %xmm12,%xmm5
movdqa %xmm13,%xmm6 movdqa %xmm13,%xmm6

44
deps/openssl/asm_obsolete/x64-elf-gas/sha/sha256-x86_64.s

@ -1754,9 +1754,9 @@ _shaext_shortcut:
movdqu 16(%rdi),%xmm2 movdqu 16(%rdi),%xmm2
movdqa 512-128(%rcx),%xmm7 movdqa 512-128(%rcx),%xmm7
pshufd $27,%xmm1,%xmm0 pshufd $0x1b,%xmm1,%xmm0
pshufd $177,%xmm1,%xmm1 pshufd $0xb1,%xmm1,%xmm1
pshufd $27,%xmm2,%xmm2 pshufd $0x1b,%xmm2,%xmm2
movdqa %xmm7,%xmm8 movdqa %xmm7,%xmm8
.byte 102,15,58,15,202,8 .byte 102,15,58,15,202,8
punpcklqdq %xmm0,%xmm2 punpcklqdq %xmm0,%xmm2
@ -1775,7 +1775,7 @@ _shaext_shortcut:
.byte 102,15,56,0,231 .byte 102,15,56,0,231
movdqa %xmm2,%xmm10 movdqa %xmm2,%xmm10
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
nop nop
movdqa %xmm1,%xmm9 movdqa %xmm1,%xmm9
.byte 15,56,203,202 .byte 15,56,203,202
@ -1784,7 +1784,7 @@ _shaext_shortcut:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 102,15,56,0,239 .byte 102,15,56,0,239
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
leaq 64(%rsi),%rsi leaq 64(%rsi),%rsi
.byte 15,56,204,220 .byte 15,56,204,220
.byte 15,56,203,202 .byte 15,56,203,202
@ -1793,7 +1793,7 @@ _shaext_shortcut:
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 102,15,56,0,247 .byte 102,15,56,0,247
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
.byte 102,15,58,15,253,4 .byte 102,15,58,15,253,4
nop nop
@ -1805,7 +1805,7 @@ _shaext_shortcut:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
.byte 15,56,205,222 .byte 15,56,205,222
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm3,%xmm7 movdqa %xmm3,%xmm7
.byte 102,15,58,15,254,4 .byte 102,15,58,15,254,4
nop nop
@ -1816,7 +1816,7 @@ _shaext_shortcut:
paddd %xmm3,%xmm0 paddd %xmm3,%xmm0
.byte 15,56,205,227 .byte 15,56,205,227
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm4,%xmm7 movdqa %xmm4,%xmm7
.byte 102,15,58,15,251,4 .byte 102,15,58,15,251,4
nop nop
@ -1827,7 +1827,7 @@ _shaext_shortcut:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 15,56,205,236 .byte 15,56,205,236
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm5,%xmm7 movdqa %xmm5,%xmm7
.byte 102,15,58,15,252,4 .byte 102,15,58,15,252,4
nop nop
@ -1838,7 +1838,7 @@ _shaext_shortcut:
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 15,56,205,245 .byte 15,56,205,245
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
.byte 102,15,58,15,253,4 .byte 102,15,58,15,253,4
nop nop
@ -1849,7 +1849,7 @@ _shaext_shortcut:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
.byte 15,56,205,222 .byte 15,56,205,222
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm3,%xmm7 movdqa %xmm3,%xmm7
.byte 102,15,58,15,254,4 .byte 102,15,58,15,254,4
nop nop
@ -1860,7 +1860,7 @@ _shaext_shortcut:
paddd %xmm3,%xmm0 paddd %xmm3,%xmm0
.byte 15,56,205,227 .byte 15,56,205,227
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm4,%xmm7 movdqa %xmm4,%xmm7
.byte 102,15,58,15,251,4 .byte 102,15,58,15,251,4
nop nop
@ -1871,7 +1871,7 @@ _shaext_shortcut:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 15,56,205,236 .byte 15,56,205,236
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm5,%xmm7 movdqa %xmm5,%xmm7
.byte 102,15,58,15,252,4 .byte 102,15,58,15,252,4
nop nop
@ -1882,7 +1882,7 @@ _shaext_shortcut:
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 15,56,205,245 .byte 15,56,205,245
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
.byte 102,15,58,15,253,4 .byte 102,15,58,15,253,4
nop nop
@ -1893,7 +1893,7 @@ _shaext_shortcut:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
.byte 15,56,205,222 .byte 15,56,205,222
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm3,%xmm7 movdqa %xmm3,%xmm7
.byte 102,15,58,15,254,4 .byte 102,15,58,15,254,4
nop nop
@ -1904,7 +1904,7 @@ _shaext_shortcut:
paddd %xmm3,%xmm0 paddd %xmm3,%xmm0
.byte 15,56,205,227 .byte 15,56,205,227
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm4,%xmm7 movdqa %xmm4,%xmm7
.byte 102,15,58,15,251,4 .byte 102,15,58,15,251,4
nop nop
@ -1915,7 +1915,7 @@ _shaext_shortcut:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 15,56,205,236 .byte 15,56,205,236
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm5,%xmm7 movdqa %xmm5,%xmm7
.byte 102,15,58,15,252,4 .byte 102,15,58,15,252,4
.byte 15,56,203,202 .byte 15,56,203,202
@ -1924,7 +1924,7 @@ _shaext_shortcut:
movdqa 448-128(%rcx),%xmm0 movdqa 448-128(%rcx),%xmm0
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
.byte 15,56,205,245 .byte 15,56,205,245
movdqa %xmm8,%xmm7 movdqa %xmm8,%xmm7
.byte 15,56,203,202 .byte 15,56,203,202
@ -1933,7 +1933,7 @@ _shaext_shortcut:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
nop nop
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
decq %rdx decq %rdx
nop nop
.byte 15,56,203,202 .byte 15,56,203,202
@ -1942,9 +1942,9 @@ _shaext_shortcut:
paddd %xmm9,%xmm1 paddd %xmm9,%xmm1
jnz .Loop_shaext jnz .Loop_shaext
pshufd $177,%xmm2,%xmm2 pshufd $0xb1,%xmm2,%xmm2
pshufd $27,%xmm1,%xmm7 pshufd $0x1b,%xmm1,%xmm7
pshufd $177,%xmm1,%xmm1 pshufd $0xb1,%xmm1,%xmm1
punpckhqdq %xmm2,%xmm1 punpckhqdq %xmm2,%xmm1
.byte 102,15,58,15,215,8 .byte 102,15,58,15,215,8

48
deps/openssl/asm_obsolete/x64-elf-gas/x86_64cpuid.s

@ -44,43 +44,43 @@ OPENSSL_ia32_cpuid:
movl %eax,%r11d movl %eax,%r11d
xorl %eax,%eax xorl %eax,%eax
cmpl $1970169159,%ebx cmpl $0x756e6547,%ebx
setne %al setne %al
movl %eax,%r9d movl %eax,%r9d
cmpl $1231384169,%edx cmpl $0x49656e69,%edx
setne %al setne %al
orl %eax,%r9d orl %eax,%r9d
cmpl $1818588270,%ecx cmpl $0x6c65746e,%ecx
setne %al setne %al
orl %eax,%r9d orl %eax,%r9d
jz .Lintel jz .Lintel
cmpl $1752462657,%ebx cmpl $0x68747541,%ebx
setne %al setne %al
movl %eax,%r10d movl %eax,%r10d
cmpl $1769238117,%edx cmpl $0x69746E65,%edx
setne %al setne %al
orl %eax,%r10d orl %eax,%r10d
cmpl $1145913699,%ecx cmpl $0x444D4163,%ecx
setne %al setne %al
orl %eax,%r10d orl %eax,%r10d
jnz .Lintel jnz .Lintel
movl $2147483648,%eax movl $0x80000000,%eax
cpuid cpuid
cmpl $2147483649,%eax cmpl $0x80000001,%eax
jb .Lintel jb .Lintel
movl %eax,%r10d movl %eax,%r10d
movl $2147483649,%eax movl $0x80000001,%eax
cpuid cpuid
orl %ecx,%r9d orl %ecx,%r9d
andl $2049,%r9d andl $0x00000801,%r9d
cmpl $2147483656,%r10d cmpl $0x80000008,%r10d
jb .Lintel jb .Lintel
movl $2147483656,%eax movl $0x80000008,%eax
cpuid cpuid
movzbq %cl,%r10 movzbq %cl,%r10
incq %r10 incq %r10
@ -92,7 +92,7 @@ OPENSSL_ia32_cpuid:
shrl $16,%ebx shrl $16,%ebx
cmpb %r10b,%bl cmpb %r10b,%bl
ja .Lgeneric ja .Lgeneric
andl $4026531839,%edx andl $0xefffffff,%edx
jmp .Lgeneric jmp .Lgeneric
.Lintel: .Lintel:
@ -105,7 +105,7 @@ OPENSSL_ia32_cpuid:
cpuid cpuid
movl %eax,%r10d movl %eax,%r10d
shrl $14,%r10d shrl $14,%r10d
andl $4095,%r10d andl $0xfff,%r10d
cmpl $7,%r11d cmpl $7,%r11d
jb .Lnocacheinfo jb .Lnocacheinfo
@ -118,29 +118,29 @@ OPENSSL_ia32_cpuid:
.Lnocacheinfo: .Lnocacheinfo:
movl $1,%eax movl $1,%eax
cpuid cpuid
andl $3220176895,%edx andl $0xbfefffff,%edx
cmpl $0,%r9d cmpl $0,%r9d
jne .Lnotintel jne .Lnotintel
orl $1073741824,%edx orl $0x40000000,%edx
andb $15,%ah andb $15,%ah
cmpb $15,%ah cmpb $15,%ah
jne .Lnotintel jne .Lnotintel
orl $1048576,%edx orl $0x00100000,%edx
.Lnotintel: .Lnotintel:
btl $28,%edx btl $28,%edx
jnc .Lgeneric jnc .Lgeneric
andl $4026531839,%edx andl $0xefffffff,%edx
cmpl $0,%r10d cmpl $0,%r10d
je .Lgeneric je .Lgeneric
orl $268435456,%edx orl $0x10000000,%edx
shrl $16,%ebx shrl $16,%ebx
cmpb $1,%bl cmpb $1,%bl
ja .Lgeneric ja .Lgeneric
andl $4026531839,%edx andl $0xefffffff,%edx
.Lgeneric: .Lgeneric:
andl $2048,%r9d andl $0x00000800,%r9d
andl $4294965247,%ecx andl $0xfffff7ff,%ecx
orl %ecx,%r9d orl %ecx,%r9d
movl %edx,%r10d movl %edx,%r10d
@ -152,9 +152,9 @@ OPENSSL_ia32_cpuid:
cmpl $6,%eax cmpl $6,%eax
je .Ldone je .Ldone
.Lclear_avx: .Lclear_avx:
movl $4026525695,%eax movl $0xefffe7ff,%eax
andl %eax,%r9d andl %eax,%r9d
andl $4294967263,8(%rdi) andl $0xffffffdf,8(%rdi)
.Ldone: .Ldone:
shlq $32,%r9 shlq $32,%r9
movl %r10d,%eax movl %r10d,%eax

70
deps/openssl/asm_obsolete/x64-macosx-gas/aes/aes-x86_64.s

@ -81,8 +81,8 @@ L$enc_loop:
movl 0(%r14,%rdi,8),%edi movl 0(%r14,%rdi,8),%edi
movl 0(%r14,%rbp,8),%ebp movl 0(%r14,%rbp,8),%ebp
andl $65280,%edi andl $0x0000ff00,%edi
andl $65280,%ebp andl $0x0000ff00,%ebp
xorl %edi,%r10d xorl %edi,%r10d
xorl %ebp,%r11d xorl %ebp,%r11d
@ -94,8 +94,8 @@ L$enc_loop:
movl 0(%r14,%rsi,8),%esi movl 0(%r14,%rsi,8),%esi
movl 0(%r14,%rdi,8),%edi movl 0(%r14,%rdi,8),%edi
andl $65280,%esi andl $0x0000ff00,%esi
andl $65280,%edi andl $0x0000ff00,%edi
shrl $16,%ebx shrl $16,%ebx
xorl %esi,%r12d xorl %esi,%r12d
xorl %edi,%r8d xorl %edi,%r8d
@ -108,9 +108,9 @@ L$enc_loop:
movl 0(%r14,%rdi,8),%edi movl 0(%r14,%rdi,8),%edi
movl 0(%r14,%rbp,8),%ebp movl 0(%r14,%rbp,8),%ebp
andl $16711680,%esi andl $0x00ff0000,%esi
andl $16711680,%edi andl $0x00ff0000,%edi
andl $16711680,%ebp andl $0x00ff0000,%ebp
xorl %esi,%r10d xorl %esi,%r10d
xorl %edi,%r11d xorl %edi,%r11d
@ -123,9 +123,9 @@ L$enc_loop:
movl 2(%r14,%rdi,8),%edi movl 2(%r14,%rdi,8),%edi
movl 2(%r14,%rbp,8),%ebp movl 2(%r14,%rbp,8),%ebp
andl $16711680,%esi andl $0x00ff0000,%esi
andl $4278190080,%edi andl $0xff000000,%edi
andl $4278190080,%ebp andl $0xff000000,%ebp
xorl %esi,%r8d xorl %esi,%r8d
xorl %edi,%r10d xorl %edi,%r10d
@ -138,8 +138,8 @@ L$enc_loop:
movl 2(%r14,%rdi,8),%edi movl 2(%r14,%rdi,8),%edi
movl 16+0(%r15),%eax movl 16+0(%r15),%eax
andl $4278190080,%esi andl $0xff000000,%esi
andl $4278190080,%edi andl $0xff000000,%edi
xorl %esi,%r12d xorl %esi,%r12d
xorl %edi,%r8d xorl %edi,%r8d
@ -241,8 +241,8 @@ L$enc_loop_compact:
xorl %r8d,%edx xorl %r8d,%edx
cmpq 16(%rsp),%r15 cmpq 16(%rsp),%r15
je L$enc_compact_done je L$enc_compact_done
movl $2155905152,%r10d movl $0x80808080,%r10d
movl $2155905152,%r11d movl $0x80808080,%r11d
andl %eax,%r10d andl %eax,%r10d
andl %ebx,%r11d andl %ebx,%r11d
movl %r10d,%esi movl %r10d,%esi
@ -253,10 +253,10 @@ L$enc_loop_compact:
leal (%rbx,%rbx,1),%r9d leal (%rbx,%rbx,1),%r9d
subl %r10d,%esi subl %r10d,%esi
subl %r11d,%edi subl %r11d,%edi
andl $4278124286,%r8d andl $0xfefefefe,%r8d
andl $4278124286,%r9d andl $0xfefefefe,%r9d
andl $454761243,%esi andl $0x1b1b1b1b,%esi
andl $454761243,%edi andl $0x1b1b1b1b,%edi
movl %eax,%r10d movl %eax,%r10d
movl %ebx,%r11d movl %ebx,%r11d
xorl %esi,%r8d xorl %esi,%r8d
@ -264,9 +264,9 @@ L$enc_loop_compact:
xorl %r8d,%eax xorl %r8d,%eax
xorl %r9d,%ebx xorl %r9d,%ebx
movl $2155905152,%r12d movl $0x80808080,%r12d
roll $24,%eax roll $24,%eax
movl $2155905152,%ebp movl $0x80808080,%ebp
roll $24,%ebx roll $24,%ebx
andl %ecx,%r12d andl %ecx,%r12d
andl %edx,%ebp andl %edx,%ebp
@ -289,10 +289,10 @@ L$enc_loop_compact:
xorl %r10d,%eax xorl %r10d,%eax
xorl %r11d,%ebx xorl %r11d,%ebx
andl $4278124286,%r8d andl $0xfefefefe,%r8d
andl $4278124286,%r9d andl $0xfefefefe,%r9d
andl $454761243,%esi andl $0x1b1b1b1b,%esi
andl $454761243,%edi andl $0x1b1b1b1b,%edi
movl %ecx,%r12d movl %ecx,%r12d
movl %edx,%ebp movl %edx,%ebp
xorl %esi,%r8d xorl %esi,%r8d
@ -345,7 +345,7 @@ _AES_encrypt:
andq $-64,%rsp andq $-64,%rsp
subq %rsp,%rcx subq %rsp,%rcx
negq %rcx negq %rcx
andq $960,%rcx andq $0x3c0,%rcx
subq %rcx,%rsp subq %rcx,%rsp
subq $32,%rsp subq $32,%rsp
@ -370,7 +370,7 @@ L$enc_prologue:
leaq L$AES_Te+2048(%rip),%r14 leaq L$AES_Te+2048(%rip),%r14
leaq 768(%rsp),%rbp leaq 768(%rsp),%rbp
subq %r14,%rbp subq %r14,%rbp
andq $768,%rbp andq $0x300,%rbp
leaq (%r14,%rbp,1),%r14 leaq (%r14,%rbp,1),%r14
call _x86_64_AES_encrypt_compact call _x86_64_AES_encrypt_compact
@ -792,7 +792,7 @@ _AES_decrypt:
andq $-64,%rsp andq $-64,%rsp
subq %rsp,%rcx subq %rsp,%rcx
negq %rcx negq %rcx
andq $960,%rcx andq $0x3c0,%rcx
subq %rcx,%rsp subq %rcx,%rsp
subq $32,%rsp subq $32,%rsp
@ -817,7 +817,7 @@ L$dec_prologue:
leaq L$AES_Td+2048(%rip),%r14 leaq L$AES_Td+2048(%rip),%r14
leaq 768(%rsp),%rbp leaq 768(%rsp),%rbp
subq %r14,%rbp subq %r14,%rbp
andq $768,%rbp andq $0x300,%rbp
leaq (%r14,%rbp,1),%r14 leaq (%r14,%rbp,1),%r14
shrq $3,%rbp shrq $3,%rbp
addq %rbp,%r14 addq %rbp,%r14
@ -1333,9 +1333,9 @@ L$cbc_picked_te:
movq %r14,%r10 movq %r14,%r10
leaq 2304(%r14),%r11 leaq 2304(%r14),%r11
movq %r15,%r12 movq %r15,%r12
andq $4095,%r10 andq $0xFFF,%r10
andq $4095,%r11 andq $0xFFF,%r11
andq $4095,%r12 andq $0xFFF,%r12
cmpq %r11,%r12 cmpq %r11,%r12
jb L$cbc_te_break_out jb L$cbc_te_break_out
@ -1344,7 +1344,7 @@ L$cbc_picked_te:
jmp L$cbc_te_ok jmp L$cbc_te_ok
L$cbc_te_break_out: L$cbc_te_break_out:
subq %r10,%r12 subq %r10,%r12
andq $4095,%r12 andq $0xFFF,%r12
addq $320,%r12 addq $320,%r12
subq %r12,%r15 subq %r12,%r15
.p2align 2 .p2align 2
@ -1370,7 +1370,7 @@ L$cbc_fast_body:
movq %r15,%r10 movq %r15,%r10
subq %r14,%r10 subq %r14,%r10
andq $4095,%r10 andq $0xfff,%r10
cmpq $2304,%r10 cmpq $2304,%r10
jb L$cbc_do_ecopy jb L$cbc_do_ecopy
cmpq $4096-248,%r10 cmpq $4096-248,%r10
@ -1557,7 +1557,7 @@ L$cbc_slow_prologue:
leaq -88-63(%rcx),%r10 leaq -88-63(%rcx),%r10
subq %rbp,%r10 subq %rbp,%r10
negq %r10 negq %r10
andq $960,%r10 andq $0x3c0,%r10
subq %r10,%rbp subq %r10,%rbp
xchgq %rsp,%rbp xchgq %rsp,%rbp
@ -1586,7 +1586,7 @@ L$cbc_slow_body:
leaq 2048(%r14),%r14 leaq 2048(%r14),%r14
leaq 768-8(%rsp),%rax leaq 768-8(%rsp),%rax
subq %r14,%rax subq %r14,%rax
andq $768,%rax andq $0x300,%rax
leaq (%r14,%rax,1),%r14 leaq (%r14,%rax,1),%r14
cmpq $0,%rbx cmpq $0,%rbx

8
deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s

@ -1392,8 +1392,8 @@ aesni_cbc_sha1_enc_shaext:
movups 16(%rcx),%xmm0 movups 16(%rcx),%xmm0
leaq 112(%rcx),%rcx leaq 112(%rcx),%rcx
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
pshufd $27,%xmm9,%xmm9 pshufd $0b00011011,%xmm9,%xmm9
jmp L$oop_shaext jmp L$oop_shaext
.p2align 4 .p2align 4
@ -1672,8 +1672,8 @@ L$aesenclast9:
leaq 64(%rdi),%rdi leaq 64(%rdi),%rdi
jnz L$oop_shaext jnz L$oop_shaext
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
pshufd $27,%xmm9,%xmm9 pshufd $0b00011011,%xmm9,%xmm9
movups %xmm2,(%r8) movups %xmm2,(%r8)
movdqu %xmm8,(%r9) movdqu %xmm8,(%r9)
movd %xmm9,16(%r9) movd %xmm9,16(%r9)

112
deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-x86_64.s

@ -503,7 +503,7 @@ _aesni_ecb_encrypt:
testl %r8d,%r8d testl %r8d,%r8d
jz L$ecb_decrypt jz L$ecb_decrypt
cmpq $128,%rdx cmpq $0x80,%rdx
jb L$ecb_enc_tail jb L$ecb_enc_tail
movdqu (%rdi),%xmm2 movdqu (%rdi),%xmm2
@ -515,7 +515,7 @@ _aesni_ecb_encrypt:
movdqu 96(%rdi),%xmm8 movdqu 96(%rdi),%xmm8
movdqu 112(%rdi),%xmm9 movdqu 112(%rdi),%xmm9
leaq 128(%rdi),%rdi leaq 128(%rdi),%rdi
subq $128,%rdx subq $0x80,%rdx
jmp L$ecb_enc_loop8_enter jmp L$ecb_enc_loop8_enter
.p2align 4 .p2align 4
L$ecb_enc_loop8: L$ecb_enc_loop8:
@ -543,7 +543,7 @@ L$ecb_enc_loop8_enter:
call _aesni_encrypt8 call _aesni_encrypt8
subq $128,%rdx subq $0x80,%rdx
jnc L$ecb_enc_loop8 jnc L$ecb_enc_loop8
movups %xmm2,(%rsi) movups %xmm2,(%rsi)
@ -557,22 +557,22 @@ L$ecb_enc_loop8_enter:
movups %xmm8,96(%rsi) movups %xmm8,96(%rsi)
movups %xmm9,112(%rsi) movups %xmm9,112(%rsi)
leaq 128(%rsi),%rsi leaq 128(%rsi),%rsi
addq $128,%rdx addq $0x80,%rdx
jz L$ecb_ret jz L$ecb_ret
L$ecb_enc_tail: L$ecb_enc_tail:
movups (%rdi),%xmm2 movups (%rdi),%xmm2
cmpq $32,%rdx cmpq $0x20,%rdx
jb L$ecb_enc_one jb L$ecb_enc_one
movups 16(%rdi),%xmm3 movups 16(%rdi),%xmm3
je L$ecb_enc_two je L$ecb_enc_two
movups 32(%rdi),%xmm4 movups 32(%rdi),%xmm4
cmpq $64,%rdx cmpq $0x40,%rdx
jb L$ecb_enc_three jb L$ecb_enc_three
movups 48(%rdi),%xmm5 movups 48(%rdi),%xmm5
je L$ecb_enc_four je L$ecb_enc_four
movups 64(%rdi),%xmm6 movups 64(%rdi),%xmm6
cmpq $96,%rdx cmpq $0x60,%rdx
jb L$ecb_enc_five jb L$ecb_enc_five
movups 80(%rdi),%xmm7 movups 80(%rdi),%xmm7
je L$ecb_enc_six je L$ecb_enc_six
@ -646,7 +646,7 @@ L$ecb_enc_six:
.p2align 4 .p2align 4
L$ecb_decrypt: L$ecb_decrypt:
cmpq $128,%rdx cmpq $0x80,%rdx
jb L$ecb_dec_tail jb L$ecb_dec_tail
movdqu (%rdi),%xmm2 movdqu (%rdi),%xmm2
@ -658,7 +658,7 @@ L$ecb_decrypt:
movdqu 96(%rdi),%xmm8 movdqu 96(%rdi),%xmm8
movdqu 112(%rdi),%xmm9 movdqu 112(%rdi),%xmm9
leaq 128(%rdi),%rdi leaq 128(%rdi),%rdi
subq $128,%rdx subq $0x80,%rdx
jmp L$ecb_dec_loop8_enter jmp L$ecb_dec_loop8_enter
.p2align 4 .p2align 4
L$ecb_dec_loop8: L$ecb_dec_loop8:
@ -687,7 +687,7 @@ L$ecb_dec_loop8_enter:
call _aesni_decrypt8 call _aesni_decrypt8
movups (%r11),%xmm0 movups (%r11),%xmm0
subq $128,%rdx subq $0x80,%rdx
jnc L$ecb_dec_loop8 jnc L$ecb_dec_loop8
movups %xmm2,(%rsi) movups %xmm2,(%rsi)
@ -709,22 +709,22 @@ L$ecb_dec_loop8_enter:
movups %xmm9,112(%rsi) movups %xmm9,112(%rsi)
pxor %xmm9,%xmm9 pxor %xmm9,%xmm9
leaq 128(%rsi),%rsi leaq 128(%rsi),%rsi
addq $128,%rdx addq $0x80,%rdx
jz L$ecb_ret jz L$ecb_ret
L$ecb_dec_tail: L$ecb_dec_tail:
movups (%rdi),%xmm2 movups (%rdi),%xmm2
cmpq $32,%rdx cmpq $0x20,%rdx
jb L$ecb_dec_one jb L$ecb_dec_one
movups 16(%rdi),%xmm3 movups 16(%rdi),%xmm3
je L$ecb_dec_two je L$ecb_dec_two
movups 32(%rdi),%xmm4 movups 32(%rdi),%xmm4
cmpq $64,%rdx cmpq $0x40,%rdx
jb L$ecb_dec_three jb L$ecb_dec_three
movups 48(%rdi),%xmm5 movups 48(%rdi),%xmm5
je L$ecb_dec_four je L$ecb_dec_four
movups 64(%rdi),%xmm6 movups 64(%rdi),%xmm6
cmpq $96,%rdx cmpq $0x60,%rdx
jb L$ecb_dec_five jb L$ecb_dec_five
movups 80(%rdi),%xmm7 movups 80(%rdi),%xmm7
je L$ecb_dec_six je L$ecb_dec_six
@ -1598,7 +1598,7 @@ L$oop_enc1_8:
movdqa L$xts_magic(%rip),%xmm8 movdqa L$xts_magic(%rip),%xmm8
movdqa %xmm2,%xmm15 movdqa %xmm2,%xmm15
pshufd $95,%xmm2,%xmm9 pshufd $0x5f,%xmm2,%xmm9
pxor %xmm0,%xmm1 pxor %xmm0,%xmm1
movdqa %xmm9,%xmm14 movdqa %xmm9,%xmm14
paddd %xmm9,%xmm9 paddd %xmm9,%xmm9
@ -1697,7 +1697,7 @@ L$xts_enc_grandloop:
.byte 102,15,56,220,248 .byte 102,15,56,220,248
movups 64(%r11),%xmm0 movups 64(%r11),%xmm0
movdqa %xmm8,80(%rsp) movdqa %xmm8,80(%rsp)
pshufd $95,%xmm15,%xmm9 pshufd $0x5f,%xmm15,%xmm9
jmp L$xts_enc_loop6 jmp L$xts_enc_loop6
.p2align 5 .p2align 5
L$xts_enc_loop6: L$xts_enc_loop6:
@ -1836,13 +1836,13 @@ L$xts_enc_short:
jz L$xts_enc_done jz L$xts_enc_done
pxor %xmm0,%xmm11 pxor %xmm0,%xmm11
cmpq $32,%rdx cmpq $0x20,%rdx
jb L$xts_enc_one jb L$xts_enc_one
pxor %xmm0,%xmm12 pxor %xmm0,%xmm12
je L$xts_enc_two je L$xts_enc_two
pxor %xmm0,%xmm13 pxor %xmm0,%xmm13
cmpq $64,%rdx cmpq $0x40,%rdx
jb L$xts_enc_three jb L$xts_enc_three
pxor %xmm0,%xmm14 pxor %xmm0,%xmm14
je L$xts_enc_four je L$xts_enc_four
@ -2069,7 +2069,7 @@ L$oop_enc1_11:
movdqa L$xts_magic(%rip),%xmm8 movdqa L$xts_magic(%rip),%xmm8
movdqa %xmm2,%xmm15 movdqa %xmm2,%xmm15
pshufd $95,%xmm2,%xmm9 pshufd $0x5f,%xmm2,%xmm9
pxor %xmm0,%xmm1 pxor %xmm0,%xmm1
movdqa %xmm9,%xmm14 movdqa %xmm9,%xmm14
paddd %xmm9,%xmm9 paddd %xmm9,%xmm9
@ -2168,7 +2168,7 @@ L$xts_dec_grandloop:
.byte 102,15,56,222,248 .byte 102,15,56,222,248
movups 64(%r11),%xmm0 movups 64(%r11),%xmm0
movdqa %xmm8,80(%rsp) movdqa %xmm8,80(%rsp)
pshufd $95,%xmm15,%xmm9 pshufd $0x5f,%xmm15,%xmm9
jmp L$xts_dec_loop6 jmp L$xts_dec_loop6
.p2align 5 .p2align 5
L$xts_dec_loop6: L$xts_dec_loop6:
@ -2308,13 +2308,13 @@ L$xts_dec_short:
jz L$xts_dec_done jz L$xts_dec_done
pxor %xmm0,%xmm12 pxor %xmm0,%xmm12
cmpq $32,%rdx cmpq $0x20,%rdx
jb L$xts_dec_one jb L$xts_dec_one
pxor %xmm0,%xmm13 pxor %xmm0,%xmm13
je L$xts_dec_two je L$xts_dec_two
pxor %xmm0,%xmm14 pxor %xmm0,%xmm14
cmpq $64,%rdx cmpq $0x40,%rdx
jb L$xts_dec_three jb L$xts_dec_three
je L$xts_dec_four je L$xts_dec_four
@ -2345,7 +2345,7 @@ L$xts_dec_short:
pcmpgtd %xmm15,%xmm14 pcmpgtd %xmm15,%xmm14
movdqu %xmm6,64(%rsi) movdqu %xmm6,64(%rsi)
leaq 80(%rsi),%rsi leaq 80(%rsi),%rsi
pshufd $19,%xmm14,%xmm11 pshufd $0x13,%xmm14,%xmm11
andq $15,%r9 andq $15,%r9
jz L$xts_dec_ret jz L$xts_dec_ret
@ -2634,7 +2634,7 @@ L$cbc_decrypt_bulk:
leaq -8(%rax),%rbp leaq -8(%rax),%rbp
movups (%r8),%xmm10 movups (%r8),%xmm10
movl %r10d,%eax movl %r10d,%eax
cmpq $80,%rdx cmpq $0x50,%rdx
jbe L$cbc_dec_tail jbe L$cbc_dec_tail
movups (%rcx),%xmm0 movups (%rcx),%xmm0
@ -2650,14 +2650,14 @@ L$cbc_decrypt_bulk:
movdqu 80(%rdi),%xmm7 movdqu 80(%rdi),%xmm7
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movl _OPENSSL_ia32cap_P+4(%rip),%r9d movl _OPENSSL_ia32cap_P+4(%rip),%r9d
cmpq $112,%rdx cmpq $0x70,%rdx
jbe L$cbc_dec_six_or_seven jbe L$cbc_dec_six_or_seven
andl $71303168,%r9d andl $71303168,%r9d
subq $80,%rdx subq $0x50,%rdx
cmpl $4194304,%r9d cmpl $4194304,%r9d
je L$cbc_dec_loop6_enter je L$cbc_dec_loop6_enter
subq $32,%rdx subq $0x20,%rdx
leaq 112(%rcx),%rcx leaq 112(%rcx),%rcx
jmp L$cbc_dec_loop8_enter jmp L$cbc_dec_loop8_enter
.p2align 4 .p2align 4
@ -2672,7 +2672,7 @@ L$cbc_dec_loop8_enter:
movups 16-112(%rcx),%xmm1 movups 16-112(%rcx),%xmm1
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
xorq %r11,%r11 xorq %r11,%r11
cmpq $112,%rdx cmpq $0x70,%rdx
pxor %xmm0,%xmm5 pxor %xmm0,%xmm5
pxor %xmm0,%xmm6 pxor %xmm0,%xmm6
pxor %xmm0,%xmm7 pxor %xmm0,%xmm7
@ -2857,21 +2857,21 @@ L$cbc_dec_done:
movups %xmm8,96(%rsi) movups %xmm8,96(%rsi)
leaq 112(%rsi),%rsi leaq 112(%rsi),%rsi
subq $128,%rdx subq $0x80,%rdx
ja L$cbc_dec_loop8 ja L$cbc_dec_loop8
movaps %xmm9,%xmm2 movaps %xmm9,%xmm2
leaq -112(%rcx),%rcx leaq -112(%rcx),%rcx
addq $112,%rdx addq $0x70,%rdx
jle L$cbc_dec_clear_tail_collected jle L$cbc_dec_clear_tail_collected
movups %xmm9,(%rsi) movups %xmm9,(%rsi)
leaq 16(%rsi),%rsi leaq 16(%rsi),%rsi
cmpq $80,%rdx cmpq $0x50,%rdx
jbe L$cbc_dec_tail jbe L$cbc_dec_tail
movaps %xmm11,%xmm2 movaps %xmm11,%xmm2
L$cbc_dec_six_or_seven: L$cbc_dec_six_or_seven:
cmpq $96,%rdx cmpq $0x60,%rdx
ja L$cbc_dec_seven ja L$cbc_dec_seven
movaps %xmm7,%xmm8 movaps %xmm7,%xmm8
@ -2964,33 +2964,33 @@ L$cbc_dec_loop6_enter:
movl %r10d,%eax movl %r10d,%eax
movdqu %xmm6,64(%rsi) movdqu %xmm6,64(%rsi)
leaq 80(%rsi),%rsi leaq 80(%rsi),%rsi
subq $96,%rdx subq $0x60,%rdx
ja L$cbc_dec_loop6 ja L$cbc_dec_loop6
movdqa %xmm7,%xmm2 movdqa %xmm7,%xmm2
addq $80,%rdx addq $0x50,%rdx
jle L$cbc_dec_clear_tail_collected jle L$cbc_dec_clear_tail_collected
movups %xmm7,(%rsi) movups %xmm7,(%rsi)
leaq 16(%rsi),%rsi leaq 16(%rsi),%rsi
L$cbc_dec_tail: L$cbc_dec_tail:
movups (%rdi),%xmm2 movups (%rdi),%xmm2
subq $16,%rdx subq $0x10,%rdx
jbe L$cbc_dec_one jbe L$cbc_dec_one
movups 16(%rdi),%xmm3 movups 16(%rdi),%xmm3
movaps %xmm2,%xmm11 movaps %xmm2,%xmm11
subq $16,%rdx subq $0x10,%rdx
jbe L$cbc_dec_two jbe L$cbc_dec_two
movups 32(%rdi),%xmm4 movups 32(%rdi),%xmm4
movaps %xmm3,%xmm12 movaps %xmm3,%xmm12
subq $16,%rdx subq $0x10,%rdx
jbe L$cbc_dec_three jbe L$cbc_dec_three
movups 48(%rdi),%xmm5 movups 48(%rdi),%xmm5
movaps %xmm4,%xmm13 movaps %xmm4,%xmm13
subq $16,%rdx subq $0x10,%rdx
jbe L$cbc_dec_four jbe L$cbc_dec_four
movups 64(%rdi),%xmm6 movups 64(%rdi),%xmm6
@ -3015,7 +3015,7 @@ L$cbc_dec_tail:
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
pxor %xmm6,%xmm6 pxor %xmm6,%xmm6
pxor %xmm7,%xmm7 pxor %xmm7,%xmm7
subq $16,%rdx subq $0x10,%rdx
jmp L$cbc_dec_tail_collected jmp L$cbc_dec_tail_collected
.p2align 4 .p2align 4
@ -3332,7 +3332,7 @@ L$oop_key192:
pslldq $4,%xmm0 pslldq $4,%xmm0
pxor %xmm3,%xmm0 pxor %xmm3,%xmm0
pshufd $255,%xmm0,%xmm3 pshufd $0xff,%xmm0,%xmm3
pxor %xmm1,%xmm3 pxor %xmm1,%xmm3
pslldq $4,%xmm1 pslldq $4,%xmm1
pxor %xmm1,%xmm3 pxor %xmm1,%xmm3
@ -3419,7 +3419,7 @@ L$oop_key256:
decl %r10d decl %r10d
jz L$done_key256 jz L$done_key256
pshufd $255,%xmm0,%xmm2 pshufd $0xff,%xmm0,%xmm2
pxor %xmm3,%xmm3 pxor %xmm3,%xmm3
.byte 102,15,56,221,211 .byte 102,15,56,221,211
@ -3462,11 +3462,11 @@ L$key_expansion_128:
movups %xmm0,(%rax) movups %xmm0,(%rax)
leaq 16(%rax),%rax leaq 16(%rax),%rax
L$key_expansion_128_cold: L$key_expansion_128_cold:
shufps $16,%xmm0,%xmm4 shufps $0b00010000,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $140,%xmm0,%xmm4 shufps $0b10001100,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $255,%xmm1,%xmm1 shufps $0b11111111,%xmm1,%xmm1
xorps %xmm1,%xmm0 xorps %xmm1,%xmm0
.byte 0xf3,0xc3 .byte 0xf3,0xc3
@ -3477,25 +3477,25 @@ L$key_expansion_192a:
L$key_expansion_192a_cold: L$key_expansion_192a_cold:
movaps %xmm2,%xmm5 movaps %xmm2,%xmm5
L$key_expansion_192b_warm: L$key_expansion_192b_warm:
shufps $16,%xmm0,%xmm4 shufps $0b00010000,%xmm0,%xmm4
movdqa %xmm2,%xmm3 movdqa %xmm2,%xmm3
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $140,%xmm0,%xmm4 shufps $0b10001100,%xmm0,%xmm4
pslldq $4,%xmm3 pslldq $4,%xmm3
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
pshufd $85,%xmm1,%xmm1 pshufd $0b01010101,%xmm1,%xmm1
pxor %xmm3,%xmm2 pxor %xmm3,%xmm2
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $255,%xmm0,%xmm3 pshufd $0b11111111,%xmm0,%xmm3
pxor %xmm3,%xmm2 pxor %xmm3,%xmm2
.byte 0xf3,0xc3 .byte 0xf3,0xc3
.p2align 4 .p2align 4
L$key_expansion_192b: L$key_expansion_192b:
movaps %xmm0,%xmm3 movaps %xmm0,%xmm3
shufps $68,%xmm0,%xmm5 shufps $0b01000100,%xmm0,%xmm5
movups %xmm5,(%rax) movups %xmm5,(%rax)
shufps $78,%xmm2,%xmm3 shufps $0b01001110,%xmm2,%xmm3
movups %xmm3,16(%rax) movups %xmm3,16(%rax)
leaq 32(%rax),%rax leaq 32(%rax),%rax
jmp L$key_expansion_192b_warm jmp L$key_expansion_192b_warm
@ -3505,11 +3505,11 @@ L$key_expansion_256a:
movups %xmm2,(%rax) movups %xmm2,(%rax)
leaq 16(%rax),%rax leaq 16(%rax),%rax
L$key_expansion_256a_cold: L$key_expansion_256a_cold:
shufps $16,%xmm0,%xmm4 shufps $0b00010000,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $140,%xmm0,%xmm4 shufps $0b10001100,%xmm0,%xmm4
xorps %xmm4,%xmm0 xorps %xmm4,%xmm0
shufps $255,%xmm1,%xmm1 shufps $0b11111111,%xmm1,%xmm1
xorps %xmm1,%xmm0 xorps %xmm1,%xmm0
.byte 0xf3,0xc3 .byte 0xf3,0xc3
@ -3518,11 +3518,11 @@ L$key_expansion_256b:
movups %xmm0,(%rax) movups %xmm0,(%rax)
leaq 16(%rax),%rax leaq 16(%rax),%rax
shufps $16,%xmm2,%xmm4 shufps $0b00010000,%xmm2,%xmm4
xorps %xmm4,%xmm2 xorps %xmm4,%xmm2
shufps $140,%xmm2,%xmm4 shufps $0b10001100,%xmm2,%xmm4
xorps %xmm4,%xmm2 xorps %xmm4,%xmm2
shufps $170,%xmm1,%xmm1 shufps $0b10101010,%xmm1,%xmm1
xorps %xmm1,%xmm2 xorps %xmm1,%xmm2
.byte 0xf3,0xc3 .byte 0xf3,0xc3

158
deps/openssl/asm_obsolete/x64-macosx-gas/aes/bsaes-x86_64.s

@ -324,45 +324,45 @@ L$enc_sbox:
pxor %xmm2,%xmm5 pxor %xmm2,%xmm5
decl %r10d decl %r10d
jl L$enc_done jl L$enc_done
pshufd $147,%xmm15,%xmm7 pshufd $0x93,%xmm15,%xmm7
pshufd $147,%xmm0,%xmm8 pshufd $0x93,%xmm0,%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $147,%xmm3,%xmm9 pshufd $0x93,%xmm3,%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $147,%xmm5,%xmm10 pshufd $0x93,%xmm5,%xmm10
pxor %xmm9,%xmm3 pxor %xmm9,%xmm3
pshufd $147,%xmm2,%xmm11 pshufd $0x93,%xmm2,%xmm11
pxor %xmm10,%xmm5 pxor %xmm10,%xmm5
pshufd $147,%xmm6,%xmm12 pshufd $0x93,%xmm6,%xmm12
pxor %xmm11,%xmm2 pxor %xmm11,%xmm2
pshufd $147,%xmm1,%xmm13 pshufd $0x93,%xmm1,%xmm13
pxor %xmm12,%xmm6 pxor %xmm12,%xmm6
pshufd $147,%xmm4,%xmm14 pshufd $0x93,%xmm4,%xmm14
pxor %xmm13,%xmm1 pxor %xmm13,%xmm1
pxor %xmm14,%xmm4 pxor %xmm14,%xmm4
pxor %xmm15,%xmm8 pxor %xmm15,%xmm8
pxor %xmm4,%xmm7 pxor %xmm4,%xmm7
pxor %xmm4,%xmm8 pxor %xmm4,%xmm8
pshufd $78,%xmm15,%xmm15 pshufd $0x4E,%xmm15,%xmm15
pxor %xmm0,%xmm9 pxor %xmm0,%xmm9
pshufd $78,%xmm0,%xmm0 pshufd $0x4E,%xmm0,%xmm0
pxor %xmm2,%xmm12 pxor %xmm2,%xmm12
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pxor %xmm6,%xmm13 pxor %xmm6,%xmm13
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm5,%xmm11 pxor %xmm5,%xmm11
pshufd $78,%xmm2,%xmm7 pshufd $0x4E,%xmm2,%xmm7
pxor %xmm1,%xmm14 pxor %xmm1,%xmm14
pshufd $78,%xmm6,%xmm8 pshufd $0x4E,%xmm6,%xmm8
pxor %xmm3,%xmm10 pxor %xmm3,%xmm10
pshufd $78,%xmm5,%xmm2 pshufd $0x4E,%xmm5,%xmm2
pxor %xmm4,%xmm10 pxor %xmm4,%xmm10
pshufd $78,%xmm4,%xmm6 pshufd $0x4E,%xmm4,%xmm6
pxor %xmm4,%xmm11 pxor %xmm4,%xmm11
pshufd $78,%xmm1,%xmm5 pshufd $0x4E,%xmm1,%xmm5
pxor %xmm11,%xmm7 pxor %xmm11,%xmm7
pshufd $78,%xmm3,%xmm1 pshufd $0x4E,%xmm3,%xmm1
pxor %xmm12,%xmm8 pxor %xmm12,%xmm8
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pxor %xmm14,%xmm6 pxor %xmm14,%xmm6
@ -796,24 +796,24 @@ L$dec_sbox:
decl %r10d decl %r10d
jl L$dec_done jl L$dec_done
pshufd $78,%xmm15,%xmm7 pshufd $0x4E,%xmm15,%xmm7
pshufd $78,%xmm2,%xmm13 pshufd $0x4E,%xmm2,%xmm13
pxor %xmm15,%xmm7 pxor %xmm15,%xmm7
pshufd $78,%xmm4,%xmm14 pshufd $0x4E,%xmm4,%xmm14
pxor %xmm2,%xmm13 pxor %xmm2,%xmm13
pshufd $78,%xmm0,%xmm8 pshufd $0x4E,%xmm0,%xmm8
pxor %xmm4,%xmm14 pxor %xmm4,%xmm14
pshufd $78,%xmm5,%xmm9 pshufd $0x4E,%xmm5,%xmm9
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
pshufd $78,%xmm3,%xmm10 pshufd $0x4E,%xmm3,%xmm10
pxor %xmm5,%xmm9 pxor %xmm5,%xmm9
pxor %xmm13,%xmm15 pxor %xmm13,%xmm15
pxor %xmm13,%xmm0 pxor %xmm13,%xmm0
pshufd $78,%xmm1,%xmm11 pshufd $0x4E,%xmm1,%xmm11
pxor %xmm3,%xmm10 pxor %xmm3,%xmm10
pxor %xmm7,%xmm5 pxor %xmm7,%xmm5
pxor %xmm8,%xmm3 pxor %xmm8,%xmm3
pshufd $78,%xmm6,%xmm12 pshufd $0x4E,%xmm6,%xmm12
pxor %xmm1,%xmm11 pxor %xmm1,%xmm11
pxor %xmm14,%xmm0 pxor %xmm14,%xmm0
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
@ -827,45 +827,45 @@ L$dec_sbox:
pxor %xmm14,%xmm1 pxor %xmm14,%xmm1
pxor %xmm14,%xmm6 pxor %xmm14,%xmm6
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
pshufd $147,%xmm15,%xmm7 pshufd $0x93,%xmm15,%xmm7
pshufd $147,%xmm0,%xmm8 pshufd $0x93,%xmm0,%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $147,%xmm5,%xmm9 pshufd $0x93,%xmm5,%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $147,%xmm3,%xmm10 pshufd $0x93,%xmm3,%xmm10
pxor %xmm9,%xmm5 pxor %xmm9,%xmm5
pshufd $147,%xmm1,%xmm11 pshufd $0x93,%xmm1,%xmm11
pxor %xmm10,%xmm3 pxor %xmm10,%xmm3
pshufd $147,%xmm6,%xmm12 pshufd $0x93,%xmm6,%xmm12
pxor %xmm11,%xmm1 pxor %xmm11,%xmm1
pshufd $147,%xmm2,%xmm13 pshufd $0x93,%xmm2,%xmm13
pxor %xmm12,%xmm6 pxor %xmm12,%xmm6
pshufd $147,%xmm4,%xmm14 pshufd $0x93,%xmm4,%xmm14
pxor %xmm13,%xmm2 pxor %xmm13,%xmm2
pxor %xmm14,%xmm4 pxor %xmm14,%xmm4
pxor %xmm15,%xmm8 pxor %xmm15,%xmm8
pxor %xmm4,%xmm7 pxor %xmm4,%xmm7
pxor %xmm4,%xmm8 pxor %xmm4,%xmm8
pshufd $78,%xmm15,%xmm15 pshufd $0x4E,%xmm15,%xmm15
pxor %xmm0,%xmm9 pxor %xmm0,%xmm9
pshufd $78,%xmm0,%xmm0 pshufd $0x4E,%xmm0,%xmm0
pxor %xmm1,%xmm12 pxor %xmm1,%xmm12
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pxor %xmm6,%xmm13 pxor %xmm6,%xmm13
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm3,%xmm11 pxor %xmm3,%xmm11
pshufd $78,%xmm1,%xmm7 pshufd $0x4E,%xmm1,%xmm7
pxor %xmm2,%xmm14 pxor %xmm2,%xmm14
pshufd $78,%xmm6,%xmm8 pshufd $0x4E,%xmm6,%xmm8
pxor %xmm5,%xmm10 pxor %xmm5,%xmm10
pshufd $78,%xmm3,%xmm1 pshufd $0x4E,%xmm3,%xmm1
pxor %xmm4,%xmm10 pxor %xmm4,%xmm10
pshufd $78,%xmm4,%xmm6 pshufd $0x4E,%xmm4,%xmm6
pxor %xmm4,%xmm11 pxor %xmm4,%xmm11
pshufd $78,%xmm2,%xmm3 pshufd $0x4E,%xmm2,%xmm3
pxor %xmm11,%xmm7 pxor %xmm11,%xmm7
pshufd $78,%xmm5,%xmm2 pshufd $0x4E,%xmm5,%xmm2
pxor %xmm12,%xmm8 pxor %xmm12,%xmm8
pxor %xmm1,%xmm10 pxor %xmm1,%xmm10
pxor %xmm14,%xmm6 pxor %xmm14,%xmm6
@ -1552,20 +1552,20 @@ L$xts_enc_prologue:
movdqa %xmm7,(%rax) movdqa %xmm7,(%rax)
andq $-16,%r14 andq $-16,%r14
subq $128,%rsp subq $0x80,%rsp
movdqa 32(%rbp),%xmm6 movdqa 32(%rbp),%xmm6
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa L$xts_magic(%rip),%xmm12 movdqa L$xts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
subq $128,%r14 subq $0x80,%r14
jc L$xts_enc_short jc L$xts_enc_short
jmp L$xts_enc_loop jmp L$xts_enc_loop
.p2align 4 .p2align 4
L$xts_enc_loop: L$xts_enc_loop:
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -1573,7 +1573,7 @@ L$xts_enc_loop:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -1582,7 +1582,7 @@ L$xts_enc_loop:
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -1592,7 +1592,7 @@ L$xts_enc_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 16(%r12),%xmm8 movdqu 16(%r12),%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -1602,7 +1602,7 @@ L$xts_enc_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 32(%r12),%xmm9 movdqu 32(%r12),%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -1612,7 +1612,7 @@ L$xts_enc_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 48(%r12),%xmm10 movdqu 48(%r12),%xmm10
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -1622,7 +1622,7 @@ L$xts_enc_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 64(%r12),%xmm11 movdqu 64(%r12),%xmm11
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -1666,20 +1666,20 @@ L$xts_enc_loop:
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa L$xts_magic(%rip),%xmm12 movdqa L$xts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
paddq %xmm6,%xmm6 paddq %xmm6,%xmm6
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
subq $128,%r14 subq $0x80,%r14
jnc L$xts_enc_loop jnc L$xts_enc_loop
L$xts_enc_short: L$xts_enc_short:
addq $128,%r14 addq $0x80,%r14
jz L$xts_enc_done jz L$xts_enc_done
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -1687,7 +1687,7 @@ L$xts_enc_short:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -1698,7 +1698,7 @@ L$xts_enc_short:
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
cmpq $16,%r14 cmpq $16,%r14
je L$xts_enc_1 je L$xts_enc_1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -1710,7 +1710,7 @@ L$xts_enc_short:
cmpq $32,%r14 cmpq $32,%r14
je L$xts_enc_2 je L$xts_enc_2
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -1722,7 +1722,7 @@ L$xts_enc_short:
cmpq $48,%r14 cmpq $48,%r14
je L$xts_enc_3 je L$xts_enc_3
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -1734,7 +1734,7 @@ L$xts_enc_short:
cmpq $64,%r14 cmpq $64,%r14
je L$xts_enc_4 je L$xts_enc_4
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -1746,7 +1746,7 @@ L$xts_enc_short:
cmpq $80,%r14 cmpq $80,%r14
je L$xts_enc_5 je L$xts_enc_5
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -2011,20 +2011,20 @@ L$xts_dec_prologue:
shlq $4,%rax shlq $4,%rax
subq %rax,%r14 subq %rax,%r14
subq $128,%rsp subq $0x80,%rsp
movdqa 32(%rbp),%xmm6 movdqa 32(%rbp),%xmm6
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa L$xts_magic(%rip),%xmm12 movdqa L$xts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
subq $128,%r14 subq $0x80,%r14
jc L$xts_dec_short jc L$xts_dec_short
jmp L$xts_dec_loop jmp L$xts_dec_loop
.p2align 4 .p2align 4
L$xts_dec_loop: L$xts_dec_loop:
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -2032,7 +2032,7 @@ L$xts_dec_loop:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -2041,7 +2041,7 @@ L$xts_dec_loop:
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -2051,7 +2051,7 @@ L$xts_dec_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 16(%r12),%xmm8 movdqu 16(%r12),%xmm8
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -2061,7 +2061,7 @@ L$xts_dec_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 32(%r12),%xmm9 movdqu 32(%r12),%xmm9
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -2071,7 +2071,7 @@ L$xts_dec_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 48(%r12),%xmm10 movdqu 48(%r12),%xmm10
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -2081,7 +2081,7 @@ L$xts_dec_loop:
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
movdqu 64(%r12),%xmm11 movdqu 64(%r12),%xmm11
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -2125,20 +2125,20 @@ L$xts_dec_loop:
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa L$xts_magic(%rip),%xmm12 movdqa L$xts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
paddq %xmm6,%xmm6 paddq %xmm6,%xmm6
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
subq $128,%r14 subq $0x80,%r14
jnc L$xts_dec_loop jnc L$xts_dec_loop
L$xts_dec_short: L$xts_dec_short:
addq $128,%r14 addq $0x80,%r14
jz L$xts_dec_done jz L$xts_dec_done
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm15 movdqa %xmm6,%xmm15
movdqa %xmm6,0(%rsp) movdqa %xmm6,0(%rsp)
@ -2146,7 +2146,7 @@ L$xts_dec_short:
pand %xmm12,%xmm13 pand %xmm12,%xmm13
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pxor %xmm13,%xmm6 pxor %xmm13,%xmm6
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm0 movdqa %xmm6,%xmm0
movdqa %xmm6,16(%rsp) movdqa %xmm6,16(%rsp)
@ -2157,7 +2157,7 @@ L$xts_dec_short:
movdqu 0(%r12),%xmm7 movdqu 0(%r12),%xmm7
cmpq $16,%r14 cmpq $16,%r14
je L$xts_dec_1 je L$xts_dec_1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm1 movdqa %xmm6,%xmm1
movdqa %xmm6,32(%rsp) movdqa %xmm6,32(%rsp)
@ -2169,7 +2169,7 @@ L$xts_dec_short:
cmpq $32,%r14 cmpq $32,%r14
je L$xts_dec_2 je L$xts_dec_2
pxor %xmm7,%xmm15 pxor %xmm7,%xmm15
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm2 movdqa %xmm6,%xmm2
movdqa %xmm6,48(%rsp) movdqa %xmm6,48(%rsp)
@ -2181,7 +2181,7 @@ L$xts_dec_short:
cmpq $48,%r14 cmpq $48,%r14
je L$xts_dec_3 je L$xts_dec_3
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm3 movdqa %xmm6,%xmm3
movdqa %xmm6,64(%rsp) movdqa %xmm6,64(%rsp)
@ -2193,7 +2193,7 @@ L$xts_dec_short:
cmpq $64,%r14 cmpq $64,%r14
je L$xts_dec_4 je L$xts_dec_4
pxor %xmm9,%xmm1 pxor %xmm9,%xmm1
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm4 movdqa %xmm6,%xmm4
movdqa %xmm6,80(%rsp) movdqa %xmm6,80(%rsp)
@ -2205,7 +2205,7 @@ L$xts_dec_short:
cmpq $80,%r14 cmpq $80,%r14
je L$xts_dec_5 je L$xts_dec_5
pxor %xmm10,%xmm2 pxor %xmm10,%xmm2
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
movdqa %xmm6,96(%rsp) movdqa %xmm6,96(%rsp)
@ -2382,7 +2382,7 @@ L$xts_dec_done:
pxor %xmm14,%xmm14 pxor %xmm14,%xmm14
movdqa L$xts_magic(%rip),%xmm12 movdqa L$xts_magic(%rip),%xmm12
pcmpgtd %xmm6,%xmm14 pcmpgtd %xmm6,%xmm14
pshufd $19,%xmm14,%xmm13 pshufd $0x13,%xmm14,%xmm13
movdqa %xmm6,%xmm5 movdqa %xmm6,%xmm5
paddq %xmm6,%xmm6 paddq %xmm6,%xmm6
pand %xmm12,%xmm13 pand %xmm12,%xmm13

20
deps/openssl/asm_obsolete/x64-macosx-gas/aes/vpaes-x86_64.s

@ -60,7 +60,7 @@ L$enc_loop:
addq $16,%r11 addq $16,%r11
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,56,0,193 .byte 102,15,56,0,193
andq $48,%r11 andq $0x30,%r11
subq $1,%rax subq $1,%rax
pxor %xmm3,%xmm0 pxor %xmm3,%xmm0
@ -120,10 +120,10 @@ _vpaes_decrypt_core:
pand %xmm9,%xmm0 pand %xmm9,%xmm0
.byte 102,15,56,0,208 .byte 102,15,56,0,208
movdqa L$k_dipt+16(%rip),%xmm0 movdqa L$k_dipt+16(%rip),%xmm0
xorq $48,%r11 xorq $0x30,%r11
leaq L$k_dsbd(%rip),%r10 leaq L$k_dsbd(%rip),%r10
.byte 102,15,56,0,193 .byte 102,15,56,0,193
andq $48,%r11 andq $0x30,%r11
pxor %xmm5,%xmm2 pxor %xmm5,%xmm2
movdqa L$k_mc_forward+48(%rip),%xmm5 movdqa L$k_mc_forward+48(%rip),%xmm5
pxor %xmm2,%xmm0 pxor %xmm2,%xmm0
@ -242,7 +242,7 @@ L$schedule_am_decrypting:
movdqa (%r8,%r10,1),%xmm1 movdqa (%r8,%r10,1),%xmm1
.byte 102,15,56,0,217 .byte 102,15,56,0,217
movdqu %xmm3,(%rdx) movdqu %xmm3,(%rdx)
xorq $48,%r8 xorq $0x30,%r8
L$schedule_go: L$schedule_go:
cmpl $192,%esi cmpl $192,%esi
@ -332,7 +332,7 @@ L$oop_schedule_256:
call _vpaes_schedule_mangle call _vpaes_schedule_mangle
pshufd $255,%xmm0,%xmm0 pshufd $0xFF,%xmm0,%xmm0
movdqa %xmm7,%xmm5 movdqa %xmm7,%xmm5
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
call _vpaes_schedule_low_round call _vpaes_schedule_low_round
@ -399,8 +399,8 @@ L$schedule_mangle_last_dec:
.p2align 4 .p2align 4
_vpaes_schedule_192_smear: _vpaes_schedule_192_smear:
pshufd $128,%xmm6,%xmm1 pshufd $0x80,%xmm6,%xmm1
pshufd $254,%xmm7,%xmm0 pshufd $0xFE,%xmm7,%xmm0
pxor %xmm1,%xmm6 pxor %xmm1,%xmm6
pxor %xmm1,%xmm1 pxor %xmm1,%xmm1
pxor %xmm0,%xmm6 pxor %xmm0,%xmm6
@ -437,7 +437,7 @@ _vpaes_schedule_round:
pxor %xmm1,%xmm7 pxor %xmm1,%xmm7
pshufd $255,%xmm0,%xmm0 pshufd $0xFF,%xmm0,%xmm0
.byte 102,15,58,15,192,1 .byte 102,15,58,15,192,1
@ -596,7 +596,7 @@ L$schedule_mangle_both:
movdqa (%r8,%r10,1),%xmm1 movdqa (%r8,%r10,1),%xmm1
.byte 102,15,56,0,217 .byte 102,15,56,0,217
addq $-16,%r8 addq $-16,%r8
andq $48,%r8 andq $0x30,%r8
movdqu %xmm3,(%rdx) movdqu %xmm3,(%rdx)
.byte 0xf3,0xc3 .byte 0xf3,0xc3
@ -614,7 +614,7 @@ _vpaes_set_encrypt_key:
movl %eax,240(%rdx) movl %eax,240(%rdx)
movl $0,%ecx movl $0,%ecx
movl $48,%r8d movl $0x30,%r8d
call _vpaes_schedule_core call _vpaes_schedule_core
xorl %eax,%eax xorl %eax,%eax
.byte 0xf3,0xc3 .byte 0xf3,0xc3

219
deps/openssl/asm_obsolete/x64-macosx-gas/bn/rsaz-x86_64.s

@ -461,48 +461,94 @@ _rsaz_512_mul_gather4:
pushq %r14 pushq %r14
pushq %r15 pushq %r15
movl %r9d,%r9d subq $152,%rsp
subq $128+24,%rsp
L$mul_gather4_body: L$mul_gather4_body:
movl 64(%rdx,%r9,4),%eax movd %r9d,%xmm8
.byte 102,72,15,110,199 movdqa L$inc+16(%rip),%xmm1
movl (%rdx,%r9,4),%ebx movdqa L$inc(%rip),%xmm0
.byte 102,72,15,110,201
pshufd $0,%xmm8,%xmm8
movdqa %xmm1,%xmm7
movdqa %xmm1,%xmm2
paddd %xmm0,%xmm1
pcmpeqd %xmm8,%xmm0
movdqa %xmm7,%xmm3
paddd %xmm1,%xmm2
pcmpeqd %xmm8,%xmm1
movdqa %xmm7,%xmm4
paddd %xmm2,%xmm3
pcmpeqd %xmm8,%xmm2
movdqa %xmm7,%xmm5
paddd %xmm3,%xmm4
pcmpeqd %xmm8,%xmm3
movdqa %xmm7,%xmm6
paddd %xmm4,%xmm5
pcmpeqd %xmm8,%xmm4
paddd %xmm5,%xmm6
pcmpeqd %xmm8,%xmm5
paddd %xmm6,%xmm7
pcmpeqd %xmm8,%xmm6
pcmpeqd %xmm8,%xmm7
movdqa 0(%rdx),%xmm8
movdqa 16(%rdx),%xmm9
movdqa 32(%rdx),%xmm10
movdqa 48(%rdx),%xmm11
pand %xmm0,%xmm8
movdqa 64(%rdx),%xmm12
pand %xmm1,%xmm9
movdqa 80(%rdx),%xmm13
pand %xmm2,%xmm10
movdqa 96(%rdx),%xmm14
pand %xmm3,%xmm11
movdqa 112(%rdx),%xmm15
leaq 128(%rdx),%rbp
pand %xmm4,%xmm12
pand %xmm5,%xmm13
pand %xmm6,%xmm14
pand %xmm7,%xmm15
por %xmm10,%xmm8
por %xmm11,%xmm9
por %xmm12,%xmm8
por %xmm13,%xmm9
por %xmm14,%xmm8
por %xmm15,%xmm9
por %xmm9,%xmm8
pshufd $0x4e,%xmm8,%xmm9
por %xmm9,%xmm8
.byte 102,76,15,126,195
movq %r8,128(%rsp) movq %r8,128(%rsp)
movq %rdi,128+8(%rsp)
movq %rcx,128+16(%rsp)
shlq $32,%rax
orq %rax,%rbx
movq (%rsi),%rax movq (%rsi),%rax
movq 8(%rsi),%rcx movq 8(%rsi),%rcx
leaq 128(%rdx,%r9,4),%rbp
mulq %rbx mulq %rbx
movq %rax,(%rsp) movq %rax,(%rsp)
movq %rcx,%rax movq %rcx,%rax
movq %rdx,%r8 movq %rdx,%r8
mulq %rbx mulq %rbx
movd (%rbp),%xmm4
addq %rax,%r8 addq %rax,%r8
movq 16(%rsi),%rax movq 16(%rsi),%rax
movq %rdx,%r9 movq %rdx,%r9
adcq $0,%r9 adcq $0,%r9
mulq %rbx mulq %rbx
movd 64(%rbp),%xmm5
addq %rax,%r9 addq %rax,%r9
movq 24(%rsi),%rax movq 24(%rsi),%rax
movq %rdx,%r10 movq %rdx,%r10
adcq $0,%r10 adcq $0,%r10
mulq %rbx mulq %rbx
pslldq $4,%xmm5
addq %rax,%r10 addq %rax,%r10
movq 32(%rsi),%rax movq 32(%rsi),%rax
movq %rdx,%r11 movq %rdx,%r11
adcq $0,%r11 adcq $0,%r11
mulq %rbx mulq %rbx
por %xmm5,%xmm4
addq %rax,%r11 addq %rax,%r11
movq 40(%rsi),%rax movq 40(%rsi),%rax
movq %rdx,%r12 movq %rdx,%r12
@ -515,14 +561,12 @@ L$mul_gather4_body:
adcq $0,%r13 adcq $0,%r13
mulq %rbx mulq %rbx
leaq 128(%rbp),%rbp
addq %rax,%r13 addq %rax,%r13
movq 56(%rsi),%rax movq 56(%rsi),%rax
movq %rdx,%r14 movq %rdx,%r14
adcq $0,%r14 adcq $0,%r14
mulq %rbx mulq %rbx
.byte 102,72,15,126,227
addq %rax,%r14 addq %rax,%r14
movq (%rsi),%rax movq (%rsi),%rax
movq %rdx,%r15 movq %rdx,%r15
@ -534,6 +578,35 @@ L$mul_gather4_body:
.p2align 5 .p2align 5
L$oop_mul_gather: L$oop_mul_gather:
movdqa 0(%rbp),%xmm8
movdqa 16(%rbp),%xmm9
movdqa 32(%rbp),%xmm10
movdqa 48(%rbp),%xmm11
pand %xmm0,%xmm8
movdqa 64(%rbp),%xmm12
pand %xmm1,%xmm9
movdqa 80(%rbp),%xmm13
pand %xmm2,%xmm10
movdqa 96(%rbp),%xmm14
pand %xmm3,%xmm11
movdqa 112(%rbp),%xmm15
leaq 128(%rbp),%rbp
pand %xmm4,%xmm12
pand %xmm5,%xmm13
pand %xmm6,%xmm14
pand %xmm7,%xmm15
por %xmm10,%xmm8
por %xmm11,%xmm9
por %xmm12,%xmm8
por %xmm13,%xmm9
por %xmm14,%xmm8
por %xmm15,%xmm9
por %xmm9,%xmm8
pshufd $0x4e,%xmm8,%xmm9
por %xmm9,%xmm8
.byte 102,76,15,126,195
mulq %rbx mulq %rbx
addq %rax,%r8 addq %rax,%r8
movq 8(%rsi),%rax movq 8(%rsi),%rax
@ -542,7 +615,6 @@ L$oop_mul_gather:
adcq $0,%r8 adcq $0,%r8
mulq %rbx mulq %rbx
movd (%rbp),%xmm4
addq %rax,%r9 addq %rax,%r9
movq 16(%rsi),%rax movq 16(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -551,7 +623,6 @@ L$oop_mul_gather:
adcq $0,%r9 adcq $0,%r9
mulq %rbx mulq %rbx
movd 64(%rbp),%xmm5
addq %rax,%r10 addq %rax,%r10
movq 24(%rsi),%rax movq 24(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -560,7 +631,6 @@ L$oop_mul_gather:
adcq $0,%r10 adcq $0,%r10
mulq %rbx mulq %rbx
pslldq $4,%xmm5
addq %rax,%r11 addq %rax,%r11
movq 32(%rsi),%rax movq 32(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -569,7 +639,6 @@ L$oop_mul_gather:
adcq $0,%r11 adcq $0,%r11
mulq %rbx mulq %rbx
por %xmm5,%xmm4
addq %rax,%r12 addq %rax,%r12
movq 40(%rsi),%rax movq 40(%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -594,7 +663,6 @@ L$oop_mul_gather:
adcq $0,%r14 adcq $0,%r14
mulq %rbx mulq %rbx
.byte 102,72,15,126,227
addq %rax,%r15 addq %rax,%r15
movq (%rsi),%rax movq (%rsi),%rax
adcq $0,%rdx adcq $0,%rdx
@ -602,7 +670,6 @@ L$oop_mul_gather:
movq %rdx,%r15 movq %rdx,%r15
adcq $0,%r15 adcq $0,%r15
leaq 128(%rbp),%rbp
leaq 8(%rdi),%rdi leaq 8(%rdi),%rdi
decl %ecx decl %ecx
@ -617,8 +684,8 @@ L$oop_mul_gather:
movq %r14,48(%rdi) movq %r14,48(%rdi)
movq %r15,56(%rdi) movq %r15,56(%rdi)
.byte 102,72,15,126,199 movq 128+8(%rsp),%rdi
.byte 102,72,15,126,205 movq 128+16(%rsp),%rbp
movq (%rsp),%r8 movq (%rsp),%r8
movq 8(%rsp),%r9 movq 8(%rsp),%r9
@ -667,7 +734,7 @@ _rsaz_512_mul_scatter4:
movl %r9d,%r9d movl %r9d,%r9d
subq $128+24,%rsp subq $128+24,%rsp
L$mul_scatter4_body: L$mul_scatter4_body:
leaq (%r8,%r9,4),%r8 leaq (%r8,%r9,8),%r8
.byte 102,72,15,110,199 .byte 102,72,15,110,199
.byte 102,72,15,110,202 .byte 102,72,15,110,202
.byte 102,73,15,110,208 .byte 102,73,15,110,208
@ -703,30 +770,14 @@ L$mul_scatter4_body:
call __rsaz_512_subtract call __rsaz_512_subtract
movl %r8d,0(%rsi) movq %r8,0(%rsi)
shrq $32,%r8 movq %r9,128(%rsi)
movl %r9d,128(%rsi) movq %r10,256(%rsi)
shrq $32,%r9 movq %r11,384(%rsi)
movl %r10d,256(%rsi) movq %r12,512(%rsi)
shrq $32,%r10 movq %r13,640(%rsi)
movl %r11d,384(%rsi) movq %r14,768(%rsi)
shrq $32,%r11 movq %r15,896(%rsi)
movl %r12d,512(%rsi)
shrq $32,%r12
movl %r13d,640(%rsi)
shrq $32,%r13
movl %r14d,768(%rsi)
shrq $32,%r14
movl %r15d,896(%rsi)
shrq $32,%r15
movl %r8d,64(%rsi)
movl %r9d,192(%rsi)
movl %r10d,320(%rsi)
movl %r11d,448(%rsi)
movl %r12d,576(%rsi)
movl %r13d,704(%rsi)
movl %r14d,832(%rsi)
movl %r15d,960(%rsi)
leaq 128+24+48(%rsp),%rax leaq 128+24+48(%rsp),%rax
movq -48(%rax),%r15 movq -48(%rax),%r15
@ -1079,16 +1130,14 @@ L$oop_mul:
.p2align 4 .p2align 4
_rsaz_512_scatter4: _rsaz_512_scatter4:
leaq (%rdi,%rdx,4),%rdi leaq (%rdi,%rdx,8),%rdi
movl $8,%r9d movl $8,%r9d
jmp L$oop_scatter jmp L$oop_scatter
.p2align 4 .p2align 4
L$oop_scatter: L$oop_scatter:
movq (%rsi),%rax movq (%rsi),%rax
leaq 8(%rsi),%rsi leaq 8(%rsi),%rsi
movl %eax,(%rdi) movq %rax,(%rdi)
shrq $32,%rax
movl %eax,64(%rdi)
leaq 128(%rdi),%rdi leaq 128(%rdi),%rdi
decl %r9d decl %r9d
jnz L$oop_scatter jnz L$oop_scatter
@ -1099,18 +1148,72 @@ L$oop_scatter:
.p2align 4 .p2align 4
_rsaz_512_gather4: _rsaz_512_gather4:
leaq (%rsi,%rdx,4),%rsi movd %edx,%xmm8
movdqa L$inc+16(%rip),%xmm1
movdqa L$inc(%rip),%xmm0
pshufd $0,%xmm8,%xmm8
movdqa %xmm1,%xmm7
movdqa %xmm1,%xmm2
paddd %xmm0,%xmm1
pcmpeqd %xmm8,%xmm0
movdqa %xmm7,%xmm3
paddd %xmm1,%xmm2
pcmpeqd %xmm8,%xmm1
movdqa %xmm7,%xmm4
paddd %xmm2,%xmm3
pcmpeqd %xmm8,%xmm2
movdqa %xmm7,%xmm5
paddd %xmm3,%xmm4
pcmpeqd %xmm8,%xmm3
movdqa %xmm7,%xmm6
paddd %xmm4,%xmm5
pcmpeqd %xmm8,%xmm4
paddd %xmm5,%xmm6
pcmpeqd %xmm8,%xmm5
paddd %xmm6,%xmm7
pcmpeqd %xmm8,%xmm6
pcmpeqd %xmm8,%xmm7
movl $8,%r9d movl $8,%r9d
jmp L$oop_gather jmp L$oop_gather
.p2align 4 .p2align 4
L$oop_gather: L$oop_gather:
movl (%rsi),%eax movdqa 0(%rsi),%xmm8
movl 64(%rsi),%r8d movdqa 16(%rsi),%xmm9
movdqa 32(%rsi),%xmm10
movdqa 48(%rsi),%xmm11
pand %xmm0,%xmm8
movdqa 64(%rsi),%xmm12
pand %xmm1,%xmm9
movdqa 80(%rsi),%xmm13
pand %xmm2,%xmm10
movdqa 96(%rsi),%xmm14
pand %xmm3,%xmm11
movdqa 112(%rsi),%xmm15
leaq 128(%rsi),%rsi leaq 128(%rsi),%rsi
shlq $32,%r8 pand %xmm4,%xmm12
orq %r8,%rax pand %xmm5,%xmm13
movq %rax,(%rdi) pand %xmm6,%xmm14
pand %xmm7,%xmm15
por %xmm10,%xmm8
por %xmm11,%xmm9
por %xmm12,%xmm8
por %xmm13,%xmm9
por %xmm14,%xmm8
por %xmm15,%xmm9
por %xmm9,%xmm8
pshufd $0x4e,%xmm8,%xmm9
por %xmm9,%xmm8
movq %xmm8,(%rdi)
leaq 8(%rdi),%rdi leaq 8(%rdi),%rdi
decl %r9d decl %r9d
jnz L$oop_gather jnz L$oop_gather
.byte 0xf3,0xc3 .byte 0xf3,0xc3
L$SEH_end_rsaz_512_gather4:
.p2align 6
L$inc:
.long 0,0, 1,1
.long 2,2, 2,2

2
deps/openssl/asm_obsolete/x64-macosx-gas/bn/x86_64-gf2m.s

@ -242,7 +242,7 @@ L$body_mul_2x2:
movq %rcx,56(%rsp) movq %rcx,56(%rsp)
movq %r8,64(%rsp) movq %r8,64(%rsp)
movq $15,%r8 movq $0xf,%r8
movq %rsi,%rax movq %rsi,%rax
movq %rcx,%rbp movq %rcx,%rbp
call _mul_1x1 call _mul_1x1

108
deps/openssl/asm_obsolete/x64-macosx-gas/bn/x86_64-mont.s

@ -633,20 +633,20 @@ L$sqr8x_enter:
leaq -64(%rsp,%r9,4),%r11 leaq -64(%rsp,%r9,2),%r11
movq (%r8),%r8 movq (%r8),%r8
subq %rsi,%r11 subq %rsi,%r11
andq $4095,%r11 andq $4095,%r11
cmpq %r11,%r10 cmpq %r11,%r10
jb L$sqr8x_sp_alt jb L$sqr8x_sp_alt
subq %r11,%rsp subq %r11,%rsp
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
jmp L$sqr8x_sp_done jmp L$sqr8x_sp_done
.p2align 5 .p2align 5
L$sqr8x_sp_alt: L$sqr8x_sp_alt:
leaq 4096-64(,%r9,4),%r10 leaq 4096-64(,%r9,2),%r10
leaq -64(%rsp,%r9,4),%rsp leaq -64(%rsp,%r9,2),%rsp
subq %r10,%r11 subq %r10,%r11
movq $0,%r10 movq $0,%r10
cmovcq %r10,%r11 cmovcq %r10,%r11
@ -656,58 +656,80 @@ L$sqr8x_sp_done:
movq %r9,%r10 movq %r9,%r10
negq %r9 negq %r9
leaq 64(%rsp,%r9,2),%r11
movq %r8,32(%rsp) movq %r8,32(%rsp)
movq %rax,40(%rsp) movq %rax,40(%rsp)
L$sqr8x_body: L$sqr8x_body:
movq %r9,%rbp .byte 102,72,15,110,209
.byte 102,73,15,110,211
shrq $3+2,%rbp
movl _OPENSSL_ia32cap_P+8(%rip),%eax
jmp L$sqr8x_copy_n
.p2align 5
L$sqr8x_copy_n:
movq 0(%rcx),%xmm0
movq 8(%rcx),%xmm1
movq 16(%rcx),%xmm3
movq 24(%rcx),%xmm4
leaq 32(%rcx),%rcx
movdqa %xmm0,0(%r11)
movdqa %xmm1,16(%r11)
movdqa %xmm3,32(%r11)
movdqa %xmm4,48(%r11)
leaq 64(%r11),%r11
decq %rbp
jnz L$sqr8x_copy_n
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
.byte 102,72,15,110,207 .byte 102,72,15,110,207
.byte 102,73,15,110,218 .byte 102,73,15,110,218
call _bn_sqr8x_internal call _bn_sqr8x_internal
leaq (%rdi,%r9,1),%rbx
movq %r9,%rcx
movq %r9,%rdx
.byte 102,72,15,126,207
sarq $3+2,%rcx
jmp L$sqr8x_sub
.p2align 5
L$sqr8x_sub:
movq 0(%rbx),%r12
movq 8(%rbx),%r13
movq 16(%rbx),%r14
movq 24(%rbx),%r15
leaq 32(%rbx),%rbx
sbbq 0(%rbp),%r12
sbbq 8(%rbp),%r13
sbbq 16(%rbp),%r14
sbbq 24(%rbp),%r15
leaq 32(%rbp),%rbp
movq %r12,0(%rdi)
movq %r13,8(%rdi)
movq %r14,16(%rdi)
movq %r15,24(%rdi)
leaq 32(%rdi),%rdi
incq %rcx
jnz L$sqr8x_sub
sbbq $0,%rax
leaq (%rbx,%r9,1),%rbx
leaq (%rdi,%r9,1),%rdi
.byte 102,72,15,110,200
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
leaq 48(%rsp),%rax pshufd $0,%xmm1,%xmm1
leaq 64(%rsp,%r9,2),%rdx
shrq $3+2,%r9
movq 40(%rsp),%rsi movq 40(%rsp),%rsi
jmp L$sqr8x_zero jmp L$sqr8x_cond_copy
.p2align 5 .p2align 5
L$sqr8x_zero: L$sqr8x_cond_copy:
movdqa %xmm0,0(%rax) movdqa 0(%rbx),%xmm2
movdqa %xmm0,16(%rax) movdqa 16(%rbx),%xmm3
movdqa %xmm0,32(%rax) leaq 32(%rbx),%rbx
movdqa %xmm0,48(%rax) movdqu 0(%rdi),%xmm4
leaq 64(%rax),%rax movdqu 16(%rdi),%xmm5
movdqa %xmm0,0(%rdx) leaq 32(%rdi),%rdi
movdqa %xmm0,16(%rdx) movdqa %xmm0,-32(%rbx)
movdqa %xmm0,32(%rdx) movdqa %xmm0,-16(%rbx)
movdqa %xmm0,48(%rdx) movdqa %xmm0,-32(%rbx,%rdx,1)
leaq 64(%rdx),%rdx movdqa %xmm0,-16(%rbx,%rdx,1)
decq %r9 pcmpeqd %xmm1,%xmm0
jnz L$sqr8x_zero 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)
addq $32,%r9
jnz L$sqr8x_cond_copy
movq $1,%rax movq $1,%rax
movq -48(%rsi),%r15 movq -48(%rsi),%r15

897
deps/openssl/asm_obsolete/x64-macosx-gas/bn/x86_64-mont5.s

File diff suppressed because it is too large

2
deps/openssl/asm_obsolete/x64-macosx-gas/camellia/cmll-x86_64.s

@ -1624,7 +1624,7 @@ L$cbc_prologue:
leaq -64-63(%rcx),%r10 leaq -64-63(%rcx),%r10
subq %rsp,%r10 subq %rsp,%r10
negq %r10 negq %r10
andq $960,%r10 andq $0x3C0,%r10
subq %r10,%rsp subq %r10,%rsp

27
deps/openssl/asm_obsolete/x64-macosx-gas/ec/ecp_nistz256-x86_64.s

@ -1121,6 +1121,7 @@ _ecp_nistz256_point_double:
pushq %r15 pushq %r15
subq $160+8,%rsp subq $160+8,%rsp
L$point_double_shortcutq:
movdqu 0(%rsi),%xmm0 movdqu 0(%rsi),%xmm0
movq %rsi,%rbx movq %rsi,%rbx
movdqu 16(%rsi),%xmm1 movdqu 16(%rsi),%xmm1
@ -1341,7 +1342,7 @@ _ecp_nistz256_point_add:
por %xmm1,%xmm3 por %xmm1,%xmm3
movdqu 0(%rsi),%xmm0 movdqu 0(%rsi),%xmm0
pshufd $177,%xmm3,%xmm5 pshufd $0xb1,%xmm3,%xmm5
movdqu 16(%rsi),%xmm1 movdqu 16(%rsi),%xmm1
movdqu 32(%rsi),%xmm2 movdqu 32(%rsi),%xmm2
por %xmm3,%xmm5 por %xmm3,%xmm5
@ -1351,7 +1352,7 @@ _ecp_nistz256_point_add:
movq 64+16(%rsi),%r15 movq 64+16(%rsi),%r15
movq 64+24(%rsi),%r8 movq 64+24(%rsi),%r8
movdqa %xmm0,480(%rsp) movdqa %xmm0,480(%rsp)
pshufd $30,%xmm5,%xmm4 pshufd $0x1e,%xmm5,%xmm4
movdqa %xmm1,480+16(%rsp) movdqa %xmm1,480+16(%rsp)
por %xmm0,%xmm1 por %xmm0,%xmm1
.byte 102,72,15,110,199 .byte 102,72,15,110,199
@ -1371,10 +1372,10 @@ _ecp_nistz256_point_add:
call __ecp_nistz256_sqr_montq call __ecp_nistz256_sqr_montq
pcmpeqd %xmm4,%xmm5 pcmpeqd %xmm4,%xmm5
pshufd $177,%xmm3,%xmm4 pshufd $0xb1,%xmm3,%xmm4
por %xmm3,%xmm4 por %xmm3,%xmm4
pshufd $0,%xmm5,%xmm5 pshufd $0,%xmm5,%xmm5
pshufd $30,%xmm4,%xmm3 pshufd $0x1e,%xmm4,%xmm3
por %xmm3,%xmm4 por %xmm3,%xmm4
pxor %xmm3,%xmm3 pxor %xmm3,%xmm3
pcmpeqd %xmm3,%xmm4 pcmpeqd %xmm3,%xmm4
@ -1383,6 +1384,7 @@ _ecp_nistz256_point_add:
movq 64+8(%rbx),%r14 movq 64+8(%rbx),%r14
movq 64+16(%rbx),%r15 movq 64+16(%rbx),%r15
movq 64+24(%rbx),%r8 movq 64+24(%rbx),%r8
.byte 102,72,15,110,203
leaq 64-0(%rbx),%rsi leaq 64-0(%rbx),%rsi
leaq 32(%rsp),%rdi leaq 32(%rsp),%rdi
@ -1474,7 +1476,7 @@ _ecp_nistz256_point_add:
testq %r8,%r8 testq %r8,%r8
jnz L$add_proceedq jnz L$add_proceedq
testq %r9,%r9 testq %r9,%r9
jz L$add_proceedq jz L$add_doubleq
.byte 102,72,15,126,199 .byte 102,72,15,126,199
pxor %xmm0,%xmm0 pxor %xmm0,%xmm0
@ -1486,6 +1488,13 @@ _ecp_nistz256_point_add:
movdqu %xmm0,80(%rdi) movdqu %xmm0,80(%rdi)
jmp L$add_doneq jmp L$add_doneq
.p2align 5
L$add_doubleq:
.byte 102,72,15,126,206
.byte 102,72,15,126,199
addq $416,%rsp
jmp L$point_double_shortcutq
.p2align 5 .p2align 5
L$add_proceedq: L$add_proceedq:
movq 0+64(%rsp),%rax movq 0+64(%rsp),%rax
@ -1733,13 +1742,13 @@ _ecp_nistz256_point_add_affine:
por %xmm1,%xmm3 por %xmm1,%xmm3
movdqu 0(%rbx),%xmm0 movdqu 0(%rbx),%xmm0
pshufd $177,%xmm3,%xmm5 pshufd $0xb1,%xmm3,%xmm5
movdqu 16(%rbx),%xmm1 movdqu 16(%rbx),%xmm1
movdqu 32(%rbx),%xmm2 movdqu 32(%rbx),%xmm2
por %xmm3,%xmm5 por %xmm3,%xmm5
movdqu 48(%rbx),%xmm3 movdqu 48(%rbx),%xmm3
movdqa %xmm0,416(%rsp) movdqa %xmm0,416(%rsp)
pshufd $30,%xmm5,%xmm4 pshufd $0x1e,%xmm5,%xmm4
movdqa %xmm1,416+16(%rsp) movdqa %xmm1,416+16(%rsp)
por %xmm0,%xmm1 por %xmm0,%xmm1
.byte 102,72,15,110,199 .byte 102,72,15,110,199
@ -1755,13 +1764,13 @@ _ecp_nistz256_point_add_affine:
call __ecp_nistz256_sqr_montq call __ecp_nistz256_sqr_montq
pcmpeqd %xmm4,%xmm5 pcmpeqd %xmm4,%xmm5
pshufd $177,%xmm3,%xmm4 pshufd $0xb1,%xmm3,%xmm4
movq 0(%rbx),%rax movq 0(%rbx),%rax
movq %r12,%r9 movq %r12,%r9
por %xmm3,%xmm4 por %xmm3,%xmm4
pshufd $0,%xmm5,%xmm5 pshufd $0,%xmm5,%xmm5
pshufd $30,%xmm4,%xmm3 pshufd $0x1e,%xmm4,%xmm3
movq %r13,%r10 movq %r13,%r10
por %xmm3,%xmm4 por %xmm3,%xmm4
pxor %xmm3,%xmm3 pxor %xmm3,%xmm3

82
deps/openssl/asm_obsolete/x64-macosx-gas/modes/ghash-x86_64.s

@ -20,14 +20,14 @@ L$gmult_prologue:
movq $14,%rcx movq $14,%rcx
movq 8(%rsi,%rax,1),%r8 movq 8(%rsi,%rax,1),%r8
movq (%rsi,%rax,1),%r9 movq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
movq %r8,%rdx movq %r8,%rdx
jmp L$oop1 jmp L$oop1
.p2align 4 .p2align 4
L$oop1: L$oop1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
movb (%rdi,%rcx,1),%al movb (%rdi,%rcx,1),%al
shrq $4,%r9 shrq $4,%r9
@ -43,13 +43,13 @@ L$oop1:
js L$break1 js L$break1
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
@ -58,19 +58,19 @@ L$oop1:
.p2align 4 .p2align 4
L$break1: L$break1:
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rax,1),%r8 xorq 8(%rsi,%rax,1),%r8
shlq $60,%r10 shlq $60,%r10
xorq (%rsi,%rax,1),%r9 xorq (%rsi,%rax,1),%r9
andb $240,%bl andb $0xf0,%bl
xorq (%r11,%rdx,8),%r9 xorq (%r11,%rdx,8),%r9
movq %r8,%rdx movq %r8,%rdx
xorq %r10,%r8 xorq %r10,%r8
shrq $4,%r8 shrq $4,%r8
andq $15,%rdx andq $0xf,%rdx
movq %r9,%r10 movq %r9,%r10
shrq $4,%r9 shrq $4,%r9
xorq 8(%rsi,%rbx,1),%r8 xorq 8(%rsi,%rbx,1),%r8
@ -661,10 +661,10 @@ L$ghash_epilogue:
_gcm_init_clmul: _gcm_init_clmul:
L$_init_clmul: L$_init_clmul:
movdqu (%rsi),%xmm2 movdqu (%rsi),%xmm2
pshufd $78,%xmm2,%xmm2 pshufd $0b01001110,%xmm2,%xmm2
pshufd $255,%xmm2,%xmm4 pshufd $0b11111111,%xmm2,%xmm4
movdqa %xmm2,%xmm3 movdqa %xmm2,%xmm3
psllq $1,%xmm2 psllq $1,%xmm2
pxor %xmm5,%xmm5 pxor %xmm5,%xmm5
@ -678,11 +678,11 @@ L$_init_clmul:
pxor %xmm5,%xmm2 pxor %xmm5,%xmm2
pshufd $78,%xmm2,%xmm6 pshufd $0b01001110,%xmm2,%xmm6
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
pxor %xmm2,%xmm6 pxor %xmm2,%xmm6
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -718,8 +718,8 @@ L$_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm2,%xmm3 pshufd $0b01001110,%xmm2,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm2,%xmm3 pxor %xmm2,%xmm3
movdqu %xmm2,0(%rdi) movdqu %xmm2,0(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -727,7 +727,7 @@ L$_init_clmul:
.byte 102,15,58,15,227,8 .byte 102,15,58,15,227,8
movdqu %xmm4,32(%rdi) movdqu %xmm4,32(%rdi)
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -765,7 +765,7 @@ L$_init_clmul:
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
movdqa %xmm0,%xmm5 movdqa %xmm0,%xmm5
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -801,8 +801,8 @@ L$_init_clmul:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
pshufd $78,%xmm5,%xmm3 pshufd $0b01001110,%xmm5,%xmm3
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm5,%xmm3 pxor %xmm5,%xmm3
movdqu %xmm5,48(%rdi) movdqu %xmm5,48(%rdi)
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
@ -822,7 +822,7 @@ L$_gmult_clmul:
movdqu 32(%rsi),%xmm4 movdqu 32(%rsi),%xmm4
.byte 102,15,56,0,197 .byte 102,15,56,0,197
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17
@ -874,20 +874,20 @@ L$_ghash_clmul:
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
.byte 102,65,15,56,0,194 .byte 102,65,15,56,0,194
subq $16,%rcx subq $0x10,%rcx
jz L$odd_tail jz L$odd_tail
movdqu 16(%rsi),%xmm6 movdqu 16(%rsi),%xmm6
movl _OPENSSL_ia32cap_P+4(%rip),%eax movl _OPENSSL_ia32cap_P+4(%rip),%eax
cmpq $48,%rcx cmpq $0x30,%rcx
jb L$skip4x jb L$skip4x
andl $71303168,%eax andl $71303168,%eax
cmpl $4194304,%eax cmpl $4194304,%eax
je L$skip4x je L$skip4x
subq $48,%rcx subq $0x30,%rcx
movq $11547335547999543296,%rax movq $0xA040608020C0E000,%rax
movdqu 48(%rsi),%xmm14 movdqu 48(%rsi),%xmm14
movdqu 64(%rsi),%xmm15 movdqu 64(%rsi),%xmm15
@ -899,14 +899,14 @@ L$_ghash_clmul:
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,68,15,58,68,222,0 .byte 102,68,15,58,68,222,0
.byte 102,68,15,58,68,238,17 .byte 102,68,15,58,68,238,17
@ -921,12 +921,12 @@ L$_ghash_clmul:
.byte 102,69,15,56,0,218 .byte 102,69,15,56,0,218
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,69,15,58,68,222,0 .byte 102,69,15,58,68,222,0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
@ -934,7 +934,7 @@ L$_ghash_clmul:
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jc L$tail4x jc L$tail4x
jmp L$mod4_loop jmp L$mod4_loop
@ -949,14 +949,14 @@ L$mod4_loop:
movdqu 32(%rdx),%xmm3 movdqu 32(%rdx),%xmm3
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
.byte 102,68,15,58,68,199,16 .byte 102,68,15,58,68,199,16
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
xorps %xmm5,%xmm1 xorps %xmm5,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
.byte 102,65,15,56,0,218 .byte 102,65,15,56,0,218
movups 32(%rsi),%xmm7 movups 32(%rsi),%xmm7
xorps %xmm4,%xmm8 xorps %xmm4,%xmm8
.byte 102,68,15,58,68,218,0 .byte 102,68,15,58,68,218,0
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
@ -1000,7 +1000,7 @@ L$mod4_loop:
movdqa %xmm11,%xmm13 movdqa %xmm11,%xmm13
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
pshufd $78,%xmm11,%xmm12 pshufd $0b01001110,%xmm11,%xmm12
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm11,%xmm12 pxor %xmm11,%xmm12
@ -1010,14 +1010,14 @@ L$mod4_loop:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
.byte 102,69,15,58,68,238,17 .byte 102,69,15,58,68,238,17
xorps %xmm11,%xmm3 xorps %xmm11,%xmm3
pshufd $78,%xmm0,%xmm8 pshufd $0b01001110,%xmm0,%xmm8
pxor %xmm0,%xmm8 pxor %xmm0,%xmm8
.byte 102,68,15,58,68,231,0 .byte 102,68,15,58,68,231,0
xorps %xmm13,%xmm5 xorps %xmm13,%xmm5
leaq 64(%rdx),%rdx leaq 64(%rdx),%rdx
subq $64,%rcx subq $0x40,%rcx
jnc L$mod4_loop jnc L$mod4_loop
L$tail4x: L$tail4x:
@ -1061,10 +1061,10 @@ L$tail4x:
pxor %xmm4,%xmm0 pxor %xmm4,%xmm0
psrlq $1,%xmm0 psrlq $1,%xmm0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
addq $64,%rcx addq $0x40,%rcx
jz L$done jz L$done
movdqu 32(%rsi),%xmm7 movdqu 32(%rsi),%xmm7
subq $16,%rcx subq $0x10,%rcx
jz L$odd_tail jz L$odd_tail
L$skip4x: L$skip4x:
@ -1079,7 +1079,7 @@ L$skip4x:
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm3,%xmm5 movdqa %xmm3,%xmm5
pshufd $78,%xmm3,%xmm4 pshufd $0b01001110,%xmm3,%xmm4
pxor %xmm3,%xmm4 pxor %xmm3,%xmm4
.byte 102,15,58,68,218,0 .byte 102,15,58,68,218,0
.byte 102,15,58,68,234,17 .byte 102,15,58,68,234,17
@ -1087,7 +1087,7 @@ L$skip4x:
leaq 32(%rdx),%rdx leaq 32(%rdx),%rdx
nop nop
subq $32,%rcx subq $0x20,%rcx
jbe L$even_tail jbe L$even_tail
nop nop
jmp L$mod_loop jmp L$mod_loop
@ -1096,7 +1096,7 @@ L$skip4x:
L$mod_loop: L$mod_loop:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1134,7 +1134,7 @@ L$mod_loop:
pslldq $8,%xmm0 pslldq $8,%xmm0
psrldq $8,%xmm8 psrldq $8,%xmm8
pxor %xmm9,%xmm0 pxor %xmm9,%xmm0
pshufd $78,%xmm5,%xmm4 pshufd $0b01001110,%xmm5,%xmm4
pxor %xmm8,%xmm1 pxor %xmm8,%xmm1
pxor %xmm5,%xmm4 pxor %xmm5,%xmm4
@ -1150,13 +1150,13 @@ L$mod_loop:
.byte 102,15,58,68,231,0 .byte 102,15,58,68,231,0
pxor %xmm1,%xmm0 pxor %xmm1,%xmm0
subq $32,%rcx subq $0x20,%rcx
ja L$mod_loop ja L$mod_loop
L$even_tail: L$even_tail:
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
movdqa %xmm4,%xmm8 movdqa %xmm4,%xmm8
pshufd $78,%xmm0,%xmm4 pshufd $0b01001110,%xmm0,%xmm4
pxor %xmm0,%xmm4 pxor %xmm0,%xmm4
.byte 102,15,58,68,198,0 .byte 102,15,58,68,198,0
@ -1204,7 +1204,7 @@ L$odd_tail:
.byte 102,69,15,56,0,194 .byte 102,69,15,56,0,194
pxor %xmm8,%xmm0 pxor %xmm8,%xmm0
movdqa %xmm0,%xmm1 movdqa %xmm0,%xmm1
pshufd $78,%xmm0,%xmm3 pshufd $0b01001110,%xmm0,%xmm3
pxor %xmm0,%xmm3 pxor %xmm0,%xmm3
.byte 102,15,58,68,194,0 .byte 102,15,58,68,194,0
.byte 102,15,58,68,202,17 .byte 102,15,58,68,202,17

16
deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha1-mb-x86_64.s

@ -2599,10 +2599,10 @@ L$oop_grande_shaext:
punpcklqdq %xmm5,%xmm0 punpcklqdq %xmm5,%xmm0
punpckhqdq %xmm5,%xmm8 punpckhqdq %xmm5,%xmm8
pshufd $63,%xmm7,%xmm1 pshufd $0b00111111,%xmm7,%xmm1
pshufd $127,%xmm7,%xmm9 pshufd $0b01111111,%xmm7,%xmm9
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
jmp L$oop_shaext jmp L$oop_shaext
.p2align 5 .p2align 5
@ -2857,8 +2857,8 @@ L$oop_shaext:
.byte 69,15,58,204,193,3 .byte 69,15,58,204,193,3
.byte 69,15,56,200,214 .byte 69,15,56,200,214
pshufd $0,%xmm6,%xmm11 pshufd $0x00,%xmm6,%xmm11
pshufd $85,%xmm6,%xmm12 pshufd $0x55,%xmm6,%xmm12
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
pcmpgtd %xmm4,%xmm11 pcmpgtd %xmm4,%xmm11
pcmpgtd %xmm4,%xmm12 pcmpgtd %xmm4,%xmm12
@ -2888,8 +2888,8 @@ L$oop_shaext:
movl 280(%rsp),%edx movl 280(%rsp),%edx
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
pshufd $27,%xmm8,%xmm8 pshufd $0b00011011,%xmm8,%xmm8
movdqa %xmm0,%xmm6 movdqa %xmm0,%xmm6
punpckldq %xmm8,%xmm0 punpckldq %xmm8,%xmm0

8
deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha1-x86_64.s

@ -1240,9 +1240,9 @@ _shaext_shortcut:
movdqa K_XX_XX+160(%rip),%xmm3 movdqa K_XX_XX+160(%rip),%xmm3
movdqu (%rsi),%xmm4 movdqu (%rsi),%xmm4
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
movdqu 16(%rsi),%xmm5 movdqu 16(%rsi),%xmm5
pshufd $27,%xmm1,%xmm1 pshufd $0b00011011,%xmm1,%xmm1
movdqu 32(%rsi),%xmm6 movdqu 32(%rsi),%xmm6
.byte 102,15,56,0,227 .byte 102,15,56,0,227
movdqu 48(%rsi),%xmm7 movdqu 48(%rsi),%xmm7
@ -1392,8 +1392,8 @@ L$oop_shaext:
jnz L$oop_shaext jnz L$oop_shaext
pshufd $27,%xmm0,%xmm0 pshufd $0b00011011,%xmm0,%xmm0
pshufd $27,%xmm1,%xmm1 pshufd $0b00011011,%xmm1,%xmm1
movdqu %xmm0,(%rdi) movdqu %xmm0,(%rdi)
movd %xmm1,16(%rdi) movd %xmm1,16(%rdi)
.byte 0xf3,0xc3 .byte 0xf3,0xc3

84
deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha256-mb-x86_64.s

@ -2677,10 +2677,10 @@ L$oop_grande_shaext:
punpckhqdq %xmm8,%xmm14 punpckhqdq %xmm8,%xmm14
punpckhqdq %xmm10,%xmm15 punpckhqdq %xmm10,%xmm15
pshufd $27,%xmm12,%xmm12 pshufd $0b00011011,%xmm12,%xmm12
pshufd $27,%xmm13,%xmm13 pshufd $0b00011011,%xmm13,%xmm13
pshufd $27,%xmm14,%xmm14 pshufd $0b00011011,%xmm14,%xmm14
pshufd $27,%xmm15,%xmm15 pshufd $0b00011011,%xmm15,%xmm15
jmp L$oop_shaext jmp L$oop_shaext
.p2align 5 .p2align 5
@ -2712,11 +2712,11 @@ L$oop_shaext:
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
movdqa %xmm15,112(%rsp) movdqa %xmm15,112(%rsp)
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
pxor %xmm12,%xmm4 pxor %xmm12,%xmm4
movdqa %xmm12,64(%rsp) movdqa %xmm12,64(%rsp)
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
pxor %xmm14,%xmm8 pxor %xmm14,%xmm8
movdqa %xmm14,96(%rsp) movdqa %xmm14,96(%rsp)
movdqa 16-128(%rbp),%xmm1 movdqa 16-128(%rbp),%xmm1
@ -2734,11 +2734,11 @@ L$oop_shaext:
.byte 102,68,15,56,0,211 .byte 102,68,15,56,0,211
prefetcht0 127(%r9) prefetcht0 127(%r9)
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
.byte 102,68,15,56,0,219 .byte 102,68,15,56,0,219
.byte 15,56,204,229 .byte 15,56,204,229
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 32-128(%rbp),%xmm1 movdqa 32-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2751,14 +2751,14 @@ L$oop_shaext:
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
movdqa %xmm7,%xmm3 movdqa %xmm7,%xmm3
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
.byte 102,15,58,15,222,4 .byte 102,15,58,15,222,4
paddd %xmm3,%xmm4 paddd %xmm3,%xmm4
movdqa %xmm11,%xmm3 movdqa %xmm11,%xmm3
.byte 102,65,15,58,15,218,4 .byte 102,65,15,58,15,218,4
.byte 15,56,204,238 .byte 15,56,204,238
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 48-128(%rbp),%xmm1 movdqa 48-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2775,13 +2775,13 @@ L$oop_shaext:
.byte 102,15,58,15,223,4 .byte 102,15,58,15,223,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,195 .byte 69,15,56,205,195
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm5 paddd %xmm3,%xmm5
movdqa %xmm8,%xmm3 movdqa %xmm8,%xmm3
.byte 102,65,15,58,15,219,4 .byte 102,65,15,58,15,219,4
.byte 15,56,204,247 .byte 15,56,204,247
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 64-128(%rbp),%xmm1 movdqa 64-128(%rbp),%xmm1
paddd %xmm4,%xmm1 paddd %xmm4,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2797,13 +2797,13 @@ L$oop_shaext:
.byte 102,15,58,15,220,4 .byte 102,15,58,15,220,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,200 .byte 69,15,56,205,200
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm6 paddd %xmm3,%xmm6
movdqa %xmm9,%xmm3 movdqa %xmm9,%xmm3
.byte 102,65,15,58,15,216,4 .byte 102,65,15,58,15,216,4
.byte 15,56,204,252 .byte 15,56,204,252
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 80-128(%rbp),%xmm1 movdqa 80-128(%rbp),%xmm1
paddd %xmm5,%xmm1 paddd %xmm5,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2819,13 +2819,13 @@ L$oop_shaext:
.byte 102,15,58,15,221,4 .byte 102,15,58,15,221,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,209 .byte 69,15,56,205,209
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm7 paddd %xmm3,%xmm7
movdqa %xmm10,%xmm3 movdqa %xmm10,%xmm3
.byte 102,65,15,58,15,217,4 .byte 102,65,15,58,15,217,4
.byte 15,56,204,229 .byte 15,56,204,229
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 96-128(%rbp),%xmm1 movdqa 96-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2841,13 +2841,13 @@ L$oop_shaext:
.byte 102,15,58,15,222,4 .byte 102,15,58,15,222,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,218 .byte 69,15,56,205,218
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm4 paddd %xmm3,%xmm4
movdqa %xmm11,%xmm3 movdqa %xmm11,%xmm3
.byte 102,65,15,58,15,218,4 .byte 102,65,15,58,15,218,4
.byte 15,56,204,238 .byte 15,56,204,238
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 112-128(%rbp),%xmm1 movdqa 112-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2863,13 +2863,13 @@ L$oop_shaext:
.byte 102,15,58,15,223,4 .byte 102,15,58,15,223,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,195 .byte 69,15,56,205,195
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm5 paddd %xmm3,%xmm5
movdqa %xmm8,%xmm3 movdqa %xmm8,%xmm3
.byte 102,65,15,58,15,219,4 .byte 102,65,15,58,15,219,4
.byte 15,56,204,247 .byte 15,56,204,247
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 128-128(%rbp),%xmm1 movdqa 128-128(%rbp),%xmm1
paddd %xmm4,%xmm1 paddd %xmm4,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2885,13 +2885,13 @@ L$oop_shaext:
.byte 102,15,58,15,220,4 .byte 102,15,58,15,220,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,200 .byte 69,15,56,205,200
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm6 paddd %xmm3,%xmm6
movdqa %xmm9,%xmm3 movdqa %xmm9,%xmm3
.byte 102,65,15,58,15,216,4 .byte 102,65,15,58,15,216,4
.byte 15,56,204,252 .byte 15,56,204,252
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 144-128(%rbp),%xmm1 movdqa 144-128(%rbp),%xmm1
paddd %xmm5,%xmm1 paddd %xmm5,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2907,13 +2907,13 @@ L$oop_shaext:
.byte 102,15,58,15,221,4 .byte 102,15,58,15,221,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,209 .byte 69,15,56,205,209
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm7 paddd %xmm3,%xmm7
movdqa %xmm10,%xmm3 movdqa %xmm10,%xmm3
.byte 102,65,15,58,15,217,4 .byte 102,65,15,58,15,217,4
.byte 15,56,204,229 .byte 15,56,204,229
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 160-128(%rbp),%xmm1 movdqa 160-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2929,13 +2929,13 @@ L$oop_shaext:
.byte 102,15,58,15,222,4 .byte 102,15,58,15,222,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,218 .byte 69,15,56,205,218
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm4 paddd %xmm3,%xmm4
movdqa %xmm11,%xmm3 movdqa %xmm11,%xmm3
.byte 102,65,15,58,15,218,4 .byte 102,65,15,58,15,218,4
.byte 15,56,204,238 .byte 15,56,204,238
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 176-128(%rbp),%xmm1 movdqa 176-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2951,13 +2951,13 @@ L$oop_shaext:
.byte 102,15,58,15,223,4 .byte 102,15,58,15,223,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,195 .byte 69,15,56,205,195
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm5 paddd %xmm3,%xmm5
movdqa %xmm8,%xmm3 movdqa %xmm8,%xmm3
.byte 102,65,15,58,15,219,4 .byte 102,65,15,58,15,219,4
.byte 15,56,204,247 .byte 15,56,204,247
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 192-128(%rbp),%xmm1 movdqa 192-128(%rbp),%xmm1
paddd %xmm4,%xmm1 paddd %xmm4,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2973,13 +2973,13 @@ L$oop_shaext:
.byte 102,15,58,15,220,4 .byte 102,15,58,15,220,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,200 .byte 69,15,56,205,200
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm6 paddd %xmm3,%xmm6
movdqa %xmm9,%xmm3 movdqa %xmm9,%xmm3
.byte 102,65,15,58,15,216,4 .byte 102,65,15,58,15,216,4
.byte 15,56,204,252 .byte 15,56,204,252
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 208-128(%rbp),%xmm1 movdqa 208-128(%rbp),%xmm1
paddd %xmm5,%xmm1 paddd %xmm5,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -2995,13 +2995,13 @@ L$oop_shaext:
.byte 102,15,58,15,221,4 .byte 102,15,58,15,221,4
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,209 .byte 69,15,56,205,209
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
paddd %xmm3,%xmm7 paddd %xmm3,%xmm7
movdqa %xmm10,%xmm3 movdqa %xmm10,%xmm3
.byte 102,65,15,58,15,217,4 .byte 102,65,15,58,15,217,4
nop nop
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 224-128(%rbp),%xmm1 movdqa 224-128(%rbp),%xmm1
paddd %xmm6,%xmm1 paddd %xmm6,%xmm1
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -3018,13 +3018,13 @@ L$oop_shaext:
pxor %xmm6,%xmm6 pxor %xmm6,%xmm6
.byte 69,15,56,203,254 .byte 69,15,56,203,254
.byte 69,15,56,205,218 .byte 69,15,56,205,218
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
movdqa 240-128(%rbp),%xmm1 movdqa 240-128(%rbp),%xmm1
paddd %xmm7,%xmm1 paddd %xmm7,%xmm1
movq (%rbx),%xmm7 movq (%rbx),%xmm7
nop nop
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
movdqa 240-128(%rbp),%xmm2 movdqa 240-128(%rbp),%xmm2
paddd %xmm11,%xmm2 paddd %xmm11,%xmm2
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -3034,17 +3034,17 @@ L$oop_shaext:
cmovgeq %rsp,%r8 cmovgeq %rsp,%r8
cmpl 4(%rbx),%ecx cmpl 4(%rbx),%ecx
cmovgeq %rsp,%r9 cmovgeq %rsp,%r9
pshufd $0,%xmm7,%xmm9 pshufd $0x00,%xmm7,%xmm9
.byte 69,15,56,203,236 .byte 69,15,56,203,236
movdqa %xmm2,%xmm0 movdqa %xmm2,%xmm0
pshufd $85,%xmm7,%xmm10 pshufd $0x55,%xmm7,%xmm10
movdqa %xmm7,%xmm11 movdqa %xmm7,%xmm11
.byte 69,15,56,203,254 .byte 69,15,56,203,254
pshufd $14,%xmm1,%xmm0 pshufd $0x0e,%xmm1,%xmm0
pcmpgtd %xmm6,%xmm9 pcmpgtd %xmm6,%xmm9
pcmpgtd %xmm6,%xmm10 pcmpgtd %xmm6,%xmm10
.byte 69,15,56,203,229 .byte 69,15,56,203,229
pshufd $14,%xmm2,%xmm0 pshufd $0x0e,%xmm2,%xmm0
pcmpgtd %xmm6,%xmm11 pcmpgtd %xmm6,%xmm11
movdqa K256_shaext-16(%rip),%xmm3 movdqa K256_shaext-16(%rip),%xmm3
.byte 69,15,56,203,247 .byte 69,15,56,203,247
@ -3066,10 +3066,10 @@ L$oop_shaext:
movl 280(%rsp),%edx movl 280(%rsp),%edx
pshufd $27,%xmm12,%xmm12 pshufd $0b00011011,%xmm12,%xmm12
pshufd $27,%xmm13,%xmm13 pshufd $0b00011011,%xmm13,%xmm13
pshufd $27,%xmm14,%xmm14 pshufd $0b00011011,%xmm14,%xmm14
pshufd $27,%xmm15,%xmm15 pshufd $0b00011011,%xmm15,%xmm15
movdqa %xmm12,%xmm5 movdqa %xmm12,%xmm5
movdqa %xmm13,%xmm6 movdqa %xmm13,%xmm6

44
deps/openssl/asm_obsolete/x64-macosx-gas/sha/sha256-x86_64.s

@ -1754,9 +1754,9 @@ _shaext_shortcut:
movdqu 16(%rdi),%xmm2 movdqu 16(%rdi),%xmm2
movdqa 512-128(%rcx),%xmm7 movdqa 512-128(%rcx),%xmm7
pshufd $27,%xmm1,%xmm0 pshufd $0x1b,%xmm1,%xmm0
pshufd $177,%xmm1,%xmm1 pshufd $0xb1,%xmm1,%xmm1
pshufd $27,%xmm2,%xmm2 pshufd $0x1b,%xmm2,%xmm2
movdqa %xmm7,%xmm8 movdqa %xmm7,%xmm8
.byte 102,15,58,15,202,8 .byte 102,15,58,15,202,8
punpcklqdq %xmm0,%xmm2 punpcklqdq %xmm0,%xmm2
@ -1775,7 +1775,7 @@ L$oop_shaext:
.byte 102,15,56,0,231 .byte 102,15,56,0,231
movdqa %xmm2,%xmm10 movdqa %xmm2,%xmm10
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
nop nop
movdqa %xmm1,%xmm9 movdqa %xmm1,%xmm9
.byte 15,56,203,202 .byte 15,56,203,202
@ -1784,7 +1784,7 @@ L$oop_shaext:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 102,15,56,0,239 .byte 102,15,56,0,239
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
leaq 64(%rsi),%rsi leaq 64(%rsi),%rsi
.byte 15,56,204,220 .byte 15,56,204,220
.byte 15,56,203,202 .byte 15,56,203,202
@ -1793,7 +1793,7 @@ L$oop_shaext:
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 102,15,56,0,247 .byte 102,15,56,0,247
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
.byte 102,15,58,15,253,4 .byte 102,15,58,15,253,4
nop nop
@ -1805,7 +1805,7 @@ L$oop_shaext:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
.byte 15,56,205,222 .byte 15,56,205,222
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm3,%xmm7 movdqa %xmm3,%xmm7
.byte 102,15,58,15,254,4 .byte 102,15,58,15,254,4
nop nop
@ -1816,7 +1816,7 @@ L$oop_shaext:
paddd %xmm3,%xmm0 paddd %xmm3,%xmm0
.byte 15,56,205,227 .byte 15,56,205,227
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm4,%xmm7 movdqa %xmm4,%xmm7
.byte 102,15,58,15,251,4 .byte 102,15,58,15,251,4
nop nop
@ -1827,7 +1827,7 @@ L$oop_shaext:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 15,56,205,236 .byte 15,56,205,236
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm5,%xmm7 movdqa %xmm5,%xmm7
.byte 102,15,58,15,252,4 .byte 102,15,58,15,252,4
nop nop
@ -1838,7 +1838,7 @@ L$oop_shaext:
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 15,56,205,245 .byte 15,56,205,245
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
.byte 102,15,58,15,253,4 .byte 102,15,58,15,253,4
nop nop
@ -1849,7 +1849,7 @@ L$oop_shaext:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
.byte 15,56,205,222 .byte 15,56,205,222
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm3,%xmm7 movdqa %xmm3,%xmm7
.byte 102,15,58,15,254,4 .byte 102,15,58,15,254,4
nop nop
@ -1860,7 +1860,7 @@ L$oop_shaext:
paddd %xmm3,%xmm0 paddd %xmm3,%xmm0
.byte 15,56,205,227 .byte 15,56,205,227
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm4,%xmm7 movdqa %xmm4,%xmm7
.byte 102,15,58,15,251,4 .byte 102,15,58,15,251,4
nop nop
@ -1871,7 +1871,7 @@ L$oop_shaext:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 15,56,205,236 .byte 15,56,205,236
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm5,%xmm7 movdqa %xmm5,%xmm7
.byte 102,15,58,15,252,4 .byte 102,15,58,15,252,4
nop nop
@ -1882,7 +1882,7 @@ L$oop_shaext:
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 15,56,205,245 .byte 15,56,205,245
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm6,%xmm7 movdqa %xmm6,%xmm7
.byte 102,15,58,15,253,4 .byte 102,15,58,15,253,4
nop nop
@ -1893,7 +1893,7 @@ L$oop_shaext:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
.byte 15,56,205,222 .byte 15,56,205,222
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm3,%xmm7 movdqa %xmm3,%xmm7
.byte 102,15,58,15,254,4 .byte 102,15,58,15,254,4
nop nop
@ -1904,7 +1904,7 @@ L$oop_shaext:
paddd %xmm3,%xmm0 paddd %xmm3,%xmm0
.byte 15,56,205,227 .byte 15,56,205,227
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm4,%xmm7 movdqa %xmm4,%xmm7
.byte 102,15,58,15,251,4 .byte 102,15,58,15,251,4
nop nop
@ -1915,7 +1915,7 @@ L$oop_shaext:
paddd %xmm4,%xmm0 paddd %xmm4,%xmm0
.byte 15,56,205,236 .byte 15,56,205,236
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
movdqa %xmm5,%xmm7 movdqa %xmm5,%xmm7
.byte 102,15,58,15,252,4 .byte 102,15,58,15,252,4
.byte 15,56,203,202 .byte 15,56,203,202
@ -1924,7 +1924,7 @@ L$oop_shaext:
movdqa 448-128(%rcx),%xmm0 movdqa 448-128(%rcx),%xmm0
paddd %xmm5,%xmm0 paddd %xmm5,%xmm0
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
.byte 15,56,205,245 .byte 15,56,205,245
movdqa %xmm8,%xmm7 movdqa %xmm8,%xmm7
.byte 15,56,203,202 .byte 15,56,203,202
@ -1933,7 +1933,7 @@ L$oop_shaext:
paddd %xmm6,%xmm0 paddd %xmm6,%xmm0
nop nop
.byte 15,56,203,209 .byte 15,56,203,209
pshufd $14,%xmm0,%xmm0 pshufd $0x0e,%xmm0,%xmm0
decq %rdx decq %rdx
nop nop
.byte 15,56,203,202 .byte 15,56,203,202
@ -1942,9 +1942,9 @@ L$oop_shaext:
paddd %xmm9,%xmm1 paddd %xmm9,%xmm1
jnz L$oop_shaext jnz L$oop_shaext
pshufd $177,%xmm2,%xmm2 pshufd $0xb1,%xmm2,%xmm2
pshufd $27,%xmm1,%xmm7 pshufd $0x1b,%xmm1,%xmm7
pshufd $177,%xmm1,%xmm1 pshufd $0xb1,%xmm1,%xmm1
punpckhqdq %xmm2,%xmm1 punpckhqdq %xmm2,%xmm1
.byte 102,15,58,15,215,8 .byte 102,15,58,15,215,8

48
deps/openssl/asm_obsolete/x64-macosx-gas/x86_64cpuid.s

@ -45,43 +45,43 @@ _OPENSSL_ia32_cpuid:
movl %eax,%r11d movl %eax,%r11d
xorl %eax,%eax xorl %eax,%eax
cmpl $1970169159,%ebx cmpl $0x756e6547,%ebx
setne %al setne %al
movl %eax,%r9d movl %eax,%r9d
cmpl $1231384169,%edx cmpl $0x49656e69,%edx
setne %al setne %al
orl %eax,%r9d orl %eax,%r9d
cmpl $1818588270,%ecx cmpl $0x6c65746e,%ecx
setne %al setne %al
orl %eax,%r9d orl %eax,%r9d
jz L$intel jz L$intel
cmpl $1752462657,%ebx cmpl $0x68747541,%ebx
setne %al setne %al
movl %eax,%r10d movl %eax,%r10d
cmpl $1769238117,%edx cmpl $0x69746E65,%edx
setne %al setne %al
orl %eax,%r10d orl %eax,%r10d
cmpl $1145913699,%ecx cmpl $0x444D4163,%ecx
setne %al setne %al
orl %eax,%r10d orl %eax,%r10d
jnz L$intel jnz L$intel
movl $2147483648,%eax movl $0x80000000,%eax
cpuid cpuid
cmpl $2147483649,%eax cmpl $0x80000001,%eax
jb L$intel jb L$intel
movl %eax,%r10d movl %eax,%r10d
movl $2147483649,%eax movl $0x80000001,%eax
cpuid cpuid
orl %ecx,%r9d orl %ecx,%r9d
andl $2049,%r9d andl $0x00000801,%r9d
cmpl $2147483656,%r10d cmpl $0x80000008,%r10d
jb L$intel jb L$intel
movl $2147483656,%eax movl $0x80000008,%eax
cpuid cpuid
movzbq %cl,%r10 movzbq %cl,%r10
incq %r10 incq %r10
@ -93,7 +93,7 @@ _OPENSSL_ia32_cpuid:
shrl $16,%ebx shrl $16,%ebx
cmpb %r10b,%bl cmpb %r10b,%bl
ja L$generic ja L$generic
andl $4026531839,%edx andl $0xefffffff,%edx
jmp L$generic jmp L$generic
L$intel: L$intel:
@ -106,7 +106,7 @@ L$intel:
cpuid cpuid
movl %eax,%r10d movl %eax,%r10d
shrl $14,%r10d shrl $14,%r10d
andl $4095,%r10d andl $0xfff,%r10d
cmpl $7,%r11d cmpl $7,%r11d
jb L$nocacheinfo jb L$nocacheinfo
@ -119,29 +119,29 @@ L$intel:
L$nocacheinfo: L$nocacheinfo:
movl $1,%eax movl $1,%eax
cpuid cpuid
andl $3220176895,%edx andl $0xbfefffff,%edx
cmpl $0,%r9d cmpl $0,%r9d
jne L$notintel jne L$notintel
orl $1073741824,%edx orl $0x40000000,%edx
andb $15,%ah andb $15,%ah
cmpb $15,%ah cmpb $15,%ah
jne L$notintel jne L$notintel
orl $1048576,%edx orl $0x00100000,%edx
L$notintel: L$notintel:
btl $28,%edx btl $28,%edx
jnc L$generic jnc L$generic
andl $4026531839,%edx andl $0xefffffff,%edx
cmpl $0,%r10d cmpl $0,%r10d
je L$generic je L$generic
orl $268435456,%edx orl $0x10000000,%edx
shrl $16,%ebx shrl $16,%ebx
cmpb $1,%bl cmpb $1,%bl
ja L$generic ja L$generic
andl $4026531839,%edx andl $0xefffffff,%edx
L$generic: L$generic:
andl $2048,%r9d andl $0x00000800,%r9d
andl $4294965247,%ecx andl $0xfffff7ff,%ecx
orl %ecx,%r9d orl %ecx,%r9d
movl %edx,%r10d movl %edx,%r10d
@ -153,9 +153,9 @@ L$generic:
cmpl $6,%eax cmpl $6,%eax
je L$done je L$done
L$clear_avx: L$clear_avx:
movl $4026525695,%eax movl $0xefffe7ff,%eax
andl %eax,%r9d andl %eax,%r9d
andl $4294967263,8(%rdi) andl $0xffffffdf,8(%rdi)
L$done: L$done:
shlq $32,%r9 shlq $32,%r9
movl %r10d,%eax movl %r10d,%eax

291
deps/openssl/asm_obsolete/x64-win32-masm/bn/rsaz-x86_64.asm

@ -502,48 +502,104 @@ $L$SEH_begin_rsaz_512_mul_gather4::
push r14 push r14
push r15 push r15
mov r9d,r9d sub rsp,328
sub rsp,128+24 movaps XMMWORD PTR[160+rsp],xmm6
movaps XMMWORD PTR[176+rsp],xmm7
movaps XMMWORD PTR[192+rsp],xmm8
movaps XMMWORD PTR[208+rsp],xmm9
movaps XMMWORD PTR[224+rsp],xmm10
movaps XMMWORD PTR[240+rsp],xmm11
movaps XMMWORD PTR[256+rsp],xmm12
movaps XMMWORD PTR[272+rsp],xmm13
movaps XMMWORD PTR[288+rsp],xmm14
movaps XMMWORD PTR[304+rsp],xmm15
$L$mul_gather4_body:: $L$mul_gather4_body::
mov eax,DWORD PTR[64+r9*4+rdx] movd xmm8,r9d
DB 102,72,15,110,199 movdqa xmm1,XMMWORD PTR[(($L$inc+16))]
mov ebx,DWORD PTR[r9*4+rdx] movdqa xmm0,XMMWORD PTR[$L$inc]
DB 102,72,15,110,201
pshufd xmm8,xmm8,0
movdqa xmm7,xmm1
movdqa xmm2,xmm1
paddd xmm1,xmm0
pcmpeqd xmm0,xmm8
movdqa xmm3,xmm7
paddd xmm2,xmm1
pcmpeqd xmm1,xmm8
movdqa xmm4,xmm7
paddd xmm3,xmm2
pcmpeqd xmm2,xmm8
movdqa xmm5,xmm7
paddd xmm4,xmm3
pcmpeqd xmm3,xmm8
movdqa xmm6,xmm7
paddd xmm5,xmm4
pcmpeqd xmm4,xmm8
paddd xmm6,xmm5
pcmpeqd xmm5,xmm8
paddd xmm7,xmm6
pcmpeqd xmm6,xmm8
pcmpeqd xmm7,xmm8
movdqa xmm8,XMMWORD PTR[rdx]
movdqa xmm9,XMMWORD PTR[16+rdx]
movdqa xmm10,XMMWORD PTR[32+rdx]
movdqa xmm11,XMMWORD PTR[48+rdx]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rdx]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rdx]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rdx]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rdx]
lea rbp,QWORD PTR[128+rdx]
pand xmm12,xmm4
pand xmm13,xmm5
pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
DB 102,76,15,126,195
mov QWORD PTR[128+rsp],r8 mov QWORD PTR[128+rsp],r8
mov QWORD PTR[((128+8))+rsp],rdi
mov QWORD PTR[((128+16))+rsp],rcx
shl rax,32
or rbx,rax
mov rax,QWORD PTR[rsi] mov rax,QWORD PTR[rsi]
mov rcx,QWORD PTR[8+rsi] mov rcx,QWORD PTR[8+rsi]
lea rbp,QWORD PTR[128+r9*4+rdx]
mul rbx mul rbx
mov QWORD PTR[rsp],rax mov QWORD PTR[rsp],rax
mov rax,rcx mov rax,rcx
mov r8,rdx mov r8,rdx
mul rbx mul rbx
movd xmm4,DWORD PTR[rbp]
add r8,rax add r8,rax
mov rax,QWORD PTR[16+rsi] mov rax,QWORD PTR[16+rsi]
mov r9,rdx mov r9,rdx
adc r9,0 adc r9,0
mul rbx mul rbx
movd xmm5,DWORD PTR[64+rbp]
add r9,rax add r9,rax
mov rax,QWORD PTR[24+rsi] mov rax,QWORD PTR[24+rsi]
mov r10,rdx mov r10,rdx
adc r10,0 adc r10,0
mul rbx mul rbx
pslldq xmm5,4
add r10,rax add r10,rax
mov rax,QWORD PTR[32+rsi] mov rax,QWORD PTR[32+rsi]
mov r11,rdx mov r11,rdx
adc r11,0 adc r11,0
mul rbx mul rbx
por xmm4,xmm5
add r11,rax add r11,rax
mov rax,QWORD PTR[40+rsi] mov rax,QWORD PTR[40+rsi]
mov r12,rdx mov r12,rdx
@ -556,14 +612,12 @@ DB 102,72,15,110,201
adc r13,0 adc r13,0
mul rbx mul rbx
lea rbp,QWORD PTR[128+rbp]
add r13,rax add r13,rax
mov rax,QWORD PTR[56+rsi] mov rax,QWORD PTR[56+rsi]
mov r14,rdx mov r14,rdx
adc r14,0 adc r14,0
mul rbx mul rbx
DB 102,72,15,126,227
add r14,rax add r14,rax
mov rax,QWORD PTR[rsi] mov rax,QWORD PTR[rsi]
mov r15,rdx mov r15,rdx
@ -575,6 +629,35 @@ DB 102,72,15,126,227
ALIGN 32 ALIGN 32
$L$oop_mul_gather:: $L$oop_mul_gather::
movdqa xmm8,XMMWORD PTR[rbp]
movdqa xmm9,XMMWORD PTR[16+rbp]
movdqa xmm10,XMMWORD PTR[32+rbp]
movdqa xmm11,XMMWORD PTR[48+rbp]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rbp]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rbp]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rbp]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rbp]
lea rbp,QWORD PTR[128+rbp]
pand xmm12,xmm4
pand xmm13,xmm5
pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
DB 102,76,15,126,195
mul rbx mul rbx
add r8,rax add r8,rax
mov rax,QWORD PTR[8+rsi] mov rax,QWORD PTR[8+rsi]
@ -583,7 +666,6 @@ $L$oop_mul_gather::
adc r8,0 adc r8,0
mul rbx mul rbx
movd xmm4,DWORD PTR[rbp]
add r9,rax add r9,rax
mov rax,QWORD PTR[16+rsi] mov rax,QWORD PTR[16+rsi]
adc rdx,0 adc rdx,0
@ -592,7 +674,6 @@ $L$oop_mul_gather::
adc r9,0 adc r9,0
mul rbx mul rbx
movd xmm5,DWORD PTR[64+rbp]
add r10,rax add r10,rax
mov rax,QWORD PTR[24+rsi] mov rax,QWORD PTR[24+rsi]
adc rdx,0 adc rdx,0
@ -601,7 +682,6 @@ $L$oop_mul_gather::
adc r10,0 adc r10,0
mul rbx mul rbx
pslldq xmm5,4
add r11,rax add r11,rax
mov rax,QWORD PTR[32+rsi] mov rax,QWORD PTR[32+rsi]
adc rdx,0 adc rdx,0
@ -610,7 +690,6 @@ $L$oop_mul_gather::
adc r11,0 adc r11,0
mul rbx mul rbx
por xmm4,xmm5
add r12,rax add r12,rax
mov rax,QWORD PTR[40+rsi] mov rax,QWORD PTR[40+rsi]
adc rdx,0 adc rdx,0
@ -635,7 +714,6 @@ $L$oop_mul_gather::
adc r14,0 adc r14,0
mul rbx mul rbx
DB 102,72,15,126,227
add r15,rax add r15,rax
mov rax,QWORD PTR[rsi] mov rax,QWORD PTR[rsi]
adc rdx,0 adc rdx,0
@ -643,7 +721,6 @@ DB 102,72,15,126,227
mov r15,rdx mov r15,rdx
adc r15,0 adc r15,0
lea rbp,QWORD PTR[128+rbp]
lea rdi,QWORD PTR[8+rdi] lea rdi,QWORD PTR[8+rdi]
dec ecx dec ecx
@ -658,8 +735,8 @@ DB 102,72,15,126,227
mov QWORD PTR[48+rdi],r14 mov QWORD PTR[48+rdi],r14
mov QWORD PTR[56+rdi],r15 mov QWORD PTR[56+rdi],r15
DB 102,72,15,126,199 mov rdi,QWORD PTR[((128+8))+rsp]
DB 102,72,15,126,205 mov rbp,QWORD PTR[((128+16))+rsp]
mov r8,QWORD PTR[rsp] mov r8,QWORD PTR[rsp]
mov r9,QWORD PTR[8+rsp] mov r9,QWORD PTR[8+rsp]
@ -684,6 +761,17 @@ DB 102,72,15,126,205
call __rsaz_512_subtract call __rsaz_512_subtract
lea rax,QWORD PTR[((128+24+48))+rsp] lea rax,QWORD PTR[((128+24+48))+rsp]
movaps xmm6,XMMWORD PTR[((160-200))+rax]
movaps xmm7,XMMWORD PTR[((176-200))+rax]
movaps xmm8,XMMWORD PTR[((192-200))+rax]
movaps xmm9,XMMWORD PTR[((208-200))+rax]
movaps xmm10,XMMWORD PTR[((224-200))+rax]
movaps xmm11,XMMWORD PTR[((240-200))+rax]
movaps xmm12,XMMWORD PTR[((256-200))+rax]
movaps xmm13,XMMWORD PTR[((272-200))+rax]
movaps xmm14,XMMWORD PTR[((288-200))+rax]
movaps xmm15,XMMWORD PTR[((304-200))+rax]
lea rax,QWORD PTR[176+rax]
mov r15,QWORD PTR[((-48))+rax] mov r15,QWORD PTR[((-48))+rax]
mov r14,QWORD PTR[((-40))+rax] mov r14,QWORD PTR[((-40))+rax]
mov r13,QWORD PTR[((-32))+rax] mov r13,QWORD PTR[((-32))+rax]
@ -723,7 +811,7 @@ $L$SEH_begin_rsaz_512_mul_scatter4::
mov r9d,r9d mov r9d,r9d
sub rsp,128+24 sub rsp,128+24
$L$mul_scatter4_body:: $L$mul_scatter4_body::
lea r8,QWORD PTR[r9*4+r8] lea r8,QWORD PTR[r9*8+r8]
DB 102,72,15,110,199 DB 102,72,15,110,199
DB 102,72,15,110,202 DB 102,72,15,110,202
DB 102,73,15,110,208 DB 102,73,15,110,208
@ -759,30 +847,14 @@ DB 102,72,15,126,214
call __rsaz_512_subtract call __rsaz_512_subtract
mov DWORD PTR[rsi],r8d mov QWORD PTR[rsi],r8
shr r8,32 mov QWORD PTR[128+rsi],r9
mov DWORD PTR[128+rsi],r9d mov QWORD PTR[256+rsi],r10
shr r9,32 mov QWORD PTR[384+rsi],r11
mov DWORD PTR[256+rsi],r10d mov QWORD PTR[512+rsi],r12
shr r10,32 mov QWORD PTR[640+rsi],r13
mov DWORD PTR[384+rsi],r11d mov QWORD PTR[768+rsi],r14
shr r11,32 mov QWORD PTR[896+rsi],r15
mov DWORD PTR[512+rsi],r12d
shr r12,32
mov DWORD PTR[640+rsi],r13d
shr r13,32
mov DWORD PTR[768+rsi],r14d
shr r14,32
mov DWORD PTR[896+rsi],r15d
shr r15,32
mov DWORD PTR[64+rsi],r8d
mov DWORD PTR[192+rsi],r9d
mov DWORD PTR[320+rsi],r10d
mov DWORD PTR[448+rsi],r11d
mov DWORD PTR[576+rsi],r12d
mov DWORD PTR[704+rsi],r13d
mov DWORD PTR[832+rsi],r14d
mov DWORD PTR[960+rsi],r15d
lea rax,QWORD PTR[((128+24+48))+rsp] lea rax,QWORD PTR[((128+24+48))+rsp]
mov r15,QWORD PTR[((-48))+rax] mov r15,QWORD PTR[((-48))+rax]
@ -1151,16 +1223,14 @@ PUBLIC rsaz_512_scatter4
ALIGN 16 ALIGN 16
rsaz_512_scatter4 PROC PUBLIC rsaz_512_scatter4 PROC PUBLIC
lea rcx,QWORD PTR[r8*4+rcx] lea rcx,QWORD PTR[r8*8+rcx]
mov r9d,8 mov r9d,8
jmp $L$oop_scatter jmp $L$oop_scatter
ALIGN 16 ALIGN 16
$L$oop_scatter:: $L$oop_scatter::
mov rax,QWORD PTR[rdx] mov rax,QWORD PTR[rdx]
lea rdx,QWORD PTR[8+rdx] lea rdx,QWORD PTR[8+rdx]
mov DWORD PTR[rcx],eax mov QWORD PTR[rcx],rax
shr rax,32
mov DWORD PTR[64+rcx],eax
lea rcx,QWORD PTR[128+rcx] lea rcx,QWORD PTR[128+rcx]
dec r9d dec r9d
jnz $L$oop_scatter jnz $L$oop_scatter
@ -1171,22 +1241,98 @@ PUBLIC rsaz_512_gather4
ALIGN 16 ALIGN 16
rsaz_512_gather4 PROC PUBLIC rsaz_512_gather4 PROC PUBLIC
lea rdx,QWORD PTR[r8*4+rdx] $L$SEH_begin_rsaz_512_gather4::
DB 048h,081h,0ech,0a8h,000h,000h,000h
DB 00fh,029h,034h,024h
DB 00fh,029h,07ch,024h,010h
DB 044h,00fh,029h,044h,024h,020h
DB 044h,00fh,029h,04ch,024h,030h
DB 044h,00fh,029h,054h,024h,040h
DB 044h,00fh,029h,05ch,024h,050h
DB 044h,00fh,029h,064h,024h,060h
DB 044h,00fh,029h,06ch,024h,070h
DB 044h,00fh,029h,0b4h,024h,080h,0,0,0
DB 044h,00fh,029h,0bch,024h,090h,0,0,0
movd xmm8,r8d
movdqa xmm1,XMMWORD PTR[(($L$inc+16))]
movdqa xmm0,XMMWORD PTR[$L$inc]
pshufd xmm8,xmm8,0
movdqa xmm7,xmm1
movdqa xmm2,xmm1
paddd xmm1,xmm0
pcmpeqd xmm0,xmm8
movdqa xmm3,xmm7
paddd xmm2,xmm1
pcmpeqd xmm1,xmm8
movdqa xmm4,xmm7
paddd xmm3,xmm2
pcmpeqd xmm2,xmm8
movdqa xmm5,xmm7
paddd xmm4,xmm3
pcmpeqd xmm3,xmm8
movdqa xmm6,xmm7
paddd xmm5,xmm4
pcmpeqd xmm4,xmm8
paddd xmm6,xmm5
pcmpeqd xmm5,xmm8
paddd xmm7,xmm6
pcmpeqd xmm6,xmm8
pcmpeqd xmm7,xmm8
mov r9d,8 mov r9d,8
jmp $L$oop_gather jmp $L$oop_gather
ALIGN 16 ALIGN 16
$L$oop_gather:: $L$oop_gather::
mov eax,DWORD PTR[rdx] movdqa xmm8,XMMWORD PTR[rdx]
mov r8d,DWORD PTR[64+rdx] movdqa xmm9,XMMWORD PTR[16+rdx]
movdqa xmm10,XMMWORD PTR[32+rdx]
movdqa xmm11,XMMWORD PTR[48+rdx]
pand xmm8,xmm0
movdqa xmm12,XMMWORD PTR[64+rdx]
pand xmm9,xmm1
movdqa xmm13,XMMWORD PTR[80+rdx]
pand xmm10,xmm2
movdqa xmm14,XMMWORD PTR[96+rdx]
pand xmm11,xmm3
movdqa xmm15,XMMWORD PTR[112+rdx]
lea rdx,QWORD PTR[128+rdx] lea rdx,QWORD PTR[128+rdx]
shl r8,32 pand xmm12,xmm4
or rax,r8 pand xmm13,xmm5
mov QWORD PTR[rcx],rax pand xmm14,xmm6
pand xmm15,xmm7
por xmm8,xmm10
por xmm9,xmm11
por xmm8,xmm12
por xmm9,xmm13
por xmm8,xmm14
por xmm9,xmm15
por xmm8,xmm9
pshufd xmm9,xmm8,04eh
por xmm8,xmm9
movq QWORD PTR[rcx],xmm8
lea rcx,QWORD PTR[8+rcx] lea rcx,QWORD PTR[8+rcx]
dec r9d dec r9d
jnz $L$oop_gather jnz $L$oop_gather
movaps xmm6,XMMWORD PTR[rsp]
movaps xmm7,XMMWORD PTR[16+rsp]
movaps xmm8,XMMWORD PTR[32+rsp]
movaps xmm9,XMMWORD PTR[48+rsp]
movaps xmm10,XMMWORD PTR[64+rsp]
movaps xmm11,XMMWORD PTR[80+rsp]
movaps xmm12,XMMWORD PTR[96+rsp]
movaps xmm13,XMMWORD PTR[112+rsp]
movaps xmm14,XMMWORD PTR[128+rsp]
movaps xmm15,XMMWORD PTR[144+rsp]
add rsp,0a8h
DB 0F3h,0C3h ;repret DB 0F3h,0C3h ;repret
$L$SEH_end_rsaz_512_gather4::
rsaz_512_gather4 ENDP rsaz_512_gather4 ENDP
ALIGN 64
$L$inc::
DD 0,0,1,1
DD 2,2,2,2
EXTERN __imp_RtlVirtualUnwind:NEAR EXTERN __imp_RtlVirtualUnwind:NEAR
ALIGN 16 ALIGN 16
@ -1222,6 +1368,18 @@ se_handler PROC PRIVATE
lea rax,QWORD PTR[((128+24+48))+rax] lea rax,QWORD PTR[((128+24+48))+rax]
lea rbx,QWORD PTR[$L$mul_gather4_epilogue]
cmp rbx,r10
jne $L$se_not_in_mul_gather4
lea rax,QWORD PTR[176+rax]
lea rsi,QWORD PTR[((-48-168))+rax]
lea rdi,QWORD PTR[512+r8]
mov ecx,20
DD 0a548f3fch
$L$se_not_in_mul_gather4::
mov rbx,QWORD PTR[((-8))+rax] mov rbx,QWORD PTR[((-8))+rax]
mov rbp,QWORD PTR[((-16))+rax] mov rbp,QWORD PTR[((-16))+rax]
mov r12,QWORD PTR[((-24))+rax] mov r12,QWORD PTR[((-24))+rax]
@ -1298,6 +1456,10 @@ ALIGN 4
DD imagerel $L$SEH_end_rsaz_512_mul_by_one DD imagerel $L$SEH_end_rsaz_512_mul_by_one
DD imagerel $L$SEH_info_rsaz_512_mul_by_one DD imagerel $L$SEH_info_rsaz_512_mul_by_one
DD imagerel $L$SEH_begin_rsaz_512_gather4
DD imagerel $L$SEH_end_rsaz_512_gather4
DD imagerel $L$SEH_info_rsaz_512_gather4
.pdata ENDS .pdata ENDS
.xdata SEGMENT READONLY ALIGN(8) .xdata SEGMENT READONLY ALIGN(8)
ALIGN 8 ALIGN 8
@ -1321,6 +1483,19 @@ $L$SEH_info_rsaz_512_mul_by_one::
DB 9,0,0,0 DB 9,0,0,0
DD imagerel se_handler DD imagerel se_handler
DD imagerel $L$mul_by_one_body,imagerel $L$mul_by_one_epilogue DD imagerel $L$mul_by_one_body,imagerel $L$mul_by_one_epilogue
$L$SEH_info_rsaz_512_gather4::
DB 001h,046h,016h,000h
DB 046h,0f8h,009h,000h
DB 03dh,0e8h,008h,000h
DB 034h,0d8h,007h,000h
DB 02eh,0c8h,006h,000h
DB 028h,0b8h,005h,000h
DB 022h,0a8h,004h,000h
DB 01ch,098h,003h,000h
DB 016h,088h,002h,000h
DB 010h,078h,001h,000h
DB 00bh,068h,000h,000h
DB 007h,001h,015h,000h
.xdata ENDS .xdata ENDS
END END

108
deps/openssl/asm_obsolete/x64-win32-masm/bn/x86_64-mont.asm

@ -676,20 +676,20 @@ $L$sqr8x_enter::
lea r11,QWORD PTR[((-64))+r9*4+rsp] lea r11,QWORD PTR[((-64))+r9*2+rsp]
mov r8,QWORD PTR[r8] mov r8,QWORD PTR[r8]
sub r11,rsi sub r11,rsi
and r11,4095 and r11,4095
cmp r10,r11 cmp r10,r11
jb $L$sqr8x_sp_alt jb $L$sqr8x_sp_alt
sub rsp,r11 sub rsp,r11
lea rsp,QWORD PTR[((-64))+r9*4+rsp] lea rsp,QWORD PTR[((-64))+r9*2+rsp]
jmp $L$sqr8x_sp_done jmp $L$sqr8x_sp_done
ALIGN 32 ALIGN 32
$L$sqr8x_sp_alt:: $L$sqr8x_sp_alt::
lea r10,QWORD PTR[((4096-64))+r9*4] lea r10,QWORD PTR[((4096-64))+r9*2]
lea rsp,QWORD PTR[((-64))+r9*4+rsp] lea rsp,QWORD PTR[((-64))+r9*2+rsp]
sub r11,r10 sub r11,r10
mov r10,0 mov r10,0
cmovc r11,r10 cmovc r11,r10
@ -699,58 +699,80 @@ $L$sqr8x_sp_done::
mov r10,r9 mov r10,r9
neg r9 neg r9
lea r11,QWORD PTR[64+r9*2+rsp]
mov QWORD PTR[32+rsp],r8 mov QWORD PTR[32+rsp],r8
mov QWORD PTR[40+rsp],rax mov QWORD PTR[40+rsp],rax
$L$sqr8x_body:: $L$sqr8x_body::
mov rbp,r9 DB 102,72,15,110,209
DB 102,73,15,110,211
shr rbp,3+2
mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))]
jmp $L$sqr8x_copy_n
ALIGN 32
$L$sqr8x_copy_n::
movq xmm0,QWORD PTR[rcx]
movq xmm1,QWORD PTR[8+rcx]
movq xmm3,QWORD PTR[16+rcx]
movq xmm4,QWORD PTR[24+rcx]
lea rcx,QWORD PTR[32+rcx]
movdqa XMMWORD PTR[r11],xmm0
movdqa XMMWORD PTR[16+r11],xmm1
movdqa XMMWORD PTR[32+r11],xmm3
movdqa XMMWORD PTR[48+r11],xmm4
lea r11,QWORD PTR[64+r11]
dec rbp
jnz $L$sqr8x_copy_n
pxor xmm0,xmm0 pxor xmm0,xmm0
DB 102,72,15,110,207 DB 102,72,15,110,207
DB 102,73,15,110,218 DB 102,73,15,110,218
call bn_sqr8x_internal call bn_sqr8x_internal
lea rbx,QWORD PTR[r9*1+rdi]
mov rcx,r9
mov rdx,r9
DB 102,72,15,126,207
sar rcx,3+2
jmp $L$sqr8x_sub
ALIGN 32
$L$sqr8x_sub::
mov r12,QWORD PTR[rbx]
mov r13,QWORD PTR[8+rbx]
mov r14,QWORD PTR[16+rbx]
mov r15,QWORD PTR[24+rbx]
lea rbx,QWORD PTR[32+rbx]
sbb r12,QWORD PTR[rbp]
sbb r13,QWORD PTR[8+rbp]
sbb r14,QWORD PTR[16+rbp]
sbb r15,QWORD PTR[24+rbp]
lea rbp,QWORD PTR[32+rbp]
mov QWORD PTR[rdi],r12
mov QWORD PTR[8+rdi],r13
mov QWORD PTR[16+rdi],r14
mov QWORD PTR[24+rdi],r15
lea rdi,QWORD PTR[32+rdi]
inc rcx
jnz $L$sqr8x_sub
sbb rax,0
lea rbx,QWORD PTR[r9*1+rbx]
lea rdi,QWORD PTR[r9*1+rdi]
DB 102,72,15,110,200
pxor xmm0,xmm0 pxor xmm0,xmm0
lea rax,QWORD PTR[48+rsp] pshufd xmm1,xmm1,0
lea rdx,QWORD PTR[64+r9*2+rsp]
shr r9,3+2
mov rsi,QWORD PTR[40+rsp] mov rsi,QWORD PTR[40+rsp]
jmp $L$sqr8x_zero jmp $L$sqr8x_cond_copy
ALIGN 32 ALIGN 32
$L$sqr8x_zero:: $L$sqr8x_cond_copy::
movdqa XMMWORD PTR[rax],xmm0 movdqa xmm2,XMMWORD PTR[rbx]
movdqa XMMWORD PTR[16+rax],xmm0 movdqa xmm3,XMMWORD PTR[16+rbx]
movdqa XMMWORD PTR[32+rax],xmm0 lea rbx,QWORD PTR[32+rbx]
movdqa XMMWORD PTR[48+rax],xmm0 movdqu xmm4,XMMWORD PTR[rdi]
lea rax,QWORD PTR[64+rax] movdqu xmm5,XMMWORD PTR[16+rdi]
movdqa XMMWORD PTR[rdx],xmm0 lea rdi,QWORD PTR[32+rdi]
movdqa XMMWORD PTR[16+rdx],xmm0 movdqa XMMWORD PTR[(-32)+rbx],xmm0
movdqa XMMWORD PTR[32+rdx],xmm0 movdqa XMMWORD PTR[(-16)+rbx],xmm0
movdqa XMMWORD PTR[48+rdx],xmm0 movdqa XMMWORD PTR[(-32)+rdx*1+rbx],xmm0
lea rdx,QWORD PTR[64+rdx] movdqa XMMWORD PTR[(-16)+rdx*1+rbx],xmm0
dec r9 pcmpeqd xmm0,xmm1
jnz $L$sqr8x_zero pand xmm2,xmm1
pand xmm3,xmm1
pand xmm4,xmm0
pand xmm5,xmm0
pxor xmm0,xmm0
por xmm4,xmm2
por xmm5,xmm3
movdqu XMMWORD PTR[(-32)+rdi],xmm4
movdqu XMMWORD PTR[(-16)+rdi],xmm5
add r9,32
jnz $L$sqr8x_cond_copy
mov rax,1 mov rax,1
mov r15,QWORD PTR[((-48))+rsi] mov r15,QWORD PTR[((-48))+rsi]

935
deps/openssl/asm_obsolete/x64-win32-masm/bn/x86_64-mont5.asm

File diff suppressed because it is too large

11
deps/openssl/asm_obsolete/x64-win32-masm/ec/ecp_nistz256-x86_64.asm

@ -1303,6 +1303,7 @@ $L$SEH_begin_ecp_nistz256_point_double::
push r15 push r15
sub rsp,32*5+8 sub rsp,32*5+8
$L$point_double_shortcutq::
movdqu xmm0,XMMWORD PTR[rsi] movdqu xmm0,XMMWORD PTR[rsi]
mov rbx,rsi mov rbx,rsi
movdqu xmm1,XMMWORD PTR[16+rsi] movdqu xmm1,XMMWORD PTR[16+rsi]
@ -1577,6 +1578,7 @@ DB 102,72,15,110,199
mov r14,QWORD PTR[((64+8))+rbx] mov r14,QWORD PTR[((64+8))+rbx]
mov r15,QWORD PTR[((64+16))+rbx] mov r15,QWORD PTR[((64+16))+rbx]
mov r8,QWORD PTR[((64+24))+rbx] mov r8,QWORD PTR[((64+24))+rbx]
DB 102,72,15,110,203
lea rsi,QWORD PTR[((64-0))+rbx] lea rsi,QWORD PTR[((64-0))+rbx]
lea rdi,QWORD PTR[32+rsp] lea rdi,QWORD PTR[32+rsp]
@ -1668,7 +1670,7 @@ DB 102,73,15,126,217
test r8,r8 test r8,r8
jnz $L$add_proceedq jnz $L$add_proceedq
test r9,r9 test r9,r9
jz $L$add_proceedq jz $L$add_doubleq
DB 102,72,15,126,199 DB 102,72,15,126,199
pxor xmm0,xmm0 pxor xmm0,xmm0
@ -1680,6 +1682,13 @@ DB 102,72,15,126,199
movdqu XMMWORD PTR[80+rdi],xmm0 movdqu XMMWORD PTR[80+rdi],xmm0
jmp $L$add_doneq jmp $L$add_doneq
ALIGN 32
$L$add_doubleq::
DB 102,72,15,126,206
DB 102,72,15,126,199
add rsp,416
jmp $L$point_double_shortcutq
ALIGN 32 ALIGN 32
$L$add_proceedq:: $L$add_proceedq::
mov rax,QWORD PTR[((0+64))+rsp] mov rax,QWORD PTR[((0+64))+rsp]

134
deps/openssl/openssl/CHANGES

@ -2,6 +2,138 @@
OpenSSL CHANGES OpenSSL CHANGES
_______________ _______________
Changes between 1.0.2f and 1.0.2g [1 Mar 2016]
* Disable weak ciphers in SSLv3 and up in default builds of OpenSSL.
Builds that are not configured with "enable-weak-ssl-ciphers" will not
provide any "EXPORT" or "LOW" strength ciphers.
[Viktor Dukhovni]
* Disable SSLv2 default build, default negotiation and weak ciphers. SSLv2
is by default disabled at build-time. Builds that are not configured with
"enable-ssl2" will not support SSLv2. Even if "enable-ssl2" is used,
users who want to negotiate SSLv2 via the version-flexible SSLv23_method()
will need to explicitly call either of:
SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv2);
or
SSL_clear_options(ssl, SSL_OP_NO_SSLv2);
as appropriate. Even if either of those is used, or the application
explicitly uses the version-specific SSLv2_method() or its client and
server variants, SSLv2 ciphers vulnerable to exhaustive search key
recovery have been removed. Specifically, the SSLv2 40-bit EXPORT
ciphers, and SSLv2 56-bit DES are no longer available.
(CVE-2016-0800)
[Viktor Dukhovni]
*) Fix a double-free in DSA code
A double free bug was discovered when OpenSSL parses malformed DSA private
keys and could lead to a DoS attack or memory corruption for applications
that receive DSA private keys from untrusted sources. This scenario is
considered rare.
This issue was reported to OpenSSL by Adam Langley(Google/BoringSSL) using
libFuzzer.
(CVE-2016-0705)
[Stephen Henson]
*) Disable SRP fake user seed to address a server memory leak.
Add a new method SRP_VBASE_get1_by_user that handles the seed properly.
SRP_VBASE_get_by_user had inconsistent memory management behaviour.
In order to fix an unavoidable memory leak, SRP_VBASE_get_by_user
was changed to ignore the "fake user" SRP seed, even if the seed
is configured.
Users should use SRP_VBASE_get1_by_user instead. Note that in
SRP_VBASE_get1_by_user, caller must free the returned value. Note
also that even though configuring the SRP seed attempts to hide
invalid usernames by continuing the handshake with fake
credentials, this behaviour is not constant time and no strong
guarantees are made that the handshake is indistinguishable from
that of a valid user.
(CVE-2016-0798)
[Emilia Käsper]
*) Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
In the BN_hex2bn function the number of hex digits is calculated using an
int value |i|. Later |bn_expand| is called with a value of |i * 4|. For
large values of |i| this can result in |bn_expand| not allocating any
memory because |i * 4| is negative. This can leave the internal BIGNUM data
field as NULL leading to a subsequent NULL ptr deref. For very large values
of |i|, the calculation |i * 4| could be a positive value smaller than |i|.
In this case memory is allocated to the internal BIGNUM data field, but it
is insufficiently sized leading to heap corruption. A similar issue exists
in BN_dec2bn. This could have security consequences if BN_hex2bn/BN_dec2bn
is ever called by user applications with very large untrusted hex/dec data.
This is anticipated to be a rare occurrence.
All OpenSSL internal usage of these functions use data that is not expected
to be untrusted, e.g. config file data or application command line
arguments. If user developed applications generate config file data based
on untrusted data then it is possible that this could also lead to security
consequences. This is also anticipated to be rare.
This issue was reported to OpenSSL by Guido Vranken.
(CVE-2016-0797)
[Matt Caswell]
*) Fix memory issues in BIO_*printf functions
The internal |fmtstr| function used in processing a "%s" format string in
the BIO_*printf functions could overflow while calculating the length of a
string and cause an OOB read when printing very long strings.
Additionally the internal |doapr_outch| function can attempt to write to an
OOB memory location (at an offset from the NULL pointer) in the event of a
memory allocation failure. In 1.0.2 and below this could be caused where
the size of a buffer to be allocated is greater than INT_MAX. E.g. this
could be in processing a very long "%s" format string. Memory leaks can
also occur.
The first issue may mask the second issue dependent on compiler behaviour.
These problems could enable attacks where large amounts of untrusted data
is passed to the BIO_*printf functions. If applications use these functions
in this way then they could be vulnerable. OpenSSL itself uses these
functions when printing out human-readable dumps of ASN.1 data. Therefore
applications that print this data could be vulnerable if the data is from
untrusted sources. OpenSSL command line applications could also be
vulnerable where they print out ASN.1 data, or if untrusted data is passed
as command line arguments.
Libssl is not considered directly vulnerable. Additionally certificates etc
received via remote connections via libssl are also unlikely to be able to
trigger these issues because of message size limits enforced within libssl.
This issue was reported to OpenSSL Guido Vranken.
(CVE-2016-0799)
[Matt Caswell]
*) Side channel attack on modular exponentiation
A side-channel attack was found which makes use of cache-bank conflicts on
the Intel Sandy-Bridge microarchitecture which could lead to the recovery
of RSA keys. The ability to exploit this issue is limited as it relies on
an attacker who has control of code in a thread running on the same
hyper-threaded core as the victim thread which is performing decryptions.
This issue was reported to OpenSSL by Yuval Yarom, The University of
Adelaide and NICTA, Daniel Genkin, Technion and Tel Aviv University, and
Nadia Heninger, University of Pennsylvania with more information at
http://cachebleed.info.
(CVE-2016-0702)
[Andy Polyakov]
*) Change the req app to generate a 2048-bit RSA/DSA key by default,
if no keysize is specified with default_bits. This fixes an
omission in an earlier change that changed all RSA/DSA key generation
apps to use 2048 bits by default.
[Emilia Käsper]
Changes between 1.0.2e and 1.0.2f [28 Jan 2016] Changes between 1.0.2e and 1.0.2f [28 Jan 2016]
*) DH small subgroups *) DH small subgroups
@ -105,7 +237,7 @@
[Emilia Käsper] [Emilia Käsper]
*) In DSA_generate_parameters_ex, if the provided seed is too short, *) In DSA_generate_parameters_ex, if the provided seed is too short,
return an error use a random seed, as already documented.
[Rich Salz and Ismo Puustinen <ismo.puustinen@intel.com>] [Rich Salz and Ismo Puustinen <ismo.puustinen@intel.com>]
Changes between 1.0.2c and 1.0.2d [9 Jul 2015] Changes between 1.0.2c and 1.0.2d [9 Jul 2015]

6
deps/openssl/openssl/Configure

@ -58,6 +58,10 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta
# library and will be loaded in run-time by the OpenSSL library. # library and will be loaded in run-time by the OpenSSL library.
# sctp include SCTP support # sctp include SCTP support
# 386 generate 80386 code # 386 generate 80386 code
# enable-weak-ssl-ciphers
# Enable EXPORT and LOW SSLv3 ciphers that are disabled by
# default. Note, weak SSLv2 ciphers are unconditionally
# disabled.
# no-sse2 disables IA-32 SSE2 code, above option implies no-sse2 # no-sse2 disables IA-32 SSE2 code, above option implies no-sse2
# no-<cipher> build without specified algorithm (rsa, idea, rc5, ...) # no-<cipher> build without specified algorithm (rsa, idea, rc5, ...)
# -<xxx> +<xxx> compiler options are passed through # -<xxx> +<xxx> compiler options are passed through
@ -784,8 +788,10 @@ my %disabled = ( # "what" => "comment" [or special keyword "experimental
"sctp" => "default", "sctp" => "default",
"shared" => "default", "shared" => "default",
"ssl-trace" => "default", "ssl-trace" => "default",
"ssl2" => "default",
"store" => "experimental", "store" => "experimental",
"unit-test" => "default", "unit-test" => "default",
"weak-ssl-ciphers" => "default",
"zlib" => "default", "zlib" => "default",
"zlib-dynamic" => "default" "zlib-dynamic" => "default"
); );

6
deps/openssl/openssl/Makefile.shared

@ -272,7 +272,7 @@ link_o.cygwin:
SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \ SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
ALLSYMSFLAGS='-Wl,--whole-archive'; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base $$deffile -Wl,-s,-Bsymbolic"; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base $$deffile -Wl,-Bsymbolic"; \
$(LINK_SO_O) $(LINK_SO_O)
#for mingw target if def-file is in use dll-name should match library-name #for mingw target if def-file is in use dll-name should match library-name
link_a.cygwin: link_a.cygwin:
@ -289,7 +289,7 @@ link_a.cygwin:
SHLIB_SOVER=32; \ SHLIB_SOVER=32; \
extras="$(LIBNAME).def"; \ extras="$(LIBNAME).def"; \
$(PERL) util/mkdef.pl 32 $$SHLIB > $$extras; \ $(PERL) util/mkdef.pl 32 $$SHLIB > $$extras; \
base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \ base=; [ $(LIBNAME) = "crypto" -a -n "$(FIPSCANLIB)" ] && base=-Wl,--image-base,0x63000000; \
fi; \ fi; \
dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
$(PERL) util/mkrc.pl $$dll_name | \ $(PERL) util/mkrc.pl $$dll_name | \
@ -297,7 +297,7 @@ link_a.cygwin:
extras="$$extras rc.o"; \ extras="$$extras rc.o"; \
ALLSYMSFLAGS='-Wl,--whole-archive'; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \
[ -f apps/$$dll_name ] && rm apps/$$dll_name; \ [ -f apps/$$dll_name ] && rm apps/$$dll_name; \
[ -f test/$$dll_name ] && rm test/$$dll_name; \ [ -f test/$$dll_name ] && rm test/$$dll_name; \
$(LINK_SO_A) || exit 1; \ $(LINK_SO_A) || exit 1; \

13
deps/openssl/openssl/NEWS

@ -5,6 +5,19 @@
This file gives a brief overview of the major changes between each OpenSSL This file gives a brief overview of the major changes between each OpenSSL
release. For more details please read the CHANGES file. release. For more details please read the CHANGES file.
Major changes between OpenSSL 1.0.2f and OpenSSL 1.0.2g [1 Mar 2016]
o Disable weak ciphers in SSLv3 and up in default builds of OpenSSL.
o Disable SSLv2 default build, default negotiation and weak ciphers
(CVE-2016-0800)
o Fix a double-free in DSA code (CVE-2016-0705)
o Disable SRP fake user seed to address a server memory leak
(CVE-2016-0798)
o Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
(CVE-2016-0797)
o Fix memory issues in BIO_*printf functions (CVE-2016-0799)
o Fix side channel attack on modular exponentiation (CVE-2016-0702)
Major changes between OpenSSL 1.0.2e and OpenSSL 1.0.2f [28 Jan 2016] Major changes between OpenSSL 1.0.2e and OpenSSL 1.0.2f [28 Jan 2016]
o DH small subgroups (CVE-2016-0701) o DH small subgroups (CVE-2016-0701)

2
deps/openssl/openssl/README

@ -1,5 +1,5 @@
OpenSSL 1.0.2f 28 Jan 2016 OpenSSL 1.0.2g 1 Mar 2016
Copyright (c) 1998-2015 The OpenSSL Project Copyright (c) 1998-2015 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson

8
deps/openssl/openssl/apps/apps.c

@ -2442,7 +2442,11 @@ int bio_to_mem(unsigned char **out, int maxlen, BIO *in)
else else
len = 1024; len = 1024;
len = BIO_read(in, tbuf, len); len = BIO_read(in, tbuf, len);
if (len <= 0) if (len < 0) {
BIO_free(mem);
return -1;
}
if (len == 0)
break; break;
if (BIO_write(mem, tbuf, len) != len) { if (BIO_write(mem, tbuf, len) != len) {
BIO_free(mem); BIO_free(mem);
@ -2459,7 +2463,7 @@ int bio_to_mem(unsigned char **out, int maxlen, BIO *in)
return ret; return ret;
} }
int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value) int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value)
{ {
int rv; int rv;
char *stmp, *vtmp = NULL; char *stmp, *vtmp = NULL;

2
deps/openssl/openssl/apps/apps.h

@ -321,7 +321,7 @@ int args_verify(char ***pargs, int *pargc,
int *badarg, BIO *err, X509_VERIFY_PARAM **pm); int *badarg, BIO *err, X509_VERIFY_PARAM **pm);
void policies_print(BIO *out, X509_STORE_CTX *ctx); void policies_print(BIO *out, X509_STORE_CTX *ctx);
int bio_to_mem(unsigned char **out, int maxlen, BIO *in); int bio_to_mem(unsigned char **out, int maxlen, BIO *in);
int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value); int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value);
int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx, int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx,
const char *algname, ENGINE *e, int do_param); const char *algname, ENGINE *e, int do_param);
int do_X509_sign(BIO *err, X509 *x, EVP_PKEY *pkey, const EVP_MD *md, int do_X509_sign(BIO *err, X509 *x, EVP_PKEY *pkey, const EVP_MD *md,

88
deps/openssl/openssl/apps/pkeyutl.c

@ -73,7 +73,7 @@ static void usage(void);
#define PROG pkeyutl_main #define PROG pkeyutl_main
static EVP_PKEY_CTX *init_ctx(int *pkeysize, static EVP_PKEY_CTX *init_ctx(int *pkeysize,
char *keyfile, int keyform, int key_type, const char *keyfile, int keyform, int key_type,
char *passargin, int pkey_op, ENGINE *e, char *passargin, int pkey_op, ENGINE *e,
int impl); int impl);
@ -99,10 +99,12 @@ int MAIN(int argc, char **argv)
char *passargin = NULL; char *passargin = NULL;
int keysize = -1; int keysize = -1;
int engine_impl = 0; int engine_impl = 0;
unsigned char *buf_in = NULL, *buf_out = NULL, *sig = NULL; unsigned char *buf_in = NULL, *buf_out = NULL, *sig = NULL;
size_t buf_outlen; size_t buf_outlen = 0;
int buf_inlen = 0, siglen = -1; int buf_inlen = 0, siglen = -1;
const char *inkey = NULL;
const char *peerkey = NULL;
STACK_OF(OPENSSL_STRING) *pkeyopts = NULL;
int ret = 1, rv = -1; int ret = 1, rv = -1;
@ -136,21 +138,13 @@ int MAIN(int argc, char **argv)
} else if (!strcmp(*argv, "-inkey")) { } else if (!strcmp(*argv, "-inkey")) {
if (--argc < 1) if (--argc < 1)
badarg = 1; badarg = 1;
else { else
ctx = init_ctx(&keysize, inkey = *++argv;
*(++argv), keyform, key_type,
passargin, pkey_op, e, engine_impl);
if (!ctx) {
BIO_puts(bio_err, "Error initializing context\n");
ERR_print_errors(bio_err);
badarg = 1;
}
}
} else if (!strcmp(*argv, "-peerkey")) { } else if (!strcmp(*argv, "-peerkey")) {
if (--argc < 1) if (--argc < 1)
badarg = 1; badarg = 1;
else if (!setup_peer(bio_err, ctx, peerform, *(++argv), e)) else
badarg = 1; peerkey = *++argv;
} else if (!strcmp(*argv, "-passin")) { } else if (!strcmp(*argv, "-passin")) {
if (--argc < 1) if (--argc < 1)
badarg = 1; badarg = 1;
@ -191,23 +185,21 @@ int MAIN(int argc, char **argv)
pkey_op = EVP_PKEY_OP_VERIFY; pkey_op = EVP_PKEY_OP_VERIFY;
else if (!strcmp(*argv, "-verifyrecover")) else if (!strcmp(*argv, "-verifyrecover"))
pkey_op = EVP_PKEY_OP_VERIFYRECOVER; pkey_op = EVP_PKEY_OP_VERIFYRECOVER;
else if (!strcmp(*argv, "-rev"))
rev = 1;
else if (!strcmp(*argv, "-encrypt")) else if (!strcmp(*argv, "-encrypt"))
pkey_op = EVP_PKEY_OP_ENCRYPT; pkey_op = EVP_PKEY_OP_ENCRYPT;
else if (!strcmp(*argv, "-decrypt")) else if (!strcmp(*argv, "-decrypt"))
pkey_op = EVP_PKEY_OP_DECRYPT; pkey_op = EVP_PKEY_OP_DECRYPT;
else if (!strcmp(*argv, "-derive")) else if (!strcmp(*argv, "-derive"))
pkey_op = EVP_PKEY_OP_DERIVE; pkey_op = EVP_PKEY_OP_DERIVE;
else if (!strcmp(*argv, "-rev"))
rev = 1;
else if (strcmp(*argv, "-pkeyopt") == 0) { else if (strcmp(*argv, "-pkeyopt") == 0) {
if (--argc < 1) if (--argc < 1)
badarg = 1; badarg = 1;
else if (!ctx) { else if ((pkeyopts == NULL &&
BIO_puts(bio_err, "-pkeyopt command before -inkey\n"); (pkeyopts = sk_OPENSSL_STRING_new_null()) == NULL) ||
badarg = 1; sk_OPENSSL_STRING_push(pkeyopts, *++argv) == 0) {
} else if (pkey_ctrl_string(ctx, *(++argv)) <= 0) { BIO_puts(bio_err, "out of memory\n");
BIO_puts(bio_err, "parameter setting error\n");
ERR_print_errors(bio_err);
goto end; goto end;
} }
} else } else
@ -220,10 +212,37 @@ int MAIN(int argc, char **argv)
argv++; argv++;
} }
if (!ctx) { if (inkey == NULL ||
(peerkey != NULL && pkey_op != EVP_PKEY_OP_DERIVE)) {
usage(); usage();
goto end; goto end;
} }
ctx = init_ctx(&keysize, inkey, keyform, key_type,
passargin, pkey_op, e, engine_impl);
if (!ctx) {
BIO_puts(bio_err, "Error initializing context\n");
ERR_print_errors(bio_err);
goto end;
}
if (peerkey != NULL && !setup_peer(bio_err, ctx, peerform, peerkey, e)) {
BIO_puts(bio_err, "Error setting up peer key\n");
ERR_print_errors(bio_err);
goto end;
}
if (pkeyopts != NULL) {
int num = sk_OPENSSL_STRING_num(pkeyopts);
int i;
for (i = 0; i < num; ++i) {
const char *opt = sk_OPENSSL_STRING_value(pkeyopts, i);
if (pkey_ctrl_string(ctx, opt) <= 0) {
BIO_puts(bio_err, "parameter setting error\n");
ERR_print_errors(bio_err);
goto end;
}
}
}
if (sigfile && (pkey_op != EVP_PKEY_OP_VERIFY)) { if (sigfile && (pkey_op != EVP_PKEY_OP_VERIFY)) {
BIO_puts(bio_err, "Signature file specified for non verify\n"); BIO_puts(bio_err, "Signature file specified for non verify\n");
@ -273,7 +292,7 @@ int MAIN(int argc, char **argv)
} }
siglen = bio_to_mem(&sig, keysize * 10, sigbio); siglen = bio_to_mem(&sig, keysize * 10, sigbio);
BIO_free(sigbio); BIO_free(sigbio);
if (siglen <= 0) { if (siglen < 0) {
BIO_printf(bio_err, "Error reading signature data\n"); BIO_printf(bio_err, "Error reading signature data\n");
goto end; goto end;
} }
@ -282,7 +301,7 @@ int MAIN(int argc, char **argv)
if (in) { if (in) {
/* Read the input data */ /* Read the input data */
buf_inlen = bio_to_mem(&buf_in, keysize * 10, in); buf_inlen = bio_to_mem(&buf_in, keysize * 10, in);
if (buf_inlen <= 0) { if (buf_inlen < 0) {
BIO_printf(bio_err, "Error reading input Data\n"); BIO_printf(bio_err, "Error reading input Data\n");
exit(1); exit(1);
} }
@ -310,7 +329,7 @@ int MAIN(int argc, char **argv)
} else { } else {
rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen, rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen,
buf_in, (size_t)buf_inlen); buf_in, (size_t)buf_inlen);
if (rv > 0) { if (rv > 0 && buf_outlen != 0) {
buf_out = OPENSSL_malloc(buf_outlen); buf_out = OPENSSL_malloc(buf_outlen);
if (!buf_out) if (!buf_out)
rv = -1; rv = -1;
@ -340,12 +359,14 @@ int MAIN(int argc, char **argv)
EVP_PKEY_CTX_free(ctx); EVP_PKEY_CTX_free(ctx);
BIO_free(in); BIO_free(in);
BIO_free_all(out); BIO_free_all(out);
if (buf_in) if (buf_in != NULL)
OPENSSL_free(buf_in); OPENSSL_free(buf_in);
if (buf_out) if (buf_out != NULL)
OPENSSL_free(buf_out); OPENSSL_free(buf_out);
if (sig) if (sig != NULL)
OPENSSL_free(sig); OPENSSL_free(sig);
if (pkeyopts != NULL)
sk_OPENSSL_STRING_free(pkeyopts);
return ret; return ret;
} }
@ -380,7 +401,7 @@ static void usage()
} }
static EVP_PKEY_CTX *init_ctx(int *pkeysize, static EVP_PKEY_CTX *init_ctx(int *pkeysize,
char *keyfile, int keyform, int key_type, const char *keyfile, int keyform, int key_type,
char *passargin, int pkey_op, ENGINE *e, char *passargin, int pkey_op, ENGINE *e,
int engine_impl) int engine_impl)
{ {
@ -484,14 +505,9 @@ static int setup_peer(BIO *err, EVP_PKEY_CTX *ctx, int peerform,
EVP_PKEY *peer = NULL; EVP_PKEY *peer = NULL;
ENGINE* engine = NULL; ENGINE* engine = NULL;
int ret; int ret;
if (!ctx) {
BIO_puts(err, "-peerkey command before -inkey\n");
return 0;
}
if (peerform == FORMAT_ENGINE) if (peerform == FORMAT_ENGINE)
engine = e; engine = e;
peer = load_pubkey(bio_err, file, peerform, 0, NULL, engine, "Peer Key"); peer = load_pubkey(bio_err, file, peerform, 0, NULL, engine, "Peer Key");
if (!peer) { if (!peer) {

4
deps/openssl/openssl/apps/req.c

@ -101,8 +101,8 @@
#define STRING_MASK "string_mask" #define STRING_MASK "string_mask"
#define UTF8_IN "utf8" #define UTF8_IN "utf8"
#define DEFAULT_KEY_LENGTH 512 #define DEFAULT_KEY_LENGTH 2048
#define MIN_KEY_LENGTH 384 #define MIN_KEY_LENGTH 512
#undef PROG #undef PROG
#define PROG req_main #define PROG req_main

6
deps/openssl/openssl/apps/rsautl.c

@ -250,7 +250,7 @@ int MAIN(int argc, char **argv)
if (outfile) { if (outfile) {
if (!(out = BIO_new_file(outfile, "wb"))) { if (!(out = BIO_new_file(outfile, "wb"))) {
BIO_printf(bio_err, "Error Reading Output File\n"); BIO_printf(bio_err, "Error Writing Output File\n");
ERR_print_errors(bio_err); ERR_print_errors(bio_err);
goto end; goto end;
} }
@ -276,7 +276,7 @@ int MAIN(int argc, char **argv)
/* Read the input data */ /* Read the input data */
rsa_inlen = BIO_read(in, rsa_in, keysize * 2); rsa_inlen = BIO_read(in, rsa_in, keysize * 2);
if (rsa_inlen <= 0) { if (rsa_inlen < 0) {
BIO_printf(bio_err, "Error reading input Data\n"); BIO_printf(bio_err, "Error reading input Data\n");
exit(1); exit(1);
} }
@ -311,7 +311,7 @@ int MAIN(int argc, char **argv)
} }
if (rsa_outlen <= 0) { if (rsa_outlen < 0) {
BIO_printf(bio_err, "RSA operation error\n"); BIO_printf(bio_err, "RSA operation error\n");
ERR_print_errors(bio_err); ERR_print_errors(bio_err);
goto end; goto end;

2
deps/openssl/openssl/apps/s_client.c

@ -398,8 +398,6 @@ static void sc_usage(void)
" -no_tls1_2/-no_tls1_1/-no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol\n"); " -no_tls1_2/-no_tls1_1/-no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol\n");
BIO_printf(bio_err, BIO_printf(bio_err,
" -bugs - Switch on all SSL implementation bug workarounds\n"); " -bugs - Switch on all SSL implementation bug workarounds\n");
BIO_printf(bio_err,
" -serverpref - Use server's cipher preferences (only SSLv2)\n");
BIO_printf(bio_err, BIO_printf(bio_err,
" -cipher - preferred cipher to use, use the 'openssl ciphers'\n"); " -cipher - preferred cipher to use, use the 'openssl ciphers'\n");
BIO_printf(bio_err, BIO_printf(bio_err,

35
deps/openssl/openssl/apps/s_server.c

@ -429,6 +429,8 @@ typedef struct srpsrvparm_st {
static int MS_CALLBACK ssl_srp_server_param_cb(SSL *s, int *ad, void *arg) static int MS_CALLBACK ssl_srp_server_param_cb(SSL *s, int *ad, void *arg)
{ {
srpsrvparm *p = (srpsrvparm *) arg; srpsrvparm *p = (srpsrvparm *) arg;
int ret = SSL3_AL_FATAL;
if (p->login == NULL && p->user == NULL) { if (p->login == NULL && p->user == NULL) {
p->login = SSL_get_srp_username(s); p->login = SSL_get_srp_username(s);
BIO_printf(bio_err, "SRP username = \"%s\"\n", p->login); BIO_printf(bio_err, "SRP username = \"%s\"\n", p->login);
@ -437,21 +439,25 @@ static int MS_CALLBACK ssl_srp_server_param_cb(SSL *s, int *ad, void *arg)
if (p->user == NULL) { if (p->user == NULL) {
BIO_printf(bio_err, "User %s doesn't exist\n", p->login); BIO_printf(bio_err, "User %s doesn't exist\n", p->login);
return SSL3_AL_FATAL; goto err;
} }
if (SSL_set_srp_server_param if (SSL_set_srp_server_param
(s, p->user->N, p->user->g, p->user->s, p->user->v, (s, p->user->N, p->user->g, p->user->s, p->user->v,
p->user->info) < 0) { p->user->info) < 0) {
*ad = SSL_AD_INTERNAL_ERROR; *ad = SSL_AD_INTERNAL_ERROR;
return SSL3_AL_FATAL; goto err;
} }
BIO_printf(bio_err, BIO_printf(bio_err,
"SRP parameters set: username = \"%s\" info=\"%s\" \n", "SRP parameters set: username = \"%s\" info=\"%s\" \n",
p->login, p->user->info); p->login, p->user->info);
/* need to check whether there are memory leaks */ ret = SSL_ERROR_NONE;
err:
SRP_user_pwd_free(p->user);
p->user = NULL; p->user = NULL;
p->login = NULL; p->login = NULL;
return SSL_ERROR_NONE; return ret;
} }
#endif #endif
@ -2452,8 +2458,9 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context)
#ifndef OPENSSL_NO_SRP #ifndef OPENSSL_NO_SRP
while (SSL_get_error(con, k) == SSL_ERROR_WANT_X509_LOOKUP) { while (SSL_get_error(con, k) == SSL_ERROR_WANT_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP renego during write\n"); BIO_printf(bio_s_out, "LOOKUP renego during write\n");
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",
@ -2508,8 +2515,9 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context)
#ifndef OPENSSL_NO_SRP #ifndef OPENSSL_NO_SRP
while (SSL_get_error(con, i) == SSL_ERROR_WANT_X509_LOOKUP) { while (SSL_get_error(con, i) == SSL_ERROR_WANT_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP renego during read\n"); BIO_printf(bio_s_out, "LOOKUP renego during read\n");
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",
@ -2605,8 +2613,9 @@ static int init_ssl_connection(SSL *con)
while (i <= 0 && SSL_get_error(con, i) == SSL_ERROR_WANT_X509_LOOKUP) { while (i <= 0 && SSL_get_error(con, i) == SSL_ERROR_WANT_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP during accept %s\n", BIO_printf(bio_s_out, "LOOKUP during accept %s\n",
srp_callback_parm.login); srp_callback_parm.login);
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",
@ -2849,8 +2858,9 @@ static int www_body(char *hostname, int s, int stype, unsigned char *context)
&& SSL_get_error(con, i) == SSL_ERROR_WANT_X509_LOOKUP) { && SSL_get_error(con, i) == SSL_ERROR_WANT_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP during accept %s\n", BIO_printf(bio_s_out, "LOOKUP during accept %s\n",
srp_callback_parm.login); srp_callback_parm.login);
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",
@ -2891,8 +2901,9 @@ static int www_body(char *hostname, int s, int stype, unsigned char *context)
if (BIO_should_io_special(io) if (BIO_should_io_special(io)
&& BIO_get_retry_reason(io) == BIO_RR_SSL_X509_LOOKUP) { && BIO_get_retry_reason(io) == BIO_RR_SSL_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP renego during read\n"); BIO_printf(bio_s_out, "LOOKUP renego during read\n");
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",
@ -3236,8 +3247,9 @@ static int rev_body(char *hostname, int s, int stype, unsigned char *context)
if (BIO_should_io_special(io) if (BIO_should_io_special(io)
&& BIO_get_retry_reason(io) == BIO_RR_SSL_X509_LOOKUP) { && BIO_get_retry_reason(io) == BIO_RR_SSL_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP renego during accept\n"); BIO_printf(bio_s_out, "LOOKUP renego during accept\n");
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",
@ -3264,8 +3276,9 @@ static int rev_body(char *hostname, int s, int stype, unsigned char *context)
if (BIO_should_io_special(io) if (BIO_should_io_special(io)
&& BIO_get_retry_reason(io) == BIO_RR_SSL_X509_LOOKUP) { && BIO_get_retry_reason(io) == BIO_RR_SSL_X509_LOOKUP) {
BIO_printf(bio_s_out, "LOOKUP renego during read\n"); BIO_printf(bio_s_out, "LOOKUP renego during read\n");
SRP_user_pwd_free(srp_callback_parm.user);
srp_callback_parm.user = srp_callback_parm.user =
SRP_VBASE_get_by_user(srp_callback_parm.vb, SRP_VBASE_get1_by_user(srp_callback_parm.vb,
srp_callback_parm.login); srp_callback_parm.login);
if (srp_callback_parm.user) if (srp_callback_parm.user)
BIO_printf(bio_s_out, "LOOKUP done %s\n", BIO_printf(bio_s_out, "LOOKUP done %s\n",

3
deps/openssl/openssl/config

@ -852,7 +852,8 @@ case "$GUESSOS" in
# *-dgux) OUT="dgux" ;; # *-dgux) OUT="dgux" ;;
mips-sony-newsos4) OUT="newsos4-gcc" ;; mips-sony-newsos4) OUT="newsos4-gcc" ;;
*-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;; *-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;;
*-*-cygwin) OUT="Cygwin" ;; i[3456]86-*-cygwin) OUT="Cygwin" ;;
*-*-cygwin) OUT="Cygwin-${MACHINE}" ;;
t3e-cray-unicosmk) OUT="cray-t3e" ;; t3e-cray-unicosmk) OUT="cray-t3e" ;;
j90-cray-unicos) OUT="cray-j90" ;; j90-cray-unicos) OUT="cray-j90" ;;
nsr-tandem-nsk) OUT="tandem-c89" ;; nsr-tandem-nsk) OUT="tandem-c89" ;;

14
deps/openssl/openssl/crypto/asn1/tasn_dec.c

@ -717,7 +717,7 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
long plen; long plen;
char cst, inf, free_cont = 0; char cst, inf, free_cont = 0;
const unsigned char *p; const unsigned char *p;
BUF_MEM buf; BUF_MEM buf = { 0, NULL, 0 };
const unsigned char *cont = NULL; const unsigned char *cont = NULL;
long len; long len;
if (!pval) { if (!pval) {
@ -793,7 +793,6 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
} else { } else {
len = p - cont + plen; len = p - cont + plen;
p += plen; p += plen;
buf.data = NULL;
} }
} else if (cst) { } else if (cst) {
if (utype == V_ASN1_NULL || utype == V_ASN1_BOOLEAN if (utype == V_ASN1_NULL || utype == V_ASN1_BOOLEAN
@ -802,9 +801,9 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ASN1_R_TYPE_NOT_PRIMITIVE); ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ASN1_R_TYPE_NOT_PRIMITIVE);
return 0; return 0;
} }
buf.length = 0;
buf.max = 0; /* Free any returned 'buf' content */
buf.data = NULL; free_cont = 1;
/* /*
* Should really check the internal tags are correct but some things * Should really check the internal tags are correct but some things
* may get this wrong. The relevant specs say that constructed string * may get this wrong. The relevant specs say that constructed string
@ -812,18 +811,16 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
* So instead just check for UNIVERSAL class and ignore the tag. * So instead just check for UNIVERSAL class and ignore the tag.
*/ */
if (!asn1_collect(&buf, &p, plen, inf, -1, V_ASN1_UNIVERSAL, 0)) { if (!asn1_collect(&buf, &p, plen, inf, -1, V_ASN1_UNIVERSAL, 0)) {
free_cont = 1;
goto err; goto err;
} }
len = buf.length; len = buf.length;
/* Append a final null to string */ /* Append a final null to string */
if (!BUF_MEM_grow_clean(&buf, len + 1)) { if (!BUF_MEM_grow_clean(&buf, len + 1)) {
ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ERR_R_MALLOC_FAILURE); ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ERR_R_MALLOC_FAILURE);
return 0; goto err;
} }
buf.data[len] = 0; buf.data[len] = 0;
cont = (const unsigned char *)buf.data; cont = (const unsigned char *)buf.data;
free_cont = 1;
} else { } else {
cont = p; cont = p;
len = plen; len = plen;
@ -831,6 +828,7 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
} }
/* We now have content length and type: translate into a structure */ /* We now have content length and type: translate into a structure */
/* asn1_ex_c2i may reuse allocated buffer, and so sets free_cont to 0 */
if (!asn1_ex_c2i(pval, cont, len, utype, &free_cont, it)) if (!asn1_ex_c2i(pval, cont, len, utype, &free_cont, it))
goto err; goto err;

175
deps/openssl/openssl/crypto/bio/b_print.c

@ -125,14 +125,14 @@
# define LLONG long # define LLONG long
#endif #endif
static void fmtstr(char **, char **, size_t *, size_t *, static int fmtstr(char **, char **, size_t *, size_t *,
const char *, int, int, int); const char *, int, int, int);
static void fmtint(char **, char **, size_t *, size_t *, static int fmtint(char **, char **, size_t *, size_t *,
LLONG, int, int, int, int); LLONG, int, int, int, int);
static void fmtfp(char **, char **, size_t *, size_t *, static int fmtfp(char **, char **, size_t *, size_t *,
LDOUBLE, int, int, int); LDOUBLE, int, int, int);
static void doapr_outch(char **, char **, size_t *, size_t *, int); static int doapr_outch(char **, char **, size_t *, size_t *, int);
static void _dopr(char **sbuffer, char **buffer, static int _dopr(char **sbuffer, char **buffer,
size_t *maxlen, size_t *retlen, int *truncated, size_t *maxlen, size_t *retlen, int *truncated,
const char *format, va_list args); const char *format, va_list args);
@ -165,7 +165,7 @@ static void _dopr(char **sbuffer, char **buffer,
#define char_to_int(p) (p - '0') #define char_to_int(p) (p - '0')
#define OSSL_MAX(p,q) ((p >= q) ? p : q) #define OSSL_MAX(p,q) ((p >= q) ? p : q)
static void static int
_dopr(char **sbuffer, _dopr(char **sbuffer,
char **buffer, char **buffer,
size_t *maxlen, size_t *maxlen,
@ -196,7 +196,8 @@ _dopr(char **sbuffer,
if (ch == '%') if (ch == '%')
state = DP_S_FLAGS; state = DP_S_FLAGS;
else else
doapr_outch(sbuffer, buffer, &currlen, maxlen, ch); if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, ch))
return 0;
ch = *format++; ch = *format++;
break; break;
case DP_S_FLAGS: case DP_S_FLAGS:
@ -302,8 +303,9 @@ _dopr(char **sbuffer,
value = va_arg(args, int); value = va_arg(args, int);
break; break;
} }
fmtint(sbuffer, buffer, &currlen, maxlen, if (!fmtint(sbuffer, buffer, &currlen, maxlen, value, 10, min,
value, 10, min, max, flags); max, flags))
return 0;
break; break;
case 'X': case 'X':
flags |= DP_F_UP; flags |= DP_F_UP;
@ -326,17 +328,19 @@ _dopr(char **sbuffer,
value = (LLONG) va_arg(args, unsigned int); value = (LLONG) va_arg(args, unsigned int);
break; break;
} }
fmtint(sbuffer, buffer, &currlen, maxlen, value, if (!fmtint(sbuffer, buffer, &currlen, maxlen, value,
ch == 'o' ? 8 : (ch == 'u' ? 10 : 16), ch == 'o' ? 8 : (ch == 'u' ? 10 : 16),
min, max, flags); min, max, flags))
return 0;
break; break;
case 'f': case 'f':
if (cflags == DP_C_LDOUBLE) if (cflags == DP_C_LDOUBLE)
fvalue = va_arg(args, LDOUBLE); fvalue = va_arg(args, LDOUBLE);
else else
fvalue = va_arg(args, double); fvalue = va_arg(args, double);
fmtfp(sbuffer, buffer, &currlen, maxlen, if (!fmtfp(sbuffer, buffer, &currlen, maxlen, fvalue, min, max,
fvalue, min, max, flags); flags))
return 0;
break; break;
case 'E': case 'E':
flags |= DP_F_UP; flags |= DP_F_UP;
@ -355,8 +359,9 @@ _dopr(char **sbuffer,
fvalue = va_arg(args, double); fvalue = va_arg(args, double);
break; break;
case 'c': case 'c':
doapr_outch(sbuffer, buffer, &currlen, maxlen, if(!doapr_outch(sbuffer, buffer, &currlen, maxlen,
va_arg(args, int)); va_arg(args, int)))
return 0;
break; break;
case 's': case 's':
strvalue = va_arg(args, char *); strvalue = va_arg(args, char *);
@ -366,13 +371,15 @@ _dopr(char **sbuffer,
else else
max = *maxlen; max = *maxlen;
} }
fmtstr(sbuffer, buffer, &currlen, maxlen, strvalue, if (!fmtstr(sbuffer, buffer, &currlen, maxlen, strvalue,
flags, min, max); flags, min, max))
return 0;
break; break;
case 'p': case 'p':
value = (long)va_arg(args, void *); value = (long)va_arg(args, void *);
fmtint(sbuffer, buffer, &currlen, maxlen, if (!fmtint(sbuffer, buffer, &currlen, maxlen,
value, 16, min, max, flags | DP_F_NUM); value, 16, min, max, flags | DP_F_NUM))
return 0;
break; break;
case 'n': /* XXX */ case 'n': /* XXX */
if (cflags == DP_C_SHORT) { if (cflags == DP_C_SHORT) {
@ -394,7 +401,8 @@ _dopr(char **sbuffer,
} }
break; break;
case '%': case '%':
doapr_outch(sbuffer, buffer, &currlen, maxlen, ch); if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, ch))
return 0;
break; break;
case 'w': case 'w':
/* not supported yet, treat as next char */ /* not supported yet, treat as next char */
@ -418,46 +426,56 @@ _dopr(char **sbuffer,
*truncated = (currlen > *maxlen - 1); *truncated = (currlen > *maxlen - 1);
if (*truncated) if (*truncated)
currlen = *maxlen - 1; currlen = *maxlen - 1;
doapr_outch(sbuffer, buffer, &currlen, maxlen, '\0'); if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, '\0'))
return 0;
*retlen = currlen - 1; *retlen = currlen - 1;
return; return 1;
} }
static void static int
fmtstr(char **sbuffer, fmtstr(char **sbuffer,
char **buffer, char **buffer,
size_t *currlen, size_t *currlen,
size_t *maxlen, const char *value, int flags, int min, int max) size_t *maxlen, const char *value, int flags, int min, int max)
{ {
int padlen, strln; int padlen;
size_t strln;
int cnt = 0; int cnt = 0;
if (value == 0) if (value == 0)
value = "<NULL>"; value = "<NULL>";
for (strln = 0; value[strln]; ++strln) ;
strln = strlen(value);
if (strln > INT_MAX)
strln = INT_MAX;
padlen = min - strln; padlen = min - strln;
if (padlen < 0) if (min < 0 || padlen < 0)
padlen = 0; padlen = 0;
if (flags & DP_F_MINUS) if (flags & DP_F_MINUS)
padlen = -padlen; padlen = -padlen;
while ((padlen > 0) && (cnt < max)) { while ((padlen > 0) && (cnt < max)) {
doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, ' '))
return 0;
--padlen; --padlen;
++cnt; ++cnt;
} }
while (*value && (cnt < max)) { while (*value && (cnt < max)) {
doapr_outch(sbuffer, buffer, currlen, maxlen, *value++); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, *value++))
return 0;
++cnt; ++cnt;
} }
while ((padlen < 0) && (cnt < max)) { while ((padlen < 0) && (cnt < max)) {
doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, ' '))
return 0;
++padlen; ++padlen;
++cnt; ++cnt;
} }
return 1;
} }
static void static int
fmtint(char **sbuffer, fmtint(char **sbuffer,
char **buffer, char **buffer,
size_t *currlen, size_t *currlen,
@ -517,37 +535,44 @@ fmtint(char **sbuffer,
/* spaces */ /* spaces */
while (spadlen > 0) { while (spadlen > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, ' '))
return 0;
--spadlen; --spadlen;
} }
/* sign */ /* sign */
if (signvalue) if (signvalue)
doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue))
return 0;
/* prefix */ /* prefix */
while (*prefix) { while (*prefix) {
doapr_outch(sbuffer, buffer, currlen, maxlen, *prefix); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, *prefix))
return 0;
prefix++; prefix++;
} }
/* zeros */ /* zeros */
if (zpadlen > 0) { if (zpadlen > 0) {
while (zpadlen > 0) { while (zpadlen > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, '0'); if(!doapr_outch(sbuffer, buffer, currlen, maxlen, '0'))
return 0;
--zpadlen; --zpadlen;
} }
} }
/* digits */ /* digits */
while (place > 0) while (place > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, convert[--place]); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, convert[--place]))
return 0;
}
/* left justified spaces */ /* left justified spaces */
while (spadlen < 0) { while (spadlen < 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, ' '))
return 0;
++spadlen; ++spadlen;
} }
return; return 1;
} }
static LDOUBLE abs_val(LDOUBLE value) static LDOUBLE abs_val(LDOUBLE value)
@ -578,7 +603,7 @@ static long roundv(LDOUBLE value)
return intpart; return intpart;
} }
static void static int
fmtfp(char **sbuffer, fmtfp(char **sbuffer,
char **buffer, char **buffer,
size_t *currlen, size_t *currlen,
@ -657,47 +682,61 @@ fmtfp(char **sbuffer,
if ((flags & DP_F_ZERO) && (padlen > 0)) { if ((flags & DP_F_ZERO) && (padlen > 0)) {
if (signvalue) { if (signvalue) {
doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue))
return 0;
--padlen; --padlen;
signvalue = 0; signvalue = 0;
} }
while (padlen > 0) { while (padlen > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, '0'); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, '0'))
return 0;
--padlen; --padlen;
} }
} }
while (padlen > 0) { while (padlen > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, ' '))
return 0;
--padlen; --padlen;
} }
if (signvalue) if (signvalue && !doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue))
doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue); return 0;
while (iplace > 0) while (iplace > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, iconvert[--iplace]); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, iconvert[--iplace]))
return 0;
}
/* /*
* Decimal point. This should probably use locale to find the correct * Decimal point. This should probably use locale to find the correct
* char to print out. * char to print out.
*/ */
if (max > 0 || (flags & DP_F_NUM)) { if (max > 0 || (flags & DP_F_NUM)) {
doapr_outch(sbuffer, buffer, currlen, maxlen, '.'); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, '.'))
return 0;
while (fplace > 0) while (fplace > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, fconvert[--fplace]); if(!doapr_outch(sbuffer, buffer, currlen, maxlen,
fconvert[--fplace]))
return 0;
}
} }
while (zpadlen > 0) { while (zpadlen > 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, '0'); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, '0'))
return 0;
--zpadlen; --zpadlen;
} }
while (padlen < 0) { while (padlen < 0) {
doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); if (!doapr_outch(sbuffer, buffer, currlen, maxlen, ' '))
return 0;
++padlen; ++padlen;
} }
return 1;
} }
static void #define BUFFER_INC 1024
static int
doapr_outch(char **sbuffer, doapr_outch(char **sbuffer,
char **buffer, size_t *currlen, size_t *maxlen, int c) char **buffer, size_t *currlen, size_t *maxlen, int c)
{ {
@ -708,24 +747,25 @@ doapr_outch(char **sbuffer,
assert(*currlen <= *maxlen); assert(*currlen <= *maxlen);
if (buffer && *currlen == *maxlen) { if (buffer && *currlen == *maxlen) {
*maxlen += 1024; if (*maxlen > INT_MAX - BUFFER_INC)
return 0;
*maxlen += BUFFER_INC;
if (*buffer == NULL) { if (*buffer == NULL) {
*buffer = OPENSSL_malloc(*maxlen); *buffer = OPENSSL_malloc(*maxlen);
if (!*buffer) { if (*buffer == NULL)
/* Panic! Can't really do anything sensible. Just return */ return 0;
return;
}
if (*currlen > 0) { if (*currlen > 0) {
assert(*sbuffer != NULL); assert(*sbuffer != NULL);
memcpy(*buffer, *sbuffer, *currlen); memcpy(*buffer, *sbuffer, *currlen);
} }
*sbuffer = NULL; *sbuffer = NULL;
} else { } else {
*buffer = OPENSSL_realloc(*buffer, *maxlen); char *tmpbuf;
if (!*buffer) { tmpbuf = OPENSSL_realloc(*buffer, *maxlen);
/* Panic! Can't really do anything sensible. Just return */ if (tmpbuf == NULL)
return; return 0;
} *buffer = tmpbuf;
} }
} }
@ -736,7 +776,7 @@ doapr_outch(char **sbuffer,
(*buffer)[(*currlen)++] = (char)c; (*buffer)[(*currlen)++] = (char)c;
} }
return; return 1;
} }
/***************************************************************************/ /***************************************************************************/
@ -768,7 +808,11 @@ int BIO_vprintf(BIO *bio, const char *format, va_list args)
dynbuf = NULL; dynbuf = NULL;
CRYPTO_push_info("doapr()"); CRYPTO_push_info("doapr()");
_dopr(&hugebufp, &dynbuf, &hugebufsize, &retlen, &ignored, format, args); if (!_dopr(&hugebufp, &dynbuf, &hugebufsize, &retlen, &ignored, format,
args)) {
OPENSSL_free(dynbuf);
return -1;
}
if (dynbuf) { if (dynbuf) {
ret = BIO_write(bio, dynbuf, (int)retlen); ret = BIO_write(bio, dynbuf, (int)retlen);
OPENSSL_free(dynbuf); OPENSSL_free(dynbuf);
@ -803,7 +847,8 @@ int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
size_t retlen; size_t retlen;
int truncated; int truncated;
_dopr(&buf, NULL, &n, &retlen, &truncated, format, args); if(!_dopr(&buf, NULL, &n, &retlen, &truncated, format, args))
return -1;
if (truncated) if (truncated)
/* /*

4
deps/openssl/openssl/crypto/bio/bio.h

@ -479,7 +479,7 @@ struct bio_dgram_sctp_prinfo {
# define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0) # define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)
# define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1) # define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)
# define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2) # define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)
# define BIO_get_conn_int_port(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,0,NULL) # define BIO_get_conn_int_port(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL)
# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) # define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)
@ -689,7 +689,7 @@ long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi,
long argl, long ret); long argl, long ret);
BIO_METHOD *BIO_s_mem(void); BIO_METHOD *BIO_s_mem(void);
BIO *BIO_new_mem_buf(void *buf, int len); BIO *BIO_new_mem_buf(const void *buf, int len);
BIO_METHOD *BIO_s_socket(void); BIO_METHOD *BIO_s_socket(void);
BIO_METHOD *BIO_s_connect(void); BIO_METHOD *BIO_s_connect(void);
BIO_METHOD *BIO_s_accept(void); BIO_METHOD *BIO_s_accept(void);

6
deps/openssl/openssl/crypto/bio/bss_mem.c

@ -91,7 +91,8 @@ BIO_METHOD *BIO_s_mem(void)
return (&mem_method); return (&mem_method);
} }
BIO *BIO_new_mem_buf(void *buf, int len)
BIO *BIO_new_mem_buf(const void *buf, int len)
{ {
BIO *ret; BIO *ret;
BUF_MEM *b; BUF_MEM *b;
@ -105,7 +106,8 @@ BIO *BIO_new_mem_buf(void *buf, int len)
if (!(ret = BIO_new(BIO_s_mem()))) if (!(ret = BIO_new(BIO_s_mem())))
return NULL; return NULL;
b = (BUF_MEM *)ret->ptr; b = (BUF_MEM *)ret->ptr;
b->data = buf; /* Cast away const and trust in the MEM_RDONLY flag. */
b->data = (void *)buf;
b->length = sz; b->length = sz;
b->max = sz; b->max = sz;
ret->flags |= BIO_FLAGS_MEM_RDONLY; ret->flags |= BIO_FLAGS_MEM_RDONLY;

4
deps/openssl/openssl/crypto/bn/Makefile

@ -252,8 +252,8 @@ bn_exp.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
bn_exp.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h bn_exp.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
bn_exp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h bn_exp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
bn_exp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h bn_exp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
bn_exp.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_exp.c bn_lcl.h bn_exp.o: ../../include/openssl/symhacks.h ../constant_time_locl.h
bn_exp.o: rsaz_exp.h bn_exp.o: ../cryptlib.h bn_exp.c bn_lcl.h rsaz_exp.h
bn_exp2.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h bn_exp2.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
bn_exp2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_exp2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
bn_exp2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bn_exp2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save