https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763
--- Comment #37 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #33) > and it should work. The last case would be right now: > SI:N+1 = SI:N &~ SI:N+2; SI:N+2 = SI:N+1 &~ SI:N+3; > and is again wrong, but we could again swap: > SI:N+2 = SI:N+1 &~ SI:N+3; SI:N+1 = SI:N &~ SI:N+2; > and all is fine. Whoops, it looks that SI:N+2 is clobbered in the swapped case.