summaryrefslogtreecommitdiff
path: root/src/cuda-sim/cuda-sim.cc
diff options
context:
space:
mode:
authorInderpreet Singh <[email protected]>2012-07-18 23:17:29 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:47:33 -0700
commit8d59181b80697dfc717abcd55da9c899e4cf0d07 (patch)
treee34982e972f5cea3585a902e06bc38a006b042f0 /src/cuda-sim/cuda-sim.cc
parent896e5c9a34e1b1230a67fb714d8290cd6f7f979b (diff)
Copied in Arun's SIMT stack fix for recursive calls (CL8574)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13410]
Diffstat (limited to 'src/cuda-sim/cuda-sim.cc')
-rw-r--r--src/cuda-sim/cuda-sim.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index 252b230..e17877b 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -499,6 +499,23 @@ void ptx_instruction::set_opcode_and_latency()
case ATOM_OP: op = LOAD_OP; break;
case BAR_OP: op = BARRIER_OP; break;
case MEMBAR_OP: op = MEMORY_BARRIER_OP; break;
+ case CALL_OP:
+ {
+ if(m_is_printf)
+ op = ALU_OP;
+ else
+ op = CALL_OPS;
+ break;
+ }
+ case CALLP_OP:
+ {
+ if(m_is_printf)
+ op = ALU_OP;
+ else
+ op = CALL_OPS;
+ break;
+ }
+ case RET_OP: op = RET_OPS;break;
case ADD_OP: case ADDP_OP: case ADDC_OP: case SUB_OP: case SUBC_OP:
//ADD,SUB latency
switch(get_type()){