--- xvid_bench.c 2006/11/01 07:12:26 1.34 +++ xvid_bench.c 2008/11/26 23:37:28 1.38 @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: xvid_bench.c,v 1.34 2006/11/01 07:12:26 Skal Exp $ + * $Id: xvid_bench.c,v 1.38 2008/11/26 23:37:28 Isibaar Exp $ * ****************************************************************************/ @@ -115,19 +115,18 @@ CPU cpu_list[] = { { "PLAINC ", 0 }, -#ifdef ARCH_IS_IA32 +#if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64) { "MMX ", XVID_CPU_MMX }, { "MMXEXT ", XVID_CPU_MMXEXT | XVID_CPU_MMX }, { "SSE2 ", XVID_CPU_SSE2 | XVID_CPU_MMX }, + { "SSE3 ", XVID_CPU_SSE3 | XVID_CPU_SSE2 | XVID_CPU_MMX }, + { "SSE41 ", XVID_CPU_SSE41| XVID_CPU_SSE3 | XVID_CPU_SSE2 | XVID_CPU_MMX }, { "3DNOW ", XVID_CPU_3DNOW }, { "3DNOWE ", XVID_CPU_3DNOW | XVID_CPU_3DNOWEXT }, #endif #ifdef ARCH_IS_PPC { "ALTIVEC", XVID_CPU_ALTIVEC }, #endif -#ifdef ARCH_IS_X86_64 - { "X86_64 ", XVID_CPU_ASM}, -#endif #ifdef ARCH_IS_IA64 // { "IA64 ", XVID_CPU_IA64 }, #endif @@ -412,6 +411,15 @@ cpu->name, t, s, (s!=26274)?"| ERROR": "" ); + t = gettime_usec(); + emms(); + for(tst=0; tstname, t, s, + (s!=4002)?"| ERROR": "" ); + t = gettime_usec(); emms(); for(tst=0; tstname!=0; ++cpu) { double t, overhead; - int tst, q; + int32_t tst, q; uint32_t s; if (!init_cpu(cpu)) @@ -820,7 +829,7 @@ TEST_QUANT2(quant_mpeg_intra, Dst, Src); printf("%s - quant_mpeg_intra %.3f usec crc32=0x%08x %s\n", cpu->name, t, s, - (s!=0xfd6a21a4)? "| ERROR": ""); + (s!=0x3b999af6)? "| ERROR": ""); TEST_QUANT(quant_mpeg_inter, Dst, Src); printf("%s - quant_mpeg_inter %.3f usec crc32=0x%08x %s\n", @@ -1721,11 +1730,20 @@ t = (gettime_usec() - t) / nb_tests; \ iCrc = calc_crc((uint8_t*)Dst0, sizeof(Dst0), CRC32_INITIAL) -#define TEST_YUYV(FUNC, S) \ +#define TEST_YUYV(FUNC, S, FLIP) \ ENTER \ -for(tst=0; tstcpu & XVID_CPU_MMX){ lum8x8 = lum_8x8_mmx; csim = consim_mmx; @@ -2067,7 +2102,7 @@ if (cpu->cpu & XVID_CPU_MMX){ csim = consim_sse2; } - +#endif t = gettime_usec(); emms(); for(tst=0; tst