summaryrefslogtreecommitdiff
path: root/src/cuda-sim/instructions.cc
diff options
context:
space:
mode:
authorJonathan <[email protected]>2018-07-13 10:46:47 -0700
committerJonathan <[email protected]>2018-07-13 10:48:42 -0700
commitd072fa72c6ffce7f34520d24c8cb285e0d5b92b2 (patch)
tree912cdabee964cc0bbdb5f209ba50f79e6c8d6756 /src/cuda-sim/instructions.cc
parentdd4728921136fa5f3a2e6c9591eed852ba871cb2 (diff)
Add more print statements to debug api calls
Fixed bug with 32bit rem Fixed bug with launching kernels in ptxjitplus Removed extraneous files Cleaned up more pointers Added documentation for ptxjitplus
Diffstat (limited to 'src/cuda-sim/instructions.cc')
-rw-r--r--src/cuda-sim/instructions.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/cuda-sim/instructions.cc b/src/cuda-sim/instructions.cc
index 034a7b9..9e18772 100644
--- a/src/cuda-sim/instructions.cc
+++ b/src/cuda-sim/instructions.cc
@@ -3190,7 +3190,21 @@ void rem_impl( const ptx_instruction *pI, ptx_thread_info *thread )
src1_data = thread->get_operand_value(src1, dst, i_type, thread, 1);
src2_data = thread->get_operand_value(src2, dst, i_type, thread, 1);
- data.u64 = src1_data.u64 % src2_data.u64;
+ switch ( i_type ) {
+ case S32_TYPE:
+ data.s32 = src1_data.s32 % src2_data.s32;
+ break;
+ case S64_TYPE:
+ data.s64 = src1_data.s64 % src2_data.s64;
+ break;
+ case U32_TYPE:
+ data.u32 = src1_data.u32 % src2_data.u32;
+ break;
+ case U64_TYPE:
+ data.u64 = src1_data.u64 % src2_data.u64;
+ break;
+ default: assert(0); break;
+ }
thread->set_operand_value(dst,data, i_type, thread, pI);
}