Index: llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp =================================================================== --- llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp +++ llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp @@ -501,6 +501,15 @@ } break; + case SystemZ::PPA: + assert(MI->getOperand(1).getReg() == SystemZ::NoRegister && + "Expected PPA to have NoRegister as second register."); + LoweredMI = MCInstBuilder(SystemZ::PPA) + .addReg(MI->getOperand(0).getReg()) + .addImm(0) + .addImm(MI->getOperand(2).getImm()); + break; + case TargetOpcode::FENTRY_CALL: LowerFENTRY_CALL(*MI, Lower); return; Index: llvm/lib/Target/SystemZ/SystemZInstrInfo.td =================================================================== --- llvm/lib/Target/SystemZ/SystemZInstrInfo.td +++ llvm/lib/Target/SystemZ/SystemZInstrInfo.td @@ -2069,7 +2069,7 @@ def PPA : SideEffectTernaryRRFc<"ppa", 0xB2E8, GR64, GR64, imm32zx4>; def : Pat<(int_s390_ppa_txassist GR32:$src), (PPA (INSERT_SUBREG (i64 (IMPLICIT_DEF)), GR32:$src, subreg_l32), - 0, 1)>; + zero_reg, 1)>; } //===----------------------------------------------------------------------===//