Deleted Added
sdiff udiff text old ( 12857:6fc1b2a47d76 ) new ( 13610:5d5404ac6288 )
full compact
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer;

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

100 int8_t _numIntDestRegs;
101 int8_t _numCCDestRegs;
102 //@}
103
104 /** To use in architectures with vector register file. */
105 /** @{ */
106 int8_t _numVecDestRegs;
107 int8_t _numVecElemDestRegs;
108 /** @} */
109
110 public:
111
112 /// @name Register information.
113 /// The sum of numFPDestRegs(), numIntDestRegs(), numVecDestRegs() and
114 /// numVecelemDestRegs() equals numDestRegs(). The former two functions
115 /// are used to track physical register usage for machines with separate
116 /// int & FP reg files, the next two is for machines with vector register
117 /// file.
118 //@{
119 /// Number of source registers.
120 int8_t numSrcRegs() const { return _numSrcRegs; }
121 /// Number of destination registers.
122 int8_t numDestRegs() const { return _numDestRegs; }
123 /// Number of floating-point destination regs.
124 int8_t numFPDestRegs() const { return _numFPDestRegs; }
125 /// Number of integer destination regs.
126 int8_t numIntDestRegs() const { return _numIntDestRegs; }
127 /// Number of vector destination regs.
128 int8_t numVecDestRegs() const { return _numVecDestRegs; }
129 /// Number of vector element destination regs.
130 int8_t numVecElemDestRegs() const { return _numVecElemDestRegs; }
131 /// Number of coprocesor destination regs.
132 int8_t numCCDestRegs() const { return _numCCDestRegs; }
133 //@}
134
135 /// @name Flag accessors.
136 /// These functions are used to access the values of the various
137 /// instruction property flags. See StaticInst::Flags for descriptions
138 /// of the individual flags.

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

243 /// Constructor.
244 /// It's important to initialize everything here to a sane
245 /// default, since the decoder generally only overrides
246 /// the fields that are meaningful for the particular
247 /// instruction.
248 StaticInst(const char *_mnemonic, ExtMachInst _machInst, OpClass __opClass)
249 : _opClass(__opClass), _numSrcRegs(0), _numDestRegs(0),
250 _numFPDestRegs(0), _numIntDestRegs(0), _numCCDestRegs(0),
251 _numVecDestRegs(0), _numVecElemDestRegs(0), machInst(_machInst),
252 mnemonic(_mnemonic), cachedDisassembly(0)
253 { }
254
255 public:
256 virtual ~StaticInst();
257
258 virtual Fault execute(ExecContext *xc,
259 Trace::InstRecord *traceData) const = 0;
260

--- 89 unchanged lines hidden ---