uint64_t b = 0;
asm volatile( "mrs %0, pmccntr_el0" : "=r"(b) :: "memory" );
a = b;
+#elif ARCH_MIPS
+ asm volatile( "rdhwr %0, $2" : "=r"(a) :: "memory" );
#endif
return a;
}
#elif ARCH_AARCH64
b->cpu&X264_CPU_NEON ? "neon" :
b->cpu&X264_CPU_ARMV8 ? "armv8" :
+#elif ARCH_MIPS
+ b->cpu&X264_CPU_MSA ? "msa" :
#endif
"c",
#if HAVE_MMX
ret |= add_flags( &cpu0, &cpu1, X264_CPU_ARMV8, "ARMv8" );
if( cpu_detect & X264_CPU_NEON )
ret |= add_flags( &cpu0, &cpu1, X264_CPU_NEON, "NEON" );
+#elif ARCH_MIPS
+ if( cpu_detect & X264_CPU_MSA )
+ ret |= add_flags( &cpu0, &cpu1, X264_CPU_MSA, "MSA" );
#endif
return ret;
}
if( argc > 1 && !strncmp( argv[1], "--bench", 7 ) )
{
-#if !ARCH_X86 && !ARCH_X86_64 && !ARCH_PPC && !ARCH_ARM && !ARCH_AARCH64
+#if !ARCH_X86 && !ARCH_X86_64 && !ARCH_PPC && !ARCH_ARM && !ARCH_AARCH64 && !ARCH_MIPS
fprintf( stderr, "no --bench for your cpu until you port rdtsc\n" );
return 1;
#endif