https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120837
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #10) > 4.7.1 did: > <D.1721>: > iftmp.0 = &MEM[(void *)&b + -8B]; > goto <D.1723>; > <D.1722>: > iftmp.0 = &MEM[(void *)&a + -8B]; > <D.1723>: > > So where is this invalid reassociation is happening. I think it is the fold_binary_loc associate: case happens. We split constants &a and -8. But we can't do the reassociation since this would be an undefined IR.