summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit13077ed2aeed1f83ab2f3616f410bb53c5e9a736 (patch)
treebac03dd27af868851f54a32711a3f3ceaa53503c
parent62718818afecdbd5ed6b715cea13c9f27eafbc2c (diff)
mips3: Revert removal of start and end checks as they potentially improve performance. (nw)
-rw-r--r--src/devices/cpu/mips/mips3drc.cpp15
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)