mirror of https://github.com/PCSX2/pcsx2.git
gsdx: Relax SSE/AVX constraint on 64 bits
The JIT will automatically select the best ISA (only AVX1 so far)
This commit is contained in:
parent
8fd46e96aa
commit
cc6d193e1d
|
@ -212,16 +212,16 @@ bool GSUtil::CheckSSE()
|
||||||
|
|
||||||
ISA checks[] = {
|
ISA checks[] = {
|
||||||
{Xbyak::util::Cpu::tSSE2, "SSE2"},
|
{Xbyak::util::Cpu::tSSE2, "SSE2"},
|
||||||
#if _M_SSE >= 0x301 || defined(_M_AMD64)
|
#if _M_SSE >= 0x301
|
||||||
{Xbyak::util::Cpu::tSSSE3, "SSSE3"},
|
{Xbyak::util::Cpu::tSSSE3, "SSSE3"},
|
||||||
#endif
|
#endif
|
||||||
#if _M_SSE >= 0x401 || defined(_M_AMD64)
|
#if _M_SSE >= 0x401
|
||||||
{Xbyak::util::Cpu::tSSE41, "SSE41"},
|
{Xbyak::util::Cpu::tSSE41, "SSE41"},
|
||||||
#endif
|
#endif
|
||||||
#if _M_SSE >= 0x402 || defined(_M_AMD64)
|
#if _M_SSE >= 0x402
|
||||||
{Xbyak::util::Cpu::tSSE42, "SSE42"},
|
{Xbyak::util::Cpu::tSSE42, "SSE42"},
|
||||||
#endif
|
#endif
|
||||||
#if _M_SSE >= 0x500 || defined(_M_AMD64)
|
#if _M_SSE >= 0x500
|
||||||
{Xbyak::util::Cpu::tAVX, "AVX1"},
|
{Xbyak::util::Cpu::tAVX, "AVX1"},
|
||||||
#endif
|
#endif
|
||||||
#if _M_SSE >= 0x501
|
#if _M_SSE >= 0x501
|
||||||
|
|
|
@ -266,9 +266,10 @@ using namespace stdext;
|
||||||
#define ASSERT assert
|
#define ASSERT assert
|
||||||
|
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
|
|
||||||
#define _M_AMD64
|
#define _M_AMD64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _M_AMD64
|
||||||
// Yeah let use mips naming ;)
|
// Yeah let use mips naming ;)
|
||||||
#ifdef _WIN64
|
#ifdef _WIN64
|
||||||
#define a0 rcx
|
#define a0 rcx
|
||||||
|
@ -285,42 +286,26 @@ using namespace stdext;
|
||||||
#define t0 r8
|
#define t0 r8
|
||||||
#define t1 r9
|
#define t1 r9
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// sse
|
// sse
|
||||||
#if defined(__GNUC__) && !defined(__x86_64__)
|
#if defined(__GNUC__)
|
||||||
|
|
||||||
// Convert gcc see define into GSdx (windows) define
|
// Convert gcc see define into GSdx (windows) define
|
||||||
#if defined(__AVX2__)
|
#if defined(__AVX2__)
|
||||||
|
#if defined(__x86_64__)
|
||||||
|
#define _M_SSE 0x500 // TODO
|
||||||
|
#else
|
||||||
#define _M_SSE 0x501
|
#define _M_SSE 0x501
|
||||||
|
#endif
|
||||||
#elif defined(__AVX__)
|
#elif defined(__AVX__)
|
||||||
#define _M_SSE 0x500
|
#define _M_SSE 0x500
|
||||||
#elif defined(__SSE4_2__)
|
|
||||||
#define _M_SSE 0x402
|
|
||||||
#elif defined(__SSE4_1__)
|
#elif defined(__SSE4_1__)
|
||||||
#define _M_SSE 0x401
|
#define _M_SSE 0x401
|
||||||
#elif defined(__SSSE3__)
|
#elif defined(__SSSE3__)
|
||||||
#define _M_SSE 0x301
|
#define _M_SSE 0x301
|
||||||
#elif defined(__SSE2__)
|
#elif defined(__SSE2__)
|
||||||
#define _M_SSE 0x200
|
#define _M_SSE 0x200
|
||||||
#elif defined(__SSE__)
|
|
||||||
#define _M_SSE 0x100
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#elif defined(__GNUC__)
|
|
||||||
|
|
||||||
#if defined(__AVX2__)
|
|
||||||
// FIXME until code is done
|
|
||||||
#define _M_SSE 0x500
|
|
||||||
#elif defined(__AVX__)
|
|
||||||
#define _M_SSE 0x500
|
|
||||||
#elif defined(__SSE4_1__)
|
|
||||||
#define _M_SSE 0x401
|
|
||||||
#else
|
|
||||||
// FIXME won't likely be supported but allow to compile the code
|
|
||||||
// Note: from steam survey SSE4.1 is supported by 87% (end of 2015)
|
|
||||||
#define _M_SSE 0x200
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue