types.hh revision 2438
12292SN/A/*
213590Srekai.gonzalezalberquilla@arm.com * Copyright (c) 2003-2005 The Regents of The University of Michigan
39444SAndreas.Sandberg@ARM.com * All rights reserved.
49444SAndreas.Sandberg@ARM.com *
59444SAndreas.Sandberg@ARM.com * Redistribution and use in source and binary forms, with or without
69444SAndreas.Sandberg@ARM.com * modification, are permitted provided that the following conditions are
79444SAndreas.Sandberg@ARM.com * met: redistributions of source code must retain the above copyright
89444SAndreas.Sandberg@ARM.com * notice, this list of conditions and the following disclaimer;
99444SAndreas.Sandberg@ARM.com * redistributions in binary form must reproduce the above copyright
109444SAndreas.Sandberg@ARM.com * notice, this list of conditions and the following disclaimer in the
119444SAndreas.Sandberg@ARM.com * documentation and/or other materials provided with the distribution;
129444SAndreas.Sandberg@ARM.com * neither the name of the copyright holders nor the names of its
139444SAndreas.Sandberg@ARM.com * contributors may be used to endorse or promote products derived from
142329SN/A * this software without specific prior written permission.
1510239Sbinhpham@cs.rutgers.edu *
162292SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
172292SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
182292SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
192292SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
202292SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
212292SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
222292SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
232292SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
242292SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
252292SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
262292SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
272292SN/A */
282292SN/A
292292SN/A#ifndef __ARCH_ALPHA_TYPES_HH__
302292SN/A#define __ARCH_ALPHA_TYPES_HH__
312292SN/A
322292SN/A#include "sim/host.hh"
332292SN/A
342292SN/Anamespace AlphaISA
352292SN/A{
362292SN/A
372292SN/A    typedef uint32_t MachInst;
382292SN/A    typedef uint64_t ExtMachInst;
392292SN/A    typedef uint8_t  RegIndex;
402689Sktlim@umich.edu
412689Sktlim@umich.edu    // These enumerate all the registers for dependence tracking.
422689Sktlim@umich.edu    enum DependenceTags {
432292SN/A        // 0..31 are the integer regs 0..31
442292SN/A        // 32..63 are the FP regs 0..31, i.e. use (reg + FP_Base_DepTag)
452292SN/A        FP_Base_DepTag = 40,
462292SN/A        Ctrl_Base_DepTag = 72,
472292SN/A        Fpcr_DepTag = 72,		// floating point control register
482329SN/A        Uniq_DepTag = 73,
494395Ssaidi@eecs.umich.edu        Lock_Flag_DepTag = 74,
502292SN/A        Lock_Addr_DepTag = 75,
512292SN/A        IPR_Base_DepTag = 76
522292SN/A    };
538591Sgblack@eecs.umich.edu
5414030Sgabor.dozsa@arm.com    typedef uint64_t IntReg;
558506Sgblack@eecs.umich.edu
563326Sktlim@umich.edu    // floating point register file entry type
578481Sgblack@eecs.umich.edu    typedef union {
586658Snate@binkert.org        uint64_t q;
592292SN/A        double d;
608230Snate@binkert.org    } FloatReg;
618232Snate@binkert.org
623348Sbinkertn@umich.edu    // control register file contents
632669Sktlim@umich.edu    typedef uint64_t MiscReg;
642292SN/A
658737Skoansin.tan@gmail.com    typedef union {
6613590Srekai.gonzalezalberquilla@arm.com        IntReg  intreg;
675529Snate@binkert.org        FloatReg   fpreg;
682292SN/A        MiscReg ctrlreg;
692329SN/A    } AnyReg;
702329SN/A
712329SN/A    enum annotes {
722329SN/A        ANNOTE_NONE = 0,
732329SN/A        // An impossible number for instruction annotations
742329SN/A        ITOUCH_ANNOTE = 0xffffffff,
752329SN/A    };
762329SN/A
772329SN/A} // namespace AlphaISA
782329SN/A
792292SN/A#endif
802292SN/A