Lines Matching defs:XLen

874     // If the upper XLen-16 bits are not used, try to convert this to a simm12
1030 unsigned XLen = Subtarget->getXLen();
1031 unsigned LeadingZeros = XLen - llvm::bit_width(Mask);
1046 XLen - LeadingZeros > 11 && LeadingZeros != 32) {
1080 unsigned XLen = Subtarget->getXLen();
1081 unsigned LeadingZeros = XLen - llvm::bit_width(Mask);
1096 // (srli (slli X, (XLen-C3), (XLen-C3) + C)
1101 // less than XLen bits.
1154 // (srai (slli X, (XLen-16), (XLen-16) + C)
1156 // (srai (slli X, (XLen-8), (XLen-8) + C)
1215 unsigned XLen = Subtarget->getXLen();
1216 assert((C2 > 0 && C2 < XLen) && "Unexpected shift amount!");
1232 C1 &= maskTrailingOnes<uint64_t>(XLen - C2);
1243 unsigned Leading = XLen - llvm::bit_width(C1);
1289 Skip |= HasBitTest && Leading == XLen - 1;
1306 unsigned Leading = XLen - llvm::bit_width(C1);
1308 if (C2 + Leading < XLen &&
1309 C1 == (maskTrailingOnes<uint64_t>(XLen - (C2 + Leading)) << C2)) {
1311 if ((XLen - (C2 + Leading)) == 32 && Subtarget->hasStdExtZba()) {
1336 unsigned Leading = XLen - llvm::bit_width(C1);
1338 if (Leading == C2 && C2 + Trailing < XLen && OneUseOrZExtW &&
1370 if (Trailing > 0 && Leading + Trailing == 32 && C2 + Trailing < XLen &&
1386 unsigned Leading = XLen - llvm::bit_width(C1);
1430 unsigned XLen = Subtarget->getXLen();
1431 assert((C2 > 0 && C2 < XLen) && "Unexpected shift amount!");
1443 unsigned Leading = XLen - llvm::bit_width(C1);
1460 unsigned Leading = XLen - llvm::bit_width(C1);
1496 // fits in XLen bits. We can shift X left by the number of leading zeros in
1497 // C2 and shift C1 left by XLen-lzcnt(C2). This will ensure the final
1498 // product has XLen trailing zeros, putting it in the output of MULHU. This
1537 // We need to shift left the AND input and C1 by a total of XLen bits.
1540 unsigned XLen = Subtarget->getXLen();
1541 unsigned LeadingZeros = XLen - llvm::bit_width(C2);
1546 unsigned ConstantShift = XLen - LeadingZeros;
1547 if (ConstantShift > (XLen - llvm::bit_width(C1)))
1552 if (XLen == 32)
1555 // Create (mulhu (slli X, lzcnt(C2)), C1 << (XLen - lzcnt(C2))).
3073 unsigned XLen = Subtarget->getXLen();
3077 Mask &= maskTrailingOnes<uint64_t>(XLen - C2);
3083 unsigned Leading = XLen - llvm::bit_width(Mask);
3118 unsigned XLen = Subtarget->getXLen();
3119 unsigned Leading = XLen - llvm::bit_width(Mask);
3145 unsigned XLen = Subtarget->getXLen();
3146 unsigned Leading = XLen - llvm::bit_width(Mask);
3384 // SLLI only uses the lower (XLen - ShAmt) bits.