Home | History | Annotate | Download | only in ARM

Lines Matching refs:Cmp

827   case ARMISD::CMP:           return "ARMISD::CMP";
2648 /// Returns appropriate ARM CMP (cmp) and corresponding condition code for
2696 CompareType = ARMISD::CMP;
2708 /// Returns a appropriate VFP CMP (fcmp{s|d}+fmstat) for the given operands.
2712 SDValue Cmp;
2714 Cmp = DAG.getNode(ARMISD::CMPFP, dl, MVT::Glue, LHS, RHS);
2716 Cmp = DAG.getNode(ARMISD::CMPFPw0, dl, MVT::Glue, LHS);
2717 return DAG.getNode(ARMISD::FMSTAT, dl, MVT::Glue, Cmp);
2723 ARMTargetLowering::duplicateCmp(SDValue Cmp, SelectionDAG &DAG) const {
2724 unsigned Opc = Cmp.getOpcode();
2725 DebugLoc DL = Cmp.getDebugLoc();
2726 if (Opc == ARMISD::CMP || Opc == ARMISD::CMPZ)
2727 return DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
2730 Cmp = Cmp.getOperand(0);
2731 Opc = Cmp.getOpcode();
2733 Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
2736 Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0));
2738 return DAG.getNode(ARMISD::FMSTAT, DL, MVT::Glue, Cmp);
2776 SDValue Cmp = duplicateCmp(Cond.getOperand(4), DAG);
2778 return DAG.getNode(ARMISD::CMOV, dl, VT, True, False, ARMcc, CCR, Cmp);
2800 SDValue Cmp = getARMCmp(LHS, RHS, CC, ARMcc, DAG, dl);
2801 return DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal, ARMcc, CCR,Cmp);
2808 SDValue Cmp = getVFPCmp(LHS, RHS, DAG, dl);
2811 ARMcc, CCR, Cmp);
2814 // FIXME: Needs another CMP because flag can have but one use.
2855 llvm_unreachable("Unknown VFP cmp argument!");
2886 llvm_unreachable("Unknown VFP cmp argument!");
2907 // the CMP operands, and the condition code is EQ or NE, we can optimize it
2918 SDValue Cmp = getARMCmp(LHS, RHS, CC, ARMcc, DAG, dl);
2921 Chain, Dest, ARMcc, CCR, Cmp);
2948 SDValue Cmp = getARMCmp(LHS, RHS, CC, ARMcc, DAG, dl);
2951 Chain, Dest, ARMcc, CCR, Cmp);
2968 SDValue Cmp = getVFPCmp(LHS, RHS, DAG, dl);
2971 SDValue Ops[] = { Chain, Dest, ARMcc, CCR, Cmp };
3286 SDValue Cmp = getARMCmp(ExtraShAmt, DAG.getConstant(0, MVT::i32), ISD::SETGE,
3290 CCR, Cmp);
3320 SDValue Cmp = getARMCmp(ExtraShAmt, DAG.getConstant(0, MVT::i32), ISD::SETGE,
3324 CCR, Cmp);
5109 // cmp dest, oldval
5125 // cmp scratch, #0
5213 // cmp scratch, #0
5322 // cmp dest, incr
5325 // cmp scratch, #0
5433 // cmp storesuccess, #0
5487 // Cmp+jump
7968 SDValue Cmp = N->getOperand(4);
7969 if (Cmp.getOpcode() != ARMISD::CMPZ)
7975 SDValue LHS = Cmp.getOperand(0);
7976 SDValue RHS = Cmp.getOperand(1);
7985 // cmp r1, x
7989 // cmp r0, x
7993 // cmp r1, x
7997 // cmp r0, x
8003 N->getOperand(3), Cmp);