mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-07-13 02:38:30 +12:00
Reduce global namespace bloat
This commit is contained in:
parent
9ef7db63ef
commit
d126cf1ac6
3 changed files with 26 additions and 31 deletions
|
@ -2,39 +2,37 @@
|
|||
|
||||
#ifdef PANDA3DS_X64_HOST
|
||||
#include "xbyak/xbyak.h"
|
||||
using namespace Xbyak;
|
||||
using namespace Xbyak::util;
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
|
||||
#define PANDA3DS_MS_ABI
|
||||
constexpr Reg32 arg1 = ecx; // register where first arg is stored
|
||||
constexpr Reg32 arg2 = edx; // register where second arg is stored
|
||||
constexpr Reg32 arg3 = r8d; // register where third arg is stored
|
||||
constexpr Reg32 arg4 = r9d; // register where fourth arg is stored
|
||||
constexpr Xbyak::Reg32 arg1 = Xbyak::util::ecx; // register where first arg is stored
|
||||
constexpr Xbyak::Reg32 arg2 = Xbyak::util::edx; // register where second arg is stored
|
||||
constexpr Xbyak::Reg32 arg3 = Xbyak::util::r8d; // register where third arg is stored
|
||||
constexpr Xbyak::Reg32 arg4 = Xbyak::util::r9d; // register where fourth arg is stored
|
||||
|
||||
// Similar for floating point and vector arguemnts.
|
||||
constexpr Xmm arg1f = xmm0;
|
||||
constexpr Xmm arg2f = xmm1;
|
||||
constexpr Xmm arg3f = xmm2;
|
||||
constexpr Xmm arg4f = xmm3;
|
||||
constexpr Xbyak::Xmm arg1f = Xbyak::util::xmm0;
|
||||
constexpr Xbyak::Xmm arg2f = Xbyak::util::xmm1;
|
||||
constexpr Xbyak::Xmm arg3f = Xbyak::util::xmm2;
|
||||
constexpr Xbyak::Xmm arg4f = Xbyak::util::xmm3;
|
||||
|
||||
constexpr bool isWindows() { return true; }
|
||||
|
||||
#else // System V calling convention
|
||||
#define PANDA3DS_SYSV_ABI
|
||||
constexpr Reg32 arg1 = edi;
|
||||
constexpr Reg32 arg2 = esi;
|
||||
constexpr Reg32 arg3 = edx;
|
||||
constexpr Reg32 arg4 = ecx;
|
||||
constexpr Xbyak::Reg32 arg1 = Xbyak::util::edi;
|
||||
constexpr Xbyak::Reg32 arg2 = Xbyak::util::esi;
|
||||
constexpr Xbyak::Reg32 arg3 = Xbyak::util::edx;
|
||||
constexpr Xbyak::Reg32 arg4 = Xbyak::util::ecx;
|
||||
|
||||
constexpr Xmm arg1f = xmm0;
|
||||
constexpr Xmm arg2f = xmm1;
|
||||
constexpr Xmm arg3f = xmm2;
|
||||
constexpr Xmm arg4f = xmm3;
|
||||
constexpr Xmm arg5f = xmm4;
|
||||
constexpr Xmm arg6f = xmm5;
|
||||
constexpr Xmm arg7f = xmm6;
|
||||
constexpr Xmm arg8f = xmm7;
|
||||
constexpr Xbyak::Xmm arg1f = Xbyak::util::xmm0;
|
||||
constexpr Xbyak::Xmm arg2f = Xbyak::util::xmm1;
|
||||
constexpr Xbyak::Xmm arg3f = Xbyak::util::xmm2;
|
||||
constexpr Xbyak::Xmm arg4f = Xbyak::util::xmm3;
|
||||
constexpr Xbyak::Xmm arg5f = Xbyak::util::xmm4;
|
||||
constexpr Xbyak::Xmm arg6f = Xbyak::util::xmm5;
|
||||
constexpr Xbyak::Xmm arg7f = Xbyak::util::xmm6;
|
||||
constexpr Xbyak::Xmm arg8f = Xbyak::util::xmm7;
|
||||
|
||||
constexpr bool isWindows() { return false; }
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue