OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [stable_0_2_0_rc2/] [or1ksim/] [cpu/] [or32/] [insnset.c] - Diff between revs 706 and 712

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 706 Rev 712
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;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.