我想弄清楚在C语言中使用Neon Intrinsic进行ARM时防止溢出的一种棘手方法。这是按元素逐行执行的逻辑:
min = array[0]
for(i=1;i<64;i++)
{
if(min > array[i])
{
min = array[i];
}
}
for(i=0;i<64;i++)
{
array[i] -= min;
}
我想要一种替代解决方案,通过以SIMD方式执行操作,无需逐个元素操作。感谢。
注意:在我的情况下,我使用四个uint8x16_t
数据类型的向量。我想从它们中找到一个最小值并执行归一化(即;我的数组包含64个元素,分割成四个uint8x16_t
向量)。
答案 0 :(得分:0)
使用vsub_u8减去=>归一化。
–欺骗