diff options
author | Johnny Chen <johnny.chen@apple.com> | 2011-04-08 20:03:46 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2011-04-08 20:03:46 +0000 |
commit | f2faf4e53ad5cf41c246d024c1748fd48f5fbae5 (patch) | |
tree | f761d9d50807cd74f0bf3431d62817bdb2ddbf1d /llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp | |
parent | a9570f77d5999b8b27aa32e0e8baba0071a8558a (diff) | |
download | bcm5719-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.cpp | 13 |
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) { |