diff options
| author | Jim Grosbach <grosbach@apple.com> | 2010-09-16 17:37:30 +0000 |
|---|---|---|
| committer | Jim Grosbach <grosbach@apple.com> | 2010-09-16 17:37:30 +0000 |
| commit | ee1934a2da25d427a5c5e5b8937ae002b8546235 (patch) | |
| tree | 5cd15188c4c5fb9869e6495538e8865fc16351f9 /llvm/lib/Target/ARM/ARMMCInstLower.cpp | |
| parent | 9b1e320c27207597501038c1af36547d5ac7069c (diff) | |
| download | bcm5719-llvm-ee1934a2da25d427a5c5e5b8937ae002b8546235.tar.gz bcm5719-llvm-ee1934a2da25d427a5c5e5b8937ae002b8546235.zip | |
Make sure to promote single precision floats to double before extracting them
from the APFloat.
llvm-svn: 114096
Diffstat (limited to 'llvm/lib/Target/ARM/ARMMCInstLower.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMMCInstLower.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMMCInstLower.cpp b/llvm/lib/Target/ARM/ARMMCInstLower.cpp index 8774010d89d..404a73b95c7 100644 --- a/llvm/lib/Target/ARM/ARMMCInstLower.cpp +++ b/llvm/lib/Target/ARM/ARMMCInstLower.cpp @@ -157,8 +157,10 @@ void ARMMCInstLower::Lower(const MachineInstr *MI, MCInst &OutMI) const { MO.getBlockAddress())); break; case MachineOperand::MO_FPImmediate: - MCOp = - MCOperand::CreateFPImm(MO.getFPImm()->getValueAPF().convertToDouble()); + APFloat Val = MO.getFPImm()->getValueAPF(); + bool ignored; + Val.convert(APFloat::IEEEdouble, APFloat::rmTowardZero, &ignored); + MCOp = MCOperand::CreateFPImm(Val.convertToDouble()); break; } |

