1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 19:08:26 -06:00

Crypto: Add optimized SHA-512 and SHA-256 assembly implementations for x86_64 and x86. This improves speed by 30%.

This commit is contained in:
Mounir IDRASSI
2017-06-23 02:07:32 +02:00
parent ab7b5dc685
commit 546d6cff44
28 changed files with 5408 additions and 884 deletions

View File

@@ -330,7 +330,7 @@ static void ComputeBootLoaderFingerprint(PDEVICE_OBJECT LowerDeviceObject, byte*
#if !defined (_WIN64)
KFLOATING_SAVE floatingPointState;
NTSTATUS saveStatus = STATUS_SUCCESS;
if (HasISSE())
if (HasISSE()|| (HasSSE2() && HasMMX()))
saveStatus = KeSaveFloatingPointState (&floatingPointState);
#endif
WHIRLPOOL_add (ioBuffer, TC_BOOT_SECTOR_PIM_VALUE_OFFSET, &whirlpool);
@@ -368,7 +368,7 @@ static void ComputeBootLoaderFingerprint(PDEVICE_OBJECT LowerDeviceObject, byte*
}
#if !defined (_WIN64)
if (NT_SUCCESS (saveStatus) && HasISSE())
if (NT_SUCCESS (saveStatus) && (HasISSE() || (HasSSE2() && HasMMX())))
KeRestoreFloatingPointState (&floatingPointState);
#endif
}