Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Determining location of LSB/MSB

Author: Bas Hamstra

Date: 18:18:29 02/10/04

Go up one level in this thread


On February 10, 2004 at 15:00:53, Gerd Isenberg wrote:

>On February 10, 2004 at 10:57:15, Bas Hamstra wrote:
>
>>On February 09, 2004 at 09:07:41, Gerd Isenberg wrote:
>>
>>>On February 09, 2004 at 05:09:07, Renze Steenhuisen wrote:
>>>
>>>>
>>>>Hi there!
>>>>
>>>>does anyone know the fastest way to determine the lcoation of the Least/Most
>>>>Significant Bit, and to clear that bit?
>>>>
>>>>In my case the most important platforms (at the moment) are Pentium III and IV.
>>>>
>>>>Thanks!
>>>
>>>find lsb from CCC archives:
>>>
>>>http://chessprogramming.org/cccsearch/ccc.php?art_id=265616
>>>
>>>Walter Faxon's magic BitScan:
>>>http://chessprogramming.org/cccsearch/ccc.php?art_id=272378
>>>
>>>Matt Taylor's De Bruijn folding trick:
>>>http://chessprogramming.org/cccsearch/ccc.php?art_id=305965
>>>
>>>Gerd
>>>
>>>
>>>>
>>>>Renze
>>
>>Gerd,
>>
>>IMO the BSF instruction is still fastest. Don't test this in loops, in a
>>searching engine you get quite different results and BSF is in my case clearly
>>the winner,
>
>Hi Bas,
>
>yes, i'm aware of loop tests :-)
>and i still use bsf too with my athlon XP.
>But i'm working on completely get rid of it, but not only due the fact that
>bsf64 is still 9 cycle vector path instruction on Opteron.
>
>
>>especially for the paltforms he mentiones, and besides he is not
>>talking 64 bit...
>
>oups, sorry.
>
>>
>>
>>Bas.
>>
>>
>>int LastOne(unsigned int Number)
>>
>>{  asm mov EAX, Number
>>   asm BSF EAX, EAX
>>}
>
>isn't that shorter?
>
>int LastOne(unsigned int Number)
>{
>   asm BSF EAX, word ptr[Number]
>}
>

It is shorter, but I am not sure it is faster. In fact I would expect the 2
basic intructions run faster than 1 complex instruction. A book about optimizing
("Inner loops") advices to always split up in basic RISC instructions, because
it is nearly always faster. But then again you are more experienced than me with
asm, so I don't feel too confident.

ciao Gerd,
Bas.









This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.