Messages in this thread | | | Subject | Re: Some functions are not inlined by gcc 3.2, resulting code is ugly | From | Jussi Laako <> | Date | 03 Nov 2002 18:17:51 +0200 |
| |
On Sun, 2002-11-03 at 18:17, Denis Vlasenko wrote:
Jump target 17e0 is aligned (with nops):
> 17dd: 88 02 mov %al,(%edx) > 17df: 90 nop > 17e0: 89 d0 mov %edx,%eax > 17e2: 5a pop %edx
> 17ec: eb f2 jmp 17e0 <__constant_memcpy+0x20>
> 17fa: eb e4 jmp 17e0 <__constant_memcpy+0x20>
> 1800: eb de jmp 17e0 <__constant_memcpy+0x20>
> 187c: e9 5f ff ff ff jmp 17e0 <__constant_memcpy+0x20> > 1881: eb 0d jmp 1890 <__constant_memcpy+0xd0> > 1883: 90 nop ... > 188f: 90 nop > 1890: c1 e9 02 shr $0x2,%ecx > 1893: 89 d7 mov %edx,%edi
And also jump target 1890 is aligned.
I think the penalty of few NOPs is smaller than result of jump to unaligned address. This is especially true with P4 architecture.
- Jussi Laako [unhandled content-type:application/pgp-signature] | |