@@ -7029,15 +7029,14 @@ static unsigned getExtOpcodeForPromotedOp(SDValue Op) {
7029
7029
}
7030
7030
}
7031
7031
7032
- SDValue SITargetLowering::combineAnd(SDValue Op,
7033
- DAGCombinerInfo &DCI) const {
7032
+ SDValue SITargetLowering::combineAnd(SDValue Op, DAGCombinerInfo &DCI) const {
7034
7033
const unsigned Opc = Op.getOpcode();
7035
7034
assert(Opc == ISD::AND);
7036
7035
7037
7036
auto &DAG = DCI.DAG;
7038
7037
SDLoc DL(Op);
7039
7038
7040
- if(hasAndNot(Op)) {
7039
+ if (hasAndNot(Op)) {
7041
7040
SDValue LHS = Op->getOperand(0);
7042
7041
SDValue RHS = Op->getOperand(1);
7043
7042
@@ -7046,20 +7045,24 @@ SDValue SITargetLowering::combineAnd(SDValue Op,
7046
7045
SDValue Y = RHS->getOperand(0);
7047
7046
SDValue NotZ = RHS->getOperand(1);
7048
7047
7049
- if (NotZ.getOpcode() == ISD::XOR && isAllOnesConstant(NotZ->getOperand(1))) {
7048
+ if (NotZ.getOpcode() == ISD::XOR &&
7049
+ isAllOnesConstant(NotZ->getOperand(1))) {
7050
7050
SDValue Z = NotZ->getOperand(0);
7051
7051
7052
7052
if (!isa<ConstantSDNode>(Y)) {
7053
7053
SDValue NotY = DAG.getNOT(DL, Y, Y.getValueType());
7054
- SDValue AndNotYZ = DAG.getNode(ISD::AND, DL, Y.getValueType(), NotY, Z);
7055
- SDValue NotAndNotYZ = DAG.getNOT(DL, AndNotYZ, AndNotYZ.getValueType());
7056
- SDValue NewAnd = DAG.getNode(ISD::AND, DL, Op.getValueType(), LHS, NotAndNotYZ);
7054
+ SDValue AndNotYZ =
7055
+ DAG.getNode(ISD::AND, DL, Y.getValueType(), NotY, Z);
7056
+ SDValue NotAndNotYZ =
7057
+ DAG.getNOT(DL, AndNotYZ, AndNotYZ.getValueType());
7058
+ SDValue NewAnd =
7059
+ DAG.getNode(ISD::AND, DL, Op.getValueType(), LHS, NotAndNotYZ);
7057
7060
return NewAnd;
7058
7061
}
7059
7062
}
7060
7063
}
7061
7064
}
7062
-
7065
+
7063
7066
EVT OpTy = (Opc != ISD::SETCC) ? Op.getValueType()
7064
7067
: Op->getOperand(0).getValueType();
7065
7068
auto ExtTy = OpTy.changeElementType(MVT::i32);
0 commit comments