Skip to content

Commit cf872e0

Browse files
committed
unit test
1 parent 2e50c6b commit cf872e0

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,15 @@ TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) {
201201
SDValue UMax = DAG->getNode(ISD::UMAX, DL, Int32VT, Op0, Op1);
202202
SDValue UMin = DAG->getNode(ISD::UMIN, DL, Int32VT, Op1, Op0);
203203

204+
SDValue ICMP_GT = DAG->getSetCC(DL, MVT::i1, Op0, Op1, ISD::SETGT);
205+
SDValue ICMP_UGT = DAG->getSetCC(DL, MVT::i1, Op0, Op1, ISD::SETUGT);
206+
SDValue ICMP_LT = DAG->getSetCC(DL, MVT::i1, Op0, Op1, ISD::SETLT);
207+
SDValue ICMP_ULT = DAG->getSetCC(DL, MVT::i1, Op0, Op1, ISD::SETULT);
208+
SDValue SMaxLike = DAG->getSelect(DL, MVT::i32, ICMP_GT, Op0, Op1);
209+
SDValue UMaxLike = DAG->getSelect(DL, MVT::i32, ICMP_UGT, Op0, Op1);
210+
SDValue SMinLike = DAG->getSelect(DL, MVT::i32, ICMP_LT, Op0, Op1);
211+
SDValue UMinLike = DAG->getSelect(DL, MVT::i32, ICMP_ULT, Op0, Op1);
212+
204213
SDValue SFAdd = DAG->getNode(ISD::STRICT_FADD, DL, {Float32VT, MVT::Other},
205214
{DAG->getEntryNode(), Op2, Op2});
206215

@@ -231,12 +240,20 @@ TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) {
231240

232241
EXPECT_TRUE(sd_match(SMax, m_c_BinOp(ISD::SMAX, m_Value(), m_Value())));
233242
EXPECT_TRUE(sd_match(SMax, m_SMax(m_Value(), m_Value())));
243+
EXPECT_TRUE(sd_match(SMax, m_SMaxLike(m_Value(), m_Value())));
244+
EXPECT_TRUE(sd_match(SMaxLike, m_SMaxLike(m_Value(), m_Value())));
234245
EXPECT_TRUE(sd_match(SMin, m_c_BinOp(ISD::SMIN, m_Value(), m_Value())));
235246
EXPECT_TRUE(sd_match(SMin, m_SMin(m_Value(), m_Value())));
247+
EXPECT_TRUE(sd_match(SMin, m_SMinLike(m_Value(), m_Value())));
248+
EXPECT_TRUE(sd_match(SMinLike, m_SMinLike(m_Value(), m_Value())));
236249
EXPECT_TRUE(sd_match(UMax, m_c_BinOp(ISD::UMAX, m_Value(), m_Value())));
237250
EXPECT_TRUE(sd_match(UMax, m_UMax(m_Value(), m_Value())));
251+
EXPECT_TRUE(sd_match(UMax, m_UMaxLike(m_Value(), m_Value())));
252+
EXPECT_TRUE(sd_match(UMaxLike, m_UMaxLike(m_Value(), m_Value())));
238253
EXPECT_TRUE(sd_match(UMin, m_c_BinOp(ISD::UMIN, m_Value(), m_Value())));
239254
EXPECT_TRUE(sd_match(UMin, m_UMin(m_Value(), m_Value())));
255+
EXPECT_TRUE(sd_match(UMin, m_UMinLike(m_Value(), m_Value())));
256+
EXPECT_TRUE(sd_match(UMinLike, m_UMinLike(m_Value(), m_Value())));
240257

241258
SDValue BindVal;
242259
EXPECT_TRUE(sd_match(SFAdd, m_ChainedBinOp(ISD::STRICT_FADD, m_Value(BindVal),

0 commit comments

Comments
 (0)