Home | History | Annotate | Download | only in ARM

Lines Matching refs:CMP

823   case ARMISD::CMP:           return "ARMISD::CMP";
2604 /// Returns appropriate ARM CMP (cmp) and corresponding condition code for
2652 CompareType = ARMISD::CMP;
2664 /// Returns a appropriate VFP CMP (fcmp{s|d}+fmstat) for the given operands.
2668 SDValue Cmp;
2670 Cmp = DAG.getNode(ARMISD::CMPFP, dl, MVT::Glue, LHS, RHS);
2672 Cmp = DAG.getNode(ARMISD::CMPFPw0, dl, MVT::Glue, LHS);
2673 return DAG.getNode(ARMISD::FMSTAT, dl, MVT::Glue, Cmp);
2679 ARMTargetLowering::duplicateCmp(SDValue Cmp, SelectionDAG &DAG) const {
2680 unsigned Opc = Cmp.getOpcode();
2681 DebugLoc DL = Cmp.getDebugLoc();
2682 if (Opc == ARMISD::CMP || Opc == ARMISD::CMPZ)
2683 return DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
2686 Cmp = Cmp.getOperand(0);
2687 Opc = Cmp.getOpcode();
2689 Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
2692 Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0));
2694 return DAG.getNode(ARMISD::FMSTAT, DL, MVT::Glue, Cmp);
2732 SDValue Cmp = duplicateCmp(Cond.getOperand(4), DAG);
2734 return DAG.getNode(ARMISD::CMOV, dl, VT, True, False, ARMcc, CCR, Cmp);
2756 SDValue Cmp = getARMCmp(LHS, RHS, CC, ARMcc, DAG, dl);
2757 return DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal, ARMcc, CCR, Cmp);
2764 SDValue Cmp = getVFPCmp(LHS, RHS, DAG, dl);
2767 ARMcc, CCR, Cmp);
2770 // FIXME: Needs another CMP because flag can have but one use.
2811 llvm_unreachable("Unknown VFP cmp argument!");
2842 llvm_unreachable("Unknown VFP cmp argument!");
2863 // the CMP operands, and the condition code is EQ or NE, we can optimize it
2874 SDValue Cmp = getARMCmp(LHS, RHS, CC, ARMcc, DAG, dl);
2877 Chain, Dest, ARMcc, CCR, Cmp);
2904 SDValue Cmp = getARMCmp(LHS, RHS, CC, ARMcc, DAG, dl);
2907 Chain, Dest, ARMcc, CCR, Cmp);
2924 SDValue Cmp = getVFPCmp(LHS, RHS, DAG, dl);
2927 SDValue Ops[] = { Chain, Dest, ARMcc, CCR, Cmp };
3242 SDValue Cmp = getARMCmp(ExtraShAmt, DAG.getConstant(0, MVT::i32), ISD::SETGE,
3246 CCR, Cmp);
3276 SDValue Cmp = getARMCmp(ExtraShAmt, DAG.getConstant(0, MVT::i32), ISD::SETGE,
3280 CCR, Cmp);
4963 // cmp dest, oldval
4976 // cmp scratch, #0
5062 // cmp scratch, #0
5166 // cmp dest, incr
5169 // cmp scratch, #0
6966 SDValue Cmp = N->getOperand(4);
6967 if (Cmp.getOpcode() != ARMISD::CMPZ)
6973 SDValue LHS = Cmp.getOperand(0);
6974 SDValue RHS = Cmp.getOperand(1);
6982 // cmp r1, x
6986 // cmp r0, x
6990 // cmp r1, x
6994 // cmp r0, x
7000 N->getOperand(3), Cmp);