static_inst.hh (9848:a733a8eb6363) static_inst.hh (9920:028e4da64b42)
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
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;
9 * redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the

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

105 /// model we should be able to get rid of these flags and
106 /// implement this behavior via the execute() methods.
107 ///
108 enum Flags {
109 IsNop, ///< Is a no-op (no effect at all).
110
111 IsInteger, ///< References integer regs.
112 IsFloating, ///< References FP regs.
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;
10 * redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the

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

106 /// model we should be able to get rid of these flags and
107 /// implement this behavior via the execute() methods.
108 ///
109 enum Flags {
110 IsNop, ///< Is a no-op (no effect at all).
111
112 IsInteger, ///< References integer regs.
113 IsFloating, ///< References FP regs.
114 IsCC, ///< References CC regs.
113
114 IsMemRef, ///< References memory (load, store, or prefetch).
115 IsLoad, ///< Reads from memory (load or prefetch).
116 IsStore, ///< Writes to memory.
117 IsStoreConditional, ///< Store conditional instruction.
118 IsIndexed, ///< Accesses memory with an indexed address computation
119 IsInstPrefetch, ///< Instruction-cache prefetch.
120 IsDataPrefetch, ///< Data-cache prefetch.

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

176 /// See numDestRegs().
177 int8_t _numDestRegs;
178
179 /// The following are used to track physical register usage
180 /// for machines with separate int & FP reg files.
181 //@{
182 int8_t _numFPDestRegs;
183 int8_t _numIntDestRegs;
115
116 IsMemRef, ///< References memory (load, store, or prefetch).
117 IsLoad, ///< Reads from memory (load or prefetch).
118 IsStore, ///< Writes to memory.
119 IsStoreConditional, ///< Store conditional instruction.
120 IsIndexed, ///< Accesses memory with an indexed address computation
121 IsInstPrefetch, ///< Instruction-cache prefetch.
122 IsDataPrefetch, ///< Data-cache prefetch.

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

178 /// See numDestRegs().
179 int8_t _numDestRegs;
180
181 /// The following are used to track physical register usage
182 /// for machines with separate int & FP reg files.
183 //@{
184 int8_t _numFPDestRegs;
185 int8_t _numIntDestRegs;
186 int8_t _numCCDestRegs;
184 //@}
185
186 public:
187
188 /// @name Register information.
189 /// The sum of numFPDestRegs() and numIntDestRegs() equals
190 /// numDestRegs(). The former two functions are used to track
191 /// physical register usage for machines with separate int & FP

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

215 bool isStoreConditional() const { return flags[IsStoreConditional]; }
216 bool isInstPrefetch() const { return flags[IsInstPrefetch]; }
217 bool isDataPrefetch() const { return flags[IsDataPrefetch]; }
218 bool isPrefetch() const { return isInstPrefetch() ||
219 isDataPrefetch(); }
220
221 bool isInteger() const { return flags[IsInteger]; }
222 bool isFloating() const { return flags[IsFloating]; }
187 //@}
188
189 public:
190
191 /// @name Register information.
192 /// The sum of numFPDestRegs() and numIntDestRegs() equals
193 /// numDestRegs(). The former two functions are used to track
194 /// physical register usage for machines with separate int & FP

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

218 bool isStoreConditional() const { return flags[IsStoreConditional]; }
219 bool isInstPrefetch() const { return flags[IsInstPrefetch]; }
220 bool isDataPrefetch() const { return flags[IsDataPrefetch]; }
221 bool isPrefetch() const { return isInstPrefetch() ||
222 isDataPrefetch(); }
223
224 bool isInteger() const { return flags[IsInteger]; }
225 bool isFloating() const { return flags[IsFloating]; }
226 bool isCC() const { return flags[IsCC]; }
223
224 bool isControl() const { return flags[IsControl]; }
225 bool isCall() const { return flags[IsCall]; }
226 bool isReturn() const { return flags[IsReturn]; }
227 bool isDirectCtrl() const { return flags[IsDirectControl]; }
228 bool isIndirectCtrl() const { return flags[IsIndirectControl]; }
229 bool isCondCtrl() const { return flags[IsCondControl]; }
230 bool isUncondCtrl() const { return flags[IsUncondControl]; }

--- 160 unchanged lines hidden ---
227
228 bool isControl() const { return flags[IsControl]; }
229 bool isCall() const { return flags[IsCall]; }
230 bool isReturn() const { return flags[IsReturn]; }
231 bool isDirectCtrl() const { return flags[IsDirectControl]; }
232 bool isIndirectCtrl() const { return flags[IsIndirectControl]; }
233 bool isCondCtrl() const { return flags[IsCondControl]; }
234 bool isUncondCtrl() const { return flags[IsUncondControl]; }

--- 160 unchanged lines hidden ---