我有一个长循环,其中对8位元素执行氖矢量添加。问题是,经过一段时间后,几乎可以确定部分或全部矢量分量由于溢出而饱和。有没有快速的方法来检测这个,以便我可以刷新结果,将矢量归零并继续?我已经尝试过检查C和V标志,但似乎霓虹灯操作没有设置它们。
编辑:这里是感兴趣的代码,有点简化。此外,我升级到16位,但它仍然会溢出
int16x8_t Sum;
for(int C = 0; C < 100; C++)
{
// Sum += |a - b|
Sum = vabaq_u16(
Sum,
vld1q_u16((uint16_t *)a),
vld1q_u16((uint16_t *)b)
);
}
答案 0 :(得分:0)