Lines Matching defs:Imm
29 void MipsAnalyzeImmediate::GetInstSeqLsADDiu(uint64_t Imm, unsigned RemSize,
31 GetInstSeqLs((Imm + 0x8000ULL) & 0xffffffffffff0000ULL, RemSize, SeqLs);
32 AddInstr(SeqLs, Inst(ADDiu, Imm & 0xffffULL));
35 void MipsAnalyzeImmediate::GetInstSeqLsORi(uint64_t Imm, unsigned RemSize,
37 GetInstSeqLs(Imm & 0xffffffffffff0000ULL, RemSize, SeqLs);
38 AddInstr(SeqLs, Inst(ORi, Imm & 0xffffULL));
41 void MipsAnalyzeImmediate::GetInstSeqLsSLL(uint64_t Imm, unsigned RemSize,
43 unsigned Shamt = CountTrailingZeros_64(Imm);
44 GetInstSeqLs(Imm >> Shamt, RemSize - Shamt, SeqLs);
48 void MipsAnalyzeImmediate::GetInstSeqLs(uint64_t Imm, unsigned RemSize,
50 uint64_t MaskedImm = Imm & (0xffffffffffffffffULL >> (64 - Size));
52 // Do nothing if Imm is 0.
63 if (!(Imm & 0xffff)) {
64 GetInstSeqLsSLL(Imm, RemSize, SeqLs);
68 GetInstSeqLsADDiu(Imm, RemSize, SeqLs);
72 if (Imm & 0x8000) {
74 GetInstSeqLsORi(Imm, RemSize, SeqLsORi);
93 int64_t Imm = SignExtend64<16>(Seq[0].ImmOpnd);
94 int64_t ShiftedImm = (uint64_t)Imm << (Seq[1].ImmOpnd - 16);
125 &MipsAnalyzeImmediate::Analyze(uint64_t Imm, unsigned Size,
144 if (LastInstrIsADDiu | !Imm)
145 GetInstSeqLsADDiu(Imm, Size, SeqLs);
147 GetInstSeqLs(Imm, Size, SeqLs);