Lines Matching defs:ImmValue

227   bool loadImmediate(int64_t ImmValue, unsigned DstReg, unsigned SrcReg,
2623 int64_t ImmValue = Inst.getOperand(2).getImm();
2624 if (isInt<16>(ImmValue))
2635 int64_t ImmValue = Inst.getOperand(2).getImm();
2636 if (isUInt<16>(ImmValue))
2754 /// @param ImmValue The immediate to load.
2758 /// @param Is32BitImm Is ImmValue 32-bit or 64-bit?
2762 bool MipsAsmParser::loadImmediate(int64_t ImmValue, unsigned DstReg,
2774 if (isInt<32>(ImmValue) || isUInt<32>(ImmValue)) {
2778 ImmValue = SignExtend64<32>(ImmValue);
2803 if (isInt<16>(ImmValue)) {
2811 TOut.emitRRI(Mips::DADDiu, DstReg, SrcReg, ImmValue, IDLoc, STI);
2815 TOut.emitRRI(Mips::ADDiu, DstReg, SrcReg, ImmValue, IDLoc, STI);
2819 if (isUInt<16>(ImmValue)) {
2827 TOut.emitRRI(Mips::ORi, TmpReg, ZeroReg, ImmValue, IDLoc, STI);
2833 if (isInt<32>(ImmValue) || isUInt<32>(ImmValue)) {
2836 uint16_t Bits31To16 = (ImmValue >> 16) & 0xffff;
2837 uint16_t Bits15To0 = ImmValue & 0xffff;
2838 if (!Is32BitImm && !isInt<32>(ImmValue)) {
2841 if (ImmValue == 0xffffffff) {
2868 if (isShiftedUIntAtAnyPosition<16>(ImmValue)) {
2874 // We've processed ImmValue satisfying isUInt<16> above, so ImmValue must be
2876 unsigned BitWidth = llvm::bit_width((uint64_t)ImmValue);
2877 assert(BitWidth >= 17 && "ImmValue must be at least 17-bit wide");
2882 uint16_t Bits = (ImmValue >> ShiftAmount) & 0xffff;
2898 // Load bits 32-63 of ImmValue into bits 0-31 of the temporary register.
2899 if (loadImmediate(ImmValue >> 32, TmpReg, Mips::NoRegister, true, false,
2907 uint16_t ImmChunk = (ImmValue >> BitNum) & 0xffff;
3720 int64_t ImmValue = ImmOp.getImm();
3721 if (ImmValue == 0) {
3736 if (loadImmediate(ImmValue, ATReg, Mips::NoRegister, !isGP64bit(), true,
4251 int64_t ImmValue;
4259 ImmValue = RtOp.getImm();
4293 if (ImmValue == 0) {
4301 if (isRem && (ImmValue == 1 || (Signed && (ImmValue == -1)))) {
4304 } else if (isDiv && ImmValue == 1) {
4307 } else if (isDiv && Signed && ImmValue == -1) {
4311 if (loadImmediate(ImmValue, ATReg, Mips::NoRegister, isInt<32>(ImmValue),
4648 int64_t ImmValue = Inst.getOperand(2).getImm();
4669 if (isInt<16>(ImmValue)) {
4671 TOut.emitRRI(OpImmCode, DstReg, SrcReg, ImmValue, IDLoc, STI);
4682 if (loadImmediate(ImmValue, ImmReg, Mips::NoRegister, isInt<32>(ImmValue),
4705 int64_t ImmValue = Inst.getOperand(2).getImm();
4730 if (loadImmediate(ImmValue, ImmReg, Mips::NoRegister, isInt<32>(ImmValue),
4785 int64_t ImmValue = Inst.getOperand(2).getImm();
4812 if (loadImmediate(ImmValue, ImmReg, Mips::NoRegister, isInt<32>(ImmValue),
4836 int64_t ImmValue = Inst.getOperand(2).getImm();
4838 bool Is32Bit = isInt<32>(ImmValue) || (!isGP64bit() && isUInt<32>(ImmValue));
4850 if (!loadImmediate(ImmValue, DstReg, Mips::NoRegister, Is32Bit, false,
4998 int64_t ImmValue = Inst.getOperand(2).getImm();
5006 uint64_t ShiftValue = ImmValue;
5007 if (ImmValue != 0)
5008 ShiftValue = MaxShift - ImmValue;
5014 TOut.emitRRI(Mips::ROTR, DReg, SReg, ImmValue, Inst.getLoc(), STI);
5022 if (ImmValue == 0) {
5044 TOut.emitRRI(FirstShift, ATReg, SReg, ImmValue, Inst.getLoc(), STI);
5045 TOut.emitRRI(SecondShift, DReg, SReg, 32 - ImmValue, Inst.getLoc(), STI);
5123 int64_t ImmValue = Inst.getOperand(2).getImm() % 64;
5132 if (ImmValue == 0)
5134 else if (ImmValue % 32 == 0)
5136 else if ((ImmValue >= 1) && (ImmValue <= 32)) {
5141 } else if (ImmValue >= 33) {
5148 uint64_t ShiftValue = ImmValue % 32;
5150 ShiftValue = (32 - ImmValue % 32) % 32;
5158 if (ImmValue == 0) {
5167 if ((ImmValue >= 1) && (ImmValue <= 31)) {
5171 if (ImmValue == 32) {
5175 if ((ImmValue >= 33) && (ImmValue <= 63)) {
5181 if ((ImmValue >= 1) && (ImmValue <= 31)) {
5185 if (ImmValue == 32) {
5189 if ((ImmValue >= 33) && (ImmValue <= 63)) {
5200 TOut.emitRRI(FirstShift, ATReg, SReg, ImmValue % 32, Inst.getLoc(), STI);
5201 TOut.emitRRI(SecondShift, DReg, SReg, (32 - ImmValue % 32) % 32,
5233 int32_t ImmValue = Inst.getOperand(2).getImm();
5239 loadImmediate(ImmValue, ATReg, Mips::NoRegister, true, false, IDLoc, Out,
5549 int64_t ImmValue = Inst.getOperand(2).getImm();
5553 if (ImmValue == 0) {
5567 if (ImmValue > -0x8000 && ImmValue < 0) {
5568 ImmValue = -ImmValue;
5574 if (isUInt<16>(ImmValue)) {
5575 TOut.emitRRI(Opc, DstReg, SrcReg, ImmValue, IDLoc, STI);
5584 if (loadImmediate(ImmValue, ATReg, Mips::NoRegister, isInt<32>(ImmValue),
5814 int64_t ImmValue = BaseOp.getImm();
5815 if (ImmValue == 0) {