针对各cpu支持neon的编译选项

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

针对各cpu支持neon的编译选项
编译配置
S3C2410 200MHz softfloat
采用软浮点库,编译选项
-mcpu=arm920t -mtune=arm920t -O3 -msoft-float -ffast-math
OMAP2420 400MHz softfloat
采用软浮点库,编译选项
-mcpu=arm1136jf-s -mtune=arm1136jf-s -O3 -msoft-float -ffast-math
OMAP2420 400MHz vfp
采用VFP硬件浮点,编译选项
-mcpu=arm1136jf-s -mtune=arm1136jf-s -O3 -mfloat-abi=softfp -mfpu=vfp -ffast-math
OMAP3530 600MHz vfp
采用VFP硬件浮点,编译选项
-mcpu=cortex-a8 -mtune=cortex-a8 -O3 -mfloat-abi=softfp -mfpu=vfp -ffast-math
OMAP3530 600MHz auto vectorized
采用neon向量浮点,gcc-4.3.2自动生成neon向量指令,编译
选项
-mcpu=cortex-a8 -mtune=cortex-a8 -O3 -mfloat-abi=softfp -mfpu=neon -ftree-vectorize -ffast-math
OMAP3530 600MHz manual vectorized
采用手工编写的汇编函数,人工调用neon向量浮点指令,编译选项
-mcpu=cortex-a8 -mtune=cortex-a8 -O3 -mfloat-abi=softfp
PentiumD920 3.0GHz scalar fpu
采用FPU硬件浮点,编译选项
-march=nocona -O3
PentiumD920 3.0GHz SSE3 vectorized
采用sse3向量浮点,gcc-4.3.2自动生成sse3向量指令,编译选项
-march=nocona -O3 -ftree-vectorize -ffast-math -mfpmath=sse -mmmx -msse -msse2 -msse3
新版本gcc-4.3已经加入了neon向量指令支持,而对sse的支持在更早版本中就已经加入了。

要启用向量指令自动生成功能,需要在编译参数中加入适当的处理器指令集标记和浮点选择标记,在arm 架构下为
-mfloat-abi=softfp -mfpu=neon -ftree-vectorize -ffast-math
在x86架构下为
-mfpmath=sse -ftree-vectorize -mmmx -msse -msse2 -msse3 -ffast-math
另外,在arm linux平台下,如果使用的是EABI(embedded application binary interface)配置则允许系统中混合运行softfp,
vfp,neon向量浮点等各种浮点实现代码。

例如在cortex-a8上运行同时运行优化的向量浮点代码和老式arm920t的软浮点代码,这使得上述测试能够方便的完成。

如果用老的oabi环境,切换不同的浮点配置必须把全部的用户代码重新编译。

下载地址在这里可以找到。

相关文档
最新文档