我在使用SSE4.1的应用程序中有一些SSE4.1 Blob 。
有什么方法可以让我的应用程序在较新的系统上与SSE4.1一起运行,并在较旧的系统上自动执行类似“后备”的操作?我阅读了-mtune选项,但无法理解它是否满足我的要求。
最佳答案
不存在自动回退。
您应该使用__cpuid内在函数来查询SSE4.1 ISA:
这里是怎么做的:
bool IsSSE41Enabled()
{
int CPUInfo[4];
__cpuid(CPUInfo, 1);
return 0 != (CPUInfo[2] & (1<<19)); // 19th bit of 2nd reg means sse4.1 is enabled
}
关于c++ - 带gcc的SSE4.1,如何有旧兼容代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20201935/