lkml.org 
[lkml]   [2003]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 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/

    \
     
     \ /
      Last update: 2005-03-22 13:33    [W:0.022 / U:0.764 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site