Author: Lance Perkins
Date: 10:58:54 12/06/05
Go up one level in this thread
On December 06, 2005 at 13:08:59, Zappa wrote: >On December 06, 2005 at 01:32:58, Lance Perkins wrote: > >>int PawnForwardRotate[] = {8,64-8}; >>unsigned __int64 PawnForwardMask[] = {0xffffffffffffff00, 0x00ffffffffffffff}; >> >>_rotl64 (bbPawns, PawnForwardRotate[color]) & PawnForwardMask[color]; >> >>// pre-cond: >>// Rax = pawn bb >>// Rdx = color >> >>mov ecx, DWORD PTR PawnForwardRotate[Rdx*4] >>rol rax, cl >>and rax, QWORD PTR PawnForwardMask[Rdx*8] > > >Hmm. That certainly helps a lot. You could do up to a 16 point shift with no >problems, although there is another instruction. > >Just out of curiosity, is this in Thinker? > >anthony Only on the 64-bit version of Thinker. The 32-bit compiler emits too much code.
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.