https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88760
--- Comment #31 from Segher Boessenkool <segher at gcc dot gnu.org> --- Gimple passes know a lot about machine details, too. Irrespective of if this is "low-level" or "high-level", it should be done earlier than it is now. It should either be done right after expand, or somewhere before it. Doing it in gimple seems easiest?