问题描述
英特尔®64和IA-32架构优化参考手册的先前版本包含以下编码规则:
组装/编译器编码规则12.(M冲击,H通用)
所有分支目标应对齐16字节。
2020年5月版本没有此规则。为什么将其删除?
对齐16个字节会产生成本,如Linux内核邮件列表上的here所述。但这是一个长期存在的规则,ARM的微体系结构也有相同的规则。
请考虑将子例程入口点和分支目标与四字(16字节)边界对齐。
AMD的 AMD系列17h处理器软件优化指南说:
具有16个字节对齐的分支目标可以最大程度地提高选择器的吞吐量,并避免出现高速缓存行结尾的短操作高速缓存(OC)条目。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)