diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake index 889c0ba..b96aeff 100644 --- a/cmake/BuildParameters.cmake +++ b/cmake/BuildParameters.cmake @@ -126,7 +126,7 @@ if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386") if(NOT DEFINED ARCH_FLAG) if (DISABLE_ADVANCE_SIMD) - set(ARCH_FLAG "-msse -msse2 -mfxsr -march=i686") + set(ARCH_FLAG "-msse -msse2 -mfxsr -march=i686 -mxsave") else() # AVX requires some fix of the ABI (mangling) (default 2) # Note: V6 requires GCC 4.7 diff --git a/common/include/intrin_x86.h b/common/include/intrin_x86.h index 9665dd1..e35132e 100644 --- a/common/include/intrin_x86.h +++ b/common/include/intrin_x86.h @@ -104,12 +104,8 @@ static __inline__ __attribute__((always_inline)) void __cpuidex(int CPUInfo[], c __asm__ __volatile__("cpuid": "=a" (CPUInfo[0]), "=b" (CPUInfo[1]), "=c" (CPUInfo[2]), "=d" (CPUInfo[3]) : "a" (level), "c" (count)); } -static __inline__ __attribute__((always_inline)) unsigned long long _xgetbv(unsigned int index) -{ - unsigned int eax, edx; - __asm__ __volatile__("xgetbv" : "=a"(eax), "=d"(edx) : "c"(index)); - return ((unsigned long long)edx << 32) | eax; -} +#include +#define xgetbv _xgetbv /*** Interrupts ***/ #ifndef __linux__ diff --git a/common/src/x86emitter/cpudetect.cpp b/common/src/x86emitter/cpudetect.cpp index 717ca89..d6fb581 100644 --- a/common/src/x86emitter/cpudetect.cpp +++ b/common/src/x86emitter/cpudetect.cpp @@ -16,6 +16,7 @@ #include "PrecompiledHeader.h" #include "cpudetect_internal.h" #include "internal.h" +#include "intrin_x86.h" using namespace x86Emitter; @@ -270,7 +271,7 @@ void x86capabilities::Identify() if((Flags2 >> 27) & 1) // OSXSAVE { - if((_xgetbv(0) & 6) == 6) // XFEATURE_ENABLED_MASK[2:1] = '11b' (XMM state and YMM state are enabled by OS). + if((xgetbv(0) & 6) == 6) // XFEATURE_ENABLED_MASK[2:1] = '11b' (XMM state and YMM state are enabled by OS). { hasAVX = ( Flags2 >> 28 ) & 1; //avx hasFMA = ( Flags2 >> 12 ) & 1; //fma diff --git a/plugins/zzogl-pg/opengl/Util.h b/plugins/zzogl-pg/opengl/Util.h index 27fb537..24fbe72 100644 --- a/plugins/zzogl-pg/opengl/Util.h +++ b/plugins/zzogl-pg/opengl/Util.h @@ -41,8 +41,6 @@ #include #include -#include -#include #include #include diff --git a/plugins/zzogl-pg/opengl/ZZGl.h b/plugins/zzogl-pg/opengl/ZZGl.h index fd4f3b8..d5d1f17 100644 --- a/plugins/zzogl-pg/opengl/ZZGl.h +++ b/plugins/zzogl-pg/opengl/ZZGl.h @@ -36,9 +36,6 @@ // adding glew support instead of glXGetProcAddress (thanks to scaught) #include -#include -#include -#include #endif