@@ -130,6 +130,9 @@ TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) {
130
130
SDValue Add = DAG->getNode (ISD::ADD, DL, Int32VT, Op0, Op1);
131
131
SDValue Sub = DAG->getNode (ISD::SUB, DL, Int32VT, Add, Op0);
132
132
SDValue Mul = DAG->getNode (ISD::MUL, DL, Int32VT, Add, Sub);
133
+ SDValue And = DAG->getNode (ISD::AND, DL, Int32VT, Op0, Op1);
134
+ SDValue Xor = DAG->getNode (ISD::XOR, DL, Int32VT, Op1, Op0);
135
+ SDValue Or = DAG->getNode (ISD::OR, DL, Int32VT, Op0, Op1);
133
136
134
137
SDValue SFAdd = DAG->getNode (ISD::STRICT_FADD, DL, {Float32VT, MVT::Other},
135
138
{DAG->getEntryNode (), Op2, Op2});
@@ -144,6 +147,14 @@ TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) {
144
147
EXPECT_TRUE (
145
148
sd_match (SFAdd, m_ChainedBinOp (ISD::STRICT_FADD, m_SpecificVT (Float32VT),
146
149
m_SpecificVT (Float32VT))));
150
+
151
+ EXPECT_TRUE (sd_match (And, m_c_BinOp (ISD::AND, m_Value (), m_Value ())));
152
+ EXPECT_TRUE (sd_match (And, m_And (m_Value (), m_Value ())));
153
+ EXPECT_TRUE (sd_match (Xor, m_c_BinOp (ISD::XOR, m_Value (), m_Value ())));
154
+ EXPECT_TRUE (sd_match (Xor, m_Xor (m_Value (), m_Value ())));
155
+ EXPECT_TRUE (sd_match (Or, m_c_BinOp (ISD::OR, m_Value (), m_Value ())));
156
+ EXPECT_TRUE (sd_match (Or, m_Or (m_Value (), m_Value ())));
157
+
147
158
SDValue BindVal;
148
159
EXPECT_TRUE (sd_match (SFAdd, m_ChainedBinOp (ISD::STRICT_FADD, m_Value (BindVal),
149
160
m_Deferred (BindVal))));
0 commit comments