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 を使用する正しい方法は何ですか?