exec_context.hh (13582:989577bf6abc) | exec_context.hh (13610:5d5404ac6288) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2014, 2016 ARM Limited | 2 * Copyright (c) 2014, 2016-2017 ARM Limited |
3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 61 unchanged lines hidden (view full) --- 72 */ 73class ExecContext { 74 public: 75 typedef TheISA::PCState PCState; 76 77 typedef TheISA::CCReg CCReg; 78 using VecRegContainer = TheISA::VecRegContainer; 79 using VecElem = TheISA::VecElem; | 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 61 unchanged lines hidden (view full) --- 72 */ 73class ExecContext { 74 public: 75 typedef TheISA::PCState PCState; 76 77 typedef TheISA::CCReg CCReg; 78 using VecRegContainer = TheISA::VecRegContainer; 79 using VecElem = TheISA::VecElem; |
80 using VecPredRegContainer = TheISA::VecPredRegContainer; |
|
80 81 public: 82 /** 83 * @{ 84 * @name Integer Register Interfaces 85 * 86 */ 87 --- 75 unchanged lines hidden (view full) --- 163 virtual VecElem readVecElemOperand(const StaticInst *si, 164 int idx) const = 0; 165 166 /** Sets a vector register to a value. */ 167 virtual void setVecElemOperand(const StaticInst *si, int idx, 168 const VecElem val) = 0; 169 /** @} */ 170 | 81 82 public: 83 /** 84 * @{ 85 * @name Integer Register Interfaces 86 * 87 */ 88 --- 75 unchanged lines hidden (view full) --- 164 virtual VecElem readVecElemOperand(const StaticInst *si, 165 int idx) const = 0; 166 167 /** Sets a vector register to a value. */ 168 virtual void setVecElemOperand(const StaticInst *si, int idx, 169 const VecElem val) = 0; 170 /** @} */ 171 |
172 /** Predicate registers interface. */ 173 /** @{ */ 174 /** Reads source predicate register operand. */ 175 virtual const VecPredRegContainer& 176 readVecPredRegOperand(const StaticInst *si, int idx) const = 0; 177 178 /** Gets destination predicate register operand for modification. */ 179 virtual VecPredRegContainer& 180 getWritableVecPredRegOperand(const StaticInst *si, int idx) = 0; 181 182 /** Sets a destination predicate register operand to a value. */ 183 virtual void 184 setVecPredRegOperand(const StaticInst *si, int idx, 185 const VecPredRegContainer& val) = 0; 186 /** @} */ 187 |
|
171 /** 172 * @{ 173 * @name Condition Code Registers 174 */ 175 virtual CCReg readCCRegOperand(const StaticInst *si, int idx) = 0; 176 virtual void setCCRegOperand(const StaticInst *si, int idx, CCReg val) = 0; 177 /** @} */ 178 --- 155 unchanged lines hidden --- | 188 /** 189 * @{ 190 * @name Condition Code Registers 191 */ 192 virtual CCReg readCCRegOperand(const StaticInst *si, int idx) = 0; 193 virtual void setCCRegOperand(const StaticInst *si, int idx, CCReg val) = 0; 194 /** @} */ 195 --- 155 unchanged lines hidden --- |