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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [or1ksim/] [cpu/] [or32/] [op.c] - Diff between revs 1687 and 1691

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

Rev 1687 Rev 1691
Line 139... Line 139...
  addr >>= 2;
  addr >>= 2;
 
 
  if(addr)
  if(addr)
    reg = dp->ts_bound[addr - 1];
    reg = dp->ts_bound[addr - 1];
 
 
  if(reg & 0x1f)
 
    t0 = cpu_state.reg[reg & 0x1f];
    t0 = cpu_state.reg[reg & 0x1f];
 
 
  if((reg >> 5) & 0x1f)
 
    t1 = cpu_state.reg[(reg >> 5) & 0x1f];
    t1 = cpu_state.reg[(reg >> 5) & 0x1f];
 
 
  if((reg >> 10) & 0x1f)
  /* Don't we all love gcc?  For some heavenly reason gcc 3.2 _knows_ that if I
 
   * don't put a condition around the assignment of t2, _all_ the assignments to
 
   * t{0,1,2} are useless and not needed.  I'm pleasently happy that gcc is so
 
   * bright, but on the other hand, t{0,1,2} are globals (!) how can you assume
 
   * that the value of a global won't be used in a function further up or
 
   * further down the stack?? */
 
  if(addr)
    t2 = cpu_state.reg[(reg >> 10) & 0x1f];
    t2 = cpu_state.reg[(reg >> 10) & 0x1f];
 
 
  or_longjmp(dp->locs[addr]);
  or_longjmp(dp->locs[addr]);
}
}
 
 

powered by: WebSVN 2.1.0

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