2007/4/9, J.C. Pizarro <[EMAIL PROTECTED]> wrote:
_Z29__allocate_array_of_RossRidgejjj:
[ gcc v3.4.6 : 9 instructions ]
movl 4(%esp), %edx
cmpl 12(%esp), %edx # comparing and ?????? i lose me
movl 8(%esp), %eax
orl $-1, %eax
imull %edx, %eax # signed multiply!!! 1 bit signed + unsigned
31x31!!!
pushl %eax
call _Znaj
popl %edx
ret
_Z29__allocate_array_of_RossRidgejjj:
[ gcc 4.1.3 20070326 (prerelease) : 8 instructions ]
movl 4(%esp), %eax
orl $-1, %ecx
cmpl 12(%esp), %eax # comparing and ?????? i lose me
movl 8(%esp), %edx
movl %edx, %ecx
imull %eax, %ecx # signed multiply!!! 1 bit signed + unsigned
31x31!!!
movl %ecx, 4(%esp)
jmp _Znaj
_Z29__allocate_array_of_JCPizarrojjj:
[ gcc 4.1.3 20070326 (prerelease) and gcc 3.4.6 : 7 instructions ]
movl 4(%esp), %edx
cmpl 12(%esp), %edx # comparing and ?????? i lose me
movl 8(%esp), %eax
movl $-1, 4(%esp)
imull %edx, %eax # signed multiply!!! 1 bit signed + unsigned
31x31!!!
movl %eax, 4(%esp)
jmp _Znaj
-----------------------------------------------------------------------------
J.C. Pizarro
I don't see a conditional jump or a test of the zero flag. Am i confuse? The multiply is signed. It is need more researching a little bit.
allocate_array_april2007.tar.gz
Description: GNU Zip compressed data
