static_inst.hh (6658:f4de76601762) | static_inst.hh (7619:0a32de653c10) |
---|---|
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; --- 90 unchanged lines hidden (view full) --- 99 * 100 * The main component of this class is the vector of flags and the 101 * associated methods for reading them. Any object that can rely 102 * solely on these flags can process instructions without being 103 * recompiled for multiple ISAs. 104 */ 105class StaticInstBase : public RefCounted 106{ | 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; --- 90 unchanged lines hidden (view full) --- 99 * 100 * The main component of this class is the vector of flags and the 101 * associated methods for reading them. Any object that can rely 102 * solely on these flags can process instructions without being 103 * recompiled for multiple ISAs. 104 */ 105class StaticInstBase : public RefCounted 106{ |
107 protected: | 107 public: |
108 109 /// Set of boolean static instruction properties. 110 /// 111 /// Notes: 112 /// - The IsInteger and IsFloating flags are based on the class of 113 /// registers accessed by the instruction. Although most 114 /// instructions will have exactly one of these two flags set, it 115 /// is possible for an instruction to have neither (e.g., direct --- 64 unchanged lines hidden (view full) --- 180 IsFirstMicroop, ///< This microop begins a microop sequence 181 //This flag doesn't do anything yet 182 IsMicroBranch, ///< This microop branches within the microcode for a macroop 183 IsDspOp, 184 185 NumFlags 186 }; 187 | 108 109 /// Set of boolean static instruction properties. 110 /// 111 /// Notes: 112 /// - The IsInteger and IsFloating flags are based on the class of 113 /// registers accessed by the instruction. Although most 114 /// instructions will have exactly one of these two flags set, it 115 /// is possible for an instruction to have neither (e.g., direct --- 64 unchanged lines hidden (view full) --- 180 IsFirstMicroop, ///< This microop begins a microop sequence 181 //This flag doesn't do anything yet 182 IsMicroBranch, ///< This microop branches within the microcode for a macroop 183 IsDspOp, 184 185 NumFlags 186 }; 187 |
188 protected: 189 |
|
188 /// Flag values for this instruction. 189 std::bitset<NumFlags> flags; 190 191 /// See opClass(). 192 OpClass _opClass; 193 194 /// See numSrcRegs(). 195 int8_t _numSrcRegs; --- 465 unchanged lines hidden --- | 190 /// Flag values for this instruction. 191 std::bitset<NumFlags> flags; 192 193 /// See opClass(). 194 OpClass _opClass; 195 196 /// See numSrcRegs(). 197 int8_t _numSrcRegs; --- 465 unchanged lines hidden --- |