use asm fastcopy only on i386
This commit is contained in:
parent
5206f38b9b
commit
786efaa9e8
1 changed files with 3 additions and 3 deletions
|
@ -39,9 +39,7 @@ void FastCopy( byte *pDest, const byte *pSrc, size_t nBytes )
|
||||||
int nBytesFull = nBytes - ( nBytes % BYTES_PER_FULL );
|
int nBytesFull = nBytes - ( nBytes % BYTES_PER_FULL );
|
||||||
for ( byte *pLimit = pDest + nBytesFull; pDest < pLimit; pDest += BYTES_PER_FULL, pSrc += BYTES_PER_FULL )
|
for ( byte *pLimit = pDest + nBytesFull; pDest < pLimit; pDest += BYTES_PER_FULL, pSrc += BYTES_PER_FULL )
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_64BITS
|
#ifdef __i386__
|
||||||
memcpy( pDest, pSrc, BYTES_PER_FULL);
|
|
||||||
#else
|
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
mov esi, pSrc
|
mov esi, pSrc
|
||||||
|
@ -65,6 +63,8 @@ void FastCopy( byte *pDest, const byte *pSrc, size_t nBytes )
|
||||||
movntps [edi + 96], xmm6
|
movntps [edi + 96], xmm6
|
||||||
movntps [edi + 112], xmm7
|
movntps [edi + 112], xmm7
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
memcpy( pDest, pSrc, BYTES_PER_FULL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
nBytes -= nBytesFull;
|
nBytes -= nBytesFull;
|
||||||
|
|
Loading…
Reference in a new issue