[Bug rtl-optimization/33717] slow code generated for 64-bit arithmetic

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Dec 31 18:35:00 GMT 2008



------- Comment #1 from pinskia at gcc dot gnu dot org  2008-12-31 18:33 -------
The inner loop on the trunk looks like:
.L15:
        movl    848(%esp,%eax,4), %edx
.L4:
        movl    448(%esp,%eax,4), %ecx
        xorl    %ebx, %ebx
        addl    %ecx, %esi
        adcl    %ebx, %edi
        xorl    %ecx, %ecx
        addl    %edx, %esi
        adcl    %ecx, %edi
        movl    %esi, 48(%esp,%eax,4)
        incl    %eax
        movl    %edi, %esi
        xorl    %edi, %edi
        cmpl    $100, %eax
        jne     .L15

Which is a lot better.  This was improved by the new register allocator on the
trunk.  Going back to the old one on the trunk, gives what 4.3 gave.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization, ra


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33717



More information about the Gcc-bugs mailing list