我正在编写一个简单的程序,将一个浮点数的值分配给另一个浮点数。
float a = 1;
float b = 2;
b=a;
我想将“ b = a”行转换为内联汇编。我写了以下内容:
asm volatile("movss %1, %%xmm0 \n"
"movss %%xmm0, %0"
:"=f"(b)
:"f"(a)
:"xmm0");
它出现以下错误:
a.c:8:17: error: output constraint 0 must specify a single register
asm volatile("movss %1, %%xmm0 \n"
有人可以帮助我解决此错误的含义以及如何进行调试吗?
P.S-如果有人需要CPU架构信息。
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
谢谢