Ios ARM霓虹灯汇编程序+;如何传递和使用指针数组

Ios ARM霓虹灯汇编程序+;如何传递和使用指针数组,ios,assembly,arm,neon,Ios,Assembly,Arm,Neon,我有一个C函数,我想从传递给汇编部分的指针数组中加载数据。如何做到这一点 float *pointerToBuffer asm volatile ( "vld1.32 {q0},[%[buf]] \n\t" : [buf]"+r"(ponterToBuffer) ); 如果变量是pointerToPointerToBuffer会怎样?如果语法允许,我建议多使用一对括号: asm volatile ( "vld1.32 {q0},[[%[buf]]] \n\t" :

我有一个C函数,我想从传递给汇编部分的指针数组中加载数据。如何做到这一点

float *pointerToBuffer

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

如果变量是pointerToPointerToBuffer会怎样?如果语法允许,我建议多使用一对括号:

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

asm volatile (
   "ldr r1,[%[pointerToBuffer]] \n\t"
   "vld1.32 {q0},[r1] \n\t"
);
你想干什么?是否?
asm(“vld1.32{q0},%0”::“m”(指针缓冲):“内存”)将被删除。如果要传递地址/内存位置,请使用
“m”(…)
约束,并保留一级括号。