[U-Boot] [PATCH] arm: add 64-64 bit divider

Che-liang Chiou clchiou at chromium.org
Thu Sep 1 12:09:18 CEST 2011


Hi,

Thanks for the insightful comments. Here are my responses:

* Why don't I implement the divider in C?
It is not because I think it's performance critical (I haven't
benchmarked it yet), but because I have a probably wrong impression
that the divider has to be written in assembly --- all dividers in
arch/arm/lib/ are written in ARM assembly. What is the policy here for
using assembly or C?

* When do we need a 64-bit divider?
In kernel code do_div() is used for various purposes. So I think it
should be quite often that we would need a 64-bit divider in U-Boot.

* Do we need a 64-64 bit divider?
do_div() defines 64-32 bit division semantics (dividend is 64-bit and
divisor is 32-bit), and this patch implements a 64-64 bit divider
(both dividend and divisor are 64-bit). I have to admit that I can't
think of scenarios or reasons to justify a 64-64 bit divider instead
of a 64-32 bit divider, except that a 64-64 bit divider is more
generic than a 64-32 bit one.

So I guess we can agree that a 64-bit divider is feature that is nice
to have, and we should decide:
* Do we need a 64-64 bit divider or a 64-32 bit one?
* Do we write it in C or assembly?

Depending on our decisions, I will rewrite (or abandon) this patch accordingly.

Regards,
Che-Liang

On Thu, Sep 1, 2011 at 4:03 AM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Che-Liang Chiou,
>
> In message <1314787130-1043-1-git-send-email-clchiou at chromium.org> you wrote:
>> This patch adds a 64-64 bit divider that supports ARMv4 and above.
>
> To summarize the misc feedback:  Please explain in detail which
> problem you are trying to fix.  We see no need for this patch so far.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> "Success covers a multitude of blunders."       - George Bernard Shaw
>


More information about the U-Boot mailing list