Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: BitBoard bit twiddling

Author: Simon Waters

Date: 11:56:02 10/30/00

Go up one level in this thread


On October 28, 2000 at 22:01:27, Robert Hyatt wrote:
>
>Crafty still has C code for these, although they are replaced by asm modules
>on the X86 machines...
>
>if you look in "boolean.c" you will find the way I do these things...

Thanks - I found the assembler routines and stopped looking.

I'd actually changed gnuchess to use the same algorithmn for PopCnt as Crafty
before looking at the assembler - based on the excellent bitwtiddling paper from
RICE - although it doesn't seem to have any performance benefit over the
algorithmns you've already donated to gnuchess (At least I seem to have gained
about 9% but can't be sure where it is coming from - my poor linux box was
floating around run level 2 trying to produce some more consistent numbers).

For leading bit I switched to the ffs builtin to gcc.

These two changes take the routines nbits and leadz out of the leading positions
when I profile without optimisation - which hints that they have helped - but
I'm having trouble proving it when we get to -O3. Che Sera Sera.



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.