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[] = {
|
||||
{Xbyak::util::Cpu::tSSE2, "SSE2"},
|
||||
#if _M_SSE >= 0x301 || defined(_M_AMD64)
|
||||
#if _M_SSE >= 0x301
|
||||
{Xbyak::util::Cpu::tSSSE3, "SSSE3"},
|
||||
#endif
|
||||
#if _M_SSE >= 0x401 || defined(_M_AMD64)
|
||||
#if _M_SSE >= 0x401
|
||||
{Xbyak::util::Cpu::tSSE41, "SSE41"},
|
||||
#endif
|
||||
#if _M_SSE >= 0x402 || defined(_M_AMD64)
|
||||
#if _M_SSE >= 0x402
|
||||
{Xbyak::util::Cpu::tSSE42, "SSE42"},
|
||||
#endif
|
||||
#if _M_SSE >= 0x500 || defined(_M_AMD64)
|
||||
#if _M_SSE >= 0x500
|
||||
{Xbyak::util::Cpu::tAVX, "AVX1"},
|
||||
#endif
|
||||
#if _M_SSE >= 0x501
|
||||
|
|
|
@ -266,9 +266,10 @@ using namespace stdext;
|
|||
#define ASSERT assert
|
||||
|
||||
#ifdef __x86_64__
|
||||
|
||||
#define _M_AMD64
|
||||
#endif
|
||||
|
||||
#ifdef _M_AMD64
|
||||
// Yeah let use mips naming ;)
|
||||
#ifdef _WIN64
|
||||
#define a0 rcx
|
||||
|
@ -285,42 +286,26 @@ using namespace stdext;
|
|||
#define t0 r8
|
||||
#define t1 r9
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// sse
|
||||
#if defined(__GNUC__) && !defined(__x86_64__)
|
||||
#if defined(__GNUC__)
|
||||
|
||||
// Convert gcc see define into GSdx (windows) define
|
||||
#if defined(__AVX2__)
|
||||
#define _M_SSE 0x501
|
||||
#if defined(__x86_64__)
|
||||
#define _M_SSE 0x500 // TODO
|
||||
#else
|
||||
#define _M_SSE 0x501
|
||||
#endif
|
||||
#elif defined(__AVX__)
|
||||
#define _M_SSE 0x500
|
||||
#elif defined(__SSE4_2__)
|
||||
#define _M_SSE 0x402
|
||||
#elif defined(__SSE4_1__)
|
||||
#define _M_SSE 0x401
|
||||
#elif defined(__SSSE3__)
|
||||
#define _M_SSE 0x301
|
||||
#elif defined(__SSE2__)
|
||||
#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
|
||||
|
|
Loading…
Reference in New Issue