https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107115
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #7) > If we don't want to treat such copies as noop moves, then either we need to > change rtx_equal_p such that it will say MEMs aren't equal if the the alias > sets are different But in other context we can treat them as equal ... > or should tweak in the same spirit the i386.md peephole2 > and set_noop_p (and perhaps some other spot). Yep, we've been playing whack-a-mole already, so we should just continue and fix places that pop up with this issue. > But if we do either of that, > it would be nice to get rid of the for assembly actually noop move later on > shortly before expansion or emit it as nothing, because assembler then > doesn't care about alias sets. We eventually could do a flag_strict_aliasing = 0 at some point? Similar to the idea of doing flag_wrapv = 1 to allow more association.