We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7e08f23 commit 7660faeCopy full SHA for 7660fae
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -6202,13 +6202,13 @@ SDValue DAGCombiner::visitIMINMAX(SDNode *N) {
6202
// (umin (sub a, b) a) -> (usubo a, b); (select usubo.1, a, usubo.0)
6203
{
6204
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
- }
+ if (sd_match(N0, m_Sub(m_Value(A), m_Value(B))) &&
+ sd_match(N1, m_Specific(A)) &&
+ TLI.isOperationLegalOrCustom(ISD::USUBO, VT)) {
+ EVT SETCCT = getSetCCResultType(VT);
+ SDVTList VTs = DAG.getVTList(VT, SETCCT);
+ SDValue USO = DAG.getNode(ISD::USUBO, DL, VTs, A, B);
+ return DAG.getSelect(DL, VT, USO.getValue(1), A, USO.getValue(0));
6212
}
6213
6214
0 commit comments