mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
suppressed JUMP_TB (Paul Brook)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1594 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
d5d11eac6c
commit
c53be33474
7 changed files with 116 additions and 60 deletions
|
@ -487,7 +487,16 @@ OP_COND(ltz, (int32_t)T0 < 0);
|
|||
|
||||
/* Branchs */
|
||||
//#undef USE_DIRECT_JUMP
|
||||
#define EIP env->PC
|
||||
|
||||
void OPPROTO op_goto_tb0(void)
|
||||
{
|
||||
GOTO_TB(op_goto_tb0, PARAM1, 0);
|
||||
}
|
||||
|
||||
void OPPROTO op_goto_tb1(void)
|
||||
{
|
||||
GOTO_TB(op_goto_tb1, PARAM1, 1);
|
||||
}
|
||||
|
||||
/* Branch to register */
|
||||
void op_save_breg_target (void)
|
||||
|
@ -506,13 +515,6 @@ void op_breg (void)
|
|||
RETURN();
|
||||
}
|
||||
|
||||
/* Unconditional branch */
|
||||
void op_branch (void)
|
||||
{
|
||||
JUMP_TB(branch, PARAM1, 0, PARAM2);
|
||||
RETURN();
|
||||
}
|
||||
|
||||
void op_save_btarget (void)
|
||||
{
|
||||
env->btarget = PARAM1;
|
||||
|
@ -538,24 +540,10 @@ void op_restore_bcond (void)
|
|||
RETURN();
|
||||
}
|
||||
|
||||
void op_bcond (void)
|
||||
void op_jnz_T2 (void)
|
||||
{
|
||||
if (T2) {
|
||||
JUMP_TB(bcond, PARAM1, 0, PARAM2);
|
||||
} else {
|
||||
JUMP_TB(bcond, PARAM1, 1, PARAM3);
|
||||
}
|
||||
RETURN();
|
||||
}
|
||||
|
||||
/* Likely branch (used to skip the delay slot) */
|
||||
void op_blikely (void)
|
||||
{
|
||||
/* If the test is false, skip the delay slot */
|
||||
if (T2 == 0) {
|
||||
env->hflags = PARAM3;
|
||||
JUMP_TB(blikely, PARAM1, 1, PARAM2);
|
||||
}
|
||||
if (T2)
|
||||
GOTO_LABEL_PARAM(1);
|
||||
RETURN();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue