如何在iPhone/ipad/iPod Touch中使用NEON技术

NEON技术是ARMv7架构中相对于Atom处理器,很有竞争力的一个技术。它支持了非常丰富的128位向量计算,实现了SIMD技术特征。

那么我们如何在Apple的iPhone3GS或更高版本;ipod Touch3代或更高版本以及iPad上使用NEON技术呢?

 

首先,你要准备好XCode3.2.3或更高版本。

然后,由于这个版本所采用的GCC编译器仍然最高为4.2,因此还没有支持NEON的内联汇编功能,但是阿弥陀佛,Apple所提供的ARM汇编器支持了这个特性。因此我们要使用NEON技术,只能直接手工写纯汇编代码才行。

 

我们在一个iPhone工程项目中,classes或Other source筛选器中添加新文件,选择.s汇编文件,名字任意取。

然后可以如此编辑此汇编文件:

.text .align 4 .globl _neon_test .arm _neon_test: vadd.i16 d0, d1, d2 vmul.i32 q0, q2, q3 vmul.s32 q1, q3, q4 vmull.u16 q0, d0, d1 bx lr


然后,在你的C/C++或Objective-C/C++源文件中:

extern void neon_test(void); -(void)yourMethod { neon_test(); } 

这样,你就可以利用GDB来测试你的应用程序了,呵呵。

 

详细请参见:http://www.cocoachina.com/bbs/read.php?tid-26633.html

你可能感兴趣的:(apple,汇编,xcode,gcc,iPhone,编译器)