+ TSCSupport

This commit is contained in:
florian 2024-06-29 22:32:16 +02:00
parent 9ce7fbeef0
commit 567187d4ba
2 changed files with 26 additions and 17 deletions

View File

@ -46,6 +46,7 @@ type
{ returns the contents of the cr0 register }
function cr0 : longint;
function TSCSupport: boolean;inline;
function MMXSupport: boolean;inline;
function CMOVSupport: boolean;inline;
function InterlockedCompareExchange128Support: boolean;
@ -92,6 +93,7 @@ type
{$ASMMODE INTEL}
var
_TSCSupport,
_MMXSupport,
_CMOVSupport,
_AESSupport,
@ -269,6 +271,7 @@ type
begin
maxcpuidvalue:=CPUID(0).eax;
cpuid1:=CPUID(1);
_TSCSupport:=(cpuid1.edx and $20)<>0;
_MMXSupport:=(cpuid1.edx and $800000)<>0;
_CMOVSupport:=(cpuid1.edx and $8000)<>0;
_AESSupport:=(cpuid1.ecx and $2000000)<>0;
@ -333,6 +336,12 @@ type
end;
function TSCSupport: boolean;
begin
result:=_TSCSupport;
end;
function MMXSupport: boolean;
begin
result:=_MMXSupport;

View File

@ -48,13 +48,13 @@ type
function AESSupport : boolean;inline;
function AVXSupport : boolean;inline;
function AVX2Support: boolean;inline;
function AVX512FSupport: boolean;inline;
function AVX512DQSupport: boolean;inline;
function AVX512IFMASupport: boolean;inline;
function AVX512PFSupport: boolean;inline;
function AVX512ERSupport: boolean;inline;
function AVX512CDSupport: boolean;inline;
function AVX512BWSupport: boolean;inline;
function AVX512FSupport: boolean;inline;
function AVX512DQSupport: boolean;inline;
function AVX512IFMASupport: boolean;inline;
function AVX512PFSupport: boolean;inline;
function AVX512ERSupport: boolean;inline;
function AVX512CDSupport: boolean;inline;
function AVX512BWSupport: boolean;inline;
function AVX512VLSupport: boolean;inline;
function AVX512VBMISupport: boolean;inline;
function AVX512VBMI2Support: boolean;inline;
@ -64,7 +64,7 @@ type
function AVX512BITALGSupport: boolean;inline;
function RDSEEDSupport: boolean;inline;
function ADXSupport: boolean;inline;
function SHASupport: boolean;inline;
function SHASupport: boolean;inline;
function FMASupport: boolean;inline;
function CMPXCHG16BSupport: boolean;inline;
function POPCNTSupport: boolean;inline;
@ -349,37 +349,37 @@ type
end;
function AVX512IFMASupport: boolean;inline;
function AVX512IFMASupport: boolean;inline;
begin
result:=_AVX512IFMASupport;
end;
function AVX512PFSupport: boolean;inline;
function AVX512PFSupport: boolean;inline;
begin
result:=_AVX512PFSupport;
end;
function AVX512ERSupport: boolean;inline;
function AVX512ERSupport: boolean;inline;
begin
result:=_AVX512ERSupport;
end;
function AVX512CDSupport: boolean;inline;
function AVX512CDSupport: boolean;inline;
begin
result:=_AVX512CDSupport;
end;
function AVX512BWSupport: boolean;inline;
function AVX512BWSupport: boolean;inline;
begin
result:=_AVX512BWSupport;
end;
function AVX512VLSupport: boolean;inline;
function AVX512VLSupport: boolean;inline;
begin
result:=_AVX512VLSupport;
end;
@ -409,13 +409,13 @@ type
end;
function AVX512VNNISupport: boolean;inline;
function AVX512VNNISupport: boolean;inline;
begin
result:=_AVX512VNNISupport;
end;
function AVX512BITALGSupport: boolean;inline;
function AVX512BITALGSupport: boolean;inline;
begin
result:=_AVX512BITALGSupport;
end;
@ -433,7 +433,7 @@ type
end;
function SHASupport: boolean;inline;
function SHASupport: boolean;inline;
begin
result:=_SHASupport;
end;