@@ -2563,14 +2563,12 @@ SDValue DAGCombiner::foldSubToAvg(SDNode *N, const SDLoc &DL) {
2563
2563
2564
2564
if ((!LegalOperations || hasOperation(ISD::AVGCEILU, VT)) &&
2565
2565
sd_match(N, m_Sub(m_Or(m_Value(A), m_Value(B)),
2566
- m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)),
2567
- m_SpecificInt(1))))) {
2566
+ m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
2568
2567
return DAG.getNode(ISD::AVGCEILU, DL, VT, A, B);
2569
2568
}
2570
2569
if ((!LegalOperations || hasOperation(ISD::AVGCEILS, VT)) &&
2571
2570
sd_match(N, m_Sub(m_Or(m_Value(A), m_Value(B)),
2572
- m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)),
2573
- m_SpecificInt(1))))) {
2571
+ m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
2574
2572
return DAG.getNode(ISD::AVGCEILS, DL, VT, A, B);
2575
2573
}
2576
2574
return SDValue();
@@ -2928,14 +2926,12 @@ SDValue DAGCombiner::foldAddToAvg(SDNode *N, const SDLoc &DL) {
2928
2926
2929
2927
if ((!LegalOperations || hasOperation(ISD::AVGFLOORU, VT)) &&
2930
2928
sd_match(N, m_Add(m_And(m_Value(A), m_Value(B)),
2931
- m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)),
2932
- m_SpecificInt(1))))) {
2929
+ m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
2933
2930
return DAG.getNode(ISD::AVGFLOORU, DL, VT, A, B);
2934
2931
}
2935
2932
if ((!LegalOperations || hasOperation(ISD::AVGFLOORS, VT)) &&
2936
2933
sd_match(N, m_Add(m_And(m_Value(A), m_Value(B)),
2937
- m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)),
2938
- m_SpecificInt(1))))) {
2934
+ m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
2939
2935
return DAG.getNode(ISD::AVGFLOORS, DL, VT, A, B);
2940
2936
}
2941
2937
0 commit comments