Mercurial > mplayer.hg
view cpudetect.h @ 27318:bb5ed9aa34fc
Remove AltiVec vector declaration compiler compatibility macros.
The original problem was that FSF and Apple gcc used a different syntax
for vector declarations, i.e. {} vs. (). Nowadays Apple gcc versions support
the standard {} syntax and versions that support {} are available on all
relevant Mac OS X versions. Thus the greater compatibility is no longer
worth cluttering the code with macros.
author | diego |
---|---|
date | Sat, 26 Jul 2008 12:26:04 +0000 |
parents | 4129c8cfa742 |
children | a02c39208d49 |
line wrap: on
line source
#ifndef MPLAYER_CPUDETECT_H #define MPLAYER_CPUDETECT_H #define CPUTYPE_I386 3 #define CPUTYPE_I486 4 #define CPUTYPE_I586 5 #define CPUTYPE_I686 6 #ifdef ARCH_X86_64 # define REGa rax # define REGb rbx # define REGBP rbp # define REGSP rsp # define REG_a "rax" # define REG_b "rbx" # define REG_c "rcx" # define REG_d "rdx" # define REG_S "rsi" # define REG_D "rdi" # define REG_SP "rsp" # define REG_BP "rbp" #else # define REGa eax # define REGb ebx # define REGBP ebp # define REGSP esp # define REG_a "eax" # define REG_b "ebx" # define REG_c "ecx" # define REG_d "edx" # define REG_S "esi" # define REG_D "edi" # define REG_SP "esp" # define REG_BP "ebp" #endif typedef struct cpucaps_s { int cpuType; int cpuModel; int cpuStepping; int hasMMX; int hasMMX2; int has3DNow; int has3DNowExt; int hasSSE; int hasSSE2; int isX86; unsigned cl_size; /* size of cache line */ int hasAltiVec; int hasTSC; } CpuCaps; extern CpuCaps gCpuCaps; void GetCpuCaps(CpuCaps *caps); /* returned value is malloc()'ed so free() it after use */ char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]); #endif /* MPLAYER_CPUDETECT_H */