Gcc 如何禁用Eigen中内置函数的使用(该函数定义了针对该体系结构的pikc指令)

Gcc 如何禁用Eigen中内置函数的使用(该函数定义了针对该体系结构的pikc指令),gcc,architecture,eigen3,Gcc,Architecture,Eigen3,我正在研究Eigen测试套件,我注意到太多的内置函数直接指定用于特定体系结构的确切指令,而不是让编译器自由决定哪个指令是源代码的最佳指令。有谁能帮我禁用Eigen内置功能吗?要禁用显式矢量化并查看编译器如何使用自动矢量化,可以使用-DEIGEN\u DONT\u VECTORIZE进行编译。 我还建议在确定代码功能正确后使用-DNDEBUG进行编译。有时-ffast数学或至少-fassocialative数学可以帮助编译器找到更好的优化机会 虽然自动矢量化肯定会越来越好,但我不希望有什么神奇的东

我正在研究Eigen测试套件,我注意到太多的内置函数直接指定用于特定体系结构的确切指令,而不是让编译器自由决定哪个指令是源代码的最佳指令。有谁能帮我禁用Eigen内置功能吗?

要禁用显式矢量化并查看编译器如何使用自动矢量化,可以使用-DEIGEN\u DONT\u VECTORIZE进行编译。 我还建议在确定代码功能正确后使用-DNDEBUG进行编译。有时-ffast数学或至少-fassocialative数学可以帮助编译器找到更好的优化机会

虽然自动矢量化肯定会越来越好,但我不希望有什么神奇的东西——还有基准

此外,如果编译器发现功能上等价的指令,则不严格要求编译器使用与所用内部函数对应的指令:

非常感谢您的帮助!我使用的是gcc编译器的最新版本,我注意到它只使用内部函数,而对于Power平台,Egeng大量使用向量标量内部函数。是否有任何开关会告诉编译器不要在特征代码中使用内部函数?