summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2011-04-08 20:03:46 +0000
committerJohnny Chen <johnny.chen@apple.com>2011-04-08 20:03:46 +0000
commitf2faf4e53ad5cf41c246d024c1748fd48f5fbae5 (patch)
treef761d9d50807cd74f0bf3431d62817bdb2ddbf1d /llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
parenta9570f77d5999b8b27aa32e0e8baba0071a8558a (diff)
downloadbcm5719-llvm-f2faf4e53ad5cf41c246d024c1748fd48f5fbae5.tar.gz
bcm5719-llvm-f2faf4e53ad5cf41c246d024c1748fd48f5fbae5.zip
Check opcoe (dmb, dsb) instead of bitfields matching.
llvm-svn: 129148
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp')
-rw-r--r--llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp13
1 files changed, 1 insertions, 12 deletions
diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
index d4cd0879129..616b76a67a3 100644
--- a/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
+++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
@@ -3212,17 +3212,6 @@ static bool DisassembleNDupFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
return true;
}
-// A8.6.41 DMB
-// A8.6.42 DSB
-// A8.6.49 ISB
-static inline bool MemBarrierInstr(uint32_t insn) {
- unsigned op7_4 = slice(insn, 7, 4);
- if (slice(insn, 31, 8) == 0xf57ff0 && (op7_4 >= 4 && op7_4 <= 6))
- return true;
-
- return false;
-}
-
static inline bool PreLoadOpcode(unsigned Opcode) {
switch(Opcode) {
case ARM::PLDi12: case ARM::PLDrs:
@@ -3286,7 +3275,7 @@ static bool DisassemblePreLoadFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
static bool DisassembleMiscFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
unsigned short NumOps, unsigned &NumOpsAdded, BO B) {
- if (MemBarrierInstr(insn)) {
+ if (Opcode == ARM::DMB || Opcode == ARM::DSB) {
// Inst{3-0} encodes the memory barrier option for the variants.
unsigned opt = slice(insn, 3, 0);
switch (opt) {
OpenPOWER on IntegriCloud