summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2010-09-17 23:48:07 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2010-09-17 23:48:07 +0000
commit92aa1f71230f086ddb3aaf67e18cea6f3d1f3afe (patch)
treec987b1c6277e5effb46ca6ab97ec967c1b2f40a0
parentfbd1873041783f388de1c36c5d46c82a9ad46ef3 (diff)
downloadllvm-92aa1f71230f086ddb3aaf67e18cea6f3d1f3afe.tar.gz
llvm-92aa1f71230f086ddb3aaf67e18cea6f3d1f3afe.tar.bz2
llvm-92aa1f71230f086ddb3aaf67e18cea6f3d1f3afe.tar.xz
Fix vmov.f64 disassembly on targets where sizeof(long) != 8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114240 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp4
-rw-r--r--test/MC/Disassembler/neon-tests.txt3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp b/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
index 971d64279e..a5494091c9 100644
--- a/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
+++ b/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
@@ -1588,9 +1588,9 @@ static APInt VFPExpandImm(unsigned char byte, unsigned N) {
Result = (uint64_t)slice(byte, 7, 7) << 63 |
(uint64_t)slice(byte, 5, 0) << 48;
if (bit6)
- Result |= 0xffL << 54;
+ Result |= 0xffULL << 54;
else
- Result |= 0x1L << 62;
+ Result |= 0x1ULL << 62;
}
return APInt(N, Result);
}
diff --git a/test/MC/Disassembler/neon-tests.txt b/test/MC/Disassembler/neon-tests.txt
index a3bdc262e5..eb9adb7b6c 100644
--- a/test/MC/Disassembler/neon-tests.txt
+++ b/test/MC/Disassembler/neon-tests.txt
@@ -56,3 +56,6 @@
# CHECK: vmov.f32 s0, #1.328125e-01
0x01 0x0a 0xb4 0xee
+
+# CHECK: vmov.f64 d0, #5.000000e-01
+0x00 0x0b 0xb6 0xee