正如主题所说..如何告诉GCC允许我使用SSE4.1内在函数但不优化SSE4.1(例如通过SSE4.1字符串比较)在同一翻译单元的所有其余代码中?
您可以使用函数属性在每个函数的基础上更改编译目标选项.GCC手册给出了以下示例:
int core2_func (void) __attribute__ ((__target__ ("arch=core2")));
int sse3_func (void) __attribute__ ((__target__ ("sse3")));
Run Code Online (Sandbox Code Playgroud)
您还可以基于每个功能禁用,例如:
int no_sse3_func (void) __attribute__ ((__target__ ("no-sse3")));
Run Code Online (Sandbox Code Playgroud)