c/c++语言开发共享检查运行时是否支持SSE

我想检查运行时是否支持SSE4或AVX,以便我的程序可以利用特定于处理器的指令而无需为每个处理器创建二进制文件。

如果我可以在运行时确定它,我可以使用一个接口并在不同的指令集之间切换。

    GCC有一种方法可以通过调用__builtin_cpu_init然后调用__builtin_cpu_is__builtin_cpu_supports来检查function。

    在x86上,当使用C ++前端时,GCC支持“函数多版本化”,它允许你编写函数的多个版本,指定它应该使用的目标,并让GCC负责确保它被调用。

    在MSVC上, extern int __isa_available包含有关MSVC构建上的CPU支持的信息。

    它由MSVC 2013中的矢量化程序用于选择要运行的程序集。

    需要了解更多c/c++开发分享检查运行时是否支持SSE,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享检查运行时是否支持SSE相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980030.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐