From 697ed234749931a1fe0f5a8a4e9aef4b73d070ca Mon Sep 17 00:00:00 2001 From: hrydgard Date: Thu, 14 Aug 2008 18:29:18 +0000 Subject: [PATCH] linux build fix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@195 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp | 5 ++--- Source/Core/Core/Src/PowerPC/Jit64/JitRegCache.cpp | 5 ++--- Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp | 8 ++++---- Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp | 4 ---- Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp | 2 +- .../Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp | 6 +++++- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp b/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp index 3d6592e330..91d201deae 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/JitAsm.cpp @@ -54,7 +54,6 @@ const u8 *fifoDirectWrite16; const u8 *fifoDirectWrite32; const u8 *fifoDirectWriteFloat; -static bool blockMode = false; //doesn't work as true! bool compareEnabled = false; //TODO - make an option @@ -278,7 +277,7 @@ void GenFifoWrite(int size) if (size != 32) PUSH(EDX); BSWAP(size, ABI_PARAM1); - MOV(32, R(EAX), Imm32((u32)GPFifo::m_gatherPipe)); + MOV(32, R(EAX), Imm32((u32)(u64)GPFifo::m_gatherPipe)); MOV(32, R(ESI), M(&GPFifo::m_gatherPipeCount)); if (size != 32) { MOV(32, R(EDX), R(ABI_PARAM1)); @@ -303,7 +302,7 @@ void GenFifoFloatWrite() MOVSS(M(&temp32), XMM0); MOV(32, R(EDX), M(&temp32)); BSWAP(32, EDX); - MOV(32, R(EAX), Imm32((u32)GPFifo::m_gatherPipe)); + MOV(32, R(EAX), Imm32((u32)(u64)GPFifo::m_gatherPipe)); MOV(32, R(ESI), M(&GPFifo::m_gatherPipeCount)); MOV(32, MComplex(RAX, RSI, 1, 0), R(EDX)); ADD(32, R(ESI), Imm8(4)); diff --git a/Source/Core/Core/Src/PowerPC/Jit64/JitRegCache.cpp b/Source/Core/Core/Src/PowerPC/Jit64/JitRegCache.cpp index 4560e46512..3b68c10a51 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/JitRegCache.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/JitRegCache.cpp @@ -103,8 +103,7 @@ namespace Jit64 { int aCount; const int *aOrder = GetAllocationOrder(aCount); - int i; - for (i = 0; i < aCount; i++) + for (int i = 0; i < aCount; i++) { X64Reg xr = (X64Reg)aOrder[i]; if (!xlocks[xr] && xregs[xr].free) @@ -238,7 +237,7 @@ namespace Jit64 #ifdef _WIN32 RSI, RDI, R12, R13, R14, R8, R9, R10, R11 //, RCX #else - R12, R13, R14, R8, R9, R10, R11, RSI, RDI //, RCX + RBP, R12, R13, R14, R8, R9, R10, R11, //, RCX #endif #elif _M_IX86 ESI, EDI, EBX, EBP, EDX, ECX, diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp index 5a56f84270..33e24ad427 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_Branch.cpp @@ -111,10 +111,10 @@ namespace Jit64 gpr.Flush(FLUSH_ALL); fpr.Flush(FLUSH_ALL); - CCFlags branch; + CCFlags branch = CC_Z; - const bool only_counter_check = (inst.BO & 16) ? true : false; - const bool only_condition_check = (inst.BO & 4) ? true : false; + //const bool only_counter_check = (inst.BO & 16) ? true : false; + //const bool only_condition_check = (inst.BO & 4) ? true : false; //if (only_condition_check && only_counter_check) // PanicAlert("Bizarre bcx encountered. Likely bad or corrupt code."); bool doFullTest = (inst.BO & 16) == 0 && (inst.BO & 4) == 0; @@ -192,7 +192,7 @@ namespace Jit64 gpr.Flush(FLUSH_ALL); fpr.Flush(FLUSH_ALL); - bool fastway = true; + // bool fastway = true; if ((inst.BO & 16) == 0) { diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp index 499d5f1581..b07e95b7d4 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_FloatingPoint.cpp @@ -25,12 +25,8 @@ #include "JitCache.h" #include "JitRegCache.h" -#ifdef _WIN32 #define INSTRUCTION_START // #define INSTRUCTION_START Default(inst); return; -#else -#define INSTRUCTION_START Default(inst); return; -#endif namespace Jit64 { diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp index cf82e2f24d..a58094d941 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp @@ -249,7 +249,7 @@ namespace Jit64 #ifdef _M_X64 MOV(accessSize, MComplex(RBX, ABI_PARAM1, SCALE_1, (u32)offset), R(EAX)); #elif _M_IX86 - AND(32, R(ECX), Imm32(Memory::MEMVIEW32_MASK)); + AND(32, R(ABI_PARAM1), Imm32(Memory::MEMVIEW32_MASK)); MOV(accessSize, MDisp(ABI_PARAM1, (u32)Memory::base + (u32)offset), R(EAX)); #endif if (update) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp index 6aca9b5f46..35c4379108 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp @@ -37,8 +37,12 @@ #include "JitAsm.h" #include "JitRegCache.h" -// #define INSTRUCTION_START Default(inst); return; +#ifndef _WIN32 +// GCC won't obey alignment requirement :( +#define INSTRUCTION_START Default(inst); return; +#else #define INSTRUCTION_START +#endif #ifdef _M_IX86 #define DISABLE_32BIT Default(inst); return;