Home | History | Annotate | Download | only in SystemZ

Lines Matching refs:CmpOp0

2091 // Decide how to implement a comparison of type Cond between CmpOp0 with CmpOp1.
2092 static Comparison getCmp(SelectionDAG &DAG, SDValue CmpOp0, SDValue CmpOp1,
2097 if (CmpOp0.getOpcode() == ISD::INTRINSIC_W_CHAIN &&
2098 CmpOp0.getResNo() == 0 && CmpOp0->hasNUsesOfValue(1, 0) &&
2099 isIntrinsicWithCCAndChain(CmpOp0, Opcode, CCValid))
2100 return getIntrinsicCmp(DAG, Opcode, CmpOp0, CCValid, Constant, Cond);
2101 if (CmpOp0.getOpcode() == ISD::INTRINSIC_WO_CHAIN &&
2102 CmpOp0.getResNo() == CmpOp0->getNumValues() - 1 &&
2103 isIntrinsicWithCC(CmpOp0, Opcode, CCValid))
2104 return getIntrinsicCmp(DAG, Opcode, CmpOp0, CCValid, Constant, Cond);
2106 Comparison C(CmpOp0, CmpOp1);
2283 // Build a comparison of vectors CmpOp0 and CmpOp1 using opcode Opcode,
2286 EVT VT, SDValue CmpOp0, SDValue CmpOp1) {
2289 if (CmpOp0.getValueType() == MVT::v4f32) {
2290 SDValue H0 = expandV4F32ToV2F64(DAG, 0, DL, CmpOp0);
2291 SDValue L0 = expandV4F32ToV2F64(DAG, 2, DL, CmpOp0);
2298 return DAG.getNode(Opcode, DL, VT, CmpOp0, CmpOp1);
2301 // Lower a vector comparison of type CC between CmpOp0 and CmpOp1, producing
2304 ISD::CondCode CC, SDValue CmpOp0,
2306 bool IsFP = CmpOp0.getValueType().isFloatingPoint();
2315 SDValue LT = getVectorCmp(DAG, SystemZISD::VFCMPH, DL, VT, CmpOp1, CmpOp0);
2316 SDValue GE = getVectorCmp(DAG, SystemZISD::VFCMPHE, DL, VT, CmpOp0, CmpOp1);
2326 SDValue LT = getVectorCmp(DAG, SystemZISD::VFCMPH, DL, VT, CmpOp1, CmpOp0);
2327 SDValue GT = getVectorCmp(DAG, SystemZISD::VFCMPH, DL, VT, CmpOp0, CmpOp1);
2337 Cmp = getVectorCmp(DAG, Opcode, DL, VT, CmpOp0, CmpOp1);
2341 Cmp = getVectorCmp(DAG, Opcode, DL, VT, CmpOp1, CmpOp0);
2358 SDValue CmpOp0 = Op.getOperand(0);
2364 return lowerVectorSETCC(DAG, DL, VT, CC, CmpOp0, CmpOp1);
2366 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL));
2373 SDValue CmpOp0 = Op.getOperand(2);
2378 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL));
2409 SDValue CmpOp0 = Op.getOperand(0);
2416 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL));