https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86604
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Biener from comment #1) > Sure it does but we 1) cannot make the dereference of t unconditional > because it > may trap, 2) we do not implement the transform > > if ([0, 1] var == 0) > othervar += 1; > > to > > othervar += var ^ 1; The patch which fixes PR 103216 fixes the above case. I think that is enough to fix this bug due to the conditional add for memory is not done at all.