Author: Sune Fischer
Date: 14:29:30 09/13/02
Go up one level in this thread
On September 13, 2002 at 16:43:36, Gerd Isenberg wrote: >On September 13, 2002 at 15:57:51, Sune Fischer wrote: > >>On September 13, 2002 at 14:36:21, Gerd Isenberg wrote: >> >>>On September 13, 2002 at 04:07:55, Sune Fischer wrote: >>> >>>>On September 12, 2002 at 21:19:08, Gerd Isenberg wrote: >>>> >>>>>Hi all, >>>>> >>>>>My first MMX-Routine (MSC inline asm) that gains considerable performance! >>>> >>>>Wow, that's great. How much faster do think it is? >>>> >>> >>>A loop of 100,000,000 * 2 calls with the two sample pathes take (XP2.1): >>> >>>C-Version with inlined shift 80 seconds >>>shlightly improved mmx version 56 seconds >>>10fold unrolled boolean mmx 35 seconds >>> >>>I find with paddb a nice replacement for left shift one (board right) with no >>>need to mask for byte-wraps. >> >>I notice you do a lookup into the table scBBOfBit. >>I found that doing the shift on the fly was a tiny bit faster, I imagine with >>MMX that the gain would be even larger, have you tried it? >> >>-S. > >Ahh, not yet. But can you tell me an easy way to get a 0x00...0001 inside a mmx >register? You have to do a read a bitboard via memory. Therefore the lookup >saves the shift, but otherwise it's more cache friendly. A shot in the dark perhaps, how about: static BitBoard one=0x0000000000000001; ... moveq mm1, [one] mov eax, [from] mov edx, [to] psllq mm1, eax psllq mm2, edx ? ... -S. 1/64 the memory :) -S. >Gerd
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.