【发布时间】:2013-05-21 15:49:11
【问题描述】:
我正在尝试编写一个简单的函数来在我的 beagleboard 上使用 VFP。但是,我收到以下错误:在 ´:´ 标记之前预期 ´)´。代码如下:
float floatmod(float a, float b) {
float result;
__asm__volatile__(
"VMOV.F32 s7, %p[a]"
"VMOV.F32 s8, %p[b]"
"VDIV.F32 s9, s7, s8"
"VMLS.F32 s7, s8, s9"
:s7 "=t" (c)
:[a] "t" (a), [b] "t" (b)
:"s7", "s8", "s9"
);
return c;
}
我对内联汇编相当陌生,所以我可能犯了一些错误
【问题讨论】:
-
您可能要考虑为此使用内在函数而不是原始 asm - 这会节省大量时间和麻烦。
-
我试图加速程序 - 内在函数没有帮助:/
-
每个内在函数都映射到一个 asm 指令,因此对于上述非常简单的情况,如果内在函数没有帮助,那么原始 asm 不太可能做得更好。
标签: gcc assembly arm beagleboard