summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDuraid Madina <duraid@octopus.com.au>2005-04-14 10:08:01 +0000
committerDuraid Madina <duraid@octopus.com.au>2005-04-14 10:08:01 +0000
commit0a7c2b9078afb08db8372bb6392f2634409285e9 (patch)
tree63a55bf65a949bbc1cdbbf17310ffbe992781952 /llvm/lib
parentdfbbcc098bddee4f1b51065ac6f7ff8aa6cb7195 (diff)
downloadbcm5719-llvm-0a7c2b9078afb08db8372bb6392f2634409285e9.tar.gz
bcm5719-llvm-0a7c2b9078afb08db8372bb6392f2634409285e9.zip
print negative 64 bit immediates as negative numbers, makes things a little
easier on the eyes, not that numbers like 18446744073709541376 are bad or anything llvm-svn: 21300
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/IA64/IA64AsmPrinter.cpp6
-rw-r--r--llvm/lib/Target/IA64/IA64InstrInfo.td5
2 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/Target/IA64/IA64AsmPrinter.cpp b/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
index 2846a044a28..c1a9c40d517 100644
--- a/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
+++ b/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
@@ -247,7 +247,11 @@ namespace {
MVT::ValueType VT) {
O << (uint64_t)MI->getOperand(OpNo).getImmedValue();
}
-
+ void printS64ImmOperand(const MachineInstr *MI, unsigned OpNo,
+ MVT::ValueType VT) {
+ O << (int64_t)MI->getOperand(OpNo).getImmedValue();
+ }
+
void printCallOperand(const MachineInstr *MI, unsigned OpNo,
MVT::ValueType VT) {
printOp(MI->getOperand(OpNo), true); // this is a br.call instruction
diff --git a/llvm/lib/Target/IA64/IA64InstrInfo.td b/llvm/lib/Target/IA64/IA64InstrInfo.td
index 5cc33120838..92e68eb02c4 100644
--- a/llvm/lib/Target/IA64/IA64InstrInfo.td
+++ b/llvm/lib/Target/IA64/IA64InstrInfo.td
@@ -28,6 +28,9 @@ def s22imm : Operand<i32> {
def u64imm : Operand<i64> {
let PrintMethod = "printU64ImmOperand";
}
+def s64imm : Operand<i64> {
+ let PrintMethod = "printS64ImmOperand";
+}
// the asmprinter needs to know about calls
let PrintMethod = "printCallOperand" in
@@ -89,7 +92,7 @@ def MOVSIMM14 : AForm<0x03, 0x0b, (ops GR:$dst, s14imm:$imm),
"mov $dst = $imm;;">;
def MOVSIMM22 : AForm<0x03, 0x0b, (ops GR:$dst, s22imm:$imm),
"mov $dst = $imm;;">;
-def MOVLIMM64 : AForm<0x03, 0x0b, (ops GR:$dst, u64imm:$imm),
+def MOVLIMM64 : AForm<0x03, 0x0b, (ops GR:$dst, s64imm:$imm),
"movl $dst = $imm;;">;
def AND : AForm<0x03, 0x0b, (ops GR:$dst, GR:$src1, GR:$src2),
OpenPOWER on IntegriCloud