Lines Matching refs:Imm
22 static uint64_t getChunk(uint64_t Imm, unsigned ChunkIdx) { in getChunk() argument
25 return (Imm >> (ChunkIdx * 16)) & 0xFFFF; in getChunk()
124 static uint64_t updateImm(uint64_t Imm, unsigned Idx, bool Clear) { in updateImm() argument
129 Imm &= ~(Mask << (Idx * 16)); in updateImm()
132 Imm |= Mask << (Idx * 16); in updateImm()
134 return Imm; in updateImm()
373 static bool tryEorOfLogicalImmediates(uint64_t Imm, in tryEorOfLogicalImmediates() argument
383 if ((Imm & Mask) != ((Imm >> BigSize) & Mask)) { in tryEorOfLogicalImmediates()
394 uint64_t RunStarts = Imm & ~rotl<uint64_t>(Imm, 1); in tryEorOfLogicalImmediates()
436 uint64_t RotatedImm = rotr<uint64_t>(Imm, Rotation); in tryEorOfLogicalImmediates()
445 uint64_t BigImm = Imm ^ SmallImm; in tryEorOfLogicalImmediates()
458 RotatedImm = rotr<uint64_t>(Imm, Rotation); in tryEorOfLogicalImmediates()
466 static inline void expandMOVImmSimple(uint64_t Imm, unsigned BitSize, in expandMOVImmSimple() argument
480 Imm = ~Imm; in expandMOVImmSimple()
485 Imm &= (1LL << 32) - 1; in expandMOVImmSimple()
492 if (Imm != 0) { in expandMOVImmSimple()
493 unsigned LZ = llvm::countl_zero(Imm); in expandMOVImmSimple()
494 unsigned TZ = llvm::countr_zero(Imm); in expandMOVImmSimple()
498 unsigned Imm16 = (Imm >> Shift) & Mask; in expandMOVImmSimple()
509 Imm = ~Imm; in expandMOVImmSimple()
514 Imm16 = (Imm >> Shift) & Mask; in expandMOVImmSimple()
524 if (Insn.size() > 2 && (Imm >> 32) == (Imm & 0xffffffffULL)) { in expandMOVImmSimple()
533 void AArch64_IMM::expandMOVImm(uint64_t Imm, unsigned BitSize, in expandMOVImm() argument
542 const unsigned Chunk = (Imm >> Shift) & Mask; in expandMOVImm()
551 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn); in expandMOVImm()
556 uint64_t UImm = Imm << (64 - BitSize) >> (64 - BitSize); in expandMOVImm()
569 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn); in expandMOVImm()
606 if (tryOrrOfLogicalImmediates(Imm, Insn)) in expandMOVImm()
610 if (tryAndOfLogicalImmediates(Imm, Insn)) in expandMOVImm()
626 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn); in expandMOVImm()
646 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn); in expandMOVImm()