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.

Reply via email to