https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122211
--- Comment #9 from John Paul Adrian Glaubitz <glaubitz at physik dot
fu-berlin.de> ---
(In reply to John Paul Adrian Glaubitz from comment #8)
> (In reply to Andreas Schwab from comment #7)
> > Replace "=g" with "=dm".
>
> Like this?
>
> --- python3.14-3.14.0.orig/Include/internal/pycore_pymath.h
> +++ python3.14-3.14.0/Include/internal/pycore_pymath.h
> @@ -146,7 +146,7 @@ extern void _Py_set_387controlword(unsig
> unsigned int old_fpcr, new_fpcr
> #define _Py_SET_53BIT_PRECISION_START \
> do { \
> - __asm__ ("fmove.l %%fpcr,%0" : "=g" (old_fpcr)); \
> + __asm__ ("fmove.l %%fpcr,%0" : "=dm" (old_fpcr)); \
> /* Set double precision / round to nearest. */ \
> new_fpcr = (old_fpcr & ~0xf0) | 0x80; \
> if (new_fpcr != old_fpcr) { \
OK, that still crashes with SIGILL.