On Fri, Mar 07, 2025 at 09:13:39AM +0800, Bibo Mao wrote: > Float register name f0 - f31 is not recognized with clang compiler > with LoongArch64 target, its name should be $f0 - $f31. It is ok > for both gcc and clang compiler.
Sorry I didn't search the list carefully and sent a similar patch[1]. Apart from preventing the disk tools to be built, this issue affects several headers used by linux-user emulators as well. IMHO this should be fixed, too, or my patch could be taken. Sorry for the inconvenience, Yao Zi [1]: https://lore.kernel.org/all/20250314033150.53268-3-zi...@disroot.org/ > Signed-off-by: Bibo Mao <maob...@loongson.cn> > --- > host/include/loongarch64/host/bufferiszero.c.inc | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/host/include/loongarch64/host/bufferiszero.c.inc > b/host/include/loongarch64/host/bufferiszero.c.inc > index 69891eac80..bb2598fdc3 100644 > --- a/host/include/loongarch64/host/bufferiszero.c.inc > +++ b/host/include/loongarch64/host/bufferiszero.c.inc > @@ -61,7 +61,8 @@ static bool buffer_is_zero_lsx(const void *buf, size_t len) > "2:" > : "=&r"(ret), "+r"(p) > : "r"(buf), "r"(e), "r"(l) > - : "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "fcc0"); > + : "$f0", "$f1", "$f2", "$f3", "$f4", "$f5", "$f6", "$f7", "$f8", > + "$fcc0"); > > return ret; > } > @@ -119,7 +120,8 @@ static bool buffer_is_zero_lasx(const void *buf, size_t > len) > "3:" > : "=&r"(ret), "+r"(p) > : "r"(buf), "r"(e), "r"(l) > - : "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "fcc0"); > + : "$f0", "$f1", "$f2", "$f3", "$f4", "$f5", "$f6", "$f7", "$f8", > + "$fcc0"); > > return ret; > } > > base-commit: 661c2e1ab29cd9c4d268ae3f44712e8d421c0e56 > -- > 2.39.3