Lines Matching refs:UImm
109 static bool tryOrrMovk(uint64_t UImm, uint64_t OrrImm, MachineInstr &MI, in tryOrrMovk() argument
126 const unsigned Imm16 = getChunk(UImm, ChunkIdx); in tryOrrMovk()
160 static bool tryToreplicateChunks(uint64_t UImm, MachineInstr &MI, in tryToreplicateChunks() argument
169 ++Counts[getChunk(UImm, Idx)]; in tryToreplicateChunks()
199 Imm16 = (UImm >> ShiftAmt) & 0xFFFF; in tryToreplicateChunks()
224 Imm16 = (UImm >> ShiftAmt) & 0xFFFF; in tryToreplicateChunks()
294 static bool trySequenceOfOnes(uint64_t UImm, MachineInstr &MI, in trySequenceOfOnes() argument
305 int64_t Chunk = getChunk(UImm, Idx); in trySequenceOfOnes()
332 uint64_t OrrImm = UImm; in trySequenceOfOnes()
339 const uint64_t Chunk = getChunk(UImm, Idx); in trySequenceOfOnes()
385 .addImm(getChunk(UImm, FirstMovkIdx)) in trySequenceOfOnes()
401 .addImm(getChunk(UImm, SecondMovkIdx)) in trySequenceOfOnes()
428 uint64_t UImm = Imm << (64 - BitSize) >> (64 - BitSize); in expandMOVImm() local
430 if (AArch64_AM::processLogicalImmediate(UImm, BitSize, Encoding)) { in expandMOVImm()
480 if (getChunk(UImm, 0) == getChunk(UImm, 2)) { in expandMOVImm()
483 uint64_t OrrImm = replicateChunk(UImm, 3, 1); in expandMOVImm()
484 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 1)) in expandMOVImm()
489 OrrImm = replicateChunk(UImm, 1, 3); in expandMOVImm()
490 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 3)) in expandMOVImm()
495 } else if (getChunk(UImm, 1) == getChunk(UImm, 3)) { in expandMOVImm()
498 uint64_t OrrImm = replicateChunk(UImm, 2, 0); in expandMOVImm()
499 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 0)) in expandMOVImm()
504 OrrImm = replicateChunk(UImm, 0, 2); in expandMOVImm()
505 if (tryOrrMovk(UImm, OrrImm, MI, MBB, MBBI, TII, 2)) in expandMOVImm()
513 if (BitSize == 64 && tryToreplicateChunks(UImm, MI, MBB, MBBI, TII)) in expandMOVImm()
521 if (BitSize == 64 && trySequenceOfOnes(UImm, MI, MBB, MBBI, TII)) in expandMOVImm()