------- Comment #5 from rguenth at gcc dot gnu dot org 2006-01-14 12:16 -------
4.1 branch has
;; Function foo (foo)
Analyzing Edge Insertions.
foo (r)
{
struct s temp_struct3;
struct s temp_struct2;
struct s temp_struct1;
<bb 0>:
temp_struct1 = r;
temp_struct2 = temp_struct1;
temp_struct3 = temp_struct2;
<retval> = temp_struct3;
return <retval>;
}
and generates
foo:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %esi
subl $56, %esp
leal -28(%ebp), %edi
leal 12(%ebp), %esi
cld
movl $5, %ecx
rep
movsl
leal -48(%ebp), %edi
leal -28(%ebp), %esi
movb $5, %cl
rep
movsl
leal -48(%ebp), %esi
movl 8(%ebp), %edi
movb $5, %cl
rep
movsl
movl 8(%ebp), %eax
addl $56, %esp
popl %esi
popl %edi
leave
ret $4
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295