Lines Matching defs:Imm
153 static bool splitBitmaskImm(T Imm, unsigned RegSize, T &Imm1Enc, T &Imm2Enc) {
154 T UImm = static_cast<T>(Imm);
205 [Opc](T Imm, unsigned RegSize, T &Imm0,
207 if (splitBitmaskImm(Imm, RegSize, Imm0, Imm1))
332 static bool splitAddSubImm(T Imm, unsigned RegSize, T &Imm0, T &Imm1) {
335 if ((Imm & 0xfff000) == 0 || (Imm & 0xfff) == 0 ||
336 (Imm & ~static_cast<T>(0xffffff)) != 0)
341 AArch64_IMM::expandMOVImm(Imm, RegSize, Insn);
345 // Split Imm into (Imm0 << 12) + Imm1;
346 Imm0 = (Imm >> 12) & 0xfff;
347 Imm1 = Imm & 0xfff;
376 [PosOpc, NegOpc](T Imm, unsigned RegSize, T &Imm0,
378 if (splitAddSubImm(Imm, RegSize, Imm0, Imm1))
380 if (splitAddSubImm(-Imm, RegSize, Imm0, Imm1))
413 &MRI = MRI](T Imm, unsigned RegSize, T &Imm0,
416 if (splitAddSubImm(Imm, RegSize, Imm0, Imm1))
418 else if (splitAddSubImm(-Imm, RegSize, Imm0, Imm1))
500 T Imm = static_cast<T>(MovMI->getOperand(1).getImm()), Imm0, Imm1;
503 // of Imm to zero. This is essential if the Immediate value was a negative
504 // number since it was sign extended when we assign to the 64-bit Imm.
506 Imm &= 0xFFFFFFFF;
508 if (auto R = SplitAndOpc(Imm, RegSize, Imm0, Imm1))