CPUID命令のIntrinsic関数を使用して、SSEに対応しているか調べるコード
Posted on Sat 06 November 2010 in Windows
↓のコードをIntrinsic関数を使用して書き換えてみます。
CPUID命令を使用して、SSEに対応しているか調べるコード
__cpuid()
CPUID命令のIntrinsic関数は、
void __cpuid(
int CPUInfo[4],
int InfoType
);
です。
InfoTypeで数値を指定して、対応した情報がCPUInfoに入ります。
今回はSSEの対応情報を調べるので、InfoTypeには 1を入れます。
先頭をbit0として、次のように対応情報が格納され、
対応している場合はbitが1になっています。
- CPUInfo[3] bit23 MMX
- CPUInfo[3] bit25 SSE
- CPUInfo[3] bit26 SSE2
- CPUInfo[2] bit0 SSE3
- CPUInfo[2] bit19 SSE4.1
- CPUInfo[2] bit20 SSE4.2 :::
コード
#include <intrin …
Continue reading