37 #include "debug/GPUSRF.hh"
42 #include "params/ScalarRegisterFile.hh"
56 for (
const auto& srcScalarOp : ii->srcScalarRegOperands()) {
57 for (
const auto& physIdx : srcScalarOp.physIndices()) {
59 DPRINTF(GPUSRF,
"RAW stall: WV[%d]: %s: physReg[%d]\n",
60 w->wfDynId, ii->disassemble(), physIdx);
61 w->stats.numTimesBlockedDueRAWDependencies++;
67 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
68 for (
const auto& physIdx : dstScalarOp.physIndices()) {
70 DPRINTF(GPUSRF,
"WAX stall: WV[%d]: %s: physReg[%d]\n",
71 w->wfDynId, ii->disassemble(), physIdx);
72 w->stats.numTimesBlockedDueWAXDependencies++;
84 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
85 for (
const auto& physIdx : dstScalarOp.physIndices()) {
97 if (!ii->isLoad() && !(ii->isAtomic() || ii->isMemSync())) {
101 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
102 for (
const auto& physIdx : dstScalarOp.physIndices()) {
115 assert(ii->isLoad() || ii->isAtomicRet());
116 for (
const auto& dstScalarOp : ii->dstScalarRegOperands()) {
117 for (
const auto& physIdx : dstScalarOp.physIndices()) {