diff options
| author | Duraid Madina <duraid@octopus.com.au> | 2005-04-07 12:34:36 +0000 |
|---|---|---|
| committer | Duraid Madina <duraid@octopus.com.au> | 2005-04-07 12:34:36 +0000 |
| commit | e6a0b6cbdae12ebb163adffb39d83afb72bb74ef (patch) | |
| tree | e9dc6c52c1cae06dd6ddb67e7c071559837ae42a /lib | |
| parent | f55e403ef97634c210f4c316a9af025cb191e755 (diff) | |
teach asmprinter to print s8/s14 operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21131 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Target/IA64/IA64AsmPrinter.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/IA64/IA64AsmPrinter.cpp b/lib/Target/IA64/IA64AsmPrinter.cpp index 3b182d5945..2759301d6b 100644 --- a/lib/Target/IA64/IA64AsmPrinter.cpp +++ b/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!) |
