https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763
--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Haven't managed to reproduce it e.g. with long long foo (long long *p, int q, unsigned r1, unsigned r2) { int t, u; asm ("" : "+a" (p), "+b" (q), "+d" (r1), "+c" (r2), "=S" (t), "=D" (u)); unsigned long long r = ((unsigned long long) r2 << 32) | r1; long long a = p[q] & ~r; asm volatile ("" : "+A" (a) : "S" (t), "D" (u)); return a; }