[llvm-commits] CVS: llvm/lib/Target/IA64/IA64AsmPrinter.cpp
Duraid Madina
duraid at octopus.com.au
Thu Apr 7 05:34:46 PDT 2005
Changes in directory llvm/lib/Target/IA64:
IA64AsmPrinter.cpp updated: 1.7 -> 1.8
---
Log message:
teach asmprinter to print s8/s14 operands
---
Diffs of the changes: (+12 -0)
IA64AsmPrinter.cpp | 12 ++++++++++++
1 files changed, 12 insertions(+)
Index: llvm/lib/Target/IA64/IA64AsmPrinter.cpp
diff -u llvm/lib/Target/IA64/IA64AsmPrinter.cpp:1.7 llvm/lib/Target/IA64/IA64AsmPrinter.cpp:1.8
--- llvm/lib/Target/IA64/IA64AsmPrinter.cpp:1.7 Sun Apr 3 09:52:01 2005
+++ llvm/lib/Target/IA64/IA64AsmPrinter.cpp Thu Apr 7 07:34:36 2005
@@ -233,6 +233,18 @@
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!)
More information about the llvm-commits
mailing list