Line 200... |
Line 200... |
IFF (config.cpu.dependstats) cur->func_unit = it_branch;
|
IFF (config.cpu.dependstats) cur->func_unit = it_branch;
|
mstats.bf[flag][fwd]++;
|
mstats.bf[flag][fwd]++;
|
bpb_update(cur->insn_addr, flag);
|
bpb_update(cur->insn_addr, flag);
|
}
|
}
|
if (flag) {
|
if (flag) {
|
debug(5, "\nl.bf relative: pc=%x pcnext=%x\n", pc, pcnext);
|
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
btic_update(pcnext);
|
btic_update(pcnext);
|
next_delay_insn = 1;
|
next_delay_insn = 1;
|
} else {
|
} else {
|
btic_update(pc);
|
btic_update(pc);
|
Line 216... |
Line 215... |
IFF (config.cpu.dependstats) cur->func_unit = it_branch;
|
IFF (config.cpu.dependstats) cur->func_unit = it_branch;
|
mstats.bnf[!flag][fwd]++;
|
mstats.bnf[!flag][fwd]++;
|
bpb_update(cur->insn_addr, flag == 0);
|
bpb_update(cur->insn_addr, flag == 0);
|
}
|
}
|
if (flag == 0) {
|
if (flag == 0) {
|
debug(5, "\nl.bnf relative: pc=%x pcnext=%x\n", pc, pcnext);
|
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
btic_update(pcnext);
|
btic_update(pcnext);
|
next_delay_insn = 1;
|
next_delay_insn = 1;
|
} else {
|
} else {
|
btic_update(pc);
|
btic_update(pc);
|
}
|
}
|
}
|
}
|
INSTRUCTION (l_j) {
|
INSTRUCTION (l_j) {
|
debug(5, "\nl.j relative: pc=%x pcnext=%x\n", pc, pcnext);
|
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
IFF (config.cpu.dependstats) cur->func_unit = it_jump;
|
IFF (config.cpu.dependstats) cur->func_unit = it_jump;
|
next_delay_insn = 1;
|
next_delay_insn = 1;
|
}
|
}
|
INSTRUCTION (l_jal) {
|
INSTRUCTION (l_jal) {
|
debug(5, "\nl.jal relative: pc=%x pcnext=%x\n", pc, pcnext);
|
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
|
|
IFF (config.cpu.dependstats) cur->func_unit = it_jump;
|
IFF (config.cpu.dependstats) cur->func_unit = it_jump;
|
set_reg32(LINK_REGNO, pc + 8);
|
set_reg32(LINK_REGNO, pc + 8);
|
next_delay_insn = 1;
|
next_delay_insn = 1;
|