------- Comment #2 from pluto at agmk dot net 2006-04-06 12:49 -------
for -march=i{345}86 I get:
f:
pushl %ebp
movl %esp, %ebp
subl $4008, %esp
movl %esp, %eax
pushl %edx
pushl $4000
pushl 8(%ebp)
pushl %eax
call memcpy
addl $16, %esp
call g
addl $4000, %esp
leave
ret
for -march=i686,pentium2,... I get:
f:
pushl %ebp
xorl %edx, %edx
movl %esp, %ebp
subl $4008, %esp
movl 8(%ebp), %ecx
.L3:
cmpl $4000, %edx
jb .L2
call g
leave
ret
.p2align 4,,7
.L2:
movzbl (%ecx,%edx), %eax
movb %al, (%esp,%edx)
incl %edx
.p2align 4,,3
jmp .L3
$ gcc version 4.1.1 20060405 (prerelease) (PLD-Linux)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27055