Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: yes, i'm learning C++

Author: Gerd Isenberg

Date: 12:30:50 12/21/05

Go up one level in this thread


and for the record a mmx-one with a small __m64 wrapper:


struct MMX
{
  MMX(const __m64 m){x = m;}
  friend MMX operator& (const MMX &a, const MMX &b) {
  return MMX(_mm_and_si64(a.x, b.x));}
  union	{
    __m64 x;	// this intrinsice type is wrapped here
    BitBoard b;
  };
};

andIntVector<MMX, 2048, a1, a2, a3>();


_TEXT	SEGMENT
??$andIntVector@UMMX@@$0IAA@$1?a1@@3PAHA$1?a2@@3PAHA$1?a3@@3PAHA@@YAXXZ PROC ;
andIntVector<MMX,2048,&a1,&a2,&a3>, COMDAT
  00000	33 c0		 xor	 eax, eax
  00002	b9 00 01 00 00	 mov	 ecx, 256		; 00000100H
  00007	eb 07 8d a4 24
	00 00 00 00	 npad	 9
$LL3@andIntVect:
  00010	0f 6f 80 00 00
	00 00		 movq	 mm0, MMWORD PTR ?a1@@3PAHA[eax]
  00017	0f 6f 88 00 00
	00 00		 movq	 mm1, MMWORD PTR ?a2@@3PAHA[eax]
  0001e	0f db c1	 pand	 mm0, mm1
  00021	0f 7f 80 00 00
	00 00		 movq	 MMWORD PTR ?a3@@3PAHA[eax], mm0
  00028	0f 6f 80 08 00
	00 00		 movq	 mm0, MMWORD PTR ?a1@@3PAHA[eax+8]
  0002f	0f 6f 88 08 00
	00 00		 movq	 mm1, MMWORD PTR ?a2@@3PAHA[eax+8]
  00036	0f db c1	 pand	 mm0, mm1
  00039	0f 7f 80 08 00
	00 00		 movq	 MMWORD PTR ?a3@@3PAHA[eax+8], mm0
  00040	0f 6f 80 10 00
	00 00		 movq	 mm0, MMWORD PTR ?a1@@3PAHA[eax+16]
  00047	0f 6f 88 10 00
	00 00		 movq	 mm1, MMWORD PTR ?a2@@3PAHA[eax+16]
  0004e	0f db c1	 pand	 mm0, mm1
  00051	0f 7f 80 10 00
	00 00		 movq	 MMWORD PTR ?a3@@3PAHA[eax+16], mm0
  00058	0f 6f 80 18 00
	00 00		 movq	 mm0, MMWORD PTR ?a1@@3PAHA[eax+24]
  0005f	0f 6f 88 18 00
	00 00		 movq	 mm1, MMWORD PTR ?a2@@3PAHA[eax+24]
  00066	0f db c1	 pand	 mm0, mm1
  00069	0f 7f 80 18 00
	00 00		 movq	 MMWORD PTR ?a3@@3PAHA[eax+24], mm0
  00070	83 c0 20	 add	 eax, 32			; 00000020H
  00073	83 e9 01	 sub	 ecx, 1
  00076	75 98		 jne	 SHORT $LL3@andIntVect
  00078	c3		 ret	 0
??$andIntVector@UMMX@@$0IAA@$1?a1@@3PAHA$1?a2@@3PAHA$1?a3@@3PAHA@@YAXXZ ENDP ;
andIntVector<MMX,2048,&a1,&a2,&a3>
_TEXT	ENDS



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.