N = N.getOperand(0);
} else {
// Mask is the whole width.
- Mask = (1ULL << N.getValueType().getSizeInBits()) - 1;
+ Mask = -1ULL >> (64 - N.getValueType().getSizeInBits());
}
if (N.getOpcode() == AArch64ISD::BFI) {
DAG.getConstant(Width, MVT::i64));
// Mask is trivial
- if ((LHSMask | RHSMask) == (1ULL << VT.getSizeInBits()) - 1)
+ if ((LHSMask | RHSMask) == (-1ULL >> (64 - VT.getSizeInBits())))
return BFI;
return DAG.getNode(ISD::AND, DL, VT, BFI,
BFI.getOperand(2), BFI.getOperand(3));
// If the masking is trivial, we don't need to create it.
- if ((ExtraMask | ExistingMask) == (1ULL << VT.getSizeInBits()) - 1)
+ if ((ExtraMask | ExistingMask) == (-1ULL >> (64 - VT.getSizeInBits())))
return BFI;
return DAG.getNode(ISD::AND, DL, VT, BFI,