mirror of https://github.com/PCSX2/pcsx2.git
Minor bug fixes. Reformat iVUzerorec.cpp & get rid of all occurrances of the FORIT macro.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1153 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
afc5760e6c
commit
e330c57556
|
@ -1567,9 +1567,10 @@ void rpsxBGEZAL()
|
|||
_psxFlushAllUnused();
|
||||
|
||||
if( PSX_IS_CONST1(_Rs_) ) {
|
||||
if( g_psxConstRegs[_Rs_] < 0 )
|
||||
if( (int)g_psxConstRegs[_Rs_] < 0 )
|
||||
branchTo = psxpc+4;
|
||||
else MOV32ItoM((uptr)&psxRegs.GPR.r[31], psxpc+4);
|
||||
else
|
||||
MOV32ItoM((uptr)&psxRegs.GPR.r[31], psxpc+4);
|
||||
|
||||
psxRecompileNextInstruction(1);
|
||||
psxSetBranchImm( branchTo );
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -64,6 +64,7 @@ public:
|
|||
// This happens when using Mem,Reg or Reg,Mem forms where the address is simple displacement
|
||||
// which can be checked for alignment at runtime.
|
||||
//
|
||||
|
||||
template< u8 Prefix, bool isAligned >
|
||||
class SimdImpl_MoveSSE
|
||||
{
|
||||
|
@ -78,9 +79,17 @@ public:
|
|||
if( to != from ) xOpWrite0F( Prefix, OpcodeA, to, from );
|
||||
}
|
||||
|
||||
__forceinline void operator()( const xRegisterSSE& to, const void* from ) const
|
||||
__forceinline void operator()( const xRegisterSSE& to, void* from ) const
|
||||
{
|
||||
xOpWrite0F( Prefix, (isAligned || ((uptr)from & 0x0f) == 0) ? OpcodeA : OpcodeU, to, from );
|
||||
u16 opcode;
|
||||
|
||||
// @$@$@!$#@! GCC & Debug builds.
|
||||
if (isAligned || ((uptr)from & 0x0f) == 0)
|
||||
opcode = OpcodeA;
|
||||
else
|
||||
opcode = OpcodeU;
|
||||
|
||||
xOpWrite0F( Prefix, opcode, to, from );
|
||||
}
|
||||
|
||||
__forceinline void operator()( void* to, const xRegisterSSE& from ) const
|
||||
|
@ -92,7 +101,15 @@ public:
|
|||
{
|
||||
// ModSib form is aligned if it's displacement-only and the displacement is aligned:
|
||||
bool isReallyAligned = isAligned || ( ((from.Displacement & 0x0f) == 0) && from.Index.IsEmpty() && from.Base.IsEmpty() );
|
||||
xOpWrite0F( Prefix, isReallyAligned ? OpcodeA : OpcodeU, to, from );
|
||||
u16 opcode;
|
||||
|
||||
// See previous comment.
|
||||
if (isReallyAligned)
|
||||
opcode = OpcodeA;
|
||||
else
|
||||
opcode = OpcodeU;
|
||||
|
||||
xOpWrite0F( Prefix, opcode, to, from );
|
||||
}
|
||||
|
||||
__forceinline void operator()( const ModSibBase& to, const xRegisterSSE& from ) const
|
||||
|
|
|
@ -216,7 +216,12 @@ namespace x86Emitter
|
|||
if( !is_s8( displacement ) )
|
||||
{
|
||||
assert( false );
|
||||
// Don't ask. --arcum42
|
||||
#ifdef __LINUX__
|
||||
#ifndef DEBUG
|
||||
Console::Error( "Emitter Error: Invalid short jump displacement = 0x%x", params (int)displacement );
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
BasePtr[-1] = (s8)displacement;
|
||||
}
|
||||
|
|
|
@ -635,7 +635,7 @@ __forceinline void xWrite( T val )
|
|||
JccComparisonType m_cc; // comparison type of the instruction
|
||||
|
||||
public:
|
||||
const int GetMaxInstructionSize() const
|
||||
int GetMaxInstructionSize() const
|
||||
{
|
||||
jASSUME( m_cc != Jcc_Unknown );
|
||||
return ( m_cc == Jcc_Unconditional ) ? 5 : 6;
|
||||
|
|
Loading…
Reference in New Issue