Line 37... |
Line 37... |
else
|
else
|
setsprbits(SPR_SR, SPR_SR_CY, 0);
|
setsprbits(SPR_SR, SPR_SR_CY, 0);
|
|
|
temp4 = temp1;
|
temp4 = temp1;
|
if (temp4 == temp1)
|
if (temp4 == temp1)
|
mstats.byteadd++;
|
or1k_mstats.byteadd++;
|
}
|
}
|
INSTRUCTION (l_addc) {
|
INSTRUCTION (l_addc) {
|
signed long temp1, temp2, temp3;
|
signed long temp1, temp2, temp3;
|
signed char temp4;
|
signed char temp4;
|
|
|
Line 60... |
Line 60... |
else
|
else
|
setsprbits(SPR_SR, SPR_SR_CY, 0);
|
setsprbits(SPR_SR, SPR_SR_CY, 0);
|
|
|
temp4 = temp1;
|
temp4 = temp1;
|
if (temp4 == temp1)
|
if (temp4 == temp1)
|
mstats.byteadd++;
|
or1k_mstats.byteadd++;
|
}
|
}
|
INSTRUCTION (l_sw) {
|
INSTRUCTION (l_sw) {
|
int old_cyc = 0;
|
int old_cyc = 0;
|
IFF (config.cpu.dependstats) current->func_unit = it_store;
|
IFF (config.cpu.dependstats) current->func_unit = it_store;
|
IFF (config.cpu.sbuf_len) old_cyc = runtime.sim.mem_cycles;
|
IFF (config.cpu.sbuf_len) old_cyc = runtime.sim.mem_cycles;
|
Line 225... |
Line 225... |
}
|
}
|
INSTRUCTION (l_bf) {
|
INSTRUCTION (l_bf) {
|
if (config.bpb.enabled) {
|
if (config.bpb.enabled) {
|
int fwd = (eval_operand32(0, &breakpoint) >= pc) ? 1 : 0;
|
int fwd = (eval_operand32(0, &breakpoint) >= pc) ? 1 : 0;
|
IFF (config.cpu.dependstats) current->func_unit = it_branch;
|
IFF (config.cpu.dependstats) current->func_unit = it_branch;
|
mstats.bf[flag][fwd]++;
|
or1k_mstats.bf[flag][fwd]++;
|
bpb_update(current->insn_addr, flag);
|
bpb_update(current->insn_addr, flag);
|
}
|
}
|
if (flag) {
|
if (flag) {
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
btic_update(pcnext);
|
btic_update(pcnext);
|
Line 240... |
Line 240... |
}
|
}
|
INSTRUCTION (l_bnf) {
|
INSTRUCTION (l_bnf) {
|
if (config.bpb.enabled) {
|
if (config.bpb.enabled) {
|
int fwd = (eval_operand32(0, &breakpoint) >= pc) ? 1 : 0;
|
int fwd = (eval_operand32(0, &breakpoint) >= pc) ? 1 : 0;
|
IFF (config.cpu.dependstats) current->func_unit = it_branch;
|
IFF (config.cpu.dependstats) current->func_unit = it_branch;
|
mstats.bnf[!flag][fwd]++;
|
or1k_mstats.bnf[!flag][fwd]++;
|
bpb_update(current->insn_addr, flag == 0);
|
bpb_update(current->insn_addr, flag == 0);
|
}
|
}
|
if (flag == 0) {
|
if (flag == 0) {
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
pcdelay = pc + (signed)eval_operand32(0, &breakpoint) * 4;
|
btic_update(pcnext);
|
btic_update(pcnext);
|