Lines Matching refs:Imm
23 static uint64_t getChunk(uint64_t Imm, unsigned ChunkIdx) {
26 return (Imm >> (ChunkIdx * 16)) & 0xFFFF;
126 static uint64_t updateImm(uint64_t Imm, unsigned Idx, bool Clear) {
131 Imm &= ~(Mask << (Idx * 16));
134 Imm |= Mask << (Idx * 16);
136 return Imm;
246 static inline void expandMOVImmSimple(uint64_t Imm, unsigned BitSize,
260 Imm = ~Imm;
265 Imm &= (1LL << 32) - 1;
272 if (Imm != 0) {
273 unsigned LZ = countLeadingZeros(Imm);
274 unsigned TZ = countTrailingZeros(Imm);
278 unsigned Imm16 = (Imm >> Shift) & Mask;
289 Imm = ~Imm;
294 Imm16 = (Imm >> Shift) & Mask;
305 void expandMOVImm(uint64_t Imm, unsigned BitSize,
314 const unsigned Chunk = (Imm >> Shift) & Mask;
323 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn);
328 uint64_t UImm = Imm << (64 - BitSize) >> (64 - BitSize);
341 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn);
386 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn);
406 expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn);