Skip to content

Commit 8348f7d

Browse files
committed
SIMD implementations for SHA2
1 parent ba0584f commit 8348f7d

23 files changed

Lines changed: 2671 additions & 2106 deletions

HashLib.Benchmark/Delphi/PerformanceBenchmarkConsole.dpr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ uses
4343
HlpSHA1 in '..\..\HashLib\src\Crypto\HlpSHA1.pas',
4444
HlpSHA2_224 in '..\..\HashLib\src\Crypto\HlpSHA2_224.pas',
4545
HlpSHA2_256 in '..\..\HashLib\src\Crypto\HlpSHA2_256.pas',
46+
HlpSHA2_256Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_256Dispatch.pas',
47+
HlpSHA2_512Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_512Dispatch.pas',
4648
HlpSHA2_256Base in '..\..\HashLib\src\Crypto\HlpSHA2_256Base.pas',
4749
HlpSHA2_384 in '..\..\HashLib\src\Crypto\HlpSHA2_384.pas',
4850
HlpSHA2_512 in '..\..\HashLib\src\Crypto\HlpSHA2_512.pas',

HashLib.Benchmark/Delphi/PerformanceBenchmarkFMX.dpr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ uses
4242
HlpSHA1 in '..\..\HashLib\src\Crypto\HlpSHA1.pas',
4343
HlpSHA2_224 in '..\..\HashLib\src\Crypto\HlpSHA2_224.pas',
4444
HlpSHA2_256 in '..\..\HashLib\src\Crypto\HlpSHA2_256.pas',
45+
HlpSHA2_256Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_256Dispatch.pas',
46+
HlpSHA2_512Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_512Dispatch.pas',
4547
HlpSHA2_256Base in '..\..\HashLib\src\Crypto\HlpSHA2_256Base.pas',
4648
HlpSHA2_384 in '..\..\HashLib\src\Crypto\HlpSHA2_384.pas',
4749
HlpSHA2_512 in '..\..\HashLib\src\Crypto\HlpSHA2_512.pas',

HashLib.Tests/Delphi.Tests/HashLib.Tests.dpr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ uses
6464
HlpSHA1 in '..\..\HashLib\src\Crypto\HlpSHA1.pas',
6565
HlpSHA2_224 in '..\..\HashLib\src\Crypto\HlpSHA2_224.pas',
6666
HlpSHA2_256 in '..\..\HashLib\src\Crypto\HlpSHA2_256.pas',
67+
HlpSHA2_256Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_256Dispatch.pas',
68+
HlpSHA2_512Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_512Dispatch.pas',
6769
HlpSHA2_256Base in '..\..\HashLib\src\Crypto\HlpSHA2_256Base.pas',
6870
HlpSHA2_384 in '..\..\HashLib\src\Crypto\HlpSHA2_384.pas',
6971
HlpSHA2_512 in '..\..\HashLib\src\Crypto\HlpSHA2_512.pas',

HashLib/src/Crypto/HlpBlake2BDispatch.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ procedure InitDispatch();
131131
Blake2B_Compress := @Blake2B_Compress_avx2;
132132
end;
133133
{$ENDIF HASHLIB_AVX2_ASM_SUPPORTED}
134-
TSimdLevel.SSE2:
134+
TSimdLevel.SSE2, TSimdLevel.SSSE3:
135135
begin
136136
Blake2B_Compress := @Blake2B_Compress_sse2;
137137
end;

HashLib/src/Crypto/HlpBlake2SDispatch.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ procedure InitDispatch();
129129
Blake2S_Compress := @Blake2S_Compress_avx2;
130130
end;
131131
{$ENDIF HASHLIB_AVX2_ASM_SUPPORTED}
132-
TSimdLevel.SSE2:
132+
TSimdLevel.SSE2, TSimdLevel.SSSE3:
133133
begin
134134
Blake2S_Compress := @Blake2S_Compress_sse2;
135135
end;

HashLib/src/Crypto/HlpBlake3Dispatch.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ procedure InitDispatch();
128128
Blake3_Compress := @Blake3_Compress_avx2;
129129
end;
130130
{$ENDIF HASHLIB_AVX2_ASM_SUPPORTED}
131-
TSimdLevel.SSE2:
131+
TSimdLevel.SSE2, TSimdLevel.SSSE3:
132132
begin
133133
Blake3_Compress := @Blake3_Compress_sse2;
134134
end;

0 commit comments

Comments
 (0)