|
@@ -135,12 +135,10 @@ unit cpu;
|
|
|
_ebx : longint;
|
|
|
begin
|
|
|
asm
|
|
|
- pushq %rbx
|
|
|
movl $0x00000001,%eax
|
|
|
cpuid
|
|
|
movl %ecx,_ecx
|
|
|
- popq %rbx
|
|
|
- end;
|
|
|
+ end ['rax','rbx','rcx','rdx'];
|
|
|
_InterlockedCompareExchange128Support:=(_ecx and $2000)<>0;
|
|
|
_AESSupport:=(_ecx and $2000000)<>0;
|
|
|
|
|
@@ -157,13 +155,11 @@ unit cpu;
|
|
|
_FMASupport:=_AVXSupport and ((_ecx and $1000)<>0);
|
|
|
|
|
|
asm
|
|
|
- pushq %rbx
|
|
|
movl $7,%eax
|
|
|
movl $0,%ecx
|
|
|
cpuid
|
|
|
movl %ebx,_ebx
|
|
|
- popq %rbx
|
|
|
- end;
|
|
|
+ end ['rax','rbx','rcx','rdx'];
|
|
|
_AVX2Support:=_AVXSupport and ((_ebx and $20)<>0);
|
|
|
end;
|
|
|
|