@@ -133,6 +133,10 @@ TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) {
133
133
SDValue And = DAG->getNode (ISD::AND, DL, Int32VT, Op0, Op1);
134
134
SDValue Xor = DAG->getNode (ISD::XOR, DL, Int32VT, Op1, Op0);
135
135
SDValue Or = DAG->getNode (ISD::OR, DL, Int32VT, Op0, Op1);
136
+ SDValue SMax = DAG->getNode (ISD::SMAX, DL, Int32VT, Op0, Op1);
137
+ SDValue SMin = DAG->getNode (ISD::SMIN, DL, Int32VT, Op1, Op0);
138
+ SDValue UMax = DAG->getNode (ISD::UMAX, DL, Int32VT, Op0, Op1);
139
+ SDValue UMin = DAG->getNode (ISD::UMIN, DL, Int32VT, Op1, Op0);
136
140
137
141
SDValue SFAdd = DAG->getNode (ISD::STRICT_FADD, DL, {Float32VT, MVT::Other},
138
142
{DAG->getEntryNode (), Op2, Op2});
@@ -155,6 +159,15 @@ TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) {
155
159
EXPECT_TRUE (sd_match (Or, m_c_BinOp (ISD::OR, m_Value (), m_Value ())));
156
160
EXPECT_TRUE (sd_match (Or, m_Or (m_Value (), m_Value ())));
157
161
162
+ EXPECT_TRUE (sd_match (SMax, m_c_BinOp (ISD::SMAX, m_Value (), m_Value ())));
163
+ EXPECT_TRUE (sd_match (SMax, m_SMax (m_Value (), m_Value ())));
164
+ EXPECT_TRUE (sd_match (SMin, m_c_BinOp (ISD::SMIN, m_Value (), m_Value ())));
165
+ EXPECT_TRUE (sd_match (SMin, m_SMin (m_Value (), m_Value ())));
166
+ EXPECT_TRUE (sd_match (UMax, m_c_BinOp (ISD::UMAX, m_Value (), m_Value ())));
167
+ EXPECT_TRUE (sd_match (UMax, m_UMax (m_Value (), m_Value ())));
168
+ EXPECT_TRUE (sd_match (UMin, m_c_BinOp (ISD::UMIN, m_Value (), m_Value ())));
169
+ EXPECT_TRUE (sd_match (UMin, m_UMin (m_Value (), m_Value ())));
170
+
158
171
SDValue BindVal;
159
172
EXPECT_TRUE (sd_match (SFAdd, m_ChainedBinOp (ISD::STRICT_FADD, m_Value (BindVal),
160
173
m_Deferred (BindVal))));
0 commit comments