mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2025-03-06 14:27:44 +00:00
Original Supermodel code moved to tags/Original.
This commit is contained in:
parent
41c73d6806
commit
ac14fc95e4
1129
ppc_drc/genx86.c
1129
ppc_drc/genx86.c
File diff suppressed because it is too large
Load diff
173
ppc_drc/genx86.h
173
ppc_drc/genx86.h
|
@ -1,173 +0,0 @@
|
|||
typedef enum
|
||||
{
|
||||
JUMP_TYPE_NONE = 0,
|
||||
JUMP_TYPE_BACKWARDS = 1,
|
||||
JUMP_TYPE_FORWARD = 2,
|
||||
} JUMP_TYPE;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
void *pointer;
|
||||
JUMP_TYPE jump_type;
|
||||
} JUMP_TARGET;
|
||||
|
||||
enum
|
||||
{
|
||||
REG_EAX = 0,
|
||||
REG_ECX = 1,
|
||||
REG_EDX = 2,
|
||||
REG_EBX = 3,
|
||||
REG_ESP = 4,
|
||||
REG_EBP = 5,
|
||||
REG_ESI = 6,
|
||||
REG_EDI = 7
|
||||
} X86_REGS;
|
||||
|
||||
enum
|
||||
{
|
||||
REG_AL = 0,
|
||||
REG_CL = 1,
|
||||
REG_DL = 2,
|
||||
REG_BL = 3,
|
||||
REG_AH = 4,
|
||||
REG_CH = 5,
|
||||
REG_DH = 6,
|
||||
REG_BH = 7
|
||||
} X86_REGS8;
|
||||
|
||||
enum
|
||||
{
|
||||
REG_AX = 0,
|
||||
REG_CX = 1,
|
||||
REG_DX = 2,
|
||||
REG_BX = 3,
|
||||
REG_SP = 4,
|
||||
REG_BP = 5,
|
||||
REG_SI = 6,
|
||||
REG_DI = 7
|
||||
} X86_REGS16;
|
||||
|
||||
enum
|
||||
{
|
||||
REG_XMM0 = 0,
|
||||
REG_XMM1 = 1,
|
||||
REG_XMM2 = 2,
|
||||
REG_XMM3 = 3,
|
||||
REG_XMM4 = 4,
|
||||
REG_XMM5 = 5,
|
||||
REG_XMM6 = 6,
|
||||
REG_XMM7 = 7,
|
||||
} X86_REGS_SSE2;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ADD,
|
||||
ADDI,
|
||||
ADDIM,
|
||||
ADDMR,
|
||||
ADC,
|
||||
ADCI,
|
||||
ADCMR,
|
||||
AND,
|
||||
ANDI,
|
||||
ANDIM,
|
||||
ANDMR,
|
||||
BSR,
|
||||
BSWAP,
|
||||
BTIM,
|
||||
BTRI,
|
||||
CALL,
|
||||
CALLI,
|
||||
CMOVAMR,
|
||||
CMOVBMR,
|
||||
CMOVGMR,
|
||||
CMOVLMR,
|
||||
CMOVZMR,
|
||||
CMP,
|
||||
CMPI,
|
||||
CMPIM,
|
||||
CMPMR,
|
||||
CVTSD2SS,
|
||||
CVTSS2SD,
|
||||
FABS,
|
||||
FCHS,
|
||||
FADDM64,
|
||||
FDIVM64,
|
||||
FLDM64,
|
||||
FSTPM64,
|
||||
IDIV,
|
||||
IMUL,
|
||||
JA,
|
||||
JAE,
|
||||
JB,
|
||||
JG,
|
||||
JL,
|
||||
JMP,
|
||||
JMPI,
|
||||
JMPM,
|
||||
JMPR,
|
||||
JNS,
|
||||
JNZ,
|
||||
JZ,
|
||||
MOV,
|
||||
MOVI,
|
||||
MOVIM,
|
||||
MOVMR,
|
||||
MOVRM,
|
||||
MOVR8M8,
|
||||
MOVM8R8,
|
||||
MOVS_R8R32,
|
||||
MOVS_R16R32,
|
||||
MOVZ_M8R32,
|
||||
MOVZ_R8R32,
|
||||
MOVZ_R16R32,
|
||||
MOVDRX,
|
||||
MOVDXR,
|
||||
MOVQMX,
|
||||
MOVQXM,
|
||||
MUL,
|
||||
NEG,
|
||||
NOT,
|
||||
OR,
|
||||
ORI,
|
||||
ORIM,
|
||||
ORMR,
|
||||
POP,
|
||||
POPAD,
|
||||
PUSH,
|
||||
PUSHAD,
|
||||
PUSHI,
|
||||
RET,
|
||||
ROLCL,
|
||||
ROLI,
|
||||
SETCR8,
|
||||
SETNCR8,
|
||||
SETZR8,
|
||||
SHLCL,
|
||||
SHLI,
|
||||
SHRCL,
|
||||
SHRI,
|
||||
SUB,
|
||||
SUBI,
|
||||
SUBIM,
|
||||
SUBMR,
|
||||
TESTI,
|
||||
XCHGR8R8,
|
||||
XOR,
|
||||
XORI,
|
||||
XORMR,
|
||||
} GENX86_OPCODE;
|
||||
|
||||
void gen(GENX86_OPCODE opcode, INT32 dst_param, INT32 src_param);
|
||||
void gen_jmp_target(JUMP_TARGET *target);
|
||||
void gen_jmp(GENX86_OPCODE opcode, JUMP_TARGET *target);
|
||||
void gen_jmp_rpr(INT32 reg1, INT32 reg2);
|
||||
void gen_mov_dpr_to_reg(INT32 dst_reg, INT32 disp, INT32 disp_reg);
|
||||
void gen_mov_dprs_to_reg(INT32 dst_reg, INT32 disp, INT32 disp_reg, INT32 disp_reg_scale);
|
||||
void gen_mov_reg_to_dpr(INT32 src_reg, INT32 disp, INT32 disp_reg);
|
||||
void gen_reset_cache(void);
|
||||
UINT8 *gen_get_cache_pos(void);
|
||||
UINT32 gen_get_instruction_amount(void);
|
||||
void init_jmp_target(JUMP_TARGET *target);
|
||||
void init_genx86(void);
|
||||
void shutdown_genx86(void);
|
1560
ppc_drc/ppc_drc.c
1560
ppc_drc/ppc_drc.c
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue