https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60778
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #4) > > > We have 2->2 combine now but it looks like we don't try to split inside a > > > mem ... > > > > This address looks similar to how Alpha implemented unaligned load. It looks > > like combine tries to synthesize AND address. > > That is from the (x >> 3) * 8. Perhaps a combine splitter that will tell > combine that it should split it at the AND? Though, not sure if the cost > will say that it is beneficial. Maybe we should allow AND addresses and split AND out in ix86_legitimize_address?