Author: Robert Hyatt
Date: 20:11:21 03/29/03
Go up one level in this thread
On March 29, 2003 at 19:46:54, Sune Fischer wrote:
>On March 29, 2003 at 17:23:58, Robert Hyatt wrote:
>
>>On March 29, 2003 at 09:00:22, Sune Fischer wrote:
>>
>>>I'm trying to compile my program with GCC, and the assembler parts are causing
>>>me some problems.
>>>
>>>I couldn't find any assembler versions of FirstOne and PopCount in Crafty.
>>>Are the table versions in C much slower?
>>
>>Did you look at X86.s?
>>
>>That's where they are.
>
>Yeah, so I was told, but they are not easy to "get into" the program.
>
>I also found that the tables are practicly just as fast, with portability in
>mind that might be a better choice for me.
>
>However, Crafty is using the most significant bit as the first bit, right?
>
>int FirstOne(BITBOARD arg1) {
> if (arg1>>48)
> return (first_one[arg1>>48]);
> if ((arg1>>32)&65535)
> return (first_one[(arg1>>32)&65535]+16);
> if ((arg1>>16)&65535)
> return (first_one[(arg1>>16)&65535]+32);
> return (first_one[arg1&65535]+48);
>}
>
>You check the upper 16 bits first, so...
>
>Was easy to rewrite though :)
>
>I wonder if the cache friendly 8 bit version is faster?
>
>-S.
MSB=0, LSB=63, correct.
I tried both and they were pretty similar if I recall...
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.