ARM Neon汇编程序+ C如何传递和使用指针数组

时间:2013-09-18 09:36:00

标签: ios assembly arm neon

我有一个C函数,我想从传递给汇编程序部分的指针数组中加载数据。怎么做?

float *pointerToBuffer

asm volatile (
   "vld1.32 {q0},[%[buf]] \n\t" 
   : [buf]"+r"(ponterToBuffer)
);

如果变量是pointerToPointerToBuffer

,该怎么办?

1 个答案:

答案 0 :(得分:0)

如果语法允许,我建议再使用一对括号:

asm volatile (
   "vld1.32 {q0},[[%[buf]]] \n\t" 
   : [buf]"+r"(ponterToBuffer)
);

如果不是:

asm volatile (
   "ldr r1,[%[pointerToBuffer]] \n\t"
   "vld1.32 {q0},[r1] \n\t"
);