如何检查CPU是否支持SSE3指令集?

以下代码对检查CPU是否支持SSE3指令集有效吗?


IsProcessorFeaturePresent()在Windows XP上显然无法使用该功能(请参阅http://msdn.microsoft.com/zh-cn/library/ms724482(v=vs.85).aspx)。


bool CheckSSE3()

{

    int CPUInfo[4] = {-1};


    //-- Get number of valid info ids

    __cpuid(CPUInfo, 0);

    int nIds = CPUInfo[0];


    //-- Get info for id "1"

    if (nIds >= 1)

    {

        __cpuid(CPUInfo, 1);

        bool bSSE3NewInstructions = (CPUInfo[2] & 0x1) || false;

        return bSSE3NewInstructions;     

    }


    return false;      

}


慕村9548890
浏览 1195回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP