我可以prefetchnta堆栈指针吗?

时间:2013-12-04 10:52:54

标签: assembly 64-bit

我的程序,完全用x64 AVX2程序集编写,有一个子程序,被称为非常多次。子程序以

开头
push rax
push rbx
push rcx,
... and ends with ...
pop rcx
pop rbx
pop rax
ret

现在我显然想加快推送流程,所以我想知道,如果我之前可以发出这样的命令:

prefetchnta byte ptr [rsp]
prefetch0 [rsp]
push rax
prefetch0 [rsp]
push rbx
... and similarly, at exit
prefetchnta byte ptr rsp
prefetch0 [rsp]
pop rbx
prefetch0 [rsp]
pop rax
ret

想知道这对加速推送流程有什么好处吗?

在此期间,我可以在一次通话中验证prefetchnta在Haswell Core i7 4770K处理器中加载64个字节吗?

感谢您的关注。

0 个答案:

没有答案