Remove the "common" set of instructions shared between ARM and Thumb2 modes. This...
authorOwen Anderson <resistor@mac.com>
Thu, 8 Sep 2011 00:11:18 +0000 (00:11 +0000)
committerOwen Anderson <resistor@mac.com>
Thu, 8 Sep 2011 00:11:18 +0000 (00:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139268 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/Disassembler/ARMDisassembler.cpp

index 507c7bbcf024f5f638eb2b422bf8dfd4eda057f4..c935df9a8b26b0482c8e095c67f0c23e2098aa6b 100644 (file)
@@ -4320,7 +4320,6 @@ class ACI<dag oops, dag iops, string opc, string asm,
 }
 
 multiclass LdStCop<bits<4> op31_28, bit load, dag ops, string opc, string cond>{
-  let DecoderNamespace = "Common" in {
   def _OFFSET : ACI<(outs),
       !con((ins nohash_imm:$cop, nohash_imm:$CRd, addrmode2:$addr), ops),
       !strconcat(opc, cond), "\tp$cop, cr$CRd, $addr"> {
@@ -4416,7 +4415,6 @@ multiclass LdStCop<bits<4> op31_28, bit load, dag ops, string opc, string cond>{
     let Inst{20} = load;
     let DecoderMethod = "DecodeCopMemInstruction";
   }
-  }
 }
 
 defm LDC  : LdStCop<{?,?,?,?}, 1, (ins pred:$p), "ldc",  "${p}">;
index 13e410c139e0ae5ac311507cf35348cc076778b4..66e64d3ffcb1987f76412800c2923c4a84203757 100644 (file)
@@ -342,16 +342,6 @@ DecodeStatus ARMDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
     return result;
   }
 
-  // Instructions that are shared between ARM and Thumb modes.
-  // FIXME: This shouldn't really exist.  It's an artifact of the
-  // fact that we fail to encode a few instructions properly for Thumb.
-  MI.clear();
-  result = decodeCommonInstruction32(MI, insn, Address, this, STI);
-  if (result != MCDisassembler::Fail) {
-    Size = 4;
-    return result;
-  }
-
   // VFP and NEON instructions, similarly, are shared between ARM
   // and Thumb modes.
   MI.clear();
@@ -594,14 +584,6 @@ DecodeStatus ThumbDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
     return result;
   }
 
-  MI.clear();
-  result = decodeCommonInstruction32(MI, insn32, Address, this, STI);
-  if (result != MCDisassembler::Fail) {
-    Size = 4;
-    AddThumbPredicate(MI);
-    return result;
-  }
-
   MI.clear();
   result = decodeVFPInstruction32(MI, insn32, Address, this, STI);
   if (result != MCDisassembler::Fail) {