From 26edbcb8d5da5fb65816a97f740c9868fa798df4 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Wed, 15 Sep 2010 18:47:08 +0000 Subject: 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... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113996 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMMCInstLower.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/Target/ARM/ARMMCInstLower.cpp') diff --git a/lib/Target/ARM/ARMMCInstLower.cpp b/lib/Target/ARM/ARMMCInstLower.cpp index 41af0889d7..b26d327e36 100644 --- a/lib/Target/ARM/ARMMCInstLower.cpp +++ b/lib/Target/ARM/ARMMCInstLower.cpp @@ -16,6 +16,7 @@ #include "ARMMCInstLower.h" //#include "llvm/CodeGen/MachineModuleInfoImpls.h" #include "llvm/CodeGen/AsmPrinter.h" +#include "llvm/Constants.h" #include "llvm/CodeGen/MachineBasicBlock.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" @@ -155,6 +156,9 @@ void ARMMCInstLower::Lower(const MachineInstr *MI, MCInst &OutMI) const { MCOp = LowerSymbolOperand(MO, Printer.GetBlockAddressSymbol( MO.getBlockAddress())); break; + case MachineOperand::MO_FPImmediate: + MCOp = MCOperand::CreateFPImm(MO.getFPImm()->getValueAPF()); + break; } OutMI.addOperand(MCOp); -- cgit v1.2.3