netdev
[Top] [All Lists]

Re: MSEC_TO_JIFFIES is messed up...

To: Davide Libenzi <davidel@xxxxxxxxxxxxxxx>
Subject: Re: MSEC_TO_JIFFIES is messed up...
From: Ingo Molnar <mingo@xxxxxxx>
Date: Wed, 12 May 2004 23:12:55 +0200
Cc: Jeff Garzik <jgarzik@xxxxxxxxx>, Greg KH <greg@xxxxxxxxx>, Andrew Morton <akpm@xxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Netdev <netdev@xxxxxxxxxxx>
In-reply-to: <Pine.LNX.4.58.0405121400360.11950@xxxxxxxxxxxxxxxxxxxxxxx>
References: <20040512020700.6f6aa61f.akpm@xxxxxxxx> <20040512181903.GG13421@xxxxxxxxx> <40A26FFA.4030701@xxxxxxxxx> <20040512193349.GA14936@xxxxxxx> <Pine.LNX.4.58.0405121247011.11950@xxxxxxxxxxxxxxxxxxxxxxx> <20040512200305.GA16078@xxxxxxx> <Pine.LNX.4.58.0405121400360.11950@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.1i
* Davide Libenzi <davidel@xxxxxxxxxxxxxxx> wrote:

> int foo(int i) {
> 
> 
>         return i * 1000 / 1000;
> }

try unsigned and you'll see:

        pushl   %ebp
        movl    %esp, %ebp
        movl    8(%ebp), %edx
        movl    %edx, %eax
        sall    $2, %eax
        addl    %edx, %eax
        leal    0(,%eax,4), %edx
        addl    %edx, %eax
        leal    0(,%eax,4), %edx
        addl    %edx, %eax
        leal    0(,%eax,8), %edx
        movl    $274877907, %eax
        mull    %edx
        movl    %edx, %eax
        shrl    $6, %eax
        leave
        ret

    Ingo

<Prev in Thread] Current Thread [Next in Thread>