Author: Dominic C. Marcello
Date: 11:40:37 09/19/01
Go up one level in this thread
> > I've found most of the extra work in terms of assembly to be pretty small >compared to the benefits. If you're compiler supports inline functions in C and >inline assembly (I use MSVC++, and I specifiy __forceinline), it's really pretty >easy to implement. The inline inline assembly functions only have to do a few >really simple things. Like And( sint64 b, sint64 bb ) just ands the two >bitboards, the function for this is simply >__forceinline( sint64 b1, sint64 b2 ) { > sint64 ret; accidently submitted before i was done anyway its just __forceinline And( long long b1, long long b2 ) { long long ret; __asm { movq mm0, b1 pand b1, b2 movq ret, mm0 } return ret; } only three instructions. More complicated things are obviously longer - for instance I have one inline function in assembly that sets a bit on all of the rotated bitboards. But most of my inline inline assembly functions are about 5 or 6 unstructions long on average.
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.