现在的ARM处理器大部分就配备了NEON,具有NEON技术的处理器都会配备了32个64位的寄存器和16个128位的寄存器,分别被标识为D0-D31, Q0-Q15. NEON指令集只是ARM和THUMB指令集的子集,主要的任务就是执行批处理,比如内存的访问,在NEON寄存器和传统寄存器之间数据的拷贝,数据类型的转化,数据的处理等。arm公司给封装了一个库(OPENMAX),需要使用的时候需要包含头文件arm_neon.h
, 编译的时候需要加上-mfpu=neon 编译器选项,比如arm-none-linux-gnueabi-gcc -mfpu=neon test.c -o test 这些函数叫NEON Instrinsic.