首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >负载和负载有什么区别?

负载和负载有什么区别?
EN

Stack Overflow用户
提问于 2013-04-12 06:15:32
回答 1查看 2.8K关注 0票数 1

什么是更有效的,为什么?

具体来说,_mm_loadu_si128_mm_load_si128在C.

(编者注:或者这是有标记的程序集,可能是指movdqumovdqa的手工编写的asm. )这不是一回事,特别是没有AVX,因为_mm_load_si128可以编译成一个内存操作数,用于一个ALU指令,完全没有单独的movdqa。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-12 06:21:40

loadu用于对齐负载(来自未对齐16字节的地址),load用于对齐负载。如果您知道源地址是正确对齐的,那么load通常会更高效,因为它只需要一个读取周期,并且不需要处理修复多块错误对齐数据的问题。在较旧的Intel CPU上,错误对齐负载的性能损失相当大(通常> 2x),但在较新的CPU(例如Corei5/i7)上,惩罚几乎可以忽略不计。注意,除了前面提到的性能损失之外,对对齐数据使用loadu是可以的,但是使用load对齐数据将产生异常(即崩溃)。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15964367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档