gpt4 book ai didi

assembly - 如何在 AVX/AVX2 中增加向量

转载 作者:行者123 更新时间:2023-12-04 04:17:47 25 4
gpt4 key购买 nike

我想使用内在函数来增加 SIMD 向量的元素。最简单的方法似乎是给每个元素加 1,像这样:

(注:vec_inc之前已经设置为1)

vec = _mm256_add_epi16 (vec, vec_inc);

但是是否有任何特殊指令来增加向量?赞 incthis page ?或者其他更简单的方法?

最佳答案

INC指令不是 SIMD 级指令,它对整数标量进行操作。
正如您和 Paul 已经建议的,最简单的方法是添加 1到每个向量元素,您可以通过添加 1 的向量来实现s。

如果你想模拟一个内在函数,你可以实现你自己的函数:

inline __m256i _mm256_inc_epi16(__m256i a)
{
return _mm256_add_epi16(a, _mm256_set1_epi16(1));
}

future 有关 x86 内在函数的类似问题,您可以在 Intel's Intrinsics Guide 上找到英特尔 ISA 内在函数的集合。 .另请参阅 下记录的大量资源和 标签信息:
  • x86 tag info
  • sse tag info
  • 关于assembly - 如何在 AVX/AVX2 中增加向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41086366/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com