fre*_*low 17 c++ floating-point sse simd addition
我想添加一个SSE寄存器的四个组件来获得一个浮点数.这是我现在这样做的方式:
float a[4];
_mm_storeu_ps(a, foo128);
float x = a[0] + a[1] + a[2] + a[3];
Run Code Online (Sandbox Code Playgroud)
是否有直接实现此目的的SSE指令?
use*_*136 11
您可以使用HADDPS SSE3指令或其编译器内在_mm_hadd_ps,
例如,请参阅http://msdn.microsoft.com/en-us/library/yd9wecaa(v=vs.80).aspx
如果你有两个寄存器v1和v2:
v = _mm_hadd_ps(v1, v2);
v = _mm_hadd_ps(v, v);
Run Code Online (Sandbox Code Playgroud)
现在,v [0]包含v1组件的总和,v [1]包含v2组件的总和.
| 归档时间: |
|
| 查看次数: |
3216 次 |
| 最近记录: |