https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100217
--- Comment #5 from Ilya Leoshkevich <iii at linux dot ibm.com> --- That would be an ideal solution, but I wonder how to implement it? Suppose we find a way to convince expand to pick FPRX2mode for such a long double. What if the following comes up? register long double x asm ("v0"); /* FPRX2mode */ long double y; /* TFmode */ x += y; /* convert? */ Would it be feasible to also teach expand to do the mode conversions? One other alternative might be to detect `register long double asm("fN")` declarations and go back to using floating point register pairs for functions that contain them.