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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [or1ksim/] [cpu/] [or32/] [dyn-rec.c] - Diff between revs 1748 and 1751

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

Rev 1748 Rev 1751
Line 40... Line 40...
#include "execute.h"
#include "execute.h"
#include "except.h"
#include "except.h"
#include "spr-defs.h"
#include "spr-defs.h"
#include "sim-config.h"
#include "sim-config.h"
#include "sched.h"
#include "sched.h"
 
 
#include "i386-regs.h"
#include "i386-regs.h"
 
 
#include "def-op-t.h"
#include "def-op-t.h"
#include "dyn-rec.h"
#include "dyn-rec.h"
#include "gen-ops.h"
#include "gen-ops.h"
 
 
#include "op-support.h"
#include "op-support.h"
 
#include "toplevel-support.h"
 
 
 
 
/* NOTE: All openrisc (or) addresses in this file are *PHYSICAL* addresses */
/* NOTE: All openrisc (or) addresses in this file are *PHYSICAL* addresses */
 
 
/* FIXME: Optimise sorted list adding */
/* FIXME: Optimise sorted list adding */
 
 
Line 1071... Line 1070...
    /* Just clear param_t[0] */
    /* Just clear param_t[0] */
    clear_t[param_t[0]](opq, 1);
    clear_t[param_t[0]](opq, 1);
    return;
    return;
  }
  }
 
 
  if((opq->param[0] == opq->param[1] == opq->param[2]) && (param_t[2] != T_NONE))
  if((opq->param[0] == opq->param[1]) &&
 
     (opq->param[0] == opq->param[2]) &&
 
     (param_t[2] != T_NONE))
    return;
    return;
 
 
  if(param_t[2] == T_NONE)
  if(param_t[2] == T_NONE)
    l_and_imm_t_table[param_t[0]][param_t[1]](opq, 1, opq->param[2]);
    l_and_imm_t_table[param_t[0]][param_t[1]](opq, 1, opq->param[2]);
  else
  else
Line 1726... Line 1727...
void gen_l_or(struct op_queue *opq, int param_t[3], int delay_slot)
void gen_l_or(struct op_queue *opq, int param_t[3], int delay_slot)
{
{
  if(!opq->param[0])
  if(!opq->param[0])
    return;
    return;
 
 
  if((opq->param[0] == opq->param[1] == opq->param[2]) && (param_t[2] != T_NONE))
  if((opq->param[0] == opq->param[1]) &&
 
     (opq->param[0] == opq->param[2]) &&
 
     (param_t[2] != T_NONE))
    return;
    return;
 
 
  if(!opq->param[1] && !opq->param[2]) {
  if(!opq->param[1] && !opq->param[2]) {
    clear_t[param_t[0]](opq, 1);
    clear_t[param_t[0]](opq, 1);
    return;
    return;

powered by: WebSVN 2.1.0

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