summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDuraid Madina <duraid@octopus.com.au>2005-04-07 12:34:36 +0000
committerDuraid Madina <duraid@octopus.com.au>2005-04-07 12:34:36 +0000
commita7abda39894a8669b4aa05bd35dfced76fa8a3c6 (patch)
treeaf142eb1ceed2dc16b76b6be080b77b0e5ed1269 /llvm/lib
parent8419da8acfb21bf2da910e2ecf73b6e91d38a8ac (diff)
downloadbcm5719-llvm-a7abda39894a8669b4aa05bd35dfced76fa8a3c6.tar.gz
bcm5719-llvm-a7abda39894a8669b4aa05bd35dfced76fa8a3c6.zip
teach asmprinter to print s8/s14 operands
llvm-svn: 21131
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/IA64/IA64AsmPrinter.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/IA64/IA64AsmPrinter.cpp b/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
index 3b182d59453..2759301d6b0 100644
--- a/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
+++ b/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
@@ -233,6 +233,18 @@ namespace {
MVT::ValueType VT) {
O << (unsigned short)MI->getOperand(OpNo).getImmedValue();
}
+ void printS8ImmOperand(const MachineInstr *MI, unsigned OpNo,
+ MVT::ValueType VT) {
+ int val=(unsigned int)MI->getOperand(OpNo).getImmedValue();
+ if(val>=128) val=val-256; // if negative, flip sign
+ O << val;
+ }
+ void printS14ImmOperand(const MachineInstr *MI, unsigned OpNo,
+ MVT::ValueType VT) {
+ int val=(unsigned int)MI->getOperand(OpNo).getImmedValue();
+ if(val>=8192) val=val-16384; // if negative, flip sign
+ O << val;
+ }
void printS21ImmOperand(const MachineInstr *MI, unsigned OpNo,
MVT::ValueType VT) {
O << (int)MI->getOperand(OpNo).getImmedValue(); // FIXME (21, not 32!)
OpenPOWER on IntegriCloud