• Home
  • Raw
  • Download

Lines Matching refs:Imm

100     inline SDValue getI32Imm(unsigned Imm, SDLoc dl) {  in getI32Imm()  argument
101 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in getI32Imm()
106 inline SDValue getI64Imm(uint64_t Imm, SDLoc dl) { in getI64Imm() argument
107 return CurDAG->getTargetConstant(Imm, dl, MVT::i64); in getI64Imm()
111 inline SDValue getSmallIPtrImm(unsigned Imm, SDLoc dl) { in getSmallIPtrImm() argument
113 Imm, dl, PPCLowering->getPointerTy(CurDAG->getDataLayout())); in getSmallIPtrImm()
361 static bool isIntS16Immediate(SDNode *N, short &Imm) { in isIntS16Immediate() argument
365 Imm = (short)cast<ConstantSDNode>(N)->getZExtValue(); in isIntS16Immediate()
367 return Imm == (int32_t)cast<ConstantSDNode>(N)->getZExtValue(); in isIntS16Immediate()
369 return Imm == (int64_t)cast<ConstantSDNode>(N)->getZExtValue(); in isIntS16Immediate()
372 static bool isIntS16Immediate(SDValue Op, short &Imm) { in isIntS16Immediate() argument
373 return isIntS16Immediate(Op.getNode(), Imm); in isIntS16Immediate()
379 static bool isInt32Immediate(SDNode *N, unsigned &Imm) { in isInt32Immediate() argument
381 Imm = cast<ConstantSDNode>(N)->getZExtValue(); in isInt32Immediate()
389 static bool isInt64Immediate(SDNode *N, uint64_t &Imm) { in isInt64Immediate() argument
391 Imm = cast<ConstantSDNode>(N)->getZExtValue(); in isInt64Immediate()
399 static bool isInt32Immediate(SDValue N, unsigned &Imm) { in isInt32Immediate() argument
400 return isInt32Immediate(N.getNode(), Imm); in isInt32Immediate()
458 static bool isOpcWithIntImmediate(SDNode *N, unsigned Opc, unsigned& Imm) { in isOpcWithIntImmediate() argument
460 && isInt32Immediate(N->getOperand(1).getNode(), Imm); in isOpcWithIntImmediate()
597 static unsigned SelectInt64CountDirect(int64_t Imm) { in SelectInt64CountDirect() argument
604 if (!isInt<32>(Imm)) { in SelectInt64CountDirect()
605 Shift = countTrailingZeros<uint64_t>(Imm); in SelectInt64CountDirect()
606 int64_t ImmSh = static_cast<uint64_t>(Imm) >> Shift; in SelectInt64CountDirect()
611 Imm = ImmSh; in SelectInt64CountDirect()
614 Remainder = Imm; in SelectInt64CountDirect()
616 Imm >>= 32; in SelectInt64CountDirect()
624 unsigned Lo = Imm & 0xFFFF; in SelectInt64CountDirect()
627 if (isInt<16>(Imm)) { in SelectInt64CountDirect()
642 if (Imm) in SelectInt64CountDirect()
654 static uint64_t Rot64(uint64_t Imm, unsigned R) { in Rot64() argument
655 return (Imm << R) | (Imm >> (64 - R)); in Rot64()
658 static unsigned SelectInt64Count(int64_t Imm) { in SelectInt64Count() argument
659 unsigned Count = SelectInt64CountDirect(Imm); in SelectInt64Count()
664 uint64_t RImm = Rot64(Imm, r); in SelectInt64Count()
685 static SDNode *SelectInt64Direct(SelectionDAG *CurDAG, SDLoc dl, int64_t Imm) { in SelectInt64Direct() argument
692 if (!isInt<32>(Imm)) { in SelectInt64Direct()
693 Shift = countTrailingZeros<uint64_t>(Imm); in SelectInt64Direct()
694 int64_t ImmSh = static_cast<uint64_t>(Imm) >> Shift; in SelectInt64Direct()
699 Imm = ImmSh; in SelectInt64Direct()
702 Remainder = Imm; in SelectInt64Direct()
704 Imm >>= 32; in SelectInt64Direct()
712 unsigned Lo = Imm & 0xFFFF; in SelectInt64Direct()
713 unsigned Hi = (Imm >> 16) & 0xFFFF; in SelectInt64Direct()
715 auto getI32Imm = [CurDAG, dl](unsigned Imm) { in SelectInt64Direct() argument
716 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in SelectInt64Direct()
720 if (isInt<16>(Imm)) { in SelectInt64Direct()
739 if (Imm) { in SelectInt64Direct()
759 static SDNode *SelectInt64(SelectionDAG *CurDAG, SDLoc dl, int64_t Imm) { in SelectInt64() argument
760 unsigned Count = SelectInt64CountDirect(Imm); in SelectInt64()
762 return SelectInt64Direct(CurDAG, dl, Imm); in SelectInt64()
770 uint64_t RImm = Rot64(Imm, r); in SelectInt64()
804 return SelectInt64Direct(CurDAG, dl, Imm); in SelectInt64()
806 auto getI32Imm = [CurDAG, dl](unsigned Imm) { in SelectInt64() argument
807 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in SelectInt64()
820 int64_t Imm = cast<ConstantSDNode>(N)->getZExtValue(); in SelectInt64() local
821 return SelectInt64(CurDAG, dl, Imm); in SelectInt64()
1257 SDValue getI32Imm(unsigned Imm, SDLoc dl) { in getI32Imm() argument
1258 return CurDAG->getTargetConstant(Imm, dl, MVT::i32); in getI32Imm()
1994 unsigned Imm; in SelectCC() local
1996 if (isInt32Immediate(RHS, Imm)) { in SelectCC()
1998 if (isUInt<16>(Imm)) in SelectCC()
2000 getI32Imm(Imm & 0xFFFF, dl)), in SelectCC()
2003 if (isInt<16>((int)Imm)) in SelectCC()
2005 getI32Imm(Imm & 0xFFFF, dl)), in SelectCC()
2018 getI32Imm(Imm >> 16, dl)), 0); in SelectCC()
2020 getI32Imm(Imm & 0xFFFF, dl)), 0); in SelectCC()
2024 if (isInt32Immediate(RHS, Imm) && isUInt<16>(Imm)) in SelectCC()
2026 getI32Imm(Imm & 0xFFFF, dl)), 0); in SelectCC()
2038 uint64_t Imm; in SelectCC() local
2040 if (isInt64Immediate(RHS.getNode(), Imm)) { in SelectCC()
2042 if (isUInt<16>(Imm)) in SelectCC()
2044 getI32Imm(Imm & 0xFFFF, dl)), in SelectCC()
2047 if (isInt<16>(Imm)) in SelectCC()
2049 getI32Imm(Imm & 0xFFFF, dl)), in SelectCC()
2061 if (isUInt<32>(Imm)) { in SelectCC()
2063 getI64Imm(Imm >> 16, dl)), 0); in SelectCC()
2065 getI64Imm(Imm & 0xFFFF, dl)), in SelectCC()
2071 if (isInt64Immediate(RHS.getNode(), Imm) && isUInt<16>(Imm)) in SelectCC()
2073 getI64Imm(Imm & 0xFFFF, dl)), 0); in SelectCC()
2265 unsigned Imm; in SelectSETCC() local
2272 isInt32Immediate(N->getOperand(1), Imm)) { in SelectSETCC()
2276 if (Imm == 0) { in SelectSETCC()
2308 } else if (Imm == ~0U) { // setcc op, -1 in SelectSETCC()
2580 unsigned Imm, Imm2, SH, MB, ME; in Select() local
2585 if (isInt32Immediate(N->getOperand(1), Imm) && in Select()
2586 isRotateAndMask(N->getOperand(0).getNode(), Imm, false, SH, MB, ME)) { in Select()
2594 if (isInt32Immediate(N->getOperand(1), Imm) && in Select()
2595 isRunOfOnes(Imm, MB, ME) && in Select()
2615 isInt32Immediate(Val.getOperand(1).getNode(), Imm) && Imm <= MB) { in Select()
2616 assert(Imm < 64 && "Illegal shift amount"); in Select()
2618 SH = 64 - Imm; in Select()
2625 if (isInt32Immediate(N->getOperand(1), Imm) && (Imm == 0)) { in Select()
2632 if (isInt32Immediate(N->getOperand(1), Imm) && in Select()
2648 if (isRunOfOnes(~(Imm^Imm2), MB, ME) && !(~Imm & Imm2)) { in Select()
2665 short Imm; in Select() local
2667 isIntS16Immediate(N->getOperand(1), Imm)) { in Select()
2673 if ((LHSKnownZero.getZExtValue()|~(uint64_t)Imm) == ~0ULL) in Select()
2674 return getFrameIndex(N, N->getOperand(0).getNode(), (int)Imm); in Select()
2681 short Imm; in Select() local
2683 isIntS16Immediate(N->getOperand(1), Imm)) in Select()
2684 return getFrameIndex(N, N->getOperand(0).getNode(), (int)Imm); in Select()
2689 unsigned Imm, SH, MB, ME; in Select() local
2690 if (isOpcWithIntImmediate(N->getOperand(0).getNode(), ISD::AND, Imm) && in Select()
2691 isRotateAndMask(N, Imm, true, SH, MB, ME)) { in Select()
2702 unsigned Imm, SH, MB, ME; in Select() local
2703 if (isOpcWithIntImmediate(N->getOperand(0).getNode(), ISD::AND, Imm) && in Select()
2704 isRotateAndMask(N, Imm, true, SH, MB, ME)) { in Select()