Einzelnen Beitrag anzeigen

Seki99

Registriert seit: 28. Mär 2009
10 Beiträge
 
#1

AVX bei neueren prozessoren erkennen?

  Alt 28. Nov 2013, 09:25
Delphi-Version: 7
Hey, gibt es eine (simple) methode um AVX fähige prozessoren zu erkennen?

Ich hab schon gegoogelt wurde aber nicht fündig :/

(http://de.wikipedia.org/wiki/Advanced_Vector_Extensions)

danke,lg


EDIT: hab selber was gefunden, kann geschlossen werden:

Code:
function isAvxSupported: Boolean;
asm
{$IFDEF CPUX86}
    push ebx
{$ENDIF}
{$IFDEF CPUX64}
    mov r10, rbx
{$ENDIF}
    xor eax, eax
    cpuid
    cmp eax, 1
    jb @not_supported
    mov eax, 1
    cpuid
    and ecx, 018000000h
    cmp ecx, 018000000h
    jne @not_supported
    xor ecx, ecx
    db 0Fh, 01h, 0D0h //XGETBV
    and eax, 110b
    cmp eax, 110b
    jne @not_supported
    mov eax, 1
    jmp @done
@not_supported:
    xor eax, eax
@done:
{$IFDEF CPUX86}
    pop ebx
{$ENDIF}
{$IFDEF CPUX64}
    mov rbx, r10
{$ENDIF}
end;

Geändert von Seki99 (28. Nov 2013 um 11:00 Uhr)
  Mit Zitat antworten Zitat