因此,AVX从immintrin.h
中提供了一个函数,可以将两个__m128i
值的串联存储到单个__m256i
值中。该函数为:
__m256i _mm256_set_m128i (__m128i hi, __m128i lo)
然而,当我这样使用它时:
__m256i as[2]; __m128i s[4]; as[0] = _mm256_setr_m128i(s[0], s[1]);
我遇到了编译错误:
error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
我真的不太明白为什么会发生这种情况。非常感谢您的帮助!
#include <immintrin.h>
后尝试使用该函数时,我得到了警告信息“implicit declaration of_mm256_set_m128i
”。在C语言中,隐式声明意味着编译器假设该函数将返回一个int
,这也可以解释编译器错误。 - R_Kapp