aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp')
-rw-r--r--llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
index 8e4621946008..fb22ddd91ba0 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
@@ -38,9 +38,8 @@ bool SparcInstPrinter::isV9(const MCSubtargetInfo &STI) const {
return (STI.getFeatureBits()[Sparc::FeatureV9]) != 0;
}
-void SparcInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const
-{
- OS << '%' << StringRef(getRegisterName(RegNo)).lower();
+void SparcInstPrinter::printRegName(raw_ostream &OS, MCRegister Reg) const {
+ OS << '%' << StringRef(getRegisterName(Reg)).lower();
}
void SparcInstPrinter::printInst(const MCInst *MI, uint64_t Address,
@@ -189,12 +188,20 @@ void SparcInstPrinter::printCCOperand(const MCInst *MI, int opNum,
case SP::FMOVD_FCC: case SP::V9FMOVD_FCC:
case SP::FMOVQ_FCC: case SP::V9FMOVQ_FCC:
// Make sure CC is a fp conditional flag.
- CC = (CC < 16) ? (CC + 16) : CC;
+ CC = (CC < SPCC::FCC_BEGIN) ? (CC + SPCC::FCC_BEGIN) : CC;
break;
case SP::CBCOND:
case SP::CBCONDA:
// Make sure CC is a cp conditional flag.
- CC = (CC < 32) ? (CC + 32) : CC;
+ CC = (CC < SPCC::CPCC_BEGIN) ? (CC + SPCC::CPCC_BEGIN) : CC;
+ break;
+ case SP::MOVRri:
+ case SP::MOVRrr:
+ case SP::FMOVRS:
+ case SP::FMOVRD:
+ case SP::FMOVRQ:
+ // Make sure CC is a register conditional flag.
+ CC = (CC < SPCC::REG_BEGIN) ? (CC + SPCC::REG_BEGIN) : CC;
break;
}
O << SPARCCondCodeToString((SPCC::CondCodes)CC);
@@ -222,7 +229,7 @@ void SparcInstPrinter::printMembarTag(const MCInst *MI, int opNum,
}
bool First = true;
- for (unsigned i = 0; i < sizeof(TagNames) / sizeof(char *); i++) {
+ for (unsigned i = 0; i < std::size(TagNames); i++) {
if (Imm & (1 << i)) {
O << (First ? "" : " | ") << TagNames[i];
First = false;