|
@@ -43,6 +43,7 @@ unit cpu;
|
|
|
function AVX512CDSupport: boolean;inline;
|
|
|
function AVX512BWSupport: boolean;inline;
|
|
|
function AVX512VLSupport: boolean;inline;
|
|
|
+ function SHASupport: boolean;inline;
|
|
|
function FMASupport: boolean;inline;
|
|
|
function POPCNTSupport: boolean;inline;
|
|
|
function SSE41Support: boolean;inline;
|
|
@@ -63,6 +64,7 @@ unit cpu;
|
|
|
|
|
|
{$ASMMODE INTEL}
|
|
|
var
|
|
|
+ _AESSupport,
|
|
|
_AVXSupport,
|
|
|
_AVX2Support,
|
|
|
_AVX512FSupport,
|
|
@@ -73,7 +75,7 @@ unit cpu;
|
|
|
_AVX512CDSupport,
|
|
|
_AVX512BWSupport,
|
|
|
_AVX512VLSupport,
|
|
|
- _AESSupport,
|
|
|
+ _SHASupport,
|
|
|
_FMASupport,
|
|
|
_POPCNTSupport,
|
|
|
_SSE41Support,
|
|
@@ -240,6 +242,7 @@ unit cpu;
|
|
|
_AVX512ERSupport:=(_ebx and $8000000)<>0;
|
|
|
_AVX512CDSupport:=(_ebx and $10000000)<>0;
|
|
|
_AVX512BWSupport:=(_ebx and $40000000)<>0;
|
|
|
+ _SHASupport:=(_ebx and $20000000)<>0;
|
|
|
_AVX512VLSupport:=(_ebx and $80000000)<>0;
|
|
|
_BMI1Support:=(_ebx and $8)<>0;
|
|
|
_BMI2Support:=(_ebx and $100)<>0;
|
|
@@ -323,7 +326,13 @@ unit cpu;
|
|
|
end;
|
|
|
|
|
|
|
|
|
- function FMASupport: boolean;inline;
|
|
|
+ function SHASupport: boolean;inline;
|
|
|
+ begin
|
|
|
+ result:=_SHASupport;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ function FMASupport: boolean;inline;
|
|
|
begin
|
|
|
result:=_FMASupport;
|
|
|
end;
|