X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=mach.c;h=7c91979c0a351f97fcc2b46835465fc1fc1abcff;hp=ae5065bf87c85a5c381d72ee917ceb3b96575d0d;hb=02523045dcb28c8f6ad794a84e32beff214be424;hpb=40f1a3ec69fd0f0dade867d8ffcb840add5b21f1 diff --git a/mach.c b/mach.c index ae5065b..7c91979 100644 --- a/mach.c +++ b/mach.c @@ -434,7 +434,7 @@ int m_move(WORD inst, WORD size) int siz = (int)size; // Try to optimize to MOVEQ - if (optim_flag && siz == SIZL && am0 == IMMED && am1 == DREG + if (optim_flags[OPT_MOVEL_MOVEQ] && siz == SIZL && am0 == IMMED && am1 == DREG && (a0exattr & (TDB|DEFINED)) == DEFINED && a0exval + 0x80 < 0x100) { m_moveq((WORD)0x7000, (WORD)0); @@ -452,7 +452,7 @@ int m_move(WORD inst, WORD size) ea0gen((WORD)siz); if (am1 >= ADISP) - ea1gen((WORD)siz); + ea1gen((WORD)siz | 0x8000); // Tell ea1gen we're move ea,ea } return 0; @@ -553,7 +553,7 @@ int m_br(WORD inst, WORD siz) // Optimize branch instr. size if (siz == SIZN) { - if (optim_flag && v != 0 && v + 0x80 < 0x100) + if (optim_flags[OPT_BSR_BCC_S] && v != 0 && v + 0x80 < 0x100) { // Fits in .B inst |= v & 0xFF;