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 --- |