From 15819dff8c2eec408379cae0bf42e275404885cb Mon Sep 17 00:00:00 2001 From: Ayub Gubran Date: Mon, 9 Jan 2012 13:17:31 -0800 Subject: Integrating the pure functional simulation Merging //depot/gpgpu_sim_research/fermi_ayoub/distribution/src/cuda-sim/cuda-sim.cc //depot/gpgpu_sim_research/fermi_ayoub/distribution/src/cuda-sim/cuda-sim.h //depot/gpgpu_sim_research/fermi_ayoub/distribution/src/cuda-sim/instructions.cc //depot/gpgpu_sim_research/fermi_ayoub/distribution/src/cuda-sim/ptx_sim.h to //depot/gpgpu_sim_research/fermi/distribution/src/cuda-sim/... [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 11288] --- src/cuda-sim/instructions.cc | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) (limited to 'src/cuda-sim/instructions.cc') diff --git a/src/cuda-sim/instructions.cc b/src/cuda-sim/instructions.cc index 4e2028b..9a42212 100644 --- a/src/cuda-sim/instructions.cc +++ b/src/cuda-sim/instructions.cc @@ -1911,17 +1911,14 @@ void ex2_impl( const ptx_instruction *pI, ptx_thread_info *thread ) assert(0); break; } - + thread->set_operand_value(dst,data, i_type, thread,pI); } void exit_impl( const ptx_instruction *pI, ptx_thread_info *thread ) -{ - core_t *sc = thread->get_core(); - unsigned warp_id = thread->get_hw_wid(); - sc->warp_exit(warp_id); - - thread->m_cta_info->register_thread_exit(thread); +{ + thread->exitCore(); + thread->registerExit(); thread->set_done(); } @@ -2730,11 +2727,9 @@ void ret_impl( const ptx_instruction *pI, ptx_thread_info *thread ) { bool empty = thread->callstack_pop(); if( empty ) { - core_t *sc = thread->get_core(); - unsigned warp_id = thread->get_hw_wid(); - sc->warp_exit(warp_id); - thread->m_cta_info->register_thread_exit(thread); - thread->set_done(); + thread->exitCore(); + thread->registerExit(); + thread->set_done(); } } @@ -2743,11 +2738,9 @@ void retp_impl( const ptx_instruction *pI, ptx_thread_info *thread ) { bool empty = thread->callstack_pop_plus(); if( empty ) { - core_t *sc = thread->get_core(); - unsigned warp_id = thread->get_hw_wid(); - sc->warp_exit(warp_id); - thread->m_cta_info->register_thread_exit(thread); - thread->set_done(); + thread->exitCore(); + thread->registerExit(); + thread->set_done(); } } -- cgit v1.3