我目前正在一个旧编译器(2004年左右的GCC)上测试C++中的一些内联汇编,我想对浮点数执行平方根函数。在尝试和搜索了一些成功的方法之后,我找到了下面的代码:
float r3(float n){
__asm__("fsqrt" : "+t" (n));
return n;
};
已经成功运行了。问题是,尽管我理解使用的汇编指令,但我无法找到任何关于n
变量上的"+t"
标志意义的文档。我真正的想法是这似乎是一种将变量n
作为输入和输出变量处理的方式,但我无法找到任何相关信息。那么,"t"
标志到底是什么,它在这里起什么作用?