我读了一些有关浮点操作的内联汇编C代码。代码如下。
__asm__ __volatile__ ("fninit);
//There are some other in line assembly here, I omit them because they have nothing to do with my question.
__asm__ __volatile__ ("fcomp %st");
这些代码在X86系统中运行。但是,我想将这些代码更改为可以在ARMV8系统中运行的代码。 首先,我想知道上述代码的含义。其次,我想知道如何更改上述代码以使其在ARMV8系统中运行。
您自己独自为Asm.
您确定您甚至需要在ASM中写任何东西,而不仅仅是让编译器这样做? 如果您不需要设置舍入模式,或设置有限的精度或任何内容,则只需使用Cdouble
float
是@notlikethat评论:您不能以孤立的方式向单个说明端口。 这不会有用,尤其是对于诸如to的古怪说明,这些说明非常特定于在特定体系结构上管理寄存器状态。 X87是寄存器堆栈与其他所有其他寄存器的库存库,这是一个巨大的差异。 (例如X86上的SSE2和VFP或霓虹灯)