/[pcsx2_0.9.7]/trunk/common/include/x86emitter/instructions.h
ViewVC logotype

Diff of /trunk/common/include/x86emitter/instructions.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/common/include/x86emitter/instructions.h	2010/09/07 06:28:05	61
+++ trunk/common/include/x86emitter/instructions.h	2010/09/07 11:08:22	62
@@ -129,15 +129,15 @@
 	// forms are functionally equivalent to Mov reg,imm, and thus better written as MOVs
 	// instead.
 
-	extern void xLEA( xRegister32 to, const ModSibBase& src, bool preserve_flags=false );
-	extern void xLEA( xRegister16 to, const ModSibBase& src, bool preserve_flags=false );
+	extern void xLEA( xRegister32 to, const xIndirectVoid& src, bool preserve_flags=false );
+	extern void xLEA( xRegister16 to, const xIndirectVoid& src, bool preserve_flags=false );
 
 	// ----- Push / Pop Instructions  -----
 	// Note: pushad/popad implementations are intentionally left out.  The instructions are
 	// invalid in x64, and are super slow on x32.  Use multiple Push/Pop instructions instead.
 
-	extern void xPOP( const ModSibBase& from );
-	extern void xPUSH( const ModSibBase& from );
+	extern void xPOP( const xIndirectVoid& from );
+	extern void xPUSH( const xIndirectVoid& from );
 
 	extern void xPOP( xRegister32 from );
 
@@ -185,30 +185,30 @@
 	// the target (efficient!)
 	//
 
-	template< typename T > __forceinline void xJE( T* func )		{ xJcc( Jcc_Equal, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJZ( T* func )		{ xJcc( Jcc_Zero, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJNE( T* func )		{ xJcc( Jcc_NotEqual, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJNZ( T* func )		{ xJcc( Jcc_NotZero, (void*)(uptr)func ); }
-
-	template< typename T > __forceinline void xJO( T* func )		{ xJcc( Jcc_Overflow, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJNO( T* func )		{ xJcc( Jcc_NotOverflow, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJC( T* func )		{ xJcc( Jcc_Carry, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJNC( T* func )		{ xJcc( Jcc_NotCarry, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJS( T* func )		{ xJcc( Jcc_Signed, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJNS( T* func )		{ xJcc( Jcc_Unsigned, (void*)(uptr)func ); }
-
-	template< typename T > __forceinline void xJPE( T* func )		{ xJcc( Jcc_ParityEven, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJPO( T* func )		{ xJcc( Jcc_ParityOdd, (void*)(uptr)func ); }
-
-	template< typename T > __forceinline void xJL( T* func )		{ xJcc( Jcc_Less, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJLE( T* func )		{ xJcc( Jcc_LessOrEqual, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJG( T* func )		{ xJcc( Jcc_Greater, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJGE( T* func )		{ xJcc( Jcc_GreaterOrEqual, (void*)(uptr)func ); }
-
-	template< typename T > __forceinline void xJB( T* func )		{ xJcc( Jcc_Below, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJBE( T* func )		{ xJcc( Jcc_BelowOrEqual, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJA( T* func )		{ xJcc( Jcc_Above, (void*)(uptr)func ); }
-	template< typename T > __forceinline void xJAE( T* func )		{ xJcc( Jcc_AboveOrEqual, (void*)(uptr)func ); }
+	template< typename T > __fi void xJE( T* func )		{ xJcc( Jcc_Equal, (void*)(uptr)func ); }
+	template< typename T > __fi void xJZ( T* func )		{ xJcc( Jcc_Zero, (void*)(uptr)func ); }
+	template< typename T > __fi void xJNE( T* func )		{ xJcc( Jcc_NotEqual, (void*)(uptr)func ); }
+	template< typename T > __fi void xJNZ( T* func )		{ xJcc( Jcc_NotZero, (void*)(uptr)func ); }
+
+	template< typename T > __fi void xJO( T* func )		{ xJcc( Jcc_Overflow, (void*)(uptr)func ); }
+	template< typename T > __fi void xJNO( T* func )		{ xJcc( Jcc_NotOverflow, (void*)(uptr)func ); }
+	template< typename T > __fi void xJC( T* func )		{ xJcc( Jcc_Carry, (void*)(uptr)func ); }
+	template< typename T > __fi void xJNC( T* func )		{ xJcc( Jcc_NotCarry, (void*)(uptr)func ); }
+	template< typename T > __fi void xJS( T* func )		{ xJcc( Jcc_Signed, (void*)(uptr)func ); }
+	template< typename T > __fi void xJNS( T* func )		{ xJcc( Jcc_Unsigned, (void*)(uptr)func ); }
+
+	template< typename T > __fi void xJPE( T* func )		{ xJcc( Jcc_ParityEven, (void*)(uptr)func ); }
+	template< typename T > __fi void xJPO( T* func )		{ xJcc( Jcc_ParityOdd, (void*)(uptr)func ); }
+
+	template< typename T > __fi void xJL( T* func )		{ xJcc( Jcc_Less, (void*)(uptr)func ); }
+	template< typename T > __fi void xJLE( T* func )		{ xJcc( Jcc_LessOrEqual, (void*)(uptr)func ); }
+	template< typename T > __fi void xJG( T* func )		{ xJcc( Jcc_Greater, (void*)(uptr)func ); }
+	template< typename T > __fi void xJGE( T* func )		{ xJcc( Jcc_GreaterOrEqual, (void*)(uptr)func ); }
+
+	template< typename T > __fi void xJB( T* func )		{ xJcc( Jcc_Below, (void*)(uptr)func ); }
+	template< typename T > __fi void xJBE( T* func )		{ xJcc( Jcc_BelowOrEqual, (void*)(uptr)func ); }
+	template< typename T > __fi void xJA( T* func )		{ xJcc( Jcc_Above, (void*)(uptr)func ); }
+	template< typename T > __fi void xJAE( T* func )		{ xJcc( Jcc_AboveOrEqual, (void*)(uptr)func ); }
 
 	// ------------------------------------------------------------------------
 	// Forward Jump Helpers (act as labels!)
@@ -305,48 +305,48 @@
 	// ------------------------------------------------------------------------
 
 	extern void xEMMS();
-	extern void xSTMXCSR( const ModSib32& dest );
-	extern void xLDMXCSR( const ModSib32& src );
-	extern void xFXSAVE( const ModSibBase& dest );
-	extern void xFXRSTOR( const ModSibBase& src );
+	extern void xSTMXCSR( const xIndirect32& dest );
+	extern void xLDMXCSR( const xIndirect32& src );
+	extern void xFXSAVE( const xIndirectVoid& dest );
+	extern void xFXRSTOR( const xIndirectVoid& src );
 
 	extern void xMOVDZX( const xRegisterSSE& to, const xRegister32& from );
-	extern void xMOVDZX( const xRegisterSSE& to, const ModSibBase& src );
+	extern void xMOVDZX( const xRegisterSSE& to, const xIndirectVoid& src );
 
 	extern void xMOVDZX( const xRegisterMMX& to, const xRegister32& from );
-	extern void xMOVDZX( const xRegisterMMX& to, const ModSibBase& src );
+	extern void xMOVDZX( const xRegisterMMX& to, const xIndirectVoid& src );
 
 	extern void xMOVD( const xRegister32& to, const xRegisterSSE& from );
-	extern void xMOVD( const ModSibBase& dest, const xRegisterSSE& from );
+	extern void xMOVD( const xIndirectVoid& dest, const xRegisterSSE& from );
 
 	extern void xMOVD( const xRegister32& to, const xRegisterMMX& from );
-	extern void xMOVD( const ModSibBase& dest, const xRegisterMMX& from );
+	extern void xMOVD( const xIndirectVoid& dest, const xRegisterMMX& from );
 
 	extern void xMOVQ( const xRegisterMMX& to, const xRegisterMMX& from );
 	extern void xMOVQ( const xRegisterMMX& to, const xRegisterSSE& from );
 	extern void xMOVQ( const xRegisterSSE& to, const xRegisterMMX& from );
 
-	extern void xMOVQ( const ModSibBase& dest, const xRegisterSSE& from );
-	extern void xMOVQ( const ModSibBase& dest, const xRegisterMMX& from );
-	extern void xMOVQ( const xRegisterMMX& to, const ModSibBase& src );
+	extern void xMOVQ( const xIndirectVoid& dest, const xRegisterSSE& from );
+	extern void xMOVQ( const xIndirectVoid& dest, const xRegisterMMX& from );
+	extern void xMOVQ( const xRegisterMMX& to, const xIndirectVoid& src );
 
-	extern void xMOVQZX( const xRegisterSSE& to, const ModSibBase& src );
+	extern void xMOVQZX( const xRegisterSSE& to, const xIndirectVoid& src );
 	extern void xMOVQZX( const xRegisterSSE& to, const xRegisterSSE& from );
 
 	extern void xMOVSS( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xMOVSS( const ModSibBase& to, const xRegisterSSE& from );
+	extern void xMOVSS( const xIndirectVoid& to, const xRegisterSSE& from );
 	extern void xMOVSD( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xMOVSD( const ModSibBase& to, const xRegisterSSE& from );
+	extern void xMOVSD( const xIndirectVoid& to, const xRegisterSSE& from );
 
-	extern void xMOVSSZX( const xRegisterSSE& to, const ModSibBase& from );
-	extern void xMOVSDZX( const xRegisterSSE& to, const ModSibBase& from );
+	extern void xMOVSSZX( const xRegisterSSE& to, const xIndirectVoid& from );
+	extern void xMOVSDZX( const xRegisterSSE& to, const xIndirectVoid& from );
 
-	extern void xMOVNTDQA( const xRegisterSSE& to, const ModSibBase& from );
-	extern void xMOVNTDQA( const ModSibBase& to, const xRegisterSSE& from );
+	extern void xMOVNTDQA( const xRegisterSSE& to, const xIndirectVoid& from );
+	extern void xMOVNTDQA( const xIndirectVoid& to, const xRegisterSSE& from );
 
-	extern void xMOVNTPD( const ModSibBase& to, const xRegisterSSE& from );
-	extern void xMOVNTPS( const ModSibBase& to, const xRegisterSSE& from );
-	extern void xMOVNTQ( const ModSibBase& to, const xRegisterMMX& from );
+	extern void xMOVNTPD( const xIndirectVoid& to, const xRegisterSSE& from );
+	extern void xMOVNTPS( const xIndirectVoid& to, const xRegisterSSE& from );
+	extern void xMOVNTQ( const xIndirectVoid& to, const xRegisterMMX& from );
 
 	extern void xMOVMSKPS( const xRegister32& to, const xRegisterSSE& from );
 	extern void xMOVMSKPD( const xRegister32& to, const xRegisterSSE& from );
@@ -386,10 +386,10 @@
 	extern const xImplSimd_DestRegSSE xMOVSHDUP;
 
 	extern void xINSERTPS( const xRegisterSSE& to, const xRegisterSSE& from, u8 imm8 );
-	extern void xINSERTPS( const xRegisterSSE& to, const ModSib32& from, u8 imm8 );
+	extern void xINSERTPS( const xRegisterSSE& to, const xIndirect32& from, u8 imm8 );
 
 	extern void xEXTRACTPS( const xRegister32& to, const xRegisterSSE& from, u8 imm8 );
-	extern void xEXTRACTPS( const ModSib32& dest, const xRegisterSSE& from, u8 imm8 );
+	extern void xEXTRACTPS( const xIndirect32& dest, const xRegisterSSE& from, u8 imm8 );
 
 	// ------------------------------------------------------------------------
 
@@ -423,56 +423,56 @@
 	//
 	//
 	extern void xCVTDQ2PD( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTDQ2PD( const xRegisterSSE& to, const ModSib64& from );
+	extern void xCVTDQ2PD( const xRegisterSSE& to, const xIndirect64& from );
 	extern void xCVTDQ2PS( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTDQ2PS( const xRegisterSSE& to, const ModSib128& from );
+	extern void xCVTDQ2PS( const xRegisterSSE& to, const xIndirect128& from );
 
 	extern void xCVTPD2DQ( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTPD2DQ( const xRegisterSSE& to, const ModSib128& from );
+	extern void xCVTPD2DQ( const xRegisterSSE& to, const xIndirect128& from );
 	extern void xCVTPD2PI( const xRegisterMMX& to, const xRegisterSSE& from );
-	extern void xCVTPD2PI( const xRegisterMMX& to, const ModSib128& from );
+	extern void xCVTPD2PI( const xRegisterMMX& to, const xIndirect128& from );
 	extern void xCVTPD2PS( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTPD2PS( const xRegisterSSE& to, const ModSib128& from );
+	extern void xCVTPD2PS( const xRegisterSSE& to, const xIndirect128& from );
 
 	extern void xCVTPI2PD( const xRegisterSSE& to, const xRegisterMMX& from );
-	extern void xCVTPI2PD( const xRegisterSSE& to, const ModSib64& from );
+	extern void xCVTPI2PD( const xRegisterSSE& to, const xIndirect64& from );
 	extern void xCVTPI2PS( const xRegisterSSE& to, const xRegisterMMX& from );
-	extern void xCVTPI2PS( const xRegisterSSE& to, const ModSib64& from );
+	extern void xCVTPI2PS( const xRegisterSSE& to, const xIndirect64& from );
 
 	extern void xCVTPS2DQ( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTPS2DQ( const xRegisterSSE& to, const ModSib128& from );
+	extern void xCVTPS2DQ( const xRegisterSSE& to, const xIndirect128& from );
 	extern void xCVTPS2PD( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTPS2PD( const xRegisterSSE& to, const ModSib64& from );
+	extern void xCVTPS2PD( const xRegisterSSE& to, const xIndirect64& from );
 	extern void xCVTPS2PI( const xRegisterMMX& to, const xRegisterSSE& from );
-	extern void xCVTPS2PI( const xRegisterMMX& to, const ModSib64& from );
+	extern void xCVTPS2PI( const xRegisterMMX& to, const xIndirect64& from );
 
 	extern void xCVTSD2SI( const xRegister32& to, const xRegisterSSE& from );
-	extern void xCVTSD2SI( const xRegister32& to, const ModSib64& from );
+	extern void xCVTSD2SI( const xRegister32& to, const xIndirect64& from );
 	extern void xCVTSD2SS( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTSD2SS( const xRegisterSSE& to, const ModSib64& from );
+	extern void xCVTSD2SS( const xRegisterSSE& to, const xIndirect64& from );
 	extern void xCVTSI2SD( const xRegisterMMX& to, const xRegister32& from );
-	extern void xCVTSI2SD( const xRegisterMMX& to, const ModSib32& from );
+	extern void xCVTSI2SD( const xRegisterMMX& to, const xIndirect32& from );
 	extern void xCVTSI2SS( const xRegisterSSE& to, const xRegister32& from );
-	extern void xCVTSI2SS( const xRegisterSSE& to, const ModSib32& from );
+	extern void xCVTSI2SS( const xRegisterSSE& to, const xIndirect32& from );
 
 	extern void xCVTSS2SD( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTSS2SD( const xRegisterSSE& to, const ModSib32& from );
+	extern void xCVTSS2SD( const xRegisterSSE& to, const xIndirect32& from );
 	extern void xCVTSS2SI( const xRegister32& to, const xRegisterSSE& from );
-	extern void xCVTSS2SI( const xRegister32& to, const ModSib32& from );
+	extern void xCVTSS2SI( const xRegister32& to, const xIndirect32& from );
 
 	extern void xCVTTPD2DQ( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTTPD2DQ( const xRegisterSSE& to, const ModSib128& from );
+	extern void xCVTTPD2DQ( const xRegisterSSE& to, const xIndirect128& from );
 	extern void xCVTTPD2PI( const xRegisterMMX& to, const xRegisterSSE& from );
-	extern void xCVTTPD2PI( const xRegisterMMX& to, const ModSib128& from );
+	extern void xCVTTPD2PI( const xRegisterMMX& to, const xIndirect128& from );
 	extern void xCVTTPS2DQ( const xRegisterSSE& to, const xRegisterSSE& from );
-	extern void xCVTTPS2DQ( const xRegisterSSE& to, const ModSib128& from );
+	extern void xCVTTPS2DQ( const xRegisterSSE& to, const xIndirect128& from );
 	extern void xCVTTPS2PI( const xRegisterMMX& to, const xRegisterSSE& from );
-	extern void xCVTTPS2PI( const xRegisterMMX& to, const ModSib64& from );
+	extern void xCVTTPS2PI( const xRegisterMMX& to, const xIndirect64& from );
 
 	extern void xCVTTSD2SI( const xRegister32& to, const xRegisterSSE& from );
-	extern void xCVTTSD2SI( const xRegister32& to, const ModSib64& from );
+	extern void xCVTTSD2SI( const xRegister32& to, const xIndirect64& from );
 	extern void xCVTTSS2SI( const xRegister32& to, const xRegisterSSE& from );
-	extern void xCVTTSS2SI( const xRegister32& to, const ModSib32& from );
+	extern void xCVTTSS2SI( const xRegister32& to, const xIndirect32& from );
 
 	// ------------------------------------------------------------------------
 

 

  ViewVC Help
Powered by ViewVC 1.1.22