mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 16:24:23 +00:00
Remove the "common" set of instructions shared between ARM and Thumb2 modes. This is no longer needed now that Thumb2 has its own copy of the STC/LDC instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139268 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -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>{
|
multiclass LdStCop<bits<4> op31_28, bit load, dag ops, string opc, string cond>{
|
||||||
let DecoderNamespace = "Common" in {
|
|
||||||
def _OFFSET : ACI<(outs),
|
def _OFFSET : ACI<(outs),
|
||||||
!con((ins nohash_imm:$cop, nohash_imm:$CRd, addrmode2:$addr), ops),
|
!con((ins nohash_imm:$cop, nohash_imm:$CRd, addrmode2:$addr), ops),
|
||||||
!strconcat(opc, cond), "\tp$cop, cr$CRd, $addr"> {
|
!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 Inst{20} = load;
|
||||||
let DecoderMethod = "DecodeCopMemInstruction";
|
let DecoderMethod = "DecodeCopMemInstruction";
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defm LDC : LdStCop<{?,?,?,?}, 1, (ins pred:$p), "ldc", "${p}">;
|
defm LDC : LdStCop<{?,?,?,?}, 1, (ins pred:$p), "ldc", "${p}">;
|
||||||
|
@ -342,16 +342,6 @@ DecodeStatus ARMDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
|
|||||||
return result;
|
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
|
// VFP and NEON instructions, similarly, are shared between ARM
|
||||||
// and Thumb modes.
|
// and Thumb modes.
|
||||||
MI.clear();
|
MI.clear();
|
||||||
@ -594,14 +584,6 @@ DecodeStatus ThumbDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
MI.clear();
|
|
||||||
result = decodeCommonInstruction32(MI, insn32, Address, this, STI);
|
|
||||||
if (result != MCDisassembler::Fail) {
|
|
||||||
Size = 4;
|
|
||||||
AddThumbPredicate(MI);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
MI.clear();
|
MI.clear();
|
||||||
result = decodeVFPInstruction32(MI, insn32, Address, this, STI);
|
result = decodeVFPInstruction32(MI, insn32, Address, this, STI);
|
||||||
if (result != MCDisassembler::Fail) {
|
if (result != MCDisassembler::Fail) {
|
||||||
|
Reference in New Issue
Block a user