https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115752
--- Comment #11 from chenglulu <chenglulu at loongson dot cn> --- (In reply to chenglulu from comment #7) > (In reply to Xi Ruoyao from comment #4) > > Reduced more: > > > > long double > > test (long double xx) > > { > > __asm ("" :: "f"(xx)); > > return xx + 1; > > } > > > > and this one fails at -O2 & -O3 too. > > I'm not sure if this should be an error or not... So for such an inline assembly, we prefer a compiler output type mismatch error, similar to riscv?