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

--- Comment #5 from petschy at gmail dot com ---
I spotted a minor size inefficiency in the code:

   0x0000000000400720 <+32>:    jle    0x4007c5 <_Z6write2R6Streamj+197>
   0x0000000000400726 <+38>:    mov    %rdx,%rsi
   0x0000000000400729 <+41>:    test   %r12b,%r12b
...
   0x00000000004007c5 <+197>:    mov    (%rbx),%rsi
   0x00000000004007c8 <+200>:    mov    %rbx,%rdi
   0x00000000004007cb <+203>:    callq  0x4005d0 <_ZN6Stream5WriteEPhS0_>
   0x00000000004007d0 <+208>:    mov    (%rbx),%rdx
   0x00000000004007d3 <+211>:    mov    %rdx,0x8(%rbx)
   0x00000000004007d7 <+215>:    mov    %rdx,%rsi
   0x00000000004007da <+218>:    jmpq   0x400729 <_Z6write2R6Streamj+41>

The mov at +215 would not be needed if the jump went to +38 instead of +41.

Reply via email to