M68k build fix.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2212 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
pbrook 2006-11-12 21:31:18 +00:00
parent 483dcf538e
commit 2d37be61e3
2 changed files with 7 additions and 4 deletions

View File

@ -412,7 +412,10 @@ OP(divu)
quot = num / den; quot = num / den;
rem = num % den; rem = num % den;
flags = 0; flags = 0;
if (PARAM1 && quot > 0xffff) /* Avoid using a PARAM1 of zero. This breaks dyngen because it uses
the address of a symbol, and gcc knows symbols can't have address
zero. */
if (PARAM1 == 2 && quot > 0xffff)
flags |= CCF_V; flags |= CCF_V;
if (quot == 0) if (quot == 0)
flags |= CCF_Z; flags |= CCF_Z;
@ -439,7 +442,7 @@ OP(divs)
quot = num / den; quot = num / den;
rem = num % den; rem = num % den;
flags = 0; flags = 0;
if (PARAM1 && quot != (int16_t)quot) if (PARAM1 == 2 && quot != (int16_t)quot)
flags |= CCF_V; flags |= CCF_V;
if (quot == 0) if (quot == 0)
flags |= CCF_Z; flags |= CCF_Z;

View File

@ -747,9 +747,9 @@ DISAS_INSN(divl)
den = gen_ea(s, insn, OS_LONG, 0, NULL); den = gen_ea(s, insn, OS_LONG, 0, NULL);
gen_op_mov32(QREG_DIV2, den); gen_op_mov32(QREG_DIV2, den);
if (ext & 0x0800) { if (ext & 0x0800) {
gen_op_divs(0); gen_op_divs(2);
} else { } else {
gen_op_divu(0); gen_op_divu(2);
} }
if (num == reg) { if (num == reg) {
/* div */ /* div */