summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.cc
diff options
context:
space:
mode:
authorAaron M Barnes <[email protected]>2021-05-11 20:35:49 -0400
committerAaron M Barnes <[email protected]>2021-05-11 20:35:49 -0400
commit9b6af844b8adc5d15bd793646c18a7b1d9593890 (patch)
treeb008a5c830d5e427f151b8ada8f6d6447710d34c /src/gpgpu-sim/shader.cc
parent640674b74b12ef4b0188b267884eda9391f4bf34 (diff)
fix print, move simd::issue() impl to .cc file
Diffstat (limited to 'src/gpgpu-sim/shader.cc')
-rw-r--r--src/gpgpu-sim/shader.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index 659d159..349f954 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -1695,6 +1695,7 @@ void shader_core_ctx::execute() {
<< std::endl;
} else if (!schedule_wb_now) {
m_fu[n]->issue(issue_inst);
+ warp_inst_t** instr = issue_inst.get_ready(true, reg_id);
std::cout << "EX stage issued warp_id: "
<< (*instr)->warp_id()
<< " schd_id: "
@@ -2136,6 +2137,11 @@ simd_function_unit::simd_function_unit(const shader_core_config *config) {
m_dispatch_reg = new warp_inst_t(config);
}
+void simd_function_unit::issue(register_set &source_reg) {
+ source_reg.move_out_to(m_config->sub_core_model, this->get_issue_reg_id(), m_dispatch_reg);
+ occupied.set(m_dispatch_reg->latency);
+ }
+
sfu::sfu(register_set *result_port, const shader_core_config *config,
shader_core_ctx *core, unsigned issue_reg_id)
: pipelined_simd_unit(result_port, config, config->max_sfu_latency, core,