s
movups xmm0, [rsp]mulps не работает, если в него сразу кинуть адрес в памяти (у меня память не выровнена). Если память нельзя выравнивать, то как можно обойти второй movups с хмм1?
movups xmm1, [rsi + rcx]
mulps xmm1, xmm0
Size: a a a
MA
movups xmm0, [rsp]mulps не работает, если в него сразу кинуть адрес в памяти (у меня память не выровнена). Если память нельзя выравнивать, то как можно обойти второй movups с хмм1?
movups xmm1, [rsi + rcx]
mulps xmm1, xmm0
MA
first:
movups xmm0, [rsp] //alpha
movups xmm1, [rsi + rcx] //x[i..i+4]
mulps xmm1, xmm0 //alpha * (x[i..i+4])
movups xmm2, [rdx + rcx] //y[i..i+4]
addps xmm1, xmm2 //alpha * (x[i..i+4]) + (y[i..i+4])
movups [rdx + rcx], xmm1 //new y[i..i+4]
add rcx, 16
cmp rcx, rdi
jl first
MA
MA
MA
MA
MA
MA
D
MA
MA
MA