diff options
author | austriancoder <austriancoder> | 2004-08-23 15:38:52 +0000 |
---|---|---|
committer | austriancoder <austriancoder> | 2004-08-23 15:38:52 +0000 |
commit | 791ae1aa43007dd0cd17baeb5f7a068689707798 (patch) | |
tree | b01b9a7e780d88cc0642da4e5b2c822b7f113a1e /dxr3memcpy.c | |
parent | 389e36a93db0bd137ba76d424064de1f9a7ea219 (diff) | |
download | vdr-plugin-dxr3-791ae1aa43007dd0cd17baeb5f7a068689707798.tar.gz vdr-plugin-dxr3-791ae1aa43007dd0cd17baeb5f7a068689707798.tar.bz2 |
should now compile also with gcc 2.95
Diffstat (limited to 'dxr3memcpy.c')
-rw-r--r-- | dxr3memcpy.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/dxr3memcpy.c b/dxr3memcpy.c index a8814b6..3a545f3 100644 --- a/dxr3memcpy.c +++ b/dxr3memcpy.c @@ -93,6 +93,10 @@ int d0, d1, d2; #define MMX1_MIN_LEN 0x800 /* 2K blocks */ #define MIN_LEN 0x40 /* 64-byte blocks */ + +// Test for GCC > 3.2.0 +#if GCC_VERSION > 30200 + // ================================== /* SSE note: i tried to move 128 bytes a time instead of 64 but it didn't make any measureable difference. i'm using 64 for the sake of @@ -256,7 +260,7 @@ static void * mmx2_memcpy(void * to, const void * from, size_t len) " prefetchnta 224(%0)\n" " prefetchnta 256(%0)\n" " prefetchnta 288(%0)\n" - : : "r" (from) ); + :: "r" (from) ); if(len >= MIN_LEN) { @@ -308,6 +312,8 @@ static void * mmx2_memcpy(void * to, const void * from, size_t len) return retval; } +#endif /*GCC_VERSION > 30200*/ + // ================================== static void *linux_kernel_memcpy(void *to, const void *from, size_t len) { return __memcpy(to,from,len); @@ -344,6 +350,9 @@ cDxr3MemcpyBench::cDxr3MemcpyBench(uint32_t config_flags) routine.cpu_require = 0; m_methods.push_back(routine); + // Test for GCC > 3.2.0 + #if GCC_VERSION > 30200 + // MMX optimized memcpy() routine.name = "MMX optimized memcpy()"; routine.function = mmx_memcpy; @@ -356,7 +365,7 @@ cDxr3MemcpyBench::cDxr3MemcpyBench(uint32_t config_flags) routine.cpu_require = CC_MMXEXT; m_methods.push_back(routine); - #ifndef __FreeBSD__ + # ifndef __FreeBSD__ // SSE optimized memcpy() routine.name = "SSE optimized memcpy()"; @@ -364,7 +373,8 @@ cDxr3MemcpyBench::cDxr3MemcpyBench(uint32_t config_flags) routine.cpu_require = CC_MMXEXT|CC_SSE; m_methods.push_back(routine); - #endif /*__FreeBSD__*/ + # endif /*__FreeBSD__*/ + #endif /*GCC_VERSION > 30200*/ // #endif /*ARCH_X86*/ |