以这种方式定义一个 __m128i
变量时:
__m128i a;
a.m128i_i32[0] = 65000;
我收到以下错误:
error: request for member ‘m128i_i32’ in ‘a’, which is of non-class type ‘__m128i {aka __vector(2) long long int}’ a.m128i_i32[0] = 65000;
我已经包含了以下头文件:
#include <x86intrin.h>
#include <emmintrin.h>
#include <smmintrin.h>
最佳答案
m128i_i32
是特定于 MSVC 的。而且您正在使用 GCC 或 Clang 进行编译(根据您的错误消息判断)。请改用 _mm_setr_epi32
。
__m128i a = _mm_setr_epi32(0, 1, 2, 3);
关于c++ - SSE 错误 - 使用 m128i_i32 定义 __m128i 变量的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47882091/