[llvm] [AArch64] Lower disjoint_or+not to eon. (PR #147279)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 8 03:52:31 PDT 2025


================
@@ -1254,6 +1254,16 @@ def fminnum_nnan : PatFrag<(ops node:$Rn, node:$Rm),
   return N->getFlags().hasNoNaNs();
   }]>;
 
+// Match disjoint or nodes.
+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()));
+  }];
+}
----------------
paulwalker-arm wrote:

Yes please.  There's no need to use `xor_like` for any new patterns beyond the one you're interested in for this PR, but having it available gives us the option to roll it out further later on.

https://github.com/llvm/llvm-project/pull/147279


More information about the llvm-commits mailing list