@@ -6822,15 +6822,14 @@ static unsigned getExtOpcodeForPromotedOp(SDValue Op) {
6822
6822
}
6823
6823
}
6824
6824
6825
- SDValue SITargetLowering::combineAnd(SDValue Op,
6826
- DAGCombinerInfo &DCI) const {
6825
+ SDValue SITargetLowering::combineAnd(SDValue Op, DAGCombinerInfo &DCI) const {
6827
6826
const unsigned Opc = Op.getOpcode();
6828
6827
assert(Opc == ISD::AND);
6829
6828
6830
6829
auto &DAG = DCI.DAG;
6831
6830
SDLoc DL(Op);
6832
6831
6833
- if(hasAndNot(Op)) {
6832
+ if (hasAndNot(Op)) {
6834
6833
SDValue LHS = Op->getOperand(0);
6835
6834
SDValue RHS = Op->getOperand(1);
6836
6835
@@ -6839,20 +6838,24 @@ SDValue SITargetLowering::combineAnd(SDValue Op,
6839
6838
SDValue Y = RHS->getOperand(0);
6840
6839
SDValue NotZ = RHS->getOperand(1);
6841
6840
6842
- if (NotZ.getOpcode() == ISD::XOR && isAllOnesConstant(NotZ->getOperand(1))) {
6841
+ if (NotZ.getOpcode() == ISD::XOR &&
6842
+ isAllOnesConstant(NotZ->getOperand(1))) {
6843
6843
SDValue Z = NotZ->getOperand(0);
6844
6844
6845
6845
if (!isa<ConstantSDNode>(Y)) {
6846
6846
SDValue NotY = DAG.getNOT(DL, Y, Y.getValueType());
6847
- SDValue AndNotYZ = DAG.getNode(ISD::AND, DL, Y.getValueType(), NotY, Z);
6848
- SDValue NotAndNotYZ = DAG.getNOT(DL, AndNotYZ, AndNotYZ.getValueType());
6849
- SDValue NewAnd = DAG.getNode(ISD::AND, DL, Op.getValueType(), LHS, NotAndNotYZ);
6847
+ SDValue AndNotYZ =
6848
+ DAG.getNode(ISD::AND, DL, Y.getValueType(), NotY, Z);
6849
+ SDValue NotAndNotYZ =
6850
+ DAG.getNOT(DL, AndNotYZ, AndNotYZ.getValueType());
6851
+ SDValue NewAnd =
6852
+ DAG.getNode(ISD::AND, DL, Op.getValueType(), LHS, NotAndNotYZ);
6850
6853
return NewAnd;
6851
6854
}
6852
6855
}
6853
6856
}
6854
6857
}
6855
-
6858
+
6856
6859
EVT OpTy = (Opc != ISD::SETCC) ? Op.getValueType()
6857
6860
: Op->getOperand(0).getValueType();
6858
6861
auto ExtTy = OpTy.changeElementType(MVT::i32);
0 commit comments