diff options
author | arbee <rb6502@users.noreply.github.com> | 2018-04-15 13:08:16 -0400 |
---|---|---|
committer | arbee <rb6502@users.noreply.github.com> | 2018-04-15 13:08:16 -0400 |
commit | b278bc27f3394898a84d0ea0e2d40091c883b159 (patch) | |
tree | f32d384dba007c0507020b08e675c2d0d7b20c28 | |
parent | 8a31e47d4523c153dd15e9ca95c74d59b5f9ffec (diff) |
sh4drc: 3 more trivial UML conversions (nw)
-rw-r--r-- | src/devices/cpu/sh/sh4.cpp | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/src/devices/cpu/sh/sh4.cpp b/src/devices/cpu/sh/sh4.cpp index 520354e8ba9..fee966843ed 100644 --- a/src/devices/cpu/sh/sh4.cpp +++ b/src/devices/cpu/sh/sh4.cpp @@ -2873,27 +2873,15 @@ bool sh34_base_device::generate_group_0_STCRBANK(drcuml_block &block, compiler_s return true; } -void sh34_base_device::func_STCSSR() { STCSSR(m_sh2_state->arg0); } -static void cfunc_STCSSR(void *param) { ((sh34_base_device *)param)->func_STCSSR(); }; - bool sh34_base_device::generate_group_0_STCSSR(drcuml_block &block, compiler_state &compiler, const opcode_desc *desc, uint16_t opcode, int in_delay_slot, uint32_t ovrpc) { - save_fast_iregs(block); - UML_MOV(block, mem(&m_sh2_state->arg0), desc->opptr.w[0]); - UML_CALLC(block, cfunc_STCSSR, this); - load_fast_iregs(block); + UML_MOV(block, R32(Rn), mem(&m_sh2_state->m_ssr)); return true; } -void sh34_base_device::func_STCSPC() { STCSPC(m_sh2_state->arg0); } -static void cfunc_STCSPC(void *param) { ((sh34_base_device *)param)->func_STCSPC(); }; - bool sh34_base_device::generate_group_0_STCSPC(drcuml_block &block, compiler_state &compiler, const opcode_desc *desc, uint16_t opcode, int in_delay_slot, uint32_t ovrpc) { - save_fast_iregs(block); - UML_MOV(block, mem(&m_sh2_state->arg0), desc->opptr.w[0]); - UML_CALLC(block, cfunc_STCSPC, this); - load_fast_iregs(block); + UML_MOV(block, R32(Rn), mem(&m_sh2_state->m_spc)); return true; } @@ -2909,15 +2897,12 @@ bool sh34_base_device::generate_group_0_PREFM(drcuml_block &block, compiler_stat return true; } -void sh34_base_device::func_MOVCAL() { MOVCAL(m_sh2_state->arg0); } -static void cfunc_MOVCAL(void *param) { ((sh34_base_device *)param)->func_MOVCAL(); }; - bool sh34_base_device::generate_group_0_MOVCAL(drcuml_block &block, compiler_state &compiler, const opcode_desc *desc, uint16_t opcode, int in_delay_slot, uint32_t ovrpc) { - save_fast_iregs(block); - UML_MOV(block, mem(&m_sh2_state->arg0), desc->opptr.w[0]); - UML_CALLC(block, cfunc_MOVCAL, this); - load_fast_iregs(block); + UML_MOV(block, I0, R32(Rn)) + SETEA(0); + UML_MOV(block, I1, mem(&m_sh2_state->r[0])); + UML_CALLH(block, *m_write32); return true; } |