Messages in this thread | | | Date | Tue, 11 Mar 2003 15:09:13 -0800 | From | Andrew Morton <> | Subject | Re: Runaway cron task on 2.5.63/4 bk? |
| |
Linus Torvalds <torvalds@transmeta.com> wrote: > > > On Tue, 11 Mar 2003, Andrew Morton wrote: > > > > gcc will generate 64bit * 64bit multiplies without resorting to > > any library code > > However, gcc is unable to do-the-right-thing and generate 32x32->64 > multiplies, or 32x64->64 multiplies, even though those are both a _lot_ > faster than the full 64x64->64 case.
2.95.3 and 3.2.1 seem to do it right?
long a; long b; long long c;
void foo(void) { c = a * b; }
.file "t.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl foo .type foo,@function foo: pushl %ebp movl %esp,%ebp movl a,%eax imull b,%eax movl %eax,c cltd movl %edx,c+4 .L2: movl %ebp,%esp popl %ebp ret .Lfe1: .size foo,.Lfe1-foo .comm a,4,4 .comm b,4,4 .comm c,8,4 .ident "GCC: (GNU) 2.95.3 20010315 (release)"
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |