Lines Matching refs:UImm
88 static bool tryOrrMovk(uint64_t UImm, uint64_t OrrImm, MachineInstr &MI, in tryOrrMovk() argument
105 const unsigned Imm16 = getChunk(UImm, ChunkIdx); in tryOrrMovk()
139 static bool tryToreplicateChunks(uint64_t UImm, MachineInstr &MI, in tryToreplicateChunks() argument
148 ++Counts[getChunk(UImm, Idx)]; in tryToreplicateChunks()
178 Imm16 = (UImm >> ShiftAmt) & 0xFFFF; in tryToreplicateChunks()
203 Imm16 = (UImm >> ShiftAmt) & 0xFFFF; in tryToreplicateChunks()
273 static bool trySequenceOfOnes(uint64_t UImm, MachineInstr &MI, in trySequenceOfOnes() argument
284 int64_t Chunk = getChunk(UImm, Idx); in trySequenceOfOnes()
311 uint64_t OrrImm = UImm; in trySequenceOfOnes()
318 const uint64_t Chunk = getChunk(UImm, Idx); in trySequenceOfOnes()
364 .addImm(getChunk(UImm, FirstMovkIdx)) in trySequenceOfOnes()
380 .addImm(getChunk(UImm, SecondMovkIdx)) in trySequenceOfOnes()
399 uint64_t UImm = Imm << (64 - BitSize) >> (64 - BitSize); in expandMOVImm() local
401 if (AArch64_AM::processLogicalImmediate(UImm, BitSize, Encoding)) { in expandMOVImm()
451 if (getChunk(UImm, 0) == getChunk(UImm, 2)) { in expandMOVImm()
454 uint64_t OrrImm = replicateChunk(UImm, 3, 1); in expandMOVImm()
455 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 1)) in expandMOVImm()
460 OrrImm = replicateChunk(UImm, 1, 3); in expandMOVImm()
461 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 3)) in expandMOVImm()
466 } else if (getChunk(UImm, 1) == getChunk(UImm, 3)) { in expandMOVImm()
469 uint64_t OrrImm = replicateChunk(UImm, 2, 0); in expandMOVImm()
470 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 0)) in expandMOVImm()
475 OrrImm = replicateChunk(UImm, 0, 2); in expandMOVImm()
476 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 2)) in expandMOVImm()
484 if (BitSize == 64 && tryToreplicateChunks(UImm, MI, MBB, MBBI, TII)) in expandMOVImm()
492 if (BitSize == 64 && trySequenceOfOnes(UImm, MI, MBB, MBBI, TII)) in expandMOVImm()