|
@@ -854,23 +854,23 @@ void MIPrinter::print(const MachineInstr &MI, unsigned OpIdx,
|
|
|
const MachineOperand &Op = MI.getOperand(OpIdx);
|
|
|
printTargetFlags(Op);
|
|
|
switch (Op.getType()) {
|
|
|
+ case MachineOperand::MO_Immediate:
|
|
|
+ if (MI.isOperandSubregIdx(OpIdx)) {
|
|
|
+ MachineOperand::printSubregIdx(OS, Op.getImm(), TRI);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ LLVM_FALLTHROUGH;
|
|
|
case MachineOperand::MO_Register:
|
|
|
case MachineOperand::MO_CImmediate:
|
|
|
case MachineOperand::MO_MachineBasicBlock: {
|
|
|
unsigned TiedOperandIdx = 0;
|
|
|
- if (ShouldPrintRegisterTies && Op.isTied() && !Op.isDef())
|
|
|
+ if (ShouldPrintRegisterTies && Op.isReg() && Op.isTied() && !Op.isDef())
|
|
|
TiedOperandIdx = Op.getParent()->findTiedOperandIdx(OpIdx);
|
|
|
const TargetIntrinsicInfo *TII = MI.getMF()->getTarget().getIntrinsicInfo();
|
|
|
Op.print(OS, MST, TypeToPrint, PrintDef, ShouldPrintRegisterTies,
|
|
|
TiedOperandIdx, TRI, TII);
|
|
|
break;
|
|
|
}
|
|
|
- case MachineOperand::MO_Immediate:
|
|
|
- if (MI.isOperandSubregIdx(OpIdx))
|
|
|
- OS << "%subreg." << TRI->getSubRegIndexName(Op.getImm());
|
|
|
- else
|
|
|
- OS << Op.getImm();
|
|
|
- break;
|
|
|
case MachineOperand::MO_FPImmediate:
|
|
|
Op.getFPImm()->printAsOperand(OS, /*PrintType=*/true, MST);
|
|
|
break;
|