Lines Matching refs:ImmValue

183   bool loadImmediate(int64_t ImmValue, unsigned DstReg, unsigned SrcReg,
2055 int64_t ImmValue = Inst.getOperand(2).getImm();
2056 if (isInt<16>(ImmValue))
2067 int64_t ImmValue = Inst.getOperand(2).getImm();
2068 if (isUInt<16>(ImmValue))
2145 /// @param ImmValue The immediate to load.
2149 /// @param Is32BitImm Is ImmValue 32-bit or 64-bit?
2154 bool MipsAsmParser::loadImmediate(int64_t ImmValue, unsigned DstReg,
2164 if (isInt<32>(ImmValue) || isUInt<32>(ImmValue)) {
2168 ImmValue = SignExtend64<32>(ImmValue);
2192 if (isInt<16>(ImmValue)) {
2200 emitRRI(Mips::DADDiu, DstReg, SrcReg, ImmValue, IDLoc, Instructions);
2204 emitRRI(Mips::ADDiu, DstReg, SrcReg, ImmValue, IDLoc, Instructions);
2208 if (isUInt<16>(ImmValue)) {
2216 emitRRI(Mips::ORi, TmpReg, ZeroReg, ImmValue, IDLoc, Instructions);
2222 if (isInt<32>(ImmValue) || isUInt<32>(ImmValue)) {
2225 uint16_t Bits31To16 = (ImmValue >> 16) & 0xffff;
2226 uint16_t Bits15To0 = ImmValue & 0xffff;
2228 if (!Is32BitImm && !isInt<32>(ImmValue)) {
2231 if (ImmValue == 0xffffffff) {
2258 if (isShiftedUIntAtAnyPosition<16>(ImmValue)) {
2266 unsigned FirstSet = findFirstSet((uint64_t)ImmValue);
2267 unsigned LastSet = findLastSet((uint64_t)ImmValue);
2269 uint16_t Bits = (ImmValue >> ShiftAmount) & 0xffff;
2285 // Load bits 32-63 of ImmValue into bits 0-31 of the temporary register.
2286 if (loadImmediate(ImmValue >> 32, TmpReg, Mips::NoRegister, true, false,
2294 uint16_t ImmChunk = (ImmValue >> BitNum) & 0xffff;
2531 int64_t ImmValue = ImmOp.getImm();
2532 if (ImmValue == 0)
2542 if (loadImmediate(ImmValue, ATReg, Mips::NoRegister, !isGP64bit(), true,
3184 int64_t ImmValue = Inst.getOperand(2).getImm();
3186 bool Is32Bit = isInt<32>(ImmValue) || isUInt<32>(ImmValue);
3198 if (!loadImmediate(ImmValue, DstReg, Mips::NoRegister, Is32Bit, false, Inst.getLoc(), Instructions)) {
3307 int64_t ImmValue = Inst.getOperand(2).getImm();
3316 uint64_t ShiftValue = ImmValue;
3317 if (ImmValue != 0)
3318 ShiftValue = MaxShift - ImmValue;
3324 emitRRI(Mips::ROTR, DReg, SReg, ImmValue, Inst.getLoc(), Instructions);
3333 if (ImmValue == 0) {
3355 emitRRI(FirstShift, ATReg, SReg, ImmValue, Inst.getLoc(), Instructions);
3356 emitRRI(SecondShift, DReg, SReg, 32 - ImmValue, Inst.getLoc(), Instructions);
3435 int64_t ImmValue = Inst.getOperand(2).getImm() % 64;
3445 if (ImmValue == 0)
3447 else if (ImmValue % 32 == 0)
3449 else if ((ImmValue >= 1) && (ImmValue <= 32)) {
3454 } else if (ImmValue >= 33) {
3461 uint64_t ShiftValue = ImmValue % 32;
3463 ShiftValue = (32 - ImmValue % 32) % 32;
3472 if (ImmValue == 0) {
3481 if ((ImmValue >= 1) && (ImmValue <= 31)) {
3485 if (ImmValue == 32) {
3489 if ((ImmValue >= 33) && (ImmValue <= 63)) {
3495 if ((ImmValue >= 1) && (ImmValue <= 31)) {
3499 if (ImmValue == 32) {
3503 if ((ImmValue >= 33) && (ImmValue <= 63)) {
3514 emitRRI(FirstShift, ATReg, SReg, ImmValue % 32, Inst.getLoc(), Instructions);
3515 emitRRI(SecondShift, DReg, SReg, (32 - ImmValue % 32) % 32, Inst.getLoc(), Instructions);