小编uNi*_*acy的帖子

shufps比内存访问慢吗?

标题可能看似无稽之谈,但让我解释一下.前几天,当我遇到以下汇编代码时,我正在研究一个程序:

movaps  xmm3, xmmword ptr [rbp-30h]
lea     rdx, [rdi+1320h]
movaps  xmm5, xmm3
movaps  xmm6, xmm3
movaps  xmm0, xmm3
movss   dword ptr [rdx], xmm3
shufps  xmm5, xmm3, 55h
shufps  xmm6, xmm3, 0AAh
shufps  xmm0, xmm3, 0FFh
movaps  xmm4, xmm3
movss   dword ptr [rdx+4], xmm5
movss   dword ptr [rdx+8], xmm6
movss   dword ptr [rdx+0Ch], xmm0
mulss   xmm4, xmm3
Run Code Online (Sandbox Code Playgroud)

而且似乎主要只是将[rbp-30h]的四个浮点数复制到[rdx].这些shufpss仅用于选择四个浮点中的一个xmm3(例如,shufps xmm5, xmm3, 55h选择第二个浮点并将其放入xmm5).

这使我怀疑,如果编译器这样做是因为shufps实际上比存储器存取(像快movss xmm0, dword ptr [rbp-30h],movss dword ptr …

c++ assembly sse simd

7
推荐指数
1
解决办法
340
查看次数

可以一直使用glPushAttrib(GL_ALL_ATTRIB_BITS)吗?

我想知道总是使用glPushAttrib(GL_ALL_ATTRIB_BITS)是否可以?
或者,由于某些性能问题,仅推送必要的位是否更好?

opengl

0
推荐指数
1
解决办法
1928
查看次数

标签 统计

assembly ×1

c++ ×1

opengl ×1

simd ×1

sse ×1