CPUID 命令による SSE3 命令セットのサポートの検出
提供されたコード スニペットは、__cpuid を使用して CPU が SSE3 命令セットをサポートしているかどうかを判断しようとします。 () 関数。ただし、IsProcessorFeaturePresent() の使用は Windows XP では効果がないと報告されています。
SSE3 サポートを効果的にチェックするには、CPUID 命令の使用状況をさらに詳しく調べることができます。
CPUIDへのアクセス手順:
Windows:
#define cpuid(info, x) __cpuidex(info, x, 0)
GCC組み込み関数:
void cpuid(int info[4], int InfoType){ __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); }
特徴検出:
以下を実行コード:
int info[4]; cpuid(info, 0x00000001); bool HW_SSE3 = (info[2] & ((int)1 << 0)) != 0;
次のことに注意してください。このメソッドは、命令に対する CPU サポートのみを検出します。これらを実行するには、特に次のオペレーティング システムのサポートも必要です。
したがって、これらの手法を採用することで、効果的にCPU が SSE3 命令セットをサポートしているかどうか。コードとの互換性を確保します。
以上がCPU が SSE3 命令セットをサポートしているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。