/[pcsx2_0.9.7]/trunk/common/include/Utilities/MemcpyFast.h
ViewVC logotype

Diff of /trunk/common/include/Utilities/MemcpyFast.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 61 by william, Tue Sep 7 03:24:11 2010 UTC revision 62 by william, Tue Sep 7 11:08:22 2010 UTC
# Line 22  Line 22 
22          extern "C" void __fastcall memcpy_amd_(void *dest, const void *src, size_t bytes);          extern "C" void __fastcall memcpy_amd_(void *dest, const void *src, size_t bytes);
23          extern "C" u8 memcmp_mmx(const void* src1, const void* src2, int cmpsize);          extern "C" u8 memcmp_mmx(const void* src1, const void* src2, int cmpsize);
24          extern "C" void memxor_mmx(void* dst, const void* src1, int cmpsize);          extern "C" void memxor_mmx(void* dst, const void* src1, int cmpsize);
25            extern void memcpy_amd_qwc(void *dest, const void *src, size_t bytes);
26    
27  #else  #else
28    
29  #       include "win_memzero.h"  #       include "win_memzero.h"
30    
31          extern void __fastcall memcpy_amd_(void *dest, const void *src, size_t bytes);          extern void __fastcall memcpy_amd_(void *dest, const void *src, size_t bytes);
32            extern void memcpy_amd_qwc(void *dest, const void *src, size_t bytes);
33          extern u8 memcmp_mmx(const void* src1, const void* src2, int cmpsize);          extern u8 memcmp_mmx(const void* src1, const void* src2, int cmpsize);
34          extern void memxor_mmx(void* dst, const void* src1, int cmpsize);          extern void memxor_mmx(void* dst, const void* src1, int cmpsize);
35    
# Line 36  Line 38 
38  // Only used in the Windows version of memzero.h. But it's in Misc.cpp for some reason.  // Only used in the Windows version of memzero.h. But it's in Misc.cpp for some reason.
39  void _memset16_unaligned( void* dest, u16 data, size_t size );  void _memset16_unaligned( void* dest, u16 data, size_t size );
40    
41  #define memcpy_fast             memcpy_amd_ // Fast memcpy  // MemcpyVibes.cpp functions
42  #define memcpy_aligned  memcpy_amd_     // Memcpy with 16-byte Aligned addresses  extern void memcpy_vibes(void * dest, const void * src, int size);
43  #define memcpy_const    memcpy_amd_     // Memcpy with constant size  extern void gen_memcpy_vibes();
44  #define memcpy_constA   memcpy_amd_ // Memcpy with constant size and 16-byte aligned  
45    #define memcpy_fast                             memcpy_amd_  // Fast memcpy
46    #define memcpy_aligned(d,s,c)   memcpy_amd_(d,s,c)      // Memcpy with 16-byte Aligned addresses
47    #define memcpy_const                    memcpy_amd_      // Memcpy with constant size
48    #define memcpy_constA                   memcpy_amd_  // Memcpy with constant size and 16-byte aligned
49    #define memcpy_qwc_                             memcpy_vibes // Memcpy in aligned qwc increments, with 0x400 qwc or less
50    #define memcpy_qwc(d,s,c)               memcpy_amd_qwc(d,s,c)
51    
52    // Useful alternative if we think memcpy_amd_qwc is buggy
53    //#define memcpy_qwc(d,s,c)             memcpy_amd_(d,s,c*16)

Legend:
Removed from v.61  
changed lines
  Added in v.62

  ViewVC Help
Powered by ViewVC 1.1.22