【发布时间】:2020-11-26 14:39:43
【问题描述】:
在编写 gcc neon 内联汇编程序时,如果使用大量寄存器,通常必须编写很长的 clobber。如何编写一个宏来列出clobber部分中的寄存器序列?更好地使用boost预处理器。谢谢。
当前方法:
__asm(
"mov r0, #0\n"
"mov r1, #1\n"
"mov r2, #2\n"
"mov r3, #3\n"
:
:
: "r0", "r1", "r2", "r3"
)
更好的方法:
__asm(
"mov r0, #0\n"
"mov r1, #1\n"
"mov r2, #2\n"
"mov r3, #3\n"
:
:
: MACRO_RANGE(r, 0, 3)
)
【问题讨论】:
标签: c-preprocessor inline-assembly c99