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.