在 C 内联汇编中使用基指针寄存器避免函数调用开销
在 C 内联汇编中使用基指针寄存器 (%rbp) ,遵循这个更正后的代码代码片段:
void Foo(int &x) { int tmp; long tmplong; asm volatile( "lea -16 + %[mem1], %%rbp\n\t" "imul , %%rbp, %q[reg1]\n\t" // Register allocated to tmplong "add %k[reg1], %k[reg1]\n\t" // Register allocated to tmp "movl , %[mem1]\n\t" // Store value in memory pointed to by tmp : [mem1] "=&m"(tmp), [reg1] "=r"(tmplong) : : "%rbp" ); x = 5; }
解释:
附加说明:
以上是使用基指针寄存器的 C 内联汇编如何避免函数调用开销?的详细内容。更多信息请关注PHP中文网其他相关文章!