https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127326
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
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));
| ^~~~~