我从 GCC 编译器收到此错误 -
错误:“_mm512_permutevar_epi32”没有依赖于模板参数的参数,因此“_mm512_permutevar_epi32”的声明必须可用[-fpermissive]
rev = _mm512_permutevar_epi32(_mm512_setr_epi32(15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), elem);
代码用 clang 编译得很好。我已经包含了 immintrin.h 和 x86intrin.h。
看起来 gcc 还没有
_mm512_permutevar_epi32
名称,请尝试使用 _mm512_permutexvar_epi32
名称。在内在指南中看到它们是相同的。
错误消息具有误导性,因为您在模板函数中使用了它;该消息假定您希望在参数替换后找到该函数。