https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68277
--- Comment #9 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Kazumoto Kojima from comment #6) > I think that that trial and AMS show the backend like SH requires > something even for the old reload, though I'm not sure that > the 2nd postreload_cse is the right thing for that. The 2nd postreload might be a wallpapering work around. But it would allow us to switch to LRA by default without regressing code size / performance, if I understand correctly. Of course the proper fix would be having AMS and constant optimization and R0 pre-alloc and 2-operand-optimizations (the ones we've been fighting with the addsi3 patterns) and ... At the current (lack of) pace I don't know when all of that will be done. So my idea was to at least reduce the R0 problem for users by making LRA the default in GCC 6. If we have to add the 2nd postreload temporarily, so be it. When the other solutions become more mature and stable, we can remove the 2nd postreload thing again.