[llvm] [AArch64] Lower disjoint_or+not to eon. (PR #147279)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 8 06:03:52 PDT 2025
================
@@ -1140,6 +1140,19 @@ def not : PatFrag<(ops node:$in), (xor node:$in, -1)>;
def vnot : PatFrag<(ops node:$in), (xor node:$in, immAllOnesV)>;
def ineg : PatFrag<(ops node:$in), (sub 0, node:$in)>;
+def or_disjoint : PatFrag<(ops node:$lhs, node:$rhs),
+ (or node:$lhs, node:$rhs), [{
+ return N->getFlags().hasDisjoint();
+}]> {
+ let GISelPredicateCode = [{
+ return mi_match(MI, MRI, m_GDisjointOr(m_Reg(), m_Reg()));
----------------
arsenm wrote:
You don't need mi_match, you can directly check the flags on the instruction the same as the dag pattern
https://github.com/llvm/llvm-project/pull/147279
More information about the llvm-commits
mailing list