码迷,mamicode.com
首页 > 移动开发 > 详细

[基于Android的ARM汇编语言系列]之六:NEON指令集与VFP指令集

时间:2015-07-06 17:55:29      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:arm汇编   寻址方式   neon   

作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell

NEON指令集与VFP指令集是ARM指令集的扩展,多用于多媒体编程和浮点运算。

一 Android平台使用NEON指令集与VFP指令集

Android NDK从r3版本开始也添加了对NEON指令集与VFP指令集的支持。使用方法如下所示:

1 运行时检测处理器是否支持NEON指令集与VFP指令集

Android NDK提供了一个cpufeatures的库来让开发者在运行时检测处理器是否支持NEON指令集与VFP指令集。要使用cpufeatures库,

(1) 首先在Android.mk中添加以下内容:

$(call import-module, android/cpufeatures)

(2) 然后在C/C++代码中包含头文件cpu-features.h文件。该文件包含以下函数。

  • android_getCpuFamily():获取处理器家族信息,对于ARM处理器,该函数始终返回常量值ANDROID_CPU_FAMILY_ARM。
  • android_getCpuFeatures():检测处理器支持的指令集,如果支持NEON指令集,则返回的64位数据中ANDROID_CPU_ARM_FEATURE_NEON标志就会被置位。如果支持VFPv3指令集,则返回的64位数据中ANDROID_CPU_ARM_FEATURE_VFPv3标志就会被置位。
  • android_getCpuCount():获取处理器的核心数。

z只需要在Android.mk添加一下内容即可使用。

TARGET_ARCH_ABI:=armeabi-v7a
LOCAL_ARM_:=true

版权声明:本文为博主原创文章,未经博主允许不得转载。

[基于Android的ARM汇编语言系列]之六:NEON指令集与VFP指令集

标签:arm汇编   寻址方式   neon   

原文地址:http://blog.csdn.net/allenwells/article/details/46776519

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!