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