high performance program (SSE4.2 intrin instruction)


In file included from mm_lddqu.si128.c:2:0:
/usr/local/lib/gcc/x86_64-redhat-linux/4.7.1/include/nmmintrin.h:31:3: error: #error "SSE4.2 instruction set not enabled"
这个问题产生的原因:
没有加 
Support for SSSE3 built-in functions and code generation are available via -mssse3.
Support for SSE4.1 built-in functions and code generation are available via -msse4.1.
Support for SSE4.2 built-in functions and code generation are available via -msse4.2.

Both SSE4.1 and SSE4.2 support can be enabled via -msse4.


  1 #include <stdio.h>
  2 #include <nmmintrin.h>
  3 int main()
  4 {
  5         unsigned char pBuf[32];
  6         __m128i i;
  7         __m128i j;
  8         printf("%d\n",sizeof(__m128i));
  9         return 0;
 10 }


complier:
gcc mm_lddqu.si128.c -msse4.2

 
output:
         16
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: x86intrin.h 是 Intel intrinsic 函数的头文件,它包含了一组特殊的函数,这些函数可以直接操作 CPU 的指令集,提供了比常规函数更高效的方式来执行某些操作。 如果你的编译器找不到 x86intrin.h 头文件,可能是因为你的编译器不支持 Intel intrinsic 函数或者没有正确配置编译器的头文件搜索路径。 解决方法如下: 1. 检查编译器是否支持 Intel intrinsic 函数。如果不支持,你需要更换编译器或者手动编写相应的汇编代码来实现功能。 2. 检查编译器的头文件搜索路径是否正确配置。你可以在编译命令中加入头文件搜索路径,或者在编译器的配置文件中添加相应的搜索路径。 3. 如果你使用的是 GCC 编译器,可以尝试添加 -march=native 参数来启用本地 CPU 的特性,并自动包含相应的头文件。 4. 如果以上方法都无法解决问题,你可以尝试手动下载 x86intrin.h 头文件,并将其放置在正确的头文件搜索路径下。 ### 回答2: x86intrin.h头文件是一个在C语言中使用的头文件,主要用于访问和使用特定于x86处理器架构的高级指令集扩展。它包含了许多X86指令集相关的函数和宏的声明和定义。 如果在编译过程中出现找不到x86intrin.h头文件的错误,可能有以下几种可能的原因: 1. 缺少所需的编译器:x86intrin.h头文件是由GCC和Clang等支持x86指令集的C编译器提供的。如果你使用的是不支持x86指令集的编译器,那么就无法找到此头文件。请确保你正在使用支持x86指令集的编译器。 2. 缺少所需的编译器选项:有时候,需要在编译命令中显式地加上一些编译器选项,才能找到x86intrin.h头文件。例如,使用GCC编译器时,可以加上"-march=native"选项来启用本地处理器的特性。请检查你的编译命令,并确保包含了必要的选项。 3. 缺少相关的开发工具包:x86intrin.h头文件通常随着开发工具包(例如GCC或Clang)的安装而提供。如果你的开发工具包没有安装或损坏,那么就无法找到此头文件。请尝试重新安装或修复你的开发工具包。 总之,如果在编译过程中找不到x86intrin.h头文件,需要确保使用了支持x86指令集的编译器、正确配置了编译器选项,并且安装了正确的开发工具包。 ### 回答3: x86intrin.h是Intel提供的一个C语言头文件,用于支持x86架构下的特殊指令集和功能。这个头文件通常用于优化程序代码,提高程序执行效率。然而,如果在编译过程中出现找不到x86intrin.h的错误,可能有以下几个原因: 1. 缺少对应的开发工具:x86intrin.h是Intel自带的头文件,它需要与相应的开发工具(如Intel C++编译器)一起使用。如果没有安装或配置相关的开发工具,就无法找到这个头文件。 2. 编译选项不正确:在使用x86intrin.h时,需要在编译命令中添加相应的选项,告诉编译器使用Intel的特殊指令集。例如,可以使用"-march=native"选项来指定使用本地处理器的最新指令集。如果没有正确设置编译选项,编译器可能无法找到x86intrin.h。 3. 版本不匹配:x86intrin.h可能会随着不同的编译器版本进行更新和更改。如果使用的是旧版本的编译器,可能会出现找不到x86intrin.h的情况。此时,可以尝试更新编译器版本,或者查找对应版本的x86intrin.h。 如果遇到找不到x86intrin.h的问题,可以先检查是否正确安装了相关的开发工具,并确认编译选项是否正确设置。如果问题仍然存在,可以尝试更新编译器版本或与开发工具提供商联系寻求技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值