aboutsummaryrefslogtreecommitdiff
path: root/decuda_to_ptxplus
diff options
context:
space:
mode:
Diffstat (limited to 'decuda_to_ptxplus')
-rw-r--r--decuda_to_ptxplus/decudaInst.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/decuda_to_ptxplus/decudaInst.cc b/decuda_to_ptxplus/decudaInst.cc
index 98e8a59..1bb5c8e 100644
--- a/decuda_to_ptxplus/decudaInst.cc
+++ b/decuda_to_ptxplus/decudaInst.cc
@@ -438,6 +438,17 @@ void decudaInst::printNewPtx()
snprintf(newText,40,"{$r%u,$r%u,$r%u,$r%u}", regNumInt+0, regNumInt+1, regNumInt+2, regNumInt+3);
currentPiece->stringText = newText;
+ } else if( modString[0] == '-' && modString[1] == '$' && modString[2] == 'r' ) {
+ strcpy(newText, modString);
+ strtok (newText, "r");
+ regNumString = strtok (NULL, "r");
+ regNumInt = atoi(regNumString);
+ if(vectorFlag ==1)
+ snprintf(newText,40,"-{$r%u,$r%u}", regNumInt+0, regNumInt+1);
+ if(vectorFlag ==2)
+ snprintf(newText,40,"-{$r%u,$r%u,$r%u,$r%u}", regNumInt+0, regNumInt+1, regNumInt+2, regNumInt+3);
+
+ currentPiece->stringText = newText;
} /*else if( modString[0] == '$' && modString[1] == 'o'&& modString[2] == 'f' ) {
strcpy(newText, modString);
strtok (newText, "s");