mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
ADD: BLAKE3 use NEON
This commit is contained in:
parent
fe40648730
commit
9bb0036c76
3 changed files with 1161 additions and 2 deletions
1149
components/kascrypt/Hashes/blake3_neon.inc
Normal file
1149
components/kascrypt/Hashes/blake3_neon.inc
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -30,6 +30,8 @@ const
|
|||
|
||||
{$if defined(CPUX86_64)}
|
||||
MAX_SIMD_DEGREE = 16;
|
||||
{$elseif defined(CPUAARCH64)}
|
||||
MAX_SIMD_DEGREE = 4;
|
||||
{$else}
|
||||
MAX_SIMD_DEGREE = 1;
|
||||
{$endif}
|
||||
|
|
@ -203,6 +205,10 @@ end;
|
|||
{$include blake3_pas.inc}
|
||||
{$ENDIF}
|
||||
|
||||
{$IF DEFINED(CPUAARCH64)}
|
||||
{$include blake3_neon.inc}
|
||||
{$ENDIF}
|
||||
|
||||
var
|
||||
blake3_simd_degree: csize_t; // The dynamically detected SIMD degree of the current platform
|
||||
|
||||
|
|
@ -732,6 +738,11 @@ initialization
|
|||
blake3_compress_xof:= @blake3_compress_xof_sse2;
|
||||
blake3_hash_many:= @blake3_hash_many_sse2;
|
||||
end;
|
||||
{$ELSEIF DEFINED(CPUAARCH64)}
|
||||
blake3_simd_degree:= 4;
|
||||
blake3_compress_in_place:= @blake3_compress_in_place_portable;
|
||||
blake3_compress_xof:= @blake3_compress_xof_portable;
|
||||
blake3_hash_many:= @blake3_hash_many_neon;
|
||||
{$ELSE}
|
||||
blake3_simd_degree:= 1;
|
||||
blake3_compress_in_place:= @blake3_compress_in_place_portable;
|
||||
|
|
@ -739,4 +750,3 @@ initialization
|
|||
blake3_hash_many:= @blake3_hash_many_portable;
|
||||
{$ENDIF}
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"/>
|
||||
<License Value="KAScrypt is open source software (released under the MIT license) and as such there is no charge for inclusion in other software.
|
||||
"/>
|
||||
<Version Major="3" Minor="2"/>
|
||||
<Version Major="3" Minor="3"/>
|
||||
<Files Count="32">
|
||||
<Item1>
|
||||
<Filename Value="dcpbase64.pas"/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue