diff --git a/libavcodec/i386/cputest.c b/libavcodec/i386/cputest.c index b50d653c4d..e4b1b51558 100644 --- a/libavcodec/i386/cputest.c +++ b/libavcodec/i386/cputest.c @@ -114,6 +114,17 @@ int mm_support(void) if (eax & 0x01000000) rval |= MM_MMXEXT; return rval; + } else if (ebx == 0x756e6547 && + edx == 0x54656e69 && + ecx == 0x3638784d) { + /* Tranmeta Crusoe */ + cpuid(0x80000000, eax, ebx, ecx, edx); + if ((unsigned)eax < 0x80000001) + return 0; + cpuid(0x80000001, eax, ebx, ecx, edx); + if ((edx & 0x00800000) == 0) + return 0; + return MM_MMX; } else { return 0; }