------- 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