All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] orion5x: optimize window size computation
Date: Wed, 06 Oct 2010 07:51:30 +0200	[thread overview]
Message-ID: <4CAC0E62.8030101@free.fr> (raw)
In-Reply-To: <4CAB9B40.7090008@free.fr>

Le 05/10/2010 23:40, Chris Moore a ?crit :
> Hi Prafulla,
>
> Le 05/10/2010 07:57, Prafulla Wadaskar a ?crit :
>>
>>
>>> -----Original Message-----
>>> From: u-boot-bounces at lists.denx.de
>>> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Albert Aribaud
>>> Sent: Tuesday, October 05, 2010 3:52 AM
>>> To: u-boot at lists.denx.de
>>> Subject: [U-Boot] [PATCH] orion5x: optimize window size computation
>>>
>>>
>>> Signed-off-by: Chris Moore<moore@free.fr>
>>> ---
>>>
>>> This is a simple optimization of the orion5x window size
>>> computation. This code was contributed by Chris Moore so
>>> I put his Signed-off-by rather than mine.
>> This is wrong, you should be singed-off since you are posting and
>> Chris can be contributor
>> Or let him post the patch.
>
> I asked Albert to post the patch as I am mainly a U-Boot lurker and I
> have no U-Boot git tree.
> If there is a problem I don't mind if he signs off either with or
> without me.

Or how about a double Signed-off-by?

>> BTW: How much this saves on size?

More than 53% of the code size! That's 28 bytes instead of 60. :)

> It is not so much a question of size. I am afraid that the other version
> was just plain *wrong* :(

Indeed. Prafulla, you'll remember that there was a generally horribly 
wrong version before, which I'd fixed with what I thought was a correct 
version, and is for many sizes, principally those of the for 2**N, but 
not all. Chris' version fixes all cases.

> The loop version may be slightly shorter in code size, particularly if
> one removes the unnecessary and with 0x0000ffff at the end.

It's not: yours is shorter, thanks to the compiler being able to 
optimize things.

> But aesthetically I find the version above much more pleasing.
> (Didn't Donald Knuth write "The *Art* of Computer Programming"?)
> It is also much faster for large window sizes but this probably doesn't
> matter here.

Your code is 7 instructions flat whatever the size, whereas the loop has 
a fixed 9 instruction setup and exit penalty, plus 5 instructions per 
bit shift (plus one literal). So your code is *always* faster.

> Cheers,
> Chris

Amicalement,
-- 
Albert.

  reply	other threads:[~2010-10-06  5:51 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-04 22:22 [U-Boot] [PATCH] orion5x: optimize window size computation Albert Aribaud
2010-10-05  5:57 ` Prafulla Wadaskar
2010-10-05 21:40   ` Chris Moore
2010-10-06  5:51     ` Albert ARIBAUD [this message]
2010-10-06  9:34       ` Prafulla Wadaskar
2010-10-06 13:29         ` Wolfgang Denk
2010-10-06 13:47           ` Albert ARIBAUD
2010-10-06 14:24             ` Prafulla Wadaskar
2010-10-06  9:38       ` [U-Boot] Mvbge driver broken on kirkwood platforms after ARM relocation Prafulla Wadaskar
2010-10-06 13:30         ` Wolfgang Denk
2010-10-06 13:54           ` Albert ARIBAUD
2010-10-06 13:56             ` Albert ARIBAUD
2010-10-06 14:14               ` Prafulla Wadaskar
2010-10-06 14:43                 ` Albert ARIBAUD
2010-10-06 14:22           ` Prafulla Wadaskar
2010-10-06 15:56             ` Albert ARIBAUD
2010-10-06 17:36               ` Albert ARIBAUD
2010-10-06 17:54                 ` Albert ARIBAUD
2010-10-07  4:37                   ` Prafulla Wadaskar
2010-10-07  9:57                   ` Prafulla Wadaskar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CAC0E62.8030101@free.fr \
    --to=albert.aribaud@free.fr \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.