https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127326
--- Comment #11 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #10)
> (In reply to Uroš Bizjak from comment #7)
> > Even with the patch, compiler still errors out with slightly changed
> > testcase:
> >
> > --cut here--
> > unsigned long long foo (void)
> > {
> > union { _Decimal128 d; unsigned long long u[2]; } u;
> > u.d = 1.0DL;
> > __asm ("" : "+g" (u.d));
> > return u.u[1] + u.u[2];
> > }
> > --cut here--
> >
> > $ gcc -O2 -m32 inout.c
> > inout.c: In function ‘test’:
> > inout.c:5:3: error: inconsistent operand constraints in an ‘asm’
> > 5 | __asm ("" : "+g" (u.d));
> > | ^~~~~
>
> This is with the patch from PR124209 applied, where patched compiler is
> still not able to resolve:
I reproduced this for the patched compiler. I started to work on it. I guess
the fix will be ready tomorrow.