AArch64: Do not create CCMP on multiple users.
[oota-llvm.git] / lib / Target / AArch64 / AArch64ISelLowering.cpp
index 206088dd5e8aea781562f50ef544a1f6770e45d3..3d1235bac0a00ab86c3fb489a8074c8194b92d8b 100644 (file)
@@ -1349,7 +1349,7 @@ static SDValue emitConjunctionDisjunctionTree(SelectionDAG &DAG, SDValue Val,
     unsigned NZCV = AArch64CC::getNZCVToSatisfyCondCode(InvOutCC);
     return emitConditionalComparison(LHS, RHS, CC, CCOp, ConditionOp, NZCV, DL,
                                      DAG);
-  } else if (Opcode != ISD::AND && Opcode != ISD::OR)
+  } else if ((Opcode != ISD::AND && Opcode != ISD::OR) || !Val->hasOneUse())
     return SDValue();
 
   assert((Opcode == ISD::OR || !PushNegate)