summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-09-15 18:47:08 +0000
committerJim Grosbach <grosbach@apple.com>2010-09-15 18:47:08 +0000
commit7bbf3fd0d682aa9c2eb39bc1352f5a513b8251b1 (patch)
tree2dec778cc2d06252482ee8c8e89a4431a28bf69e /llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
parent970aed92c09e7b804bad502fc882fb0d69fc5517 (diff)
downloadbcm5719-llvm-7bbf3fd0d682aa9c2eb39bc1352f5a513b8251b1.tar.gz
bcm5719-llvm-7bbf3fd0d682aa9c2eb39bc1352f5a513b8251b1.zip
Add support for floating point immediates to MC instruction printing. ARM
VFP instructions use it for loading some constants, so implement that handling. Not thrilled with adding a member to MCOperand, but not sure there's much of a better option that's not pretty fragile (like putting a double in the union instead and just assuming that's good enough). Suggestions welcome... llvm-svn: 113996
Diffstat (limited to 'llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp')
-rw-r--r--llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
index 000108a7cc7..344273f72bb 100644
--- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
+++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
@@ -729,12 +729,12 @@ void ARMInstPrinter::printT2AddrModeSoRegOperand(const MCInst *MI,
void ARMInstPrinter::printVFPf32ImmOperand(const MCInst *MI, unsigned OpNum,
raw_ostream &O) {
- O << '#' << MI->getOperand(OpNum).getImm();
+ O << '#' << MI->getOperand(OpNum).getFPImm().convertToFloat();
}
void ARMInstPrinter::printVFPf64ImmOperand(const MCInst *MI, unsigned OpNum,
raw_ostream &O) {
- O << '#' << MI->getOperand(OpNum).getImm();
+ O << '#' << MI->getOperand(OpNum).getFPImm().convertToDouble();
}
void ARMInstPrinter::printNEONModImmOperand(const MCInst *MI, unsigned OpNum,
OpenPOWER on IntegriCloud