我不明白我如何用霓虹内在函数区分 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 的正确方法是什么?