我想使用本质增加SIMD向量的元素。最简单的方法似乎是在每个元素中添加1,如下所示:
(注:vec_inc设置为1)
vec = _mm256_add_epi16 (vec, vec_inc);但是,是否有任何特殊的指令来增加向量,类似于inc?或者还有其他更简单的方法吗?
发布于 2016-12-11 15:30:58
INC指令不是SIMD级指令,它是在整数标量上工作的。正如您和Paul已经建议的那样,最简单的方法是向每个向量元素添加1,这可以通过添加1的向量来完成。
如果你想模拟一个内在的,你可以实现你自己的函数:
inline __m256i _mm256_inc_epi16(__m256i a)
{
return _mm256_add_epi16(a, _mm256_set1_epi16(1));
}对于将来关于x86本质的类似问题,您可以在英特尔Intrinsics指南上找到Intel本质集。还请参阅x86和sse标记信息下记录的大量资源:
https://stackoverflow.com/questions/41086366
复制相似问题