comparison i386/cputest.c @ 4311:f9325f2bc762 libavcodec

Add SSSE3 (Core2 aka Conroe/Merom/Woodcrester new instructions) detection
author gpoirier
date Mon, 18 Dec 2006 22:43:09 +0000
parents c8c591fe26f8
children d5ba514e3f4a
comparison
equal deleted inserted replaced
4310:a0c0c7bebd64 4311:f9325f2bc762
85 rval |= MM_MMXEXT | MM_SSE; 85 rval |= MM_MMXEXT | MM_SSE;
86 if (std_caps & (1<<26)) 86 if (std_caps & (1<<26))
87 rval |= MM_SSE2; 87 rval |= MM_SSE2;
88 if (ecx & 1) 88 if (ecx & 1)
89 rval |= MM_SSE3; 89 rval |= MM_SSE3;
90 if (ecx & 0x00000200 )
91 rval |= MM_SSSE3;
90 } 92 }
91 93
92 cpuid(0x80000000, max_ext_level, ebx, ecx, edx); 94 cpuid(0x80000000, max_ext_level, ebx, ecx, edx);
93 95
94 if(max_ext_level >= 0x80000001){ 96 if(max_ext_level >= 0x80000001){
102 if (ext_caps & (1<<22)) 104 if (ext_caps & (1<<22))
103 rval |= MM_MMXEXT; 105 rval |= MM_MMXEXT;
104 } 106 }
105 107
106 #if 0 108 #if 0
107 av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s\n", 109 av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s%s%s\n",
108 (rval&MM_MMX) ? "MMX ":"", 110 (rval&MM_MMX) ? "MMX ":"",
109 (rval&MM_MMXEXT) ? "MMX2 ":"", 111 (rval&MM_MMXEXT) ? "MMX2 ":"",
110 (rval&MM_SSE) ? "SSE ":"", 112 (rval&MM_SSE) ? "SSE ":"",
111 (rval&MM_SSE2) ? "SSE2 ":"", 113 (rval&MM_SSE2) ? "SSE2 ":"",
114 (rval&MM_SSE3) ? "SSE3 ":"",
115 (rval&MM_SSSE3) ? "SSSE3 ":"",
112 (rval&MM_3DNOW) ? "3DNow ":"", 116 (rval&MM_3DNOW) ? "3DNow ":"",
113 (rval&MM_3DNOWEXT) ? "3DNowExt ":""); 117 (rval&MM_3DNOWEXT) ? "3DNowExt ":"");
114 #endif 118 #endif
115 return rval; 119 return rval;
116 } 120 }