mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-01 12:32:48 +00:00
Merge pull request #5068 from lioncash/private
DSPEmitter: Make helper functions private
This commit is contained in:
commit
9c1faee431
@ -53,33 +53,6 @@ public:
|
|||||||
|
|
||||||
void FallBackToInterpreter(UDSPInstruction inst);
|
void FallBackToInterpreter(UDSPInstruction inst);
|
||||||
|
|
||||||
// CC Util
|
|
||||||
void Update_SR_Register64(Gen::X64Reg val = Gen::EAX);
|
|
||||||
void Update_SR_Register64_Carry(Gen::X64Reg val, Gen::X64Reg carry_ovfl, bool carry_eq = false);
|
|
||||||
void Update_SR_Register16(Gen::X64Reg val = Gen::EAX);
|
|
||||||
void Update_SR_Register16_OverS32(Gen::X64Reg val = Gen::EAX);
|
|
||||||
|
|
||||||
// Register helpers
|
|
||||||
void setCompileSR(u16 bit);
|
|
||||||
void clrCompileSR(u16 bit);
|
|
||||||
void checkExceptions(u32 retval);
|
|
||||||
|
|
||||||
// Memory helper functions
|
|
||||||
void increment_addr_reg(int reg);
|
|
||||||
void decrement_addr_reg(int reg);
|
|
||||||
void increase_addr_reg(int reg, int ix_reg);
|
|
||||||
void decrease_addr_reg(int reg);
|
|
||||||
void imem_read(Gen::X64Reg address);
|
|
||||||
void dmem_read(Gen::X64Reg address);
|
|
||||||
void dmem_read_imm(u16 addr);
|
|
||||||
void dmem_write(Gen::X64Reg value);
|
|
||||||
void dmem_write_imm(u16 addr, Gen::X64Reg value);
|
|
||||||
|
|
||||||
// Ext command helpers
|
|
||||||
void popExtValueToReg();
|
|
||||||
void pushExtValueFromMem(u16 dreg, u16 sreg);
|
|
||||||
void pushExtValueFromMem2(u16 dreg, u16 sreg);
|
|
||||||
|
|
||||||
// Ext commands
|
// Ext commands
|
||||||
void l(const UDSPInstruction opc);
|
void l(const UDSPInstruction opc);
|
||||||
void ln(const UDSPInstruction opc);
|
void ln(const UDSPInstruction opc);
|
||||||
@ -106,21 +79,6 @@ public:
|
|||||||
void ir(const UDSPInstruction opc);
|
void ir(const UDSPInstruction opc);
|
||||||
void nr(const UDSPInstruction opc);
|
void nr(const UDSPInstruction opc);
|
||||||
void nop(const UDSPInstruction opc) {}
|
void nop(const UDSPInstruction opc) {}
|
||||||
// Command helpers
|
|
||||||
void dsp_reg_stack_push(StackRegister stack_reg);
|
|
||||||
void dsp_reg_stack_pop(StackRegister stack_reg);
|
|
||||||
void dsp_reg_store_stack(StackRegister stack_reg, Gen::X64Reg host_sreg = Gen::EDX);
|
|
||||||
void dsp_reg_load_stack(StackRegister stack_reg, Gen::X64Reg host_dreg = Gen::EDX);
|
|
||||||
void dsp_reg_store_stack_imm(StackRegister stack_reg, u16 val);
|
|
||||||
void dsp_op_write_reg(int reg, Gen::X64Reg host_sreg);
|
|
||||||
void dsp_op_write_reg_imm(int reg, u16 val);
|
|
||||||
void dsp_conditional_extend_accum(int reg);
|
|
||||||
void dsp_conditional_extend_accum_imm(int reg, u16 val);
|
|
||||||
void dsp_op_read_reg_dont_saturate(int reg, Gen::X64Reg host_dreg,
|
|
||||||
RegisterExtension extend = RegisterExtension::None);
|
|
||||||
void dsp_op_read_reg(int reg, Gen::X64Reg host_dreg,
|
|
||||||
RegisterExtension extend = RegisterExtension::None);
|
|
||||||
|
|
||||||
// Commands
|
// Commands
|
||||||
void dar(const UDSPInstruction opc);
|
void dar(const UDSPInstruction opc);
|
||||||
void iar(const UDSPInstruction opc);
|
void iar(const UDSPInstruction opc);
|
||||||
@ -135,7 +93,6 @@ public:
|
|||||||
void nx(const UDSPInstruction opc);
|
void nx(const UDSPInstruction opc);
|
||||||
|
|
||||||
// Branch
|
// Branch
|
||||||
void HandleLoop();
|
|
||||||
void jcc(const UDSPInstruction opc);
|
void jcc(const UDSPInstruction opc);
|
||||||
void jmprcc(const UDSPInstruction opc);
|
void jmprcc(const UDSPInstruction opc);
|
||||||
void call(const UDSPInstruction opc);
|
void call(const UDSPInstruction opc);
|
||||||
@ -224,10 +181,6 @@ public:
|
|||||||
void asrnr(const UDSPInstruction opc);
|
void asrnr(const UDSPInstruction opc);
|
||||||
|
|
||||||
// Multipliers
|
// Multipliers
|
||||||
void multiply();
|
|
||||||
void multiply_add();
|
|
||||||
void multiply_sub();
|
|
||||||
void multiply_mulx(u8 axh0, u8 axh1);
|
|
||||||
void clrp(const UDSPInstruction opc);
|
void clrp(const UDSPInstruction opc);
|
||||||
void tstprod(const UDSPInstruction opc);
|
void tstprod(const UDSPInstruction opc);
|
||||||
void movp(const UDSPInstruction opc);
|
void movp(const UDSPInstruction opc);
|
||||||
@ -286,6 +239,57 @@ private:
|
|||||||
void get_ax_h(int _reg, Gen::X64Reg acc = Gen::EAX);
|
void get_ax_h(int _reg, Gen::X64Reg acc = Gen::EAX);
|
||||||
void get_long_acc(int _reg, Gen::X64Reg acc = Gen::EAX);
|
void get_long_acc(int _reg, Gen::X64Reg acc = Gen::EAX);
|
||||||
|
|
||||||
|
// Branch helpers
|
||||||
|
void HandleLoop();
|
||||||
|
|
||||||
|
// CC helpers
|
||||||
|
void Update_SR_Register64(Gen::X64Reg val = Gen::EAX);
|
||||||
|
void Update_SR_Register64_Carry(Gen::X64Reg val, Gen::X64Reg carry_ovfl, bool carry_eq = false);
|
||||||
|
void Update_SR_Register16(Gen::X64Reg val = Gen::EAX);
|
||||||
|
void Update_SR_Register16_OverS32(Gen::X64Reg val = Gen::EAX);
|
||||||
|
|
||||||
|
// Register helpers
|
||||||
|
void setCompileSR(u16 bit);
|
||||||
|
void clrCompileSR(u16 bit);
|
||||||
|
void checkExceptions(u32 retval);
|
||||||
|
|
||||||
|
// Memory helper functions
|
||||||
|
void increment_addr_reg(int reg);
|
||||||
|
void decrement_addr_reg(int reg);
|
||||||
|
void increase_addr_reg(int reg, int ix_reg);
|
||||||
|
void decrease_addr_reg(int reg);
|
||||||
|
void imem_read(Gen::X64Reg address);
|
||||||
|
void dmem_read(Gen::X64Reg address);
|
||||||
|
void dmem_read_imm(u16 addr);
|
||||||
|
void dmem_write(Gen::X64Reg value);
|
||||||
|
void dmem_write_imm(u16 addr, Gen::X64Reg value);
|
||||||
|
|
||||||
|
// Command helpers
|
||||||
|
void dsp_reg_stack_push(StackRegister stack_reg);
|
||||||
|
void dsp_reg_stack_pop(StackRegister stack_reg);
|
||||||
|
void dsp_reg_store_stack(StackRegister stack_reg, Gen::X64Reg host_sreg = Gen::EDX);
|
||||||
|
void dsp_reg_load_stack(StackRegister stack_reg, Gen::X64Reg host_dreg = Gen::EDX);
|
||||||
|
void dsp_reg_store_stack_imm(StackRegister stack_reg, u16 val);
|
||||||
|
void dsp_op_write_reg(int reg, Gen::X64Reg host_sreg);
|
||||||
|
void dsp_op_write_reg_imm(int reg, u16 val);
|
||||||
|
void dsp_conditional_extend_accum(int reg);
|
||||||
|
void dsp_conditional_extend_accum_imm(int reg, u16 val);
|
||||||
|
void dsp_op_read_reg_dont_saturate(int reg, Gen::X64Reg host_dreg,
|
||||||
|
RegisterExtension extend = RegisterExtension::None);
|
||||||
|
void dsp_op_read_reg(int reg, Gen::X64Reg host_dreg,
|
||||||
|
RegisterExtension extend = RegisterExtension::None);
|
||||||
|
|
||||||
|
// Ext command helpers
|
||||||
|
void popExtValueToReg();
|
||||||
|
void pushExtValueFromMem(u16 dreg, u16 sreg);
|
||||||
|
void pushExtValueFromMem2(u16 dreg, u16 sreg);
|
||||||
|
|
||||||
|
// Multiplier helpers
|
||||||
|
void multiply();
|
||||||
|
void multiply_add();
|
||||||
|
void multiply_sub();
|
||||||
|
void multiply_mulx(u8 axh0, u8 axh1);
|
||||||
|
|
||||||
DSPJitRegCache m_gpr{*this};
|
DSPJitRegCache m_gpr{*this};
|
||||||
|
|
||||||
u16 m_compile_pc;
|
u16 m_compile_pc;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user