Better fix for zmuldefs. Less warnings in MSVC and GCC both. :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1957 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2009-10-04 21:49:23 +00:00
parent 4f6d7ca776
commit 5b92054923
3 changed files with 12 additions and 7 deletions

View File

@ -379,8 +379,8 @@ __forceinline void xWrite( T val )
return *this; return *this;
} }
__forceinline inline ModSibBase operator+( const s32 imm ) const { return ModSibBase( *this ).Add( imm ); } __forceinline ModSibBase operator+( const s32 imm ) const { return ModSibBase( *this ).Add( imm ); }
__forceinline inline ModSibBase operator-( const s32 imm ) const { return ModSibBase( *this ).Add( -imm ); } __forceinline ModSibBase operator-( const s32 imm ) const { return ModSibBase( *this ).Add( -imm ); }
protected: protected:
void Reduce(); void Reduce();

View File

@ -19,8 +19,11 @@
#include <time.h> #include <time.h>
#include <sys/time.h> #include <sys/time.h>
extern "C" PCSX2_ALIGNED16( u8 _xmm_backup[16*2] ) = {0}; extern "C" PCSX2_ALIGNED16( u8 _xmm_backup[16*2] );
extern "C" PCSX2_ALIGNED16( u8 _mmx_backup[8*4] ) = {0}; extern "C" PCSX2_ALIGNED16( u8 _mmx_backup[8*4] );
u8 _xmm_backup[16*2];
u8 _mmx_backup[8*4];
void InitCPUTicks() void InitCPUTicks()
{ {

View File

@ -1,6 +1,6 @@
/* PCSX2 - PS2 Emulator for PCs /* PCSX2 - PS2 Emulator for PCs
* Copyright (C) 2002-2009 PCSX2 Dev Team * Copyright (C) 2002-2009 PCSX2 Dev Team
* *
* PCSX2 is free software: you can redistribute it and/or modify it under the terms * PCSX2 is free software: you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Found- * of the GNU Lesser General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version. * ation, either version 3 of the License, or (at your option) any later version.
@ -49,7 +49,9 @@ static PCSX2_ALIGNED16(u32 s_maskarr[16][4]) = {
extern u8 s_maskwrite[256]; extern u8 s_maskwrite[256];
extern "C" PCSX2_ALIGNED16(u32 s_TempDecompress[4]) = {0}; extern "C" PCSX2_ALIGNED16(u32 s_TempDecompress[4]);
u32 s_TempDecompress[4] = {0};
#ifdef __LINUX__ #ifdef __LINUX__
static void __forceinline UseOldMaskCode(u32* &vif1masks, u32 &mask); static void __forceinline UseOldMaskCode(u32* &vif1masks, u32 &mask);
@ -65,7 +67,7 @@ void __fastcall SetNewMask(u32* vif1masks, u32* hasmask, u32 mask, u32 oldmask)
prev |= s_maskwrite[mask&0xff]; prev |= s_maskwrite[mask&0xff];
hasmask[i] = prev; hasmask[i] = prev;
if ((mask&0xff) != (oldmask&0xff)) if ((mask&0xff) != (oldmask&0xff))
#ifdef __LINUX__ #ifdef __LINUX__
if (mask == 0) // Temporary workaround for a bug causing a segfault. if (mask == 0) // Temporary workaround for a bug causing a segfault.
UseOldMaskCode(vif1masks, mask); UseOldMaskCode(vif1masks, mask);