mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Add a flag for eating prefixes to the MIPS tables.
Still incomplete, just filled in ones I've tested so far.
This commit is contained in:
parent
b4fb06f51c
commit
6b223cf7d7
2 changed files with 32 additions and 30 deletions
|
@ -478,19 +478,19 @@ const MIPSInstruction tableCop1BC[32] =
|
|||
|
||||
const MIPSInstruction tableVFPU0[8] =
|
||||
{
|
||||
INSTR("vadd",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU),
|
||||
INSTR("vsub",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU),
|
||||
INSTR("vadd",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU|OUT_EAT_PREFIX),
|
||||
INSTR("vsub",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU|OUT_EAT_PREFIX),
|
||||
INSTR("vsbn",&Jit::Comp_Generic, Dis_VectorSet3, Int_Vsbn, IS_VFPU),
|
||||
{-2}, {-2}, {-2}, {-2},
|
||||
|
||||
INSTR("vdiv",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU),
|
||||
INSTR("vdiv",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU|OUT_EAT_PREFIX),
|
||||
};
|
||||
|
||||
const MIPSInstruction tableVFPU1[8] =
|
||||
{
|
||||
INSTR("vmul",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU),
|
||||
INSTR("vdot",&Jit::Comp_VDot, Dis_VectorDot, Int_VDot, IS_VFPU),
|
||||
INSTR("vscl",&Jit::Comp_Generic, Dis_VScl, Int_VScl, IS_VFPU),
|
||||
INSTR("vmul",&Jit::Comp_VecDo3, Dis_VectorSet3, Int_VecDo3, IS_VFPU|OUT_EAT_PREFIX),
|
||||
INSTR("vdot",&Jit::Comp_VDot, Dis_VectorDot, Int_VDot, IS_VFPU|OUT_EAT_PREFIX),
|
||||
INSTR("vscl",&Jit::Comp_Generic, Dis_VScl, Int_VScl, IS_VFPU|OUT_EAT_PREFIX),
|
||||
{-2},
|
||||
INSTR("vhdp",&Jit::Comp_Generic, Dis_Generic, Int_VHdp, IS_VFPU),
|
||||
INSTR("vcrs",&Jit::Comp_Generic, Dis_Vcrs, Int_Vcrs, IS_VFPU),
|
||||
|
@ -582,7 +582,7 @@ const MIPSInstruction tableVFPU7[32] =
|
|||
// 110100 00000 10111 0000000000000000
|
||||
const MIPSInstruction tableVFPU4[32] = //110100 00000 xxxxx
|
||||
{
|
||||
INSTR("vmov", &Jit::Comp_Generic, Dis_VectorSet2, Int_VV2Op,IS_VFPU),
|
||||
INSTR("vmov", &Jit::Comp_Generic, Dis_VectorSet2, Int_VV2Op,IS_VFPU|OUT_EAT_PREFIX),
|
||||
INSTR("vabs", &Jit::Comp_Generic, Dis_VectorSet2, Int_VV2Op,IS_VFPU),
|
||||
INSTR("vneg", &Jit::Comp_Generic, Dis_VectorSet2, Int_VV2Op,IS_VFPU),
|
||||
INSTR("vidt", &Jit::Comp_Generic, Dis_VectorSet1, Int_Vidt,IS_VFPU),
|
||||
|
|
|
@ -19,31 +19,33 @@
|
|||
|
||||
#include "../../Globals.h"
|
||||
|
||||
#define IS_CONDBRANCH 0x100
|
||||
#define IS_JUMP 0x200
|
||||
#define IS_VFPU 0x80000000
|
||||
#define LIKELY 0x80
|
||||
#define UNCONDITIONAL 0x40
|
||||
#define BAD_INSTRUCTION 0x20
|
||||
#define DELAYSLOT 0x10
|
||||
#define DELAYSLOT 0x00000010
|
||||
#define BAD_INSTRUCTION 0x00000020
|
||||
#define UNCONDITIONAL 0x00000040
|
||||
#define LIKELY 0x00000080
|
||||
#define IS_CONDBRANCH 0x00000100
|
||||
#define IS_JUMP 0x00000200
|
||||
|
||||
#define IN_RS_ADDR 0x800
|
||||
#define IN_RS_SHIFT 0x400
|
||||
#define IN_RS 0x1000
|
||||
#define IN_RT 0x2000
|
||||
#define IN_SA 0x4000
|
||||
#define IN_IMM16 0x8000
|
||||
#define IN_IMM26 0x10000
|
||||
#define IN_MEM 0x20000
|
||||
#define IN_OTHER 0x40000
|
||||
#define IN_FPUFLAG 0x80000
|
||||
#define IN_RS_SHIFT 0x00000400
|
||||
#define IN_RS_ADDR 0x00000800
|
||||
#define IN_RS 0x00001000
|
||||
#define IN_RT 0x00002000
|
||||
#define IN_SA 0x00004000
|
||||
#define IN_IMM16 0x00008000
|
||||
#define IN_IMM26 0x00010000
|
||||
#define IN_MEM 0x00020000
|
||||
#define IN_OTHER 0x00040000
|
||||
#define IN_FPUFLAG 0x00080000
|
||||
|
||||
#define OUT_RT 0x100000
|
||||
#define OUT_RD 0x200000
|
||||
#define OUT_RA 0x400000
|
||||
#define OUT_MEM 0x800000
|
||||
#define OUT_OTHER 0x1000000
|
||||
#define OUT_FPUFLAG 0x2000000
|
||||
#define OUT_RT 0x00100000
|
||||
#define OUT_RD 0x00200000
|
||||
#define OUT_RA 0x00400000
|
||||
#define OUT_MEM 0x00800000
|
||||
#define OUT_OTHER 0x01000000
|
||||
#define OUT_FPUFLAG 0x02000000
|
||||
#define OUT_EAT_PREFIX 0x04000000
|
||||
|
||||
#define IS_VFPU 0x80000000
|
||||
|
||||
#ifndef CDECL
|
||||
#define CDECL
|
||||
|
|
Loading…
Add table
Reference in a new issue