.loop:
movups xmm1, [esi+ecx*4]
movaps xmm2, xmm0
movaps xmm5, xmm1
pcmpgtd xmm2, xmm1
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm0, xmm2
pcmpgtd xmm5, xmm3
andps xmm3, xmm5
andnps xmm5, xmm1
orps xmm3, xmm5
.cond:
add ecx, 4
js .loop
Dies ist eine Basisschleife, um max/min unter den Eingängen zu finden. Der mein Prozessor ist AMD K8. Ich bin nicht in der Lage, cycles zu zählen, aber ich kann vergleichen, dass mein Code langsamer ist als meine Freunde, die SIMD nicht benutzt haben. Ich kann nicht verstehen warum. Ist diese Schleife nicht optimal? Siehst du eine Ursache?Min/Max. Optimierung