переупорядочение значений в 128-битном векторе в коде сборки arm neon
165 просмотра
1 ответ
В неоновом регистре есть четыре 32-битных элемента - скажем, Q0 - размером 128 бит.
1 2 3 4
Я хочу, чтобы окончательные данные были в порядке, как показано ниже: 4 3 2 1
Какая неоновая инструкция может достичь желаемого порядка данных?
Автор: ravi Источник Размещён: 15.10.2019 03:36Ответы (1)
0 плюса
Я не думаю, что вы можете управлять 4 словами в одной инструкции, но это, безусловно, может быть сделано в двух:
vswp d0, d1 ; exchange the two halves of q0, giving 3,4,1,2
vrev64.32 q0, q0 ; word-swap each doubleword of q0, giving 4,3,2,1
Обратите внимание, что конечный результат на самом деле не зависит от того, в каком порядке вы выполняете две операции.
Автор: Notlikethat Размещён: 22.01.2016 11:42Вопросы из категории :
- assembly В чем смысл «не временных» обращений к памяти в x86
- assembly How do you get assembler output from C/C++ source in gcc?
- assembly Какой хороший C-декомпилятор?
- assembly Зарегистрируйте правила выделения в коде, сгенерированном основными компиляторами C / C ++
- assembly Интерпретация кода сборки
- assembly Написание прошивки: сборка или высокий уровень?
- arm Looking for an efficient integer square root algorithm for ARM Thumb2
- arm Как инструкции отличаются от данных?
- arm выравнивание памяти в структурах gcc
- arm Как использовать инструкцию MOV в ARM с непосредственным номером в качестве второго операнда
- arm Симулятор ARM в Windows
- arm Как работать со строками в ARM?
- neon ffmpeg для Android: неоновая сборка имеет перемещение текста
- neon ARM/neon memcpy optimized for *uncached* memory?
- neon Как помешать GCC взломать мою природу NEON?
- neon переупорядочение значений в 128-битном векторе в коде сборки arm neon
- neon Доступ к половине регистра в расширенной SIMD AArch64
- neon можно ли использовать встроенный неоновый код a32 на iphone6 (т.е. на машине A64)?