aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2021-02-04 20:39:52 -0800
committerFangrui Song <i@maskray.me>2021-02-04 20:39:52 -0800
commite5269da9794f90727510fb51c8d225008a407cc4 (patch)
tree07f323ce841e09ccf15de51587c4343f8cd3d146 /llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
parent6b280ce34c13d78c951f381346ff6f73c34e5d28 (diff)
downloadllvm-e5269da9794f90727510fb51c8d225008a407cc4.zip
llvm-e5269da9794f90727510fb51c8d225008a407cc4.tar.gz
llvm-e5269da9794f90727510fb51c8d225008a407cc4.tar.bz2
[ARM][WebAssembly] Fix incorrect MCOperand::createDFPImm after D96091
Diffstat (limited to 'llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp b/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
index f252256..36ef46e 100644
--- a/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
+++ b/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
@@ -114,7 +114,8 @@ bool parseImmediate(MCInst &MI, uint64_t &Size, ArrayRef<uint8_t> Bytes) {
Bytes.data() + Size);
Size += sizeof(T);
if (std::is_floating_point<T>::value) {
- MI.addOperand(MCOperand::createDFPImm(static_cast<double>(Val)));
+ MI.addOperand(
+ MCOperand::createDFPImm(bit_cast<uint64_t>(static_cast<double>(Val))));
} else {
MI.addOperand(MCOperand::createImm(static_cast<int64_t>(Val)));
}