Lines Matching defs:LZ
293 unsigned LZ = llvm::countl_zero<uint64_t>(Imm);
310 if (TZ > 15 && (LZ > 32 || LO > 32))
317 assert(LZ < 64 && "Unexpected leading zeros here.");
319 unsigned FO = llvm::countl_one<uint64_t>(Imm << LZ);
341 if ((LZ + FO + TZ) > 48) {
350 .addImm(LZ)
354 // Shift right the Imm by (48 - LZ) bits to construct a negtive 16 bits value,
358 // +--LZ--||-15-bit-||--TO--+ +-------------|--16-bit--+
362 // Imm (Imm >> (48 - LZ) & 0xffff)
367 // LI8: sext many leading zeros RLDICL: rotate left (48 - LZ), clear left LZ
368 if ((LZ + TO) > 48) {
369 // Since the immediates with (LZ > 32) have been handled by previous
370 // patterns, here we have (LZ <= 32) to make sure we will not shift right
372 assert(LZ <= 32 && "Unexpected shift value.");
375 .addImm(Imm >> (48 - LZ) & 0xffff)
380 .addImm(48 - LZ)
381 .addImm(LZ)
390 // +-LZ-FO||-15-bit-||--TO--+ +-------------|--16-bit--+
395 // +----sext-----|--16-bit--+ +LZ|---------------------+
399 // LI8: sext many leading zeros RLDICL: rotate left TO, clear left LZ
400 if ((LZ + FO + TO) > 48) {
409 .addImm(LZ)
416 if (LZ == 32 && ((Lo32 & 0x8000) == 0)) {
469 if ((LZ + FO + TZ) > 32) {
486 .addImm(LZ)
490 // Shift right the Imm by (32 - LZ) bits to construct a negative 32 bits
494 if ((LZ + TO) > 32) {
495 // Since the immediates with (LZ > 32) have been handled by previous
496 // patterns, here we have (LZ <= 32) to make sure we will not shift right
498 assert(LZ <= 32 && "Unexpected shift value.");
502 .addImm((Imm >> (48 - LZ)) & 0xffff)
507 .addImm((Imm >> (32 - LZ)) & 0xffff)
512 .addImm(32 - LZ)
513 .addImm(LZ)
522 if ((LZ + FO + TO) > 32) {
537 .addImm(LZ)