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

Subversion Repositories thor

[/] [thor/] [trunk/] [FT64v5/] [software/] [AS64/] [source/] [FT64.cpp] - Diff between revs 55 and 59

Show entire file | Details | Blame | View Log

Rev 55 Rev 59
Line 1310... Line 1310...
// A value that is too large has to be loaded into a register then the
// A value that is too large has to be loaded into a register then the
// instruction converted to a registered form.
// instruction converted to a registered form.
// So
// So
//              addi    r1,r2,#$12345678
//              addi    r1,r2,#$12345678
// Becomes:
// Becomes:
//              ldiq1   r52,#$00123
 
//              oriq0   r52,#$45678
 
//              addi    r1,r2,r52
 
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
 
 
static void process_riop(int64_t opcode6)
static void process_riop(int64_t opcode6)
{
{
  int Ra;
  int Ra;
Line 4570... Line 4567...
                case tk_fsub:   process_fprrop(0x05); break;
                case tk_fsub:   process_fprrop(0x05); break;
                case tk_hint:   process_hint(); break;
                case tk_hint:   process_hint(); break;
                case tk_ibne: process_ibne(0x26,2); break;
                case tk_ibne: process_ibne(0x26,2); break;
                case tk_inc:    process_inc(0x1A); break;
                case tk_inc:    process_inc(0x1A); break;
                case tk_if:             pif1 = inptr-2; doif(); break;
                case tk_if:             pif1 = inptr-2; doif(); break;
 
                case tk_ifdef:          pif1 = inptr - 5; doifdef(); break;
                case tk_itof: process_itof(0x15); break;
                case tk_itof: process_itof(0x15); break;
                case tk_iret:   process_iret(0xC8000002); break;
                case tk_iret:   process_iret(0xC8000002); break;
                case tk_isnull:  process_rop(0x0C); break;
                case tk_isnull:  process_rop(0x0C); break;
                case tk_isptr:  process_rop(0x0D); break;
                case tk_isptr:  process_rop(0x0D); break;
        case tk_jal: process_jal(0x18); break;
        case tk_jal: process_jal(0x18); break;

powered by: WebSVN 2.1.0

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