isa_traits.hh (4997:e7380529bd2d) isa_traits.hh (5228:b08c9c42907a)
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 21 unchanged lines hidden (view full) ---

30 */
31
32#ifndef __ARCH_ALPHA_ISA_TRAITS_HH__
33#define __ARCH_ALPHA_ISA_TRAITS_HH__
34
35namespace LittleEndianGuest {}
36
37#include "arch/alpha/ipr.hh"
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 21 unchanged lines hidden (view full) ---

30 */
31
32#ifndef __ARCH_ALPHA_ISA_TRAITS_HH__
33#define __ARCH_ALPHA_ISA_TRAITS_HH__
34
35namespace LittleEndianGuest {}
36
37#include "arch/alpha/ipr.hh"
38#include "arch/alpha/max_inst_regs.hh"
38#include "arch/alpha/types.hh"
39#include "config/full_system.hh"
40#include "sim/host.hh"
41
42class StaticInstPtr;
43
44namespace AlphaISA
45{
46 using namespace LittleEndianGuest;
39#include "arch/alpha/types.hh"
40#include "config/full_system.hh"
41#include "sim/host.hh"
42
43class StaticInstPtr;
44
45namespace AlphaISA
46{
47 using namespace LittleEndianGuest;
48 using AlphaISAInst::MaxInstSrcRegs;
49 using AlphaISAInst::MaxInstDestRegs;
47
48 // These enumerate all the registers for dependence tracking.
49 enum DependenceTags {
50 // 0..31 are the integer regs 0..31
51 // 32..63 are the FP regs 0..31, i.e. use (reg + FP_Base_DepTag)
52 FP_Base_DepTag = 40,
53 Ctrl_Base_DepTag = 72
54 };

--- 84 unchanged lines hidden (view full) ---

139 const int NumFloatRegs = NumFloatArchRegs;
140 const int NumMiscRegs = NumMiscArchRegs;
141
142 const int TotalNumRegs = NumIntRegs + NumFloatRegs +
143 NumMiscRegs + NumInternalProcRegs;
144
145 const int TotalDataRegs = NumIntRegs + NumFloatRegs;
146
50
51 // These enumerate all the registers for dependence tracking.
52 enum DependenceTags {
53 // 0..31 are the integer regs 0..31
54 // 32..63 are the FP regs 0..31, i.e. use (reg + FP_Base_DepTag)
55 FP_Base_DepTag = 40,
56 Ctrl_Base_DepTag = 72
57 };

--- 84 unchanged lines hidden (view full) ---

142 const int NumFloatRegs = NumFloatArchRegs;
143 const int NumMiscRegs = NumMiscArchRegs;
144
145 const int TotalNumRegs = NumIntRegs + NumFloatRegs +
146 NumMiscRegs + NumInternalProcRegs;
147
148 const int TotalDataRegs = NumIntRegs + NumFloatRegs;
149
147 // Static instruction parameters
148 const int MaxInstSrcRegs = 3;
149 const int MaxInstDestRegs = 2;
150
151 // semantically meaningful register indices
152 const int ZeroReg = 31; // architecturally meaningful
153 // the rest of these depend on the ABI
154 const int StackPointerReg = 30;
155 const int GlobalPointerReg = 29;
156 const int ProcedureValueReg = 27;
157 const int ReturnAddressReg = 26;
158 const int ReturnValueReg = 0;

--- 26 unchanged lines hidden ---
150 // semantically meaningful register indices
151 const int ZeroReg = 31; // architecturally meaningful
152 // the rest of these depend on the ABI
153 const int StackPointerReg = 30;
154 const int GlobalPointerReg = 29;
155 const int ProcedureValueReg = 27;
156 const int ReturnAddressReg = 26;
157 const int ReturnValueReg = 0;

--- 26 unchanged lines hidden ---