Mercurial > mplayer.hg
comparison cpudetect.c @ 35101:3e1a4184b70e
Add SSE3, SSE4, SSE4.2 and AVX detection.
Patch by Xidorn Quan, quanxunzhen gmail
author | cehoyos |
---|---|
date | Fri, 14 Sep 2012 14:16:08 +0000 |
parents | 064be070d8c8 |
children | b4ce15212bfc |
comparison
equal
deleted
inserted
replaced
35100:bc7b006732c0 | 35101:3e1a4184b70e |
---|---|
313 caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 | 313 caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 |
314 caps->hasSSE = (regs2[3] & (1 << 25 )) >> 25; // 0x2000000 | 314 caps->hasSSE = (regs2[3] & (1 << 25 )) >> 25; // 0x2000000 |
315 caps->hasSSE2 = (regs2[3] & (1 << 26 )) >> 26; // 0x4000000 | 315 caps->hasSSE2 = (regs2[3] & (1 << 26 )) >> 26; // 0x4000000 |
316 caps->hasSSE3 = (regs2[2] & 1); // 0x0000001 | 316 caps->hasSSE3 = (regs2[2] & 1); // 0x0000001 |
317 caps->hasSSSE3 = (regs2[2] & (1 << 9 )) >> 9; // 0x0000200 | 317 caps->hasSSSE3 = (regs2[2] & (1 << 9 )) >> 9; // 0x0000200 |
318 caps->hasSSE4 = (regs2[2] & (1 << 19 )) >> 19; // 0x0080000 | |
319 caps->hasSSE42 = (regs2[2] & (1 << 20)) >> 20; // 0x0100000 | |
320 caps->hasAVX = (regs2[2] & (1 << 28 )) >> 28; // 0x10000000 | |
318 caps->hasMMX2 = caps->hasSSE; // SSE cpus supports mmxext too | 321 caps->hasMMX2 = caps->hasSSE; // SSE cpus supports mmxext too |
319 cl_size = ((regs2[1] >> 8) & 0xFF)*8; | 322 cl_size = ((regs2[1] >> 8) & 0xFF)*8; |
320 if(cl_size) caps->cl_size = cl_size; | 323 if(cl_size) caps->cl_size = cl_size; |
321 | 324 |
322 ptmpstr=tmpstr=GetCpuFriendlyName(regs, regs2); | 325 ptmpstr=tmpstr=GetCpuFriendlyName(regs, regs2); |
455 caps->has3DNowExt=0; | 458 caps->has3DNowExt=0; |
456 caps->hasSSE=0; | 459 caps->hasSSE=0; |
457 caps->hasSSE2=0; | 460 caps->hasSSE2=0; |
458 caps->hasSSE3=0; | 461 caps->hasSSE3=0; |
459 caps->hasSSSE3=0; | 462 caps->hasSSSE3=0; |
463 caps->hasSSE4=0; | |
464 caps->hasSSE42=0; | |
460 caps->hasSSE4a=0; | 465 caps->hasSSE4a=0; |
466 caps->hasAVX=0; | |
461 caps->isX86=0; | 467 caps->isX86=0; |
462 caps->hasAltiVec = 0; | 468 caps->hasAltiVec = 0; |
463 #if HAVE_ALTIVEC | 469 #if HAVE_ALTIVEC |
464 #ifdef __APPLE__ | 470 #ifdef __APPLE__ |
465 /* | 471 /* |