SSE4.1自动在较新的gcc上进行字符串比较

时间:2013-11-26 11:24:44

标签: c++ gcc sse

我搜索了gcc 4.8.1文档但找不到答案:

我有一些SSE4.1代码和回退代码,在运行时我检测系统是否支持SSE4.1,如果没有,我使用回退代码。

到目前为止一直很好,但是最新的gcc版本就是这样:

- 我的应用程序崩溃,因为每次执行字符串比较时,SSE4.1指令都会在整个代码中传播

由于我用-msse41编译我的所有文件,这听起来很合理但是我的代码崩溃了。我的问题是:有没有办法将SSE41的使用限制在只使用SSE4.1的代码?不幸的是,这些是在任何地方使用的头文件,因此用msse41

编译这些翻译单元相当困难

1 个答案:

答案 0 :(得分:1)

从GCC 4.8开始,您可以使用多版本功能,请参阅http://gcc.gnu.org/gcc-4.8/changes.html,查找“使用G ++进行功能多版本支持”。免责声明:我没有使用它(截至目前)。