mirror of
https://github.com/xiph/opus.git
synced 2025-05-14 15:38:32 +00:00
31 lines
723 B
C
31 lines
723 B
C
#include <stdio.h>
|
|
int main() {
|
|
unsigned int CPUInfo0;
|
|
unsigned int CPUInfo1;
|
|
unsigned int CPUInfo2;
|
|
unsigned int CPUInfo3;
|
|
unsigned int InfoType;
|
|
#if defined(__i386__) && defined(__PIC__)
|
|
/* %ebx is PIC register in 32-bit, so mustn't clobber it. */
|
|
__asm__ __volatile__ (
|
|
"xchg %%ebx, %1\n"
|
|
"cpuid\n"
|
|
"xchg %%ebx, %1\n":
|
|
"=a" (CPUInfo0),
|
|
"=r" (CPUInfo1),
|
|
"=c" (CPUInfo2),
|
|
"=d" (CPUInfo3) :
|
|
"0" (InfoType), "2" (0)
|
|
);
|
|
#else
|
|
__asm__ __volatile__ (
|
|
"cpuid":
|
|
"=a" (CPUInfo0),
|
|
"=b" (CPUInfo1),
|
|
"=c" (CPUInfo2),
|
|
"=d" (CPUInfo3) :
|
|
"0" (InfoType), "2" (0)
|
|
);
|
|
#endif
|
|
return 0;
|
|
}
|