summaryrefslogtreecommitdiff
path: root/cuobjdump_to_ptxplus/cuobjdumpInst.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cuobjdump_to_ptxplus/cuobjdumpInst.cc')
-rw-r--r--cuobjdump_to_ptxplus/cuobjdumpInst.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/cuobjdump_to_ptxplus/cuobjdumpInst.cc b/cuobjdump_to_ptxplus/cuobjdumpInst.cc
index 6ad3e0c..256c6c8 100644
--- a/cuobjdump_to_ptxplus/cuobjdumpInst.cc
+++ b/cuobjdump_to_ptxplus/cuobjdumpInst.cc
@@ -1510,7 +1510,24 @@ void cuobjdumpInst::printCuobjdumpPtxPlus(std::list<std::string> labelList, std:
printCuobjdumpOperands();
output(";");
}
- else if(strcmp(m_base, "MOV")==0 || strcmp(m_base, "MVI")==0 || strcmp(m_base, "MVC")==0)
+ else if(strcmp(m_base, "MVC")==0){
+ printCuobjdumpPredicate();
+ //Use cvt if there is conversion involved (2 modifiers) otherwise mov
+ if(m_typeModifiers->getSize() < 2)
+ output("mov");
+ else
+ output("cvt");
+
+ printCuobjdumpBaseModifiers();
+
+ if(m_typeModifiers->getSize() == 0)
+ output(int_default_mod()); //TODO: setting default type modifier but I'm not sure if this is right.
+ else
+ printCuobjdumpTypeModifiers();
+ printCuobjdumpOperands();
+ output(";");
+ }
+ else if(strcmp(m_base, "MOV")==0 || strcmp(m_base, "MVI")==0)
{
printCuobjdumpPredicate();
output("mov");