diff options
author | Ted Green <tedgreen99@protonmail.com> | 2017-10-29 15:18:00 -0600 |
---|---|---|
committer | Ted Green <tedgreen99@protonmail.com> | 2017-10-29 15:18:00 -0600 |
commit | 13077ed2aeed1f83ab2f3616f410bb53c5e9a736 (patch) | |
tree | bac03dd27af868851f54a32711a3f3ceaa53503c | |
parent | 62718818afecdbd5ed6b715cea13c9f27eafbc2c (diff) |
mips3: Revert removal of start and end checks as they potentially improve performance. (nw)
-rw-r--r-- | src/devices/cpu/mips/mips3drc.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/devices/cpu/mips/mips3drc.cpp b/src/devices/cpu/mips/mips3drc.cpp index 1aef0942668..105ca7a519e 100644 --- a/src/devices/cpu/mips/mips3drc.cpp +++ b/src/devices/cpu/mips/mips3drc.cpp @@ -912,11 +912,16 @@ void mips3_device::static_generate_memory_accessor(int mode, int size, int iswri { void *fastbase = (uint8_t *)m_fastram[ramnum].base - m_fastram[ramnum].start; uint32_t skip = label++; - UML_CMP(block, I0, m_fastram[ramnum].end); // cmp i0,end - UML_JMPc(block, COND_A, skip); // ja skip - UML_CMP(block, I0, m_fastram[ramnum].start);// cmp i0,fastram_start - UML_JMPc(block, COND_B, skip); // jb skip - + if (m_fastram[ramnum].end != 0xffffffff) + { + UML_CMP(block, I0, m_fastram[ramnum].end); // cmp i0,end + UML_JMPc(block, COND_A, skip); // ja skip + } + if (m_fastram[ramnum].start != 0x00000000) + { + UML_CMP(block, I0, m_fastram[ramnum].start);// cmp i0,fastram_start + UML_JMPc(block, COND_B, skip); // jb skip + } if (!iswrite) { if (size == 1) |