Home | History | Annotate | Download | only in SystemZ

Lines Matching refs:RISBG

277   // Try to implement AND or shift node N using RISBG with the zero flag set.
281 // Try to use RISBG or Opcode to implement OR or XOR node N.
868 RxSBGOperands RISBG(SystemZ::RISBG, SDValue(N, 0));
870 while (expandRxSBG(RISBG))
871 if (RISBG.Input.getOpcode() != ISD::ANY_EXTEND)
876 // Prefer to use normal shift instructions over RISBG, since they can handle
881 // Prefer register extensions like LLC over RISBG. Also prefer to start
883 // these ANDs into an RISBG later if a three-address instruction is useful.
885 RISBG.Mask == 0xff ||
886 RISBG.Mask == 0xffff ||
887 SystemZ::isImmLF(~RISBG.Mask) ||
888 SystemZ::isImmHF(~RISBG.Mask)) {
891 if (MaskN->getZExtValue() != RISBG.Mask) {
892 SDValue NewMask = CurDAG->getConstant(RISBG.Mask, VT);
900 unsigned Opcode = SystemZ::RISBG;
908 RISBG.Start &= 31;
909 RISBG.End &= 31;
913 convertTo(SDLoc(N), OpcodeVT, RISBG.Input),
914 CurDAG->getTargetConstant(RISBG.Start, MVT::i32),
915 CurDAG->getTargetConstant(RISBG.End | 128, MVT::i32),
916 RISBG.Rotate, MVT::i32)
950 // ROSBG to RISBG.
952 Opcode = SystemZ::RISBG;