> [EDIT: (edited to highlight the question in context)
Ниже приведены встроенные функции SSE, для которых я требую NEON встроенных функции, как я уверен, преобразование некоторого SSE кода для запуска на IOS.Преобразование специальной встроенной SSE для NEON встроенных функций
_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
Stores четыре одинарной точности, значения с плавающей точкой. Адрес не должен быть выровнен по 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
Добавляет 4 подписал или беззнаковых 32-битных чисел в 4 до знаком или без знака 32-битных чисел в б.
__m128i _mm_add_epi32 (__m128i a, __m128i b);
Return Value:
r0 := a0 + b0
r1 := a1 + b1
r2 := a2 + b2
r3 := a3 + b3
Примечание: избегайте неравномерного доступа к памяти, когда это возможно. Таким образом, мне нужен способ конвертировать unaligned доступ к выровненному доступу (возможно, с помощью дополнения).
Привет, вы можете объяснить vmov.i32? Я не могу найти полноценную документацию в Интернете? – p0lAris