One instruction more in GCC-4.1.x vs GCC-3.4.6?
Joe Buck's code: 10 instructions [ -Os of gcc-4.1.3-20070326 ]
__compute_size:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
movl %eax, %edx
imull 12(%ebp), %edx
cmpl %eax, %edx
orl $-1, %edx
popl %ebp
movl %edx, %eax # <--- this extra instruction because return EAX =
EDX?
ret
Joe Buck's code: 9 instructions [ -Os of gcc-3.4.6 ]
__compute_size:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %edx
movl %edx, %eax
imull 12(%ebp), %eax
cmpl %edx, %eax
orl $-1, %eax
popl %ebp
# <--- no extra instruction because return EAX = EAX?
ret
J.C. Pizarro