关于Raspberry pi 3的SIMD说明

时间:2017-11-14 11:22:41

标签: c assembly arm raspberry-pi3 simd

我尝试编写一个简单的矢量添加程序,但我在查找具有Cortex-A53处理器的RP3上运行的正确指令时遇到了问题。

我尝试使用:

VADD.I8 D0, D1, D2

在D1和D2中并行添加8个8位数字,但我收到此错误:

make all 
Building file: ../src/ASM.c
Invoking: Cross GCC Compiler
arm-linux-gnueabihf-gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/ASM.d" -MT"src/ASM.o" -o "src/ASM.o" "../src/ASM.c"
/tmp/ccx9brV4.s: Assembler messages:
/tmp/ccx9brV4.s:43: Error: selected FPU does not support instruction -- `vadd.i8 D0,D1,D2'
src/subdir.mk:18: recipe for target 'src/ASM.o' failed
make: * [src/ASM.o] Error 1

我不明白为什么它说不受支持的指令我从皮质系统指导程序员的指导中获得指导

这是带有程序集指令的C代码

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
extern void asm(void);

void asm(void){
  _asm_( /* Assembly function body */
          "MOVW R0,0x1234\n"//AH
          "MOVT R0,0x5678\n"
          "MOVW R1,0x2312\n"//AL
          "MOVT R1,0x3548\n"
          "VADD.I8 D0,D1,D2"
          );
}

int main(void) {
    asm();
    return 1;

}

0 个答案:

没有答案