> [EDIT: (edited to highlight the question in context)
以下是我需要 NEON 内在函数的 SSE 内在函数,因为我正在转换一些 SSE 代码以在 iOS 上运行。
_mm_set_ps
将四个单精度浮点值设置为四个输入。
(__m128 _mm_set_ps(float z , float y , float x , float w );)
Return Value:
r0 := w
r1 := x
r2 := y
r3 := z
_mm_loadu_ps
加载四个单精度浮点值。地址不需要是 16 字节对齐的。
__m128 _mm_loadu_ps(float * p);
Return Value:
r0 := p[0]
r1 := p[1]
r2 := p[2]
r3 := p[3]
_mm_storeu_ps
存储四个单精度浮点值。地址不需要是 16 字节对齐的。
void _mm_storeu_ps(float *p, __m128 a);
Return Value:
p[0] := a0
p[1] := a1
p[2] := a2
p[3] := a3
_mm_add_epi32
将a 中的 4 个有符号或无符号32 位整数与 b 中的 4 个有符号或无符号 32 位整数相加。
__m128i _mm_add_epi32 (__m128i a, __m128i b);
Return Value:
r0 := a0 + b0
r1 := a1 + b1
r2 := a2 + b2
r3 := a3 + b3
注意:尽可能避免未对齐的内存访问。因此,我需要一种将未对齐访问转换为对齐访问的方法(可能使用填充)。