Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Acknowledgement MMX-Flood Filler

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.