This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/17549] [4.0 Regression] 25% increase in codesize (3.3.4 -> 4.0.0 20040917)


------- Additional Comments From miguel55angel at hotmail dot com  2004-09-19 12:00 -------
Hi,
the function "susan_edges" shows a 77% increase in code size even   
when compiled with -fno-ivopts:

   text    data     bss     dec     hex filename
   2772       0       0    2772     ad4 susan_edges_334.o

   text    data     bss     dec     hex filename
   2905       0       0    2905     b59 susan_edges_342.o

   text    data     bss     dec     hex filename
   4930       0       0    4930    1342 susan_edges_400.o



I'm seeing a block of MOVs in the 4.0.0 disassembly code
     
          if (z > (0.9*(float)n)) /* 0.5 */
     910:       db 85 e8 fd ff ff       fildl  0xfffffde8(%ebp)
     916:       dd 05 00 00 00 00       fldl   0x0
     91c:       de c9                   fmulp  %st,%st(1)
     91e:       d9 c9                   fxch   %st(1)
     920:       da e9                   fucompp
     922:       df e0                   fnstsw %ax
     924:       9e                      sahf
     925:       0f 87 9d 01 00 00       ja     ac8 <susan_edges+0xac8>
     92b:       8b 95 ec fd ff ff       mov    0xfffffdec(%ebp),%edx
     931:       8b 9d d0 fd ff ff       mov    0xfffffdd0(%ebp),%ebx
     937:       8b b5 a0 fe ff ff       mov    0xfffffea0(%ebp),%esi
     93d:       8b 85 a4 fe ff ff       mov    0xfffffea4(%ebp),%eax
     943:       89 95 04 fe ff ff       mov    %edx,0xfffffe04(%ebp)
     949:       8b 95 a8 fe ff ff       mov    0xfffffea8(%ebp),%edx
     94f:       89 9d 0c fe ff ff       mov    %ebx,0xfffffe0c(%ebp)
     955:       8b 9d b0 fe ff ff       mov    0xfffffeb0(%ebp),%ebx
     95b:       89 b5 10 fe ff ff       mov    %esi,0xfffffe10(%ebp)
     961:       8b b5 b4 fe ff ff       mov    0xfffffeb4(%ebp),%esi
     967:       8b 8d 9c fe ff ff       mov    0xfffffe9c(%ebp),%ecx
     96d:       89 85 14 fe ff ff       mov    %eax,0xfffffe14(%ebp)
     973:       8b 85 b8 fe ff ff       mov    0xfffffeb8(%ebp),%eax
     979:       89 95 18 fe ff ff       mov    %edx,0xfffffe18(%ebp)
     97f:       8b 95 bc fe ff ff       mov    0xfffffebc(%ebp),%edx
     985:       89 9d 28 fe ff ff       mov    %ebx,0xfffffe28(%ebp)
     98b:       8b 9d c0 fe ff ff       mov    0xfffffec0(%ebp),%ebx
     991:       89 b5 2c fe ff ff       mov    %esi,0xfffffe2c(%ebp)
     997:       8b b5 c4 fe ff ff       mov    0xfffffec4(%ebp),%esi
     99d:       89 8d 08 fe ff ff       mov    %ecx,0xfffffe08(%ebp)
     9a3:       8b 8d ac fe ff ff       mov    0xfffffeac(%ebp),%ecx
     9a9:       89 85 30 fe ff ff       mov    %eax,0xfffffe30(%ebp)
     9af:       8b 85 18 ff ff ff       mov    0xffffff18(%ebp),%eax
     9b5:       89 95 34 fe ff ff       mov    %edx,0xfffffe34(%ebp)
     9bb:       8b 95 c8 fe ff ff       mov    0xfffffec8(%ebp),%edx
     9c1:       89 9d 38 fe ff ff       mov    %ebx,0xfffffe38(%ebp)
     9c7:       8b 9d cc fe ff ff       mov    0xfffffecc(%ebp),%ebx
     9cd:       89 b5 40 fe ff ff       mov    %esi,0xfffffe40(%ebp)
     9d3:       8b b5 d0 fe ff ff       mov    0xfffffed0(%ebp),%esi
     9d9:       89 8d 20 fe ff ff       mov    %ecx,0xfffffe20(%ebp)
     9df:       8b 8d 14 ff ff ff       mov    0xffffff14(%ebp),%ecx
     9e5:       89 85 48 fe ff ff       mov    %eax,0xfffffe48(%ebp)
     9eb:       89 95 4c fe ff ff       mov    %edx,0xfffffe4c(%ebp)
     9f1:       89 9d 50 fe ff ff       mov    %ebx,0xfffffe50(%ebp)
     9f7:       89 b5 54 fe ff ff       mov    %esi,0xfffffe54(%ebp)
     9fd:       8b 85 d4 fe ff ff       mov    0xfffffed4(%ebp),%eax
     a03:       8b 9d dc fe ff ff       mov    0xfffffedc(%ebp),%ebx
     a09:       8b b5 e0 fe ff ff       mov    0xfffffee0(%ebp),%esi  
     a0f:       8b 95 d8 fe ff ff       mov    0xfffffed8(%ebp),%edx
     a15:       89 85 58 fe ff ff       mov    %eax,0xfffffe58(%ebp)
     a1b:       8b 85 e4 fe ff ff       mov    0xfffffee4(%ebp),%eax
     a21:       89 9d 8c fd ff ff       mov    %ebx,0xfffffd8c(%ebp)
     a27:       8b 9d e8 fe ff ff       mov    0xfffffee8(%ebp),%ebx
     a2d:       89 b5 64 fe ff ff       mov    %esi,0xfffffe64(%ebp)
     a33:       8b b5 ec fe ff ff       mov    0xfffffeec(%ebp),%esi
     a39:       89 95 5c fe ff ff       mov    %edx,0xfffffe5c(%ebp)
     a3f:       8b 95 1c ff ff ff       mov    0xffffff1c(%ebp),%edx
     a45:       89 85 68 fe ff ff       mov    %eax,0xfffffe68(%ebp)
     a4b:       8b 85 f0 fe ff ff       mov    0xfffffef0(%ebp),%eax
     a51:       89 9d 6c fe ff ff       mov    %ebx,0xfffffe6c(%ebp)
     a57:       8b 9d f4 fe ff ff       mov    0xfffffef4(%ebp),%ebx
     a5d:       89 b5 70 fe ff ff       mov    %esi,0xfffffe70(%ebp)
     a63:       8b b5 f8 fe ff ff       mov    0xfffffef8(%ebp),%esi
     a69:       89 85 74 fe ff ff       mov    %eax,0xfffffe74(%ebp)
     a6f:       8b 85 fc fe ff ff       mov    0xfffffefc(%ebp),%eax
     a75:       89 9d 78 fe ff ff       mov    %ebx,0xfffffe78(%ebp)
     a7b:       8b 9d 00 ff ff ff       mov    0xffffff00(%ebp),%ebx
     a81:       89 b5 7c fe ff ff       mov    %esi,0xfffffe7c(%ebp)
     a87:       8b b5 04 ff ff ff       mov    0xffffff04(%ebp),%esi
     a8d:       89 85 80 fe ff ff       mov    %eax,0xfffffe80(%ebp)
     a93:       8b 85 08 ff ff ff       mov    0xffffff08(%ebp),%eax
     a99:       89 9d 84 fe ff ff       mov    %ebx,0xfffffe84(%ebp)
     a9f:       8b 9d 0c ff ff ff       mov    0xffffff0c(%ebp),%ebx
     aa5:       89 b5 8c fe ff ff       mov    %esi,0xfffffe8c(%ebp)
     aab:       8b b5 10 ff ff ff       mov    0xffffff10(%ebp),%esi
     ab1:       89 85 90 fe ff ff       mov    %eax,0xfffffe90(%ebp)
     ab7:       89 9d 94 fe ff ff       mov    %ebx,0xfffffe94(%ebp)
     abd:       89 b5 98 fe ff ff       mov    %esi,0xfffffe98(%ebp)
     ac3:       e9 8c 02 00 00          jmp    d54 <susan_edges+0xd54>
          {
            do_symmetry=0;
            if (x==0)
     ac8:       83 bd 48 ff ff ff 00    cmpl   $0x0,0xffffff48(%ebp)
     
     
in the function "susan_edges" when compiled with
     
gcc -c -Os susan_edges.c -g -o susan_edges.o -fno-ivopts
     
and dissassembled with
     
objdump -DS susan_edges.o


HTH,
Miguel


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]