*603: PPC_UNIT_BPU, PPC_UNIT_BPU, 1, 1, 0
*603e:PPC_UNIT_BPU, PPC_UNIT_BPU, 1, 1, 0
*604: PPC_UNIT_BPU, PPC_UNIT_BPU, 1, 1, 0
- /* WITH_OPTION_MPC860C0
+ /* option_mpc860c0:
No problem here because this branch is predicted taken (unconditional). */
if (AA) NIA = IEA(EXTS(LI_0b00));
else NIA = IEA(CIA + EXTS(LI_0b00));
else
succeed = 0;
if (LK) LR = (spreg)IEA(CIA + 4);
- #ifdef WITH_OPTION_MPC860C0
- if (option_mpc860c0 && (BO{0} && BO{2} || !BO{4})) {
- /* This branch is predicted as not-taken.
+ if (option_mpc860c0 && (!BO{0} || !BO{2}) && !BO{4}) {
+ /* This branch is predicted as "normal".
If this is a forward branch and it is near the end of a page,
we've detected a problematic branch. */
if (succeed && NIA > CIA) {
program_interrupt(processor, cia, mpc860c0_instruction_program_interrupt);
}
}
- #endif // WITH_OPTION_MPC860C0
if (CURRENT_MODEL_ISSUE > 0)
model_branches(cpu_model(processor), succeed, BO);
if (! BO{0}) {
else
succeed = 0;
if (LK) LR = (spreg)IEA(CIA + 4);
- #ifdef WITH_OPTION_MPC860C0
- if (option_mpc860c0 && (BO{0} && BO{2} || !BO{4})) {
+ if (option_mpc860c0 && (!BO{0} || !BO{2}) && !BO{4}) {
/* This branch is predicted as not-taken.
If this is a forward branch and it is near the end of a page,
we've detected a problematic branch. */
program_interrupt(processor, cia, mpc860c0_instruction_program_interrupt);
}
}
- #endif // WITH_OPTION_MPC860C0
if (CURRENT_MODEL_ISSUE > 0) {
model_branches(cpu_model(processor), succeed, BO);
if (! BO{0})
else
succeed = 0;
if (LK) LR = (spreg)IEA(CIA + 4);
- #ifdef WITH_OPTION_MPC860C0
- if (option_mpc860c0 && (BO{0} && BO{2} || !BO{4})) {
+ if (option_mpc860c0 && (!BO{0} || !BO{2}) && !BO{4}) {
/* This branch is predicted as not-taken.
If this is a forward branch and it is near the end of a page,
we've detected a problematic branch. */
program_interrupt(processor, cia, mpc860c0_instruction_program_interrupt);
}
}
- #endif // WITH_OPTION_MPC860C0
if (CURRENT_MODEL_ISSUE > 0) {
model_branches(cpu_model(processor), succeed, BO);
if (! BO{0})