1/* 2 * Copyright (c) 2011-2012 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 --- 73 unchanged lines hidden (view full) --- 82 83class BaseSimpleCPU : public BaseCPU, public ExecContext 84{ 85 protected: 86 typedef TheISA::MiscReg MiscReg; 87 typedef TheISA::FloatReg FloatReg; 88 typedef TheISA::FloatRegBits FloatRegBits; 89 typedef TheISA::CCReg CCReg; |
90 91 BPredUnit *branchPred; 92 93 protected: 94 Trace::InstRecord *traceData; 95 96 inline void checkPcEventQueue() { 97 Addr oldpc, pc = thread->instAddr(); --- 136 unchanged lines hidden (view full) --- 234 //number of float register file accesses 235 Stats::Scalar numFpRegReads; 236 Stats::Scalar numFpRegWrites; 237 238 //number of condition code register file accesses 239 Stats::Scalar numCCRegReads; 240 Stats::Scalar numCCRegWrites; 241 |
242 // number of simulated memory references 243 Stats::Scalar numMemRefs; 244 Stats::Scalar numLoadInsts; 245 Stats::Scalar numStoreInsts; 246 247 // number of idle cycles 248 Stats::Formula numIdleCycles; 249 --- 70 unchanged lines hidden (view full) --- 320 321 CCReg readCCRegOperand(const StaticInst *si, int idx) 322 { 323 numCCRegReads++; 324 int reg_idx = si->srcRegIdx(idx) - TheISA::CC_Reg_Base; 325 return thread->readCCReg(reg_idx); 326 } 327 |
328 void setIntRegOperand(const StaticInst *si, int idx, IntReg val) 329 { 330 numIntRegWrites++; 331 thread->setIntReg(si->destRegIdx(idx), val); 332 } 333 334 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val) 335 { --- 12 unchanged lines hidden (view full) --- 348 349 void setCCRegOperand(const StaticInst *si, int idx, CCReg val) 350 { 351 numCCRegWrites++; 352 int reg_idx = si->destRegIdx(idx) - TheISA::CC_Reg_Base; 353 thread->setCCReg(reg_idx, val); 354 } 355 |
356 bool readPredicate() { return thread->readPredicate(); } 357 void setPredicate(bool val) 358 { 359 thread->setPredicate(val); 360 if (traceData) { 361 traceData->setPredicate(val); 362 } 363 } --- 103 unchanged lines hidden --- |