1

vbit、vbsl、および vbif をネオン組み込み関数で区別する方法がわかりません。vbit 操作を実行する必要がありますが、組み込み関数から vbslq 命令を使用すると、必要な結果が得られません。

たとえば、次のようなソース ベクトルがあります。

uint8x16_t source = 39 62 9b 52 34 5b 47 48 47 35 0 0 0 0 0 0

宛先ベクトルは次のとおりです。

uint8x16_t destination = 0 0 0 0 0 0 0 0 0 0 0 0 c3 c8 c5 d5

私はこれを出力として持ちたい:

39 62 9b 52 34 5b 47 48 47 35 0 0 c3 c8 c5 d5

つまり、ソースから最初の 10 バイトをコピーし、残りの 6 バイトはそのままにしておくということです。私はこのマスクを使用しています:

{0,0,0,0,0,0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};

vbslq_u8 を使用する正しい方法は何ですか?

4

1 に答える 1