C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – C:x86 Intel内在函数使用_mm_log2_ps() – >错误:不兼容类型’int’?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_1@
我正在尝试将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,所以
我看到的第一个解决方案是使用Intel Compiler.对于非商业开发,它可以免费用于Linux.

然您可以使用不同的编译器在编译期间将自定义immintrin.h文件的包含路径指定为第一个参数,但我认为您会得到太多错误 – 只是因为此标头是特定于Intel的.

大佬总结

以上是大佬教程为你收集整理的c – C:x86 Intel内在函数使用_mm_log2_ps() – >错误:不兼容类型’int’?全部内容,希望文章能够帮你解决c – C:x86 Intel内在函数使用_mm_log2_ps() – >错误:不兼容类型’int’?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。