运行任何英特尔AVX函数后,数学函数需要更多周期

运行任何英特尔AVX函数后,数学函数需要更多周期,第1张

概述参见英文答案 > Using AVX instructions disables exp() optimization?                                    1个我注意到运行任何英特尔AVX功能后,数学函数(如ceil,round,...)需要更多的CPU周期.请参阅以下示例:#include <stdio.h&

参见英文答案 > Using AVX instructions disables exp() optimization?                                    1个
我注意到运行任何英特尔AVX功能后,数学函数(如ceil,round,…)需要更多的cpu周期.

请参阅以下示例:

#include 

编译:gcc -Wall -lm -mavx foo.c

输出是:

round res 31999997总周期224725952 CPI 22

round res 31999997 total cycles 1900864520 CPI 190

请指教.

最佳答案反汇编生成的代码.

我的猜测是会有额外的寄存器保存/恢复,或类似的东西.

总结

以上是内存溢出为你收集整理的运行任何英特尔AVX函数后,数学函数需要更多周期全部内容,希望文章能够帮你解决运行任何英特尔AVX函数后,数学函数需要更多周期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)