https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115752
--- Comment #13 from chenglulu <chenglulu at loongson dot cn> --- (In reply to Xi Ruoyao from comment #12) > (In reply to chenglulu from comment #11) > > (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? > > I agree. But I'm slightly concerned if the ICE will pop out again in some > cases using a pair of GPR for TFmode or TImode (I cannot see a difference...) TI has been deleted by me, so just let TARGET_HARD_REGNO_OK(TFmode, fpreg) return false here and it should be no problem.