标签: loops assembly intel
我的英特尔矢量汇编代码中有一个循环。在循环中,循环计数器用于读取和写入4个连续的存储器位置。例如,
vmovdqu [r9 + rdx + 64], y0 vmovdqu [r9 + rdx + 96], y1
其中“rdx”是我的循环计数器。 在分析期间,我注意到使用r10d而不是rdx寄存器会增加周期。 初始化为“r10d”比“rdx”多1个字节。 循环增加的原因是什么?
答案 0 :(得分:-2)
解决。这是因为寄存器> r8需要多一个字节。