Skip to content

Commit 7660fae

Browse files
committed
Fix pattern match
1 parent 7e08f23 commit 7660fae

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6202,13 +6202,13 @@ SDValue DAGCombiner::visitIMINMAX(SDNode *N) {
62026202
// (umin (sub a, b) a) -> (usubo a, b); (select usubo.1, a, usubo.0)
62036203
{
62046204
SDValue A, B;
6205-
if (sd_match(N, m_UMin(m_Sub(m_Value(A), m_Value(B)), m_Deferred(A)))) {
6206-
if (TLI.isOperationLegalOrCustom(ISD::USUBO, VT)) {
6207-
EVT SETCCT = getSetCCResultType(VT);
6208-
SDVTList VTs = DAG.getVTList(VT, SETCCT);
6209-
SDValue USO = DAG.getNode(ISD::USUBO, DL, VTs, A, B);
6210-
return DAG.getSelect(DL, VT, USO.getValue(1), A, USO.getValue(0));
6211-
}
6205+
if (sd_match(N0, m_Sub(m_Value(A), m_Value(B))) &&
6206+
sd_match(N1, m_Specific(A)) &&
6207+
TLI.isOperationLegalOrCustom(ISD::USUBO, VT)) {
6208+
EVT SETCCT = getSetCCResultType(VT);
6209+
SDVTList VTs = DAG.getVTList(VT, SETCCT);
6210+
SDValue USO = DAG.getNode(ISD::USUBO, DL, VTs, A, B);
6211+
return DAG.getSelect(DL, VT, USO.getValue(1), A, USO.getValue(0));
62126212
}
62136213
}
62146214

0 commit comments

Comments
 (0)