我想知道 Neon 如何处理溢出。例如:
uint8x8_t vadd_u8 (uint8x8_t, uint8x8_t)
Run Code Online (Sandbox Code Playgroud)
据我了解,这是 2 个向量的加法(每个向量有 8 个无符号字节元素)。假设两个向量的所有值都是 255。
在这种情况下我们应该期待什么结果?8 元素向量 (510,...510) 还是其他向量?
8 位元素的值只能是 0 到 255。它不能包含 510。
vadd_u8 将环绕 => 255 + 255 = 510 % 256 = 254。
vqadd_u8 将饱和 => 255 + 255 = min(510, 255) = 255。