【问题标题】:ARM Neon assembler + C how can I pass and use array of pointersARM Neon 汇编器 + C 如何传递和使用指针数组
【发布时间】:2013-09-18 09:36:00
【问题描述】:

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

float *pointerToBuffer

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

如果变量是pointerToPointerToBuffer怎么办

【问题讨论】:

标签: ios assembly arm neon


【解决方案1】:

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

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

如果没有:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多