Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: BSF/R not working well for me...

Author: Vincent Diepeveen

Date: 06:48:15 04/26/01

Go up one level in this thread


On April 25, 2001 at 14:36:55, Bas Hamstra wrote:

>On April 24, 2001 at 21:14:32, Landon Rabern wrote:
>
>>On April 24, 2001 at 08:44:15, Vincent Diepeveen wrote:
>>
>>>On April 23, 2001 at 22:19:33, Landon Rabern wrote:
>>>
>>>>On April 23, 2001 at 19:30:20, Alex Boby wrote:

>>You are probably right, but I can see no way to get the same functionality
>>without branching.
>
>Yes, you can save 1 branch totally for free. I post mine again.
>
>int LastOne(BB M)
>{   __asm
>    {   mov EAX, dword ptr [M]
>        bsf EAX, EAX
>        jnz Done
>	mov EAX, dword ptr [M+4]
>        bsf EAX, EAX
>        add EAX, 32
>        Done:
>    }
>}
>
>Bas.

So something which costs me without bitboards 0 clocks here
costs if branch misprediction at least 10 clocks at P3 and at least 20
at P4 and way more as 10 at K7.

How about rewriting the above code to something larger *without*
branch?





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.