[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