exec_context.hh (13598:39220222740c) | exec_context.hh (13610:5d5404ac6288) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2011-2014, 2016 ARM Limited | 2 * Copyright (c) 2011-2014, 2016-2017 ARM Limited |
3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating 9 * to a hardware implementation of the functionality of the software 10 * licensed hereunder. You may use the software subject to the license --- 145 unchanged lines hidden (view full) --- 156 TheISA::VecElem 157 readVecElemOperand(const StaticInst *si, int idx) const override 158 { 159 const RegId& reg = si->srcRegIdx(idx); 160 assert(reg.isVecElem()); 161 return thread.readVecElem(reg); 162 } 163 | 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating 9 * to a hardware implementation of the functionality of the software 10 * licensed hereunder. You may use the software subject to the license --- 145 unchanged lines hidden (view full) --- 156 TheISA::VecElem 157 readVecElemOperand(const StaticInst *si, int idx) const override 158 { 159 const RegId& reg = si->srcRegIdx(idx); 160 assert(reg.isVecElem()); 161 return thread.readVecElem(reg); 162 } 163 |
164 const TheISA::VecPredRegContainer& 165 readVecPredRegOperand(const StaticInst *si, int idx) const override 166 { 167 const RegId& reg = si->srcRegIdx(idx); 168 assert(reg.isVecPredReg()); 169 return thread.readVecPredReg(reg); 170 } 171 172 TheISA::VecPredRegContainer& 173 getWritableVecPredRegOperand(const StaticInst *si, int idx) override 174 { 175 const RegId& reg = si->destRegIdx(idx); 176 assert(reg.isVecPredReg()); 177 return thread.getWritableVecPredReg(reg); 178 } 179 |
|
164 void 165 setIntRegOperand(const StaticInst *si, int idx, RegVal val) override 166 { 167 const RegId& reg = si->destRegIdx(idx); 168 assert(reg.isIntReg()); 169 thread.setIntReg(reg.index(), val); 170 } 171 --- 9 unchanged lines hidden (view full) --- 181 setVecRegOperand(const StaticInst *si, int idx, 182 const TheISA::VecRegContainer& val) override 183 { 184 const RegId& reg = si->destRegIdx(idx); 185 assert(reg.isVecReg()); 186 thread.setVecReg(reg, val); 187 } 188 | 180 void 181 setIntRegOperand(const StaticInst *si, int idx, RegVal val) override 182 { 183 const RegId& reg = si->destRegIdx(idx); 184 assert(reg.isIntReg()); 185 thread.setIntReg(reg.index(), val); 186 } 187 --- 9 unchanged lines hidden (view full) --- 197 setVecRegOperand(const StaticInst *si, int idx, 198 const TheISA::VecRegContainer& val) override 199 { 200 const RegId& reg = si->destRegIdx(idx); 201 assert(reg.isVecReg()); 202 thread.setVecReg(reg, val); 203 } 204 |
205 void 206 setVecPredRegOperand(const StaticInst *si, int idx, 207 const TheISA::VecPredRegContainer& val) 208 { 209 const RegId& reg = si->destRegIdx(idx); 210 assert(reg.isVecPredReg()); 211 thread.setVecPredReg(reg, val); 212 } 213 |
|
189 /** Vector Register Lane Interfaces. */ 190 /** @{ */ 191 /** Reads source vector 8bit operand. */ 192 ConstVecLane8 193 readVec8BitLaneOperand(const StaticInst *si, int idx) const 194 override 195 { 196 const RegId& reg = si->srcRegIdx(idx); --- 275 unchanged lines hidden --- | 214 /** Vector Register Lane Interfaces. */ 215 /** @{ */ 216 /** Reads source vector 8bit operand. */ 217 ConstVecLane8 218 readVec8BitLaneOperand(const StaticInst *si, int idx) const 219 override 220 { 221 const RegId& reg = si->srcRegIdx(idx); --- 275 unchanged lines hidden --- |