Here we go again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@993 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-04-16 23:57:04 +00:00
parent f4d57faf77
commit ecbef93c6b
4 changed files with 16 additions and 9 deletions

View File

@ -1,6 +1,8 @@
INCLUDES = -I@srcdir@/.. -I@srcdir@/../../ -I@srcdir@/../../../common/include -I@srcdir@/../../../3rdparty
noinst_LIBRARIES = libix86.a
libix86_a_SOURCES = libix86_a_SOURCES = ix86_mmx.cpp ix86_tools.cpp ix86.cpp ix86_3dnow.cpp \
ix86_fpu.cpp ix86_legacy.cpp ix86_sse.cpp ix86_cpudetect.cpp ix86_jmp.cpp \
ix86_internal.h ix86.h ix86_macros.h ix86_sse_helpers.h ix86_types.h
libix86_a_SOURCES = \
ix86.cpp ix86_cpudetect.cpp ix86_fpu.cpp ix86_jmp.cpp ix86_mmx.cpp ix86_tools.cpp ix86_3dnow.cpp \
ix86_legacy.cpp ix86_sse.cpp \
ix86_internal.h ix86_legacy_instructions.h ix86_macros.h ix86_sse_helpers.h ix86.h ix86_legacy_internal.h \
ix86_instructions.h ix86_legacy_types.h ix86_types.h

View File

@ -63,4 +63,6 @@ public:
template< typename T >
__noinline void operator()( const ModSibStrict<T>& from ) const { Group3Impl<T>::Emit( InstType, from ); }
Group3ImplAll() {}
};

View File

@ -139,7 +139,7 @@ public:
// Inlining Notes:
// I've set up the inlining to be as practical and intelligent as possible, which means
// forcing inlining for (void*) forms of ModRM, which thanks to constprop reduce to
// virtually no code. In the case of (Reg, Imm) forms, the inlinign is up to the dis-
// virtually no code. In the case of (Reg, Imm) forms, the inlining is up to the dis-
// cretion of the compiler.
//
@ -171,6 +171,8 @@ public:
else
MovImpl<T>::Emit( to, imm );
}
MovImplAll() {} // Satisfy GCC's whims.
};
@ -181,7 +183,7 @@ template< typename ImmType >
class CMovImpl : public ImplementationHelper< ImmType >
{
protected:
static bool Is8BitOperand() { return OperandSize == 1; }
static bool Is8BitOperand() {return OperandSize == 1; }
static void prefix16() { if( OperandSize == 2 ) iWrite<u8>( 0x66 ); }
static __forceinline void emit_base( JccComparisonType cc )
@ -193,8 +195,8 @@ protected:
}
public:
CMovImpl() {}
static const uint OperandSize = sizeof(ImmType);
static __emitinline void Emit( JccComparisonType cc, const iRegister<ImmType>& to, const iRegister<ImmType>& from )
{
if( to == from ) return;
@ -213,6 +215,7 @@ public:
emit_base( cc );
EmitSibMagic( to.Id, sibsrc );
}
CMovImpl() {}
};

View File

@ -144,7 +144,7 @@ namespace x86Emitter
#ifdef _MSC_VER
# define __noinline __declspec(noinline)
#else
# define __noinline
# define __noinline __attribute__((noinline))
#endif
// ModRM 'mod' field enumeration. Provided mostly for reference:
@ -658,7 +658,7 @@ namespace x86Emitter
// flags.
extern const Internal::MovImplAll iMOV;
extern const Internal::Group2ImplAll<Internal::G2Type_ROL> iROL;
extern const Internal::Group2ImplAll<Internal::G2Type_ROR> iROR;
extern const Internal::Group2ImplAll<Internal::G2Type_RCL> iRCL;