Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Acknowledgement MMX-Flood Filler

Author: Gerd Isenberg

Date: 15:03:51 09/13/02

Go up one level in this thread


On September 13, 2002 at 17:29:30, Sune Fischer wrote:

>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;
> ...
>  movq  mm1, [one]
>  mov   eax, [from]
>  mov   edx, [to]
>  psllq mm1, eax  // invalid opcode
>  psllq mm2, edx  // invalid opcode
> ...
>
>-S.
>
>
> 1/64 the memory :)
>
>-S.
>
>
>>Gerd

may be this one?

	mov	eax, 1	; initial distance := 1 but consider later inc eax
	movd	mm0, [path]
	punpckldq mm0, [path+4]
	movd	mm1, eax
	movd	mm3, [from]
	movd	mm4, [to]
	movq	mm2, mm1
	psllq	mm1, mm3
	psllq	mm2, mm4

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.