Lines Matching defs:And
908 // And we want that attackers won’t find unintended ENDBR32/64
1578 SDValue And = N->getOperand(0);
1582 switch (And.getMachineOpcode()) {
1589 if (And->hasAnyUseOfValue(1))
1592 Ops[0] = And.getOperand(0);
1593 Ops[1] = And.getOperand(1);
1604 if (And->hasAnyUseOfValue(1))
1611 switch (And.getMachineOpcode()) {
1620 SmallVector<SDValue> Ops = {And.getOperand(1), And.getOperand(2),
1621 And.getOperand(3), And.getOperand(4),
1622 And.getOperand(5), And.getOperand(0)};
1629 Ops.push_back(And.getOperand(6));
1637 Test, cast<MachineSDNode>(And.getNode())->memoperands());
1638 ReplaceUses(And.getValue(2), SDValue(Test, 1));
2061 SDValue And = DAG.getNode(ISD::AND, DL, XVT, Srl, NewMask);
2062 SDValue Ext = DAG.getZExtOrTrunc(And, DL, VT);
2074 insertDAGNode(DAG, N, And);
2549 SDValue And = N.getOperand(0);
2550 if (And.getOpcode() != ISD::AND) break;
2551 SDValue X = And.getOperand(0);
2557 !isa<ConstantSDNode>(And.getOperand(1)))
2559 uint64_t Mask = And.getConstantOperandVal(1) >> N.getConstantOperandVal(1);
4064 // And now 'or' these low 8 bits of shift amount into the 'control'.
4075 // And finally, form the BEXTR itself.
4127 // And RHS must be a mask.
4745 bool X86DAGToDAGISel::shrinkAndImmediate(SDNode *And) {
4748 MVT VT = And->getSimpleValueType(0);
4752 auto *And1C = dyn_cast<ConstantSDNode>(And->getOperand(1));
4772 SDValue And0 = And->getOperand(0);
4796 ReplaceNode(And, And0.getNode());
4801 SDValue NewMask = CurDAG->getConstant(NegMaskVal, SDLoc(And), VT);
4802 insertDAGNode(*CurDAG, SDValue(And, 0), NewMask);
4803 SDValue NewAnd = CurDAG->getNode(ISD::AND, SDLoc(And), VT, And0, NewMask);
4804 ReplaceNode(And, NewAnd.getNode());
4944 // And is commutative.