mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-23 00:20:25 +00:00
[mips][mips64r6] ssnop is deprecated on MIPS32r6/MIPS64r6
Summary: Depends on D4120 Reviewers: jkolek, zoran.jovanovic, vmedic Reviewed By: zoran.jovanovic, vmedic Differential Revision: http://reviews.llvm.org/D4121 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211021 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -176,6 +176,12 @@ class MipsAsmParser : public MCTargetAsmParser {
|
||||
|
||||
bool hasMips4() const { return STI.getFeatureBits() & Mips::FeatureMips4; }
|
||||
bool hasMips32() const { return STI.getFeatureBits() & Mips::FeatureMips32; }
|
||||
bool hasMips32r6() const {
|
||||
return STI.getFeatureBits() & Mips::FeatureMips32r6;
|
||||
}
|
||||
bool hasMips64r6() const {
|
||||
return STI.getFeatureBits() & Mips::FeatureMips64r6;
|
||||
}
|
||||
|
||||
bool parseRegister(unsigned &RegNum);
|
||||
|
||||
@@ -905,6 +911,14 @@ bool MipsAsmParser::processInstruction(MCInst &Inst, SMLoc IDLoc,
|
||||
}
|
||||
}
|
||||
|
||||
// SSNOP is deprecated on MIPS32r6/MIPS64r6
|
||||
// We still accept it but it is a normal nop.
|
||||
if (hasMips32r6() && Inst.getOpcode() == Mips::SSNOP) {
|
||||
std::string ISA = hasMips64r6() ? "MIPS64r6" : "MIPS32r6";
|
||||
Warning(IDLoc, "ssnop is deprecated for " + ISA + " and is equivalent to a "
|
||||
"nop instruction");
|
||||
}
|
||||
|
||||
if (MCID.hasDelaySlot() && Options.isReorder()) {
|
||||
// If this instruction has a delay slot and .set reorder is active,
|
||||
// emit a NOP after it.
|
||||
|
||||
Reference in New Issue
Block a user