Lines Matching defs:LZ
1022 unsigned LZ = llvm::countl_zero<uint64_t>(Imm);
1044 if (TZ > 15 && (LZ > 32 || LO > 32))
1050 assert(LZ < 64 && "Unexpected leading zeros here.");
1052 unsigned FO = llvm::countl_one<uint64_t>(Imm << LZ);
1068 if ((LZ + FO + TZ) > 48) {
1072 getI32Imm(TZ), getI32Imm(LZ));
1075 // Shift right the Imm by (48 - LZ) bits to construct a negtive 16 bits value,
1079 // +--LZ--||-15-bit-||--TO--+ +-------------|--16-bit--+
1083 // Imm (Imm >> (48 - LZ) & 0xffff)
1088 // LI8: sext many leading zeros RLDICL: rotate left (48 - LZ), clear left LZ
1089 if ((LZ + TO) > 48) {
1090 // Since the immediates with (LZ > 32) have been handled by previous
1091 // patterns, here we have (LZ <= 32) to make sure we will not shift right
1093 assert(LZ <= 32 && "Unexpected shift value.");
1095 getI32Imm((Imm >> (48 - LZ) & 0xffff)));
1097 getI32Imm(48 - LZ), getI32Imm(LZ));
1105 // +-LZ-FO||-15-bit-||--TO--+ +-------------|--16-bit--+
1110 // +----sext-----|--16-bit--+ +LZ|---------------------+
1114 // LI8: sext many leading zeros RLDICL: rotate left TO, clear left LZ
1115 if ((LZ + FO + TO) > 48) {
1119 getI32Imm(TO), getI32Imm(LZ));
1125 if (LZ == 32 && ((Lo32 & 0x8000) == 0)) {
1192 if ((LZ + FO + TZ) > 32) {
1199 getI32Imm(TZ), getI32Imm(LZ));
1202 // Shift right the Imm by (32 - LZ) bits to construct a negative 32 bits
1206 if ((LZ + TO) > 32) {
1207 // Since the immediates with (LZ > 32) have been handled by previous
1208 // patterns, here we have (LZ <= 32) to make sure we will not shift right
1210 assert(LZ <= 32 && "Unexpected shift value.");
1212 getI32Imm((Imm >> (48 - LZ)) & 0xffff));
1214 getI32Imm((Imm >> (32 - LZ)) & 0xffff));
1216 getI32Imm(32 - LZ), getI32Imm(LZ));
1224 if ((LZ + FO + TO) > 32) {
1230 getI32Imm(TO), getI32Imm(LZ));
1263 unsigned LZ = llvm::countl_zero<uint64_t>(Imm);
1265 unsigned FO = llvm::countl_one<uint64_t>(LZ == 64 ? 0 : (Imm << LZ));
1295 if ((LZ + FO + TZ) > 30) {
1301 getI32Imm(TZ), getI32Imm(LZ));
1304 // Shift right the Imm by (30 - LZ) bits to construct a negative 34 bit value,
1308 // +--LZ--||-33-bit-||--TO--+ +-------------|--34-bit--+
1317 if ((LZ + TO) > 30) {
1318 APInt SignedInt34 = APInt(34, (Imm >> (30 - LZ)) & 0x3ffffffff);
1323 getI32Imm(30 - LZ), getI32Imm(LZ));
1330 if ((LZ + FO + TO) > 30) {
1336 getI32Imm(TO), getI32Imm(LZ));