[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:26:46 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:
The change is well contained but what do you think to the idea of adding `xor_like` to TargetSelectionDAG.td? That way any patterns that don't specifically require `xor` can be easily ported.
https://github.com/llvm/llvm-project/pull/147279
More information about the llvm-commits
mailing list