digest-blake3 0.22.1 → 1.2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,17 @@
1
+ #if defined(__ELF__) && defined(__linux__)
2
+ .section .note.GNU-stack,"",%progbits
3
+ #endif
4
+
5
+ #if defined(__ELF__) && defined(__CET__) && defined(__has_include)
6
+ #if __has_include(<cet.h>)
7
+ #include <cet.h>
8
+ #endif
9
+ #endif
10
+
11
+ #if !defined(_CET_ENDBR)
12
+ #define _CET_ENDBR
13
+ #endif
14
+
1
15
  .intel_syntax noprefix
2
16
  .global blake3_hash_many_sse41
3
17
  .global _blake3_hash_many_sse41
@@ -13,6 +27,7 @@
13
27
  .p2align 6
14
28
  _blake3_hash_many_sse41:
15
29
  blake3_hash_many_sse41:
30
+ _CET_ENDBR
16
31
  push r15
17
32
  push r14
18
33
  push r13
@@ -1774,6 +1789,7 @@ blake3_hash_many_sse41:
1774
1789
  .p2align 6
1775
1790
  blake3_compress_in_place_sse41:
1776
1791
  _blake3_compress_in_place_sse41:
1792
+ _CET_ENDBR
1777
1793
  movups xmm0, xmmword ptr [rdi]
1778
1794
  movups xmm1, xmmword ptr [rdi+0x10]
1779
1795
  movaps xmm2, xmmword ptr [BLAKE3_IV+rip]
@@ -1874,6 +1890,7 @@ _blake3_compress_in_place_sse41:
1874
1890
  .p2align 6
1875
1891
  blake3_compress_xof_sse41:
1876
1892
  _blake3_compress_xof_sse41:
1893
+ _CET_ENDBR
1877
1894
  movups xmm0, xmmword ptr [rdi]
1878
1895
  movups xmm1, xmmword ptr [rdi+0x10]
1879
1896
  movaps xmm2, xmmword ptr [BLAKE3_IV+rip]
@@ -1800,15 +1800,18 @@ blake3_hash_many_sse41:
1800
1800
  .p2align 6
1801
1801
  blake3_compress_in_place_sse41:
1802
1802
  _blake3_compress_in_place_sse41:
1803
- sub rsp, 72
1803
+ sub rsp, 120
1804
1804
  movdqa xmmword ptr [rsp], xmm6
1805
1805
  movdqa xmmword ptr [rsp+0x10], xmm7
1806
1806
  movdqa xmmword ptr [rsp+0x20], xmm8
1807
1807
  movdqa xmmword ptr [rsp+0x30], xmm9
1808
+ movdqa xmmword ptr [rsp+0x40], xmm11
1809
+ movdqa xmmword ptr [rsp+0x50], xmm14
1810
+ movdqa xmmword ptr [rsp+0x60], xmm15
1808
1811
  movups xmm0, xmmword ptr [rcx]
1809
1812
  movups xmm1, xmmword ptr [rcx+0x10]
1810
1813
  movaps xmm2, xmmword ptr [BLAKE3_IV+rip]
1811
- movzx eax, byte ptr [rsp+0x70]
1814
+ movzx eax, byte ptr [rsp+0xA0]
1812
1815
  movzx r8d, r8b
1813
1816
  shl rax, 32
1814
1817
  add r8, rax
@@ -1906,24 +1909,30 @@ _blake3_compress_in_place_sse41:
1906
1909
  movdqa xmm7, xmmword ptr [rsp+0x10]
1907
1910
  movdqa xmm8, xmmword ptr [rsp+0x20]
1908
1911
  movdqa xmm9, xmmword ptr [rsp+0x30]
1909
- add rsp, 72
1912
+ movdqa xmm11, xmmword ptr [rsp+0x40]
1913
+ movdqa xmm14, xmmword ptr [rsp+0x50]
1914
+ movdqa xmm15, xmmword ptr [rsp+0x60]
1915
+ add rsp, 120
1910
1916
  ret
1911
1917
 
1912
1918
 
1913
1919
  .p2align 6
1914
1920
  _blake3_compress_xof_sse41:
1915
1921
  blake3_compress_xof_sse41:
1916
- sub rsp, 72
1922
+ sub rsp, 120
1917
1923
  movdqa xmmword ptr [rsp], xmm6
1918
1924
  movdqa xmmword ptr [rsp+0x10], xmm7
1919
1925
  movdqa xmmword ptr [rsp+0x20], xmm8
1920
1926
  movdqa xmmword ptr [rsp+0x30], xmm9
1927
+ movdqa xmmword ptr [rsp+0x40], xmm11
1928
+ movdqa xmmword ptr [rsp+0x50], xmm14
1929
+ movdqa xmmword ptr [rsp+0x60], xmm15
1921
1930
  movups xmm0, xmmword ptr [rcx]
1922
1931
  movups xmm1, xmmword ptr [rcx+0x10]
1923
1932
  movaps xmm2, xmmword ptr [BLAKE3_IV+rip]
1924
- movzx eax, byte ptr [rsp+0x70]
1933
+ movzx eax, byte ptr [rsp+0xA0]
1925
1934
  movzx r8d, r8b
1926
- mov r10, qword ptr [rsp+0x78]
1935
+ mov r10, qword ptr [rsp+0xA8]
1927
1936
  shl rax, 32
1928
1937
  add r8, rax
1929
1938
  movq xmm3, r9
@@ -2026,7 +2035,10 @@ blake3_compress_xof_sse41:
2026
2035
  movdqa xmm7, xmmword ptr [rsp+0x10]
2027
2036
  movdqa xmm8, xmmword ptr [rsp+0x20]
2028
2037
  movdqa xmm9, xmmword ptr [rsp+0x30]
2029
- add rsp, 72
2038
+ movdqa xmm11, xmmword ptr [rsp+0x40]
2039
+ movdqa xmm14, xmmword ptr [rsp+0x50]
2040
+ movdqa xmm15, xmmword ptr [rsp+0x60]
2041
+ add rsp, 120
2030
2042
  ret
2031
2043
 
2032
2044
 
@@ -1802,20 +1802,23 @@ blake3_hash_many_sse41 ENDP
1802
1802
 
1803
1803
  blake3_compress_in_place_sse41 PROC
1804
1804
  _blake3_compress_in_place_sse41 PROC
1805
- sub rsp, 72
1805
+ sub rsp, 120
1806
1806
  movdqa xmmword ptr [rsp], xmm6
1807
1807
  movdqa xmmword ptr [rsp+10H], xmm7
1808
1808
  movdqa xmmword ptr [rsp+20H], xmm8
1809
1809
  movdqa xmmword ptr [rsp+30H], xmm9
1810
+ movdqa xmmword ptr [rsp+40H], xmm11
1811
+ movdqa xmmword ptr [rsp+50H], xmm14
1812
+ movdqa xmmword ptr [rsp+60H], xmm15
1810
1813
  movups xmm0, xmmword ptr [rcx]
1811
1814
  movups xmm1, xmmword ptr [rcx+10H]
1812
1815
  movaps xmm2, xmmword ptr [BLAKE3_IV]
1813
- movzx eax, byte ptr [rsp+70H]
1816
+ movzx eax, byte ptr [rsp+0A0H]
1814
1817
  movzx r8d, r8b
1815
1818
  shl rax, 32
1816
1819
  add r8, rax
1817
- movq xmm3, r9
1818
- movq xmm4, r8
1820
+ movd xmm3, r9
1821
+ movd xmm4, r8
1819
1822
  punpcklqdq xmm3, xmm4
1820
1823
  movups xmm4, xmmword ptr [rdx]
1821
1824
  movups xmm5, xmmword ptr [rdx+10H]
@@ -1908,7 +1911,10 @@ _blake3_compress_in_place_sse41 PROC
1908
1911
  movdqa xmm7, xmmword ptr [rsp+10H]
1909
1912
  movdqa xmm8, xmmword ptr [rsp+20H]
1910
1913
  movdqa xmm9, xmmword ptr [rsp+30H]
1911
- add rsp, 72
1914
+ movdqa xmm11, xmmword ptr [rsp+40H]
1915
+ movdqa xmm14, xmmword ptr [rsp+50H]
1916
+ movdqa xmm15, xmmword ptr [rsp+60H]
1917
+ add rsp, 120
1912
1918
  ret
1913
1919
  _blake3_compress_in_place_sse41 ENDP
1914
1920
  blake3_compress_in_place_sse41 ENDP
@@ -1916,21 +1922,24 @@ blake3_compress_in_place_sse41 ENDP
1916
1922
  ALIGN 16
1917
1923
  blake3_compress_xof_sse41 PROC
1918
1924
  _blake3_compress_xof_sse41 PROC
1919
- sub rsp, 72
1925
+ sub rsp, 120
1920
1926
  movdqa xmmword ptr [rsp], xmm6
1921
1927
  movdqa xmmword ptr [rsp+10H], xmm7
1922
1928
  movdqa xmmword ptr [rsp+20H], xmm8
1923
1929
  movdqa xmmword ptr [rsp+30H], xmm9
1930
+ movdqa xmmword ptr [rsp+40H], xmm11
1931
+ movdqa xmmword ptr [rsp+50H], xmm14
1932
+ movdqa xmmword ptr [rsp+60H], xmm15
1924
1933
  movups xmm0, xmmword ptr [rcx]
1925
1934
  movups xmm1, xmmword ptr [rcx+10H]
1926
1935
  movaps xmm2, xmmword ptr [BLAKE3_IV]
1927
- movzx eax, byte ptr [rsp+70H]
1936
+ movzx eax, byte ptr [rsp+0A0H]
1928
1937
  movzx r8d, r8b
1929
- mov r10, qword ptr [rsp+78H]
1938
+ mov r10, qword ptr [rsp+0A8H]
1930
1939
  shl rax, 32
1931
1940
  add r8, rax
1932
- movq xmm3, r9
1933
- movq xmm4, r8
1941
+ movd xmm3, r9
1942
+ movd xmm4, r8
1934
1943
  punpcklqdq xmm3, xmm4
1935
1944
  movups xmm4, xmmword ptr [rdx]
1936
1945
  movups xmm5, xmmword ptr [rdx+10H]
@@ -2029,7 +2038,10 @@ _blake3_compress_xof_sse41 PROC
2029
2038
  movdqa xmm7, xmmword ptr [rsp+10H]
2030
2039
  movdqa xmm8, xmmword ptr [rsp+20H]
2031
2040
  movdqa xmm9, xmmword ptr [rsp+30H]
2032
- add rsp, 72
2041
+ movdqa xmm11, xmmword ptr [rsp+40H]
2042
+ movdqa xmm14, xmmword ptr [rsp+50H]
2043
+ movdqa xmm15, xmmword ptr [rsp+60H]
2044
+ add rsp, 120
2033
2045
  ret
2034
2046
  _blake3_compress_xof_sse41 ENDP
2035
2047
  blake3_compress_xof_sse41 ENDP
@@ -34,9 +34,10 @@ def check_supported_flags(flags, obj_if_enabled, def_if_disabled)
34
34
  end
35
35
  end
36
36
 
37
- check_supported_flags("-msse4.1", "blake3_sse41.o", "-DBLAKE3_NO_SSE41")
38
- check_supported_flags("-mavx2", "blake3_avx2.o", "-DBLAKE3_NO_AVX2")
39
- check_supported_flags("-mavx512f -mavx512vl", "blake3_avx512.o", "-DBLAKE3_NO_AVX512")
37
+ check_supported_flags("-msse2", "blake3_sse2.o", "-DBLAKE3_NO_SSE2")
38
+ check_supported_flags("-msse4.1", "blake3_sse41.o", "-DBLAKE3_NO_SSE41")
39
+ check_supported_flags("-mavx2", "blake3_avx2.o", "-DBLAKE3_NO_AVX2")
40
+ check_supported_flags("-mavx512f -mavx512vl -mavx512bw", "blake3_avx512.o", "-DBLAKE3_NO_AVX512")
40
41
 
41
42
  if have_header("arm_neon.h")
42
43
  $objs << "blake3_neon.o"
@@ -2,6 +2,6 @@ require 'digest'
2
2
 
3
3
  module Digest
4
4
  class BLAKE3 < Base
5
- VERSION = "0.22.1"
5
+ VERSION = "1.2.0.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: digest-blake3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.1
4
+ version: 1.2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Will Bryant
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-15 00:00:00.000000000 Z
11
+ date: 2022-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -85,6 +85,10 @@ files:
85
85
  - ext/digest/blake3/blake3_neon.c
86
86
  - ext/digest/blake3/blake3_portable.c
87
87
  - ext/digest/blake3/blake3_ruby.c
88
+ - ext/digest/blake3/blake3_sse2.c
89
+ - ext/digest/blake3/blake3_sse2_x86-64_unix.S
90
+ - ext/digest/blake3/blake3_sse2_x86-64_windows_gnu.S
91
+ - ext/digest/blake3/blake3_sse2_x86-64_windows_msvc.asm
88
92
  - ext/digest/blake3/blake3_sse41.c
89
93
  - ext/digest/blake3/blake3_sse41_x86-64_unix.S
90
94
  - ext/digest/blake3/blake3_sse41_x86-64_windows_gnu.S
@@ -96,7 +100,7 @@ homepage: https://github.com/willbryant/digest-blake3
96
100
  licenses:
97
101
  - MIT
98
102
  metadata: {}
99
- post_install_message:
103
+ post_install_message:
100
104
  rdoc_options: []
101
105
  require_paths:
102
106
  - lib
@@ -112,9 +116,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
116
  - !ruby/object:Gem::Version
113
117
  version: '0'
114
118
  requirements: []
115
- rubyforge_project:
116
- rubygems_version: 2.7.6
117
- signing_key:
119
+ rubygems_version: 3.0.3
120
+ signing_key:
118
121
  specification_version: 4
119
122
  summary: BLAKE3 for Ruby
120
123
  test_files: []