Lines Matching refs:Imm
32 void MipsAnalyzeImmediate::GetInstSeqLsADDiu(uint64_t Imm, unsigned RemSize,
34 GetInstSeqLs((Imm + 0x8000ULL) & 0xffffffffffff0000ULL, RemSize, SeqLs);
35 AddInstr(SeqLs, Inst(ADDiu, Imm & 0xffffULL));
38 void MipsAnalyzeImmediate::GetInstSeqLsORi(uint64_t Imm, unsigned RemSize,
40 GetInstSeqLs(Imm & 0xffffffffffff0000ULL, RemSize, SeqLs);
41 AddInstr(SeqLs, Inst(ORi, Imm & 0xffffULL));
44 void MipsAnalyzeImmediate::GetInstSeqLsSLL(uint64_t Imm, unsigned RemSize,
46 unsigned Shamt = countTrailingZeros(Imm);
47 GetInstSeqLs(Imm >> Shamt, RemSize - Shamt, SeqLs);
51 void MipsAnalyzeImmediate::GetInstSeqLs(uint64_t Imm, unsigned RemSize,
53 uint64_t MaskedImm = Imm & (0xffffffffffffffffULL >> (64 - Size));
55 // Do nothing if Imm is 0.
66 if (!(Imm & 0xffff)) {
67 GetInstSeqLsSLL(Imm, RemSize, SeqLs);
71 GetInstSeqLsADDiu(Imm, RemSize, SeqLs);
75 if (Imm & 0x8000) {
77 GetInstSeqLsORi(Imm, RemSize, SeqLsORi);
97 int64_t Imm = SignExtend64<16>(Seq[0].ImmOpnd);
98 int64_t ShiftedImm = (uint64_t)Imm << (Seq[1].ImmOpnd - 16);
129 &MipsAnalyzeImmediate::Analyze(uint64_t Imm, unsigned Size,
148 if (LastInstrIsADDiu | !Imm)
149 GetInstSeqLsADDiu(Imm, Size, SeqLs);
151 GetInstSeqLs(Imm, Size, SeqLs);