digest-blake3 0.22.1 → 1.2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []