11
いくつかのインテルSSE操作のNEON同等性を理解するのに問題があります。 NEONはQレジスタ全体を一度に扱うことができないようです(128ビットの値のデータ型)。私はarm_neon.hヘッダーまたはNEON intrinsics referenceに何も見つかりませんでした。私は(私は多くの経験を持っていないNEONが提供するシフト動作を見てきましたが、上記を行うための同等の方法を見つけることができませんでしたNEON対Intel SSE - 特定の操作の同等性
// Intel SSE
// shift the entire 128 bit value with 2 bytes to the right; this is done
// without sign extension by shifting in zeros
__m128i val = _mm_srli_si128(vector_of_8_s16, 2);
// insert the least significant 16 bits of "some_16_bit_val"
// the whole thing in this case, into the selected 16 bit
// integer of vector "val"(the 16 bit element with index 7 in this case)
val = _mm_insert_epi16(val, some_16_bit_val, 7);
:私は何をしたいことは以下の通りです
NEON付き)。上記を行うことは可能ですか(私はちょうどそれが方法を知らないと思いますか?) すべてのポインターを大いに感謝します。
私は実際にそれをすでに実装しました。自分のアプローチを検証するための例を提供することは可能でしょうか? – celavek
はvtblとvtbxについて私の答えを削除しました。 vextは行く方法です! –
@celavek:例を挙げましたが、アプローチを検証する方法は、例と比較するのではなく、テストすることです。それは動作するか動作しません。 –