reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
21974   if (Cond.getOpcode() == ISD::SETCC) {
21976     if (cast<CondCodeSDNode>(Cond.getOperand(2))->get() == ISD::SETEQ &&
21977         isNullConstant(Cond.getOperand(1)) &&
21978         Cond.getOperand(0).getResNo() == 1 &&
21979         (Cond.getOperand(0).getOpcode() == ISD::SADDO ||
21980          Cond.getOperand(0).getOpcode() == ISD::UADDO ||
21981          Cond.getOperand(0).getOpcode() == ISD::SSUBO ||
21982          Cond.getOperand(0).getOpcode() == ISD::USUBO ||
21983          Cond.getOperand(0).getOpcode() == ISD::SMULO ||
21984          Cond.getOperand(0).getOpcode() == ISD::UMULO)) {
21986       Cond = Cond.getOperand(0);
21986       Cond = Cond.getOperand(0);
21988       if (SDValue NewCond = LowerSETCC(Cond, DAG))
21989         Cond = NewCond;
22002   if (Cond.getOpcode() == ISD::AND &&
22003       Cond.getOperand(0).getOpcode() == X86ISD::SETCC_CARRY &&
22004       isOneConstant(Cond.getOperand(1)))
22005     Cond = Cond.getOperand(0);
22005     Cond = Cond.getOperand(0);
22009   unsigned CondOpcode = Cond.getOpcode();
22012     CC = Cond.getOperand(0);
22014     SDValue Cmp = Cond.getOperand(1);
22018       Cond = Cmp;
22027         Cond = Cond.getOperand(1);
22027         Cond = Cond.getOperand(1);
22033   CondOpcode = Cond.getOpcode();
22039     std::tie(Value, Cond) = getX86XALUOOp(X86Cond, Cond.getValue(0), DAG);
22039     std::tie(Value, Cond) = getX86XALUOOp(X86Cond, Cond.getValue(0), DAG);
22048     if (Cond.hasOneUse() && isAndOrOfSetCCs(Cond, CondOpc)) {
22048     if (Cond.hasOneUse() && isAndOrOfSetCCs(Cond, CondOpc)) {
22049       SDValue Cmp = Cond.getOperand(0).getOperand(1);
22054         if (Cmp == Cond.getOperand(1).getOperand(1) &&
22056           CC = Cond.getOperand(0).getOperand(0);
22059           CC = Cond.getOperand(1).getOperand(0);
22060           Cond = Cmp;
22069         if (Cmp == Cond.getOperand(1).getOperand(1) &&
22073               (X86::CondCode)Cond.getOperand(0).getConstantOperandVal(0);
22091                 (X86::CondCode)Cond.getOperand(1).getConstantOperandVal(0);
22094             Cond = Cmp;
22099     } else if (Cond.hasOneUse() && isXor1OfSetCC(Cond)) {
22099     } else if (Cond.hasOneUse() && isXor1OfSetCC(Cond)) {
22104         (X86::CondCode)Cond.getOperand(0).getConstantOperandVal(0);
22107       Cond = Cond.getOperand(0).getOperand(1);
22107       Cond = Cond.getOperand(0).getOperand(1);
22109     } else if (Cond.getOpcode() == ISD::SETCC &&
22110                cast<CondCodeSDNode>(Cond.getOperand(2))->get() == ISD::SETOEQ) {
22130                                     Cond.getOperand(0), Cond.getOperand(1));
22130                                     Cond.getOperand(0), Cond.getOperand(1));
22136           Cond = Cmp;
22140     } else if (Cond.getOpcode() == ISD::SETCC &&
22141                cast<CondCodeSDNode>(Cond.getOperand(2))->get() == ISD::SETUNE) {
22146                                 Cond.getOperand(0), Cond.getOperand(1));
22146                                 Cond.getOperand(0), Cond.getOperand(1));
22152       Cond = Cmp;
22159     if (isTruncWithZeroHighBitsInput(Cond, DAG))
22160         Cond = Cond.getOperand(0);
22160         Cond = Cond.getOperand(0);
22164     if (Cond.getOpcode() == ISD::AND && Cond.hasOneUse()) {
22164     if (Cond.getOpcode() == ISD::AND && Cond.hasOneUse()) {
22166       if (SDValue BT = LowerAndToBT(Cond, ISD::SETNE, dl, DAG, BTCC)) {
22168         Cond = BT;
22177     Cond = EmitCmp(Cond, DAG.getConstant(0, dl, Cond.getValueType()),
22177     Cond = EmitCmp(Cond, DAG.getConstant(0, dl, Cond.getValueType()),
22177     Cond = EmitCmp(Cond, DAG.getConstant(0, dl, Cond.getValueType()),
22180   Cond = ConvertCmpIfNecessary(Cond, DAG);
22180   Cond = ConvertCmpIfNecessary(Cond, DAG);
22182                      Chain, Dest, CC, Cond);