mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 16:24:23 +00:00
Get rid of the non-writeback versions VLDMDB and VSTMDB, which don't actually exist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128461 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1123,7 +1123,7 @@ static bool HasDualReg(unsigned Opcode) {
|
||||
case ARM::LDRD: case ARM::LDRD_PRE: case ARM::LDRD_POST:
|
||||
case ARM::STRD: case ARM::STRD_PRE: case ARM::STRD_POST:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static bool DisassembleLdStMiscFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
@ -1610,7 +1610,7 @@ static bool DisassembleVFPBinaryFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
// A8.6.295 vcvt (floating-point <-> integer)
|
||||
// Int to FP: VSITOD, VSITOS, VUITOD, VUITOS
|
||||
// FP to Int: VTOSI[Z|R]D, VTOSI[Z|R]S, VTOUI[Z|R]D, VTOUI[Z|R]S
|
||||
//
|
||||
//
|
||||
// A8.6.297 vcvt (floating-point and fixed-point)
|
||||
// Dd|Sd Dd|Sd(TIED_TO) #fbits(= 16|32 - UInt(imm4:i))
|
||||
static bool DisassembleVFPConv1Frm(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
@ -1832,9 +1832,9 @@ static bool DisassembleVFPLdStMulFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
|
||||
OpIdx += 3;
|
||||
|
||||
bool isSPVFP = (Opcode == ARM::VLDMSIA || Opcode == ARM::VLDMSDB ||
|
||||
bool isSPVFP = (Opcode == ARM::VLDMSIA ||
|
||||
Opcode == ARM::VLDMSIA_UPD || Opcode == ARM::VLDMSDB_UPD ||
|
||||
Opcode == ARM::VSTMSIA || Opcode == ARM::VSTMSDB ||
|
||||
Opcode == ARM::VSTMSIA ||
|
||||
Opcode == ARM::VSTMSIA_UPD || Opcode == ARM::VSTMSDB_UPD);
|
||||
unsigned RegClassID = isSPVFP ? ARM::SPRRegClassID : ARM::DPRRegClassID;
|
||||
|
||||
@ -1848,7 +1848,7 @@ static bool DisassembleVFPLdStMulFrm(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
// Apply some sanity checks before proceeding.
|
||||
if (Regs == 0 || (RegD + Regs) > 32 || (!isSPVFP && Regs > 16))
|
||||
return false;
|
||||
|
||||
|
||||
for (unsigned i = 0; i < Regs; ++i) {
|
||||
MI.addOperand(MCOperand::CreateReg(getRegisterEnum(B, RegClassID,
|
||||
RegD + i)));
|
||||
@ -2286,15 +2286,15 @@ static bool DisassembleNLdSt(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
// n == 2 && type == 0b1001 -> DblSpaced = true
|
||||
if (Name.startswith("VST2") || Name.startswith("VLD2"))
|
||||
DblSpaced = slice(insn, 11, 8) == 9;
|
||||
|
||||
|
||||
// n == 3 && type == 0b0101 -> DblSpaced = true
|
||||
if (Name.startswith("VST3") || Name.startswith("VLD3"))
|
||||
DblSpaced = slice(insn, 11, 8) == 5;
|
||||
|
||||
|
||||
// n == 4 && type == 0b0001 -> DblSpaced = true
|
||||
if (Name.startswith("VST4") || Name.startswith("VLD4"))
|
||||
DblSpaced = slice(insn, 11, 8) == 1;
|
||||
|
||||
|
||||
}
|
||||
return DisassembleNLdSt0(MI, Opcode, insn, NumOps, NumOpsAdded,
|
||||
slice(insn, 21, 21) == 0, DblSpaced, B);
|
||||
@ -2391,7 +2391,7 @@ enum N2VFlag {
|
||||
//
|
||||
// Vector Move Long:
|
||||
// Qd Dm
|
||||
//
|
||||
//
|
||||
// Vector Move Narrow:
|
||||
// Dd Qm
|
||||
//
|
||||
@ -2533,7 +2533,7 @@ static bool DisassembleNVectorShift(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
assert(OpInfo[OpIdx].RegClass < 0 && "Imm operand expected");
|
||||
|
||||
// Add the imm operand.
|
||||
|
||||
|
||||
// VSHLL has maximum shift count as the imm, inferred from its size.
|
||||
unsigned Imm;
|
||||
switch (Opcode) {
|
||||
@ -2646,7 +2646,7 @@ static bool DisassembleNVdVnVmOptImm(MCInst &MI, unsigned Opcode, uint32_t insn,
|
||||
// N3RegFrm.
|
||||
if (Opcode == ARM::VMOVDneon || Opcode == ARM::VMOVQ)
|
||||
return true;
|
||||
|
||||
|
||||
// Dm = Inst{5:3-0} => NEON Rm
|
||||
// or
|
||||
// Dm is restricted to D0-D7 if size is 16, D0-D15 otherwise
|
||||
@ -3183,7 +3183,7 @@ bool ARMBasicMCBuilder::DoPredicateOperands(MCInst& MI, unsigned Opcode,
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/// TryPredicateAndSBitModifier - TryPredicateAndSBitModifier tries to process
|
||||
/// the possible Predicate and SBitModifier, to build the remaining MCOperand
|
||||
/// constituents.
|
||||
|
Reference in New Issue
Block a user