https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68695
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P2 CC| |law at redhat dot com --- Comment #24 from Jeffrey A. Law <law at redhat dot com> --- I think one could easily argue here that the only reason we got good code before Alex's change is because the copyrename pass was buggy. Given something like this: # i_1 = PHI <x_3(D)(2), a_5(D)(3)> Where x & a are parameters and i is a local, all of type int. The copyrename pass would ignore the fact that x & a were promoted to DImode while i was SImode Alex's work exposed this as problematical in general and the suggested fix was to not coalesce with the promoted modes were different. I don't think this deserves to be a release blocker, but I do think we can continue to look at either improving things on the RTL side, or finding a safe set of cases where we can coalesce even when the promotions are different.