|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 04 Jan 2003 19:37:21 To : Valentin Nechayev Subject : Re: kernel compiling -------------------------------------------------------------------------------- Valentin Nechayev <netch@segfault.kiev.ua> writes: > ASA> Оптимизатор тут ни при чем. > > Ты точно потерял контекст. Вот максимум что я смог добиться от 2.95.4: > > main: > pushl %ebp > movl %esp,%ebp > xorl %eax,%eax > xorl %edx,%edx > .p2align 2,0x90 > .L6: > incl %edx > movl $14,%ecx > .p2align 2,0x90 > .L10: > incl %eax > decl %ecx > jns .L10 > cmpl $4,%edx > jle .L6 > movl %ebp,%esp > popl %ebp > ret > > А ICC оказался умнее, он сразу дал готовый результат. Hе ICC. Умнее оказался Microsoft C++-6.0/sp<не помню> 98-го года. А вот ICC-7.0 выдал вот что (icc -O3 ): 08048b10 <main>: 8048b10: 55 push %ebp 8048b11: 8b ec mov %esp,%ebp 8048b13: 83 ec 03 sub $0x3,%esp 8048b16: 83 e4 f8 and $0xfffffff8,%esp 8048b19: 83 c4 04 add $0x4,%esp 8048b1c: 33 d2 xor %edx,%edx 8048b1e: 33 c0 xor %eax,%eax 8048b20: 83 c2 0f add $0xf,%edx 8048b23: 83 c0 01 add $0x1,%eax 8048b26: 83 f8 05 cmp $0x5,%eax 8048b29: 7c f5 jl 8048b20 <main+0x10> 8048b2b: 8b c2 mov %edx,%eax 8048b2d: 8b e5 mov %ebp,%esp 8048b2f: 5d pop %ebp 8048b30: c3 ret Внутренний цикл он свернул. -unloop[N] всё только портит. В смысле разворачивания циклов -march, само собой, ничего не даёт. -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5 * Origin: Science Soft (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1728330b3e7c9.html, оценка из 5, голосов 10
|