changeset c3b4d57a15c5 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=c3b4d57a15c5
description:
gpu-compute, hsail: call discardFetch() from the WF
because every taken branch causes fetch to be discarded, we move the
call
to the WF to avoid to have to call it from each and every branch
instruction
type.
diffstat:
src/arch/hsail/insts/branch.hh | 3 ---
src/gpu-compute/wavefront.cc | 2 ++
2 files changed, 2 insertions(+), 3 deletions(-)
diffs (39 lines):
diff -r bc1f702c25b9 -r c3b4d57a15c5 src/arch/hsail/insts/branch.hh
--- a/src/arch/hsail/insts/branch.hh Wed Oct 26 22:47:19 2016 -0400
+++ b/src/arch/hsail/insts/branch.hh Wed Oct 26 22:47:27 2016 -0400
@@ -133,7 +133,6 @@
// Rpc and execution mask remain the same
w->pc(getTargetPc());
}
- w->discardFetch();
}
class BrnDirectInst : public BrnInstBase<LabelOperand>
@@ -293,7 +292,6 @@
w->pushToReconvergenceStack(true_pc, rpc, true_mask);
}
assert(w->pc() != curr_pc);
- w->discardFetch();
}
@@ -405,7 +403,6 @@
// Rpc and execution mask remain the same
w->pc(getTargetPc());
}
- w->discardFetch();
}
class BrDirectInst : public BrInstBase<LabelOperand>
diff -r bc1f702c25b9 -r c3b4d57a15c5 src/gpu-compute/wavefront.cc
--- a/src/gpu-compute/wavefront.cc Wed Oct 26 22:47:19 2016 -0400
+++ b/src/gpu-compute/wavefront.cc Wed Oct 26 22:47:27 2016 -0400
@@ -675,6 +675,8 @@
} else {
instructionBuffer.pop_front();
}
+ } else {
+ discardFetch();
}
if (computeUnit->shader->hsail_mode==Shader::SIMT) {
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev