PentiumMMX
Pentium의 MMX의 사용 ¶1.1. MMX란? ¶
1.2. MMX의 지원여부 판단 ¶
int MZ_IsMMX(void)
{
static int s_Return = (-1);^I
if(s_Return == (-1))
{
__asm__ __volatile__(
"\n\t"
"movl $1, %%eax\n\t"
"cpuid\n\t"
"xorl %%eax, %%eax\n\t"
"testl $0x800000, %%edx\n\t"
"jz L_Return\n\t"
"incl %%eax\n\t"
"L_Return:\n\t"
"movl %%eax, %0\n\t"
"\n\t"
: "=m"(s_Return)
:
: "ebx"
);
}
return(s_Return);
}
1.3. MMX 명령어 요약표 ¶
1.4.1. Inline assembly에 어떻게 적용할 것인가? ¶
unsigned long long MZ_NopMMX(unsigned long long s_Value)
{
unsigned long long s_Return;
__asm__ volatile(
"\n\t"
"movd %1, %%mm0\n\t"
"movd %%mm0, %0\n\t"
"emms\n\t"
"\n\t"
: "=X"(s_Return)
: "X"(s_Value)
);
return(s_Return);
}
1.5. 문서를 마치며 ¶
|
How you look depends on where you go. |












![[http]](/imgs/http.png)