File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -2627,9 +2627,9 @@ void AArch64TargetLowering::computeKnownBitsForTargetNode(
26272627 break;
26282628 }
26292629 case AArch64ISD::MOVImsl: {
2630- Known = KnownBits::makeConstant(
2631- APInt(Known.getBitWidth(), ~(~Op->getConstantOperandVal(0)
2632- << Op->getConstantOperandVal(1) )));
2630+ auto ShiftAmt = AArch64_AM::getShiftValue(Op->getConstantOperandVal(1));
2631+ Known = KnownBits::makeConstant( APInt(
2632+ Known.getBitWidth(), ~(~ Op->getConstantOperandVal(0) << ShiftAmt )));
26332633 break;
26342634 }
26352635 case AArch64ISD::MOVIedit: {
@@ -2646,9 +2646,9 @@ void AArch64TargetLowering::computeKnownBitsForTargetNode(
26462646 break;
26472647 }
26482648 case AArch64ISD::MVNImsl: {
2649+ auto ShiftAmt = AArch64_AM::getShiftValue(Op->getConstantOperandVal(1));
26492650 Known = KnownBits::makeConstant(
2650- APInt(Known.getBitWidth(),
2651- (~Op->getConstantOperandVal(0) << Op->getConstantOperandVal(1)),
2651+ APInt(Known.getBitWidth(), (~Op->getConstantOperandVal(0) << ShiftAmt),
26522652 /*isSigned*/ false, /*implicitTrunc*/ true));
26532653 break;
26542654 }
You can’t perform that action at this time.
0 commit comments