https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42575
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wilco at gcc dot gnu.org --- Comment #19 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Christophe Lyon from comment #18) > This is still wrong with current trunk. I don't see it happening since expansion of DImode instructions improved. The only case that uses an extra register is -mcpu=cortex-a9/-mcpu=cortex-a5 with -O2 -mthumb: mul r3, r0, r3 push {r4} mov r4, r1 umull r0, r1, r0, r2 mla r2, r2, r4, r3 ldr r4, [sp], #4 add r1, r1, r2 bx lr I don't think we should expect perfect register allocation in severely constrained cases like this - scheduling can increase register pressure.