Lines Matching refs:Imm
64 uint64_t Imm) const;
277 static uint32_t findContiguousZerosAtLeast(uint64_t Imm, unsigned Num) { in findContiguousZerosAtLeast() argument
278 uint32_t HiTZ = llvm::countr_zero<uint32_t>(Hi_32(Imm)); in findContiguousZerosAtLeast()
279 uint32_t LoLZ = llvm::countl_zero<uint32_t>(Lo_32(Imm)); in findContiguousZerosAtLeast()
291 uint64_t Imm) const { in selectI64ImmDirect()
292 unsigned TZ = llvm::countr_zero<uint64_t>(Imm); in selectI64ImmDirect()
293 unsigned LZ = llvm::countl_zero<uint64_t>(Imm); in selectI64ImmDirect()
294 unsigned TO = llvm::countr_one<uint64_t>(Imm); in selectI64ImmDirect()
295 unsigned LO = llvm::countl_one<uint64_t>(Imm); in selectI64ImmDirect()
296 uint32_t Hi32 = Hi_32(Imm); in selectI64ImmDirect()
297 uint32_t Lo32 = Lo_32(Imm); in selectI64ImmDirect()
304 if (isInt<16>(Imm)) in selectI64ImmDirect()
306 .addImm(Imm) in selectI64ImmDirect()
312 .addImm((Imm >> 16) & 0xffff) in selectI64ImmDirect()
319 unsigned FO = llvm::countl_one<uint64_t>(Imm << LZ); in selectI64ImmDirect()
322 if (isInt<32>(Imm)) { in selectI64ImmDirect()
323 uint64_t ImmHi16 = (Imm >> 16) & 0xffff; in selectI64ImmDirect()
327 .addImm((Imm >> 16) & 0xffff) in selectI64ImmDirect()
332 .addImm(Imm & 0xffff) in selectI64ImmDirect()
344 .addImm((Imm >> TZ) & 0xffff) in selectI64ImmDirect()
375 .addImm(Imm >> (48 - LZ) & 0xffff) in selectI64ImmDirect()
403 .addImm((Imm >> TO) & 0xffff) in selectI64ImmDirect()
445 if ((Shift = findContiguousZerosAtLeast(Imm, 49)) || in selectI64ImmDirect()
446 (Shift = findContiguousZerosAtLeast(~Imm, 49))) { in selectI64ImmDirect()
447 uint64_t RotImm = APInt(64, Imm).rotr(Shift).getZExtValue(); in selectI64ImmDirect()
470 uint64_t ImmHi16 = (Imm >> (TZ + 16)) & 0xffff; in selectI64ImmDirect()
480 .addImm((Imm >> TZ) & 0xffff) in selectI64ImmDirect()
502 .addImm((Imm >> (48 - LZ)) & 0xffff) in selectI64ImmDirect()
507 .addImm((Imm >> (32 - LZ)) & 0xffff) in selectI64ImmDirect()
526 .addImm((Imm >> (TO + 16)) & 0xffff) in selectI64ImmDirect()
531 .addImm((Imm >> TO) & 0xffff) in selectI64ImmDirect()
570 if ((Shift = findContiguousZerosAtLeast(Imm, 33)) || in selectI64ImmDirect()
571 (Shift = findContiguousZerosAtLeast(~Imm, 33))) { in selectI64ImmDirect()
572 uint64_t RotImm = APInt(64, Imm).rotr(Shift).getZExtValue(); in selectI64ImmDirect()
605 int64_t Imm = I.getOperand(1).getCImm()->getValue().getZExtValue(); in selectI64Imm() local
608 if (std::optional<bool> Res = selectI64ImmDirect(I, MBB, MRI, DstReg, Imm)) { in selectI64Imm()
614 uint32_t Hi16 = (Lo_32(Imm) >> 16) & 0xffff; in selectI64Imm()
615 uint32_t Lo16 = Lo_32(Imm) & 0xffff; in selectI64Imm()
622 selectI64ImmDirect(I, MBB, MRI, Reg, Imm & 0xffffffff00000000); in selectI64Imm()