【发布时间】:2016-05-19 21:13:53
【问题描述】:
mov ebx, beginOfArray
xor eax, eax
.L:
movsd xmm3, [ebx]
mulsd xmm3, xmm1
mulsd xmm1, xmm2
addsd xmm0, xmm3
add eax, 8
cmp eax, 1024
jl .L
对于我的眼睛循环携带依赖:
add eax, 8
mulsd xmm1, xmm2
addsd xmm0, xmm3
所以我们有三个循环携带的依赖。
但是,我不确定为什么 mulsd xmm3, xmm1 不是依赖项。为什么? xmm3 实际上不是问题(寄存器重命名),但毕竟这条指令必须等到 mulsd xmm1, xmm2 从上一次迭代中完成。那么,为什么它不是依赖循环携带的呢?
【问题讨论】:
标签: x86