Lines Matching defs:BW
7156 // Check that (every element of) Reg is undef or not an exact multiple of BW.
7158 Register Reg, unsigned BW) {
7164 return !CI || CI->getValue().urem(BW) != 0;
7175 unsigned BW = Ty.getScalarSizeInBits();
7177 if (!isPowerOf2_32(BW))
7183 if (isNonZeroModBitWidthOrUndef(MRI, Z, BW)) {
7214 const unsigned BW = Ty.getScalarSizeInBits();
7221 if (isNonZeroModBitWidthOrUndef(MRI, Z, BW)) {
7222 // fshl: X << C | Y >> (BW - C)
7223 // fshr: X << (BW - C) | Y >> C
7224 // where C = Z % BW is not zero
7225 auto BitWidthC = MIRBuilder.buildConstant(ShTy, BW);
7231 // fshl: X << (Z % BW) | Y >> 1 >> (BW - 1 - (Z % BW))
7232 // fshr: X << 1 << (BW - 1 - (Z % BW)) | Y >> (Z % BW)
7233 auto Mask = MIRBuilder.buildConstant(ShTy, BW - 1);
7234 if (isPowerOf2_32(BW)) {
7235 // Z % BW -> Z & (BW - 1)
7237 // (BW - 1) - (Z % BW) -> ~Z & (BW - 1)
7241 auto BitWidthC = MIRBuilder.buildConstant(ShTy, BW);
7266 // shifts by BW):
7267 // G_FSHL: (X << (Z % BW)) | (Y >> (BW - (Z % BW)))
7268 // G_FSHR: (X << (BW - (Z % BW))) | (Y >> (Z % BW))
8903 unsigned BW = Ty.getScalarSizeInBits();
8910 auto SatMin = MIRBuilder.buildConstant(Ty, APInt::getSignedMinValue(BW));
8911 auto SatMax = MIRBuilder.buildConstant(Ty, APInt::getSignedMaxValue(BW));
8916 SatVal = MIRBuilder.buildConstant(Ty, APInt::getMaxValue(BW));