c – C:x86 Intel内在函数使用_mm_log2_ps() – >错误:不兼
发布时间:2020-12-16 07:06:40 所属栏目:百科 来源:网络整理
导读:我正在尝试将log2应用到__m128变量上.像这样: #include immintrin.hint main (void) { __m128 two_v = {2.0,2.0,2.0}; __m128 log2_v = _mm_log2_ps(two_v); // log_2 := log(2) return 0;} 尝试编译它会返回此错误: error: initializing '__m128' with an
我正在尝试将log2应用到__m128变量上.像这样:
#include <immintrin.h> int main (void) { __m128 two_v = {2.0,2.0,2.0}; __m128 log2_v = _mm_log2_ps(two_v); // log_2 := log(2) return 0; } 尝试编译它会返回此错误: error: initializing '__m128' with an expression of incompatible type 'int' __m128 log2_v = _mm_log2_ps(two_v); // log_2 := log(2) ^ ~~~~~~~~~~~~~~~~~~ 我该如何解决? 解决方法
您查看的immintrin.h和用于编译的immintrin.h是不同的.
可能,您正在研究特定于Intel的标头(在/opt/intel/include/immintrin.h之类的地方),而您的编译器使用默认的immintrin.h 正如所说,extern __m128 _mm_log2_ps(__ m128 v1)是SVML routine,所以 虽然您可以使用不同的编译器在编译期间将自定义immintrin.h文件的包含路径指定为第一个参数,但我认为您会得到太多错误 – 只是因为此标头是特定于Intel的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |