comparison cpudetect.c @ 28901:e1b7d9bf263b

SSE3 support patch by Zhou Zongyi, zhouzongyi pset.suntec net
author diego
date Thu, 12 Mar 2009 10:50:21 +0000
parents 156862492c61
children 8450a9da95f7
comparison
equal deleted inserted replaced
28900:b2d3d9408a99 28901:e1b7d9bf263b
141 // general feature flags: 141 // general feature flags:
142 caps->hasTSC = (regs2[3] & (1 << 8 )) >> 8; // 0x0000010 142 caps->hasTSC = (regs2[3] & (1 << 8 )) >> 8; // 0x0000010
143 caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 143 caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000
144 caps->hasSSE = (regs2[3] & (1 << 25 )) >> 25; // 0x2000000 144 caps->hasSSE = (regs2[3] & (1 << 25 )) >> 25; // 0x2000000
145 caps->hasSSE2 = (regs2[3] & (1 << 26 )) >> 26; // 0x4000000 145 caps->hasSSE2 = (regs2[3] & (1 << 26 )) >> 26; // 0x4000000
146 caps->hasSSE3 = (regs2[2] & 1); // 0x0000001
146 caps->hasSSSE3 = (regs2[2] & (1 << 9 )) >> 9; // 0x0000200 147 caps->hasSSSE3 = (regs2[2] & (1 << 9 )) >> 9; // 0x0000200
147 caps->hasMMX2 = caps->hasSSE; // SSE cpus supports mmxext too 148 caps->hasMMX2 = caps->hasSSE; // SSE cpus supports mmxext too
148 cl_size = ((regs2[1] >> 8) & 0xFF)*8; 149 cl_size = ((regs2[1] >> 8) & 0xFF)*8;
149 if(cl_size) caps->cl_size = cl_size; 150 if(cl_size) caps->cl_size = cl_size;
150 151
456 caps->hasMMX2=0; 457 caps->hasMMX2=0;
457 caps->has3DNow=0; 458 caps->has3DNow=0;
458 caps->has3DNowExt=0; 459 caps->has3DNowExt=0;
459 caps->hasSSE=0; 460 caps->hasSSE=0;
460 caps->hasSSE2=0; 461 caps->hasSSE2=0;
462 caps->hasSSE3=0;
461 caps->hasSSSE3=0; 463 caps->hasSSSE3=0;
462 caps->hasSSE4a=0; 464 caps->hasSSE4a=0;
463 caps->isX86=0; 465 caps->isX86=0;
464 caps->hasAltiVec = 0; 466 caps->hasAltiVec = 0;
465 #if HAVE_ALTIVEC 467 #if HAVE_ALTIVEC