------- Comment #2 from sgunderson at bigfoot dot com  2008-11-30 15:06 -------
OK, I looked at the source. The issue here seems to be that 4.4 likes to
compile this:

    z3 = ((z3) * (- ((INT32) 16069)));

into this:

    10  0.0403 : 805cc87:       lea    (%ecx,%ecx,4),%ebx
               : 805cc8a:       lea    (%ebx,%ebx,4),%ebx
    20  0.0805 : 805cc8d:       lea    (%ebx,%ebx,4),%ebx
     7  0.0282 : 805cc90:       lea    (%ecx,%ebx,2),%ebx
     3  0.0121 : 805cc93:       shl    $0x4,%ebx
    38  0.1530 : 805cc96:       add    %ecx,%ebx
     8  0.0322 : 805cc98:       lea    (%ecx,%ebx,4),%esi

4.3 uses imul here, which is a lot faster.


-- 


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

Reply via email to