35 #include "debug/GPUSRF.hh"
40 #include "params/ScalarRegisterFile.hh"
54 for (
const auto& srcScalarOp : ii->srcScalarRegOperands()) {
55 for (
const auto& physIdx : srcScalarOp.physIndices()) {
57 DPRINTF(GPUSRF,
"RAW stall: WV[%d]: %s: physReg[%d]\n",
58 w->wfDynId, ii->disassemble(), physIdx);
59 w->stats.numTimesBlockedDueRAWDependencies++;
65 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
66 for (
const auto& physIdx : dstScalarOp.physIndices()) {
68 DPRINTF(GPUSRF,
"WAX stall: WV[%d]: %s: physReg[%d]\n",
69 w->wfDynId, ii->disassemble(), physIdx);
70 w->stats.numTimesBlockedDueWAXDependencies++;
82 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
83 for (
const auto& physIdx : dstScalarOp.physIndices()) {
95 if (!ii->isLoad() && !(ii->isAtomic() || ii->isMemSync())) {
99 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
100 for (
const auto& physIdx : dstScalarOp.physIndices()) {
113 assert(ii->isLoad() || ii->isAtomicRet());
114 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
115 for (
const auto& physIdx : dstScalarOp.physIndices()) {