------- Comment #3 from steven at gcc dot gnu dot org 2008-03-10 21:48 ------- IRA does not handle this either with -fno-split-wide-types. Left is IRA as-is with -O2 -fomit-frame-pointer. Right is same options + -fno-split-wide-types.
.file "t.c" .file "t.c" .text .text .p2align 4,,15 .p2align 4,,15 .globl _foo .globl _foo .def _foo; .scl 2; .def _foo; .scl 2; _foo: _foo: subl $12, %esp subl $12, %esp movl %ebx, 4(%esp) | movl %ebx, (%esp) movl %esi, 8(%esp) | movl %esi, 4(%esp) > movl %edi, 8(%esp) > call _bar > movl %eax, %esi > movl %edx, %edi call _bar call _bar movl %eax, %ebx movl %eax, %ebx > orl %esi, %ebx movl %edx, %esi movl %edx, %esi call _bar | orl %edi, %esi orl %ebx, %eax | movl %ebx, %eax orl %esi, %edx | movl 8(%esp), %edi movl 4(%esp), %ebx | movl %esi, %edx movl 8(%esp), %esi | movl (%esp), %ebx > movl 4(%esp), %esi addl $12, %esp addl $12, %esp ret ret .def _bar; .scl 2; .def _bar; .scl 2; -- steven at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-03-10 21:48:33 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35404