【发布时间】:2016-04-14 04:53:32
【问题描述】:
英特尔内在函数是否加载如下函数:
_mm256_load_**
从 cache 或 RAM 读取到寄存器中?
谢谢!
【问题讨论】:
-
如果数据已经在缓存中,则从缓存中读取,否则从 RAM 中读取数据(通过缓存)。
-
如果正在加载的
__m256值已经在寄存器中,它甚至不一定会产生负载。但除此之外,这个问题是无稽之谈。vmovaps ymm0, [mem]只是一个普通的加载,和mov eax, [mem]一样,所以如果数据被缓存,它会从缓存中读取。负载不会绕过缓存或类似的东西。你不妨问问int foo(void) { return global_variable; }是从缓存还是RAM中读取数据。
标签: intel sse intrinsics avx