最小/最大。标量方法

时间:2016-06-05 18:29:13

标签: x86

本主题与以下内容有关: Finding min/max. Optimization

我将第一篇文章中的函数min_max重写为标量版本。但仍然太慢。你能给我一些建议吗?

exercise

P.S。我考虑循环展开。由于Agner Fog写道AMD K8每周期可以获取6个宏指令/ 16个字节,因此我不会将 jmp .cond align 16 .loop: cmp [esi+ecx*4], eax cmovg eax, [esi+ecx*4] cmp [esi+ecx*4], ebx cmovl ebx, [esi+ecx*4] .cond: add ecx, 1 js .loop 移到寄存器中。它比SIMD版本更快。

我是否正确,由于部分寄存器标志依赖性,整个循环是循环携带依赖性?

0 个答案:

没有答案