The 64-bit instruction set postdates the `cpuid' instruction.
endprologue
// First, check that this is even a thing, using the complicated
endprologue
// First, check that this is even a thing, using the complicated
- // dance with the flags register.
+ // dance with the flags register. This is unnecessary on AMD64,
+ // which postdates the introduction of `cpuid'.
+#if CPUFAM_X86
pushf
pop DX // current flags in d
pushf
pop DX // current flags in d
pop DX
test edx, EFLAGS_ID
jnz 8f
pop DX
test edx, EFLAGS_ID
jnz 8f
// OK, that seemed to work.
cpuid
// OK, that seemed to work.
cpuid
8: xor eax, eax
mov [OUT + 0], eax
mov [OUT + 4], eax
8: xor eax, eax
mov [OUT + 0], eax
mov [OUT + 4], eax
mov [OUT + 12], eax
mov eax, -1
jmp 9b
mov [OUT + 12], eax
mov eax, -1
jmp 9b
ENDFUNC
///--------------------------------------------------------------------------
ENDFUNC
///--------------------------------------------------------------------------