https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88282
--- Comment #4 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Tamar Christina from comment #3) > This is caused by the change in r266385 for PR87718. > > That causes the cost model to go completely off the rail and also changes > the register classes. > Sorry for this. It was a very sensitive code change and I think it will take some time until the code stabilize. But I believe that what patch for PR87718 solves is the right direction for RA. > Previously out costs were 0 in most cases, now we have large numbers like > 65540004. > > ``` I'll investigate this too. The biggest problem with RA cost calculations is that machine-dependent code for register move cost is not defined correctly for all combinations of mode, regclass, regclass. Unfortunately, the documentation says nothing about it. RA tries to solve this in some ways but not always successfully. In the current case the combination is DImode, SP_REG, GENERAL_REGS. I'll see what can I do in RA. I have an idea. If it works the patch will be ready on the next week.