1/*
2 * Copyright (c) 2011-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

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

651 // Get current instruction
652
653 GPUDynInstPtr ii = instructionBuffer.front();
654
655 const uint32_t old_pc = pc();
656 DPRINTF(GPUExec, "CU%d: WF[%d][%d]: wave[%d] Executing inst: %s "
657 "(pc: %i)\n", computeUnit->cu_id, simdId, wfSlotId, wfDynId,
658 ii->disassemble(), old_pc);
659
660 // update the instruction stats in the CU
661
662 ii->execute(ii);
663 computeUnit->updateInstStats(ii);
664 // access the VRF
665 computeUnit->vrf[simdId]->exec(ii, this);
666 srcRegOpDist.sample(ii->numSrcRegOperands());
667 dstRegOpDist.sample(ii->numDstRegOperands());
668 computeUnit->numInstrExecuted++;
669 computeUnit->execRateDist.sample(computeUnit->totalCycles.value() -
670 computeUnit->lastExecCycle[simdId]);
671 computeUnit->lastExecCycle[simdId] = computeUnit->totalCycles.value();

--- 319 unchanged lines hidden ---