[PATCH] D88897: [AArch64] WIP for review D88742
Vinay Madhusudan via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 7 03:21:50 PDT 2020
mivnay added a comment.
In D88897#2316214 <https://reviews.llvm.org/D88897#2316214>, @dmgreen wrote:
> Right. Because of Global ISel? I don't know that very well and if there's a similar place to do the same thing, converting an intrinsics to the kind of node that would be matched.
>
> My hope was that we would be able to make something that I could later lift to being target-independent and share across AArch64 and MVE.
>
> Replicating the patterns doesn't feel great though, and disabling the test feels a bit of a step backwards. Perhaps make the pattern match either the node or the intrinsic:
>
> def AArch64uabd_n : SDNode<"AArch64ISD::UABD", SDT_AArch64binvec>;
> def AArch64sabd_n : SDNode<"AArch64ISD::SABD", SDT_AArch64binvec>;
> def AArch64uabd : PatFrags<(ops node:$lhs, node:$rhs),
> [(AArch64uabd_n node:$lhs, node:$rhs),
> (int_aarch64_neon_uabd node:$lhs, node:$rhs)]>;
> def AArch64sabd : PatFrags<(ops node:$lhs, node:$rhs),
> [(AArch64sabd_n node:$lhs, node:$rhs),
> (int_aarch64_neon_sabd node:$lhs, node:$rhs)]>;
Yes ,the issue is in Global ISel. Above change works but it also allows one to use the intrinsics instead of ISD nodes. I am closing this review and will push the changes to the original review D88742 <https://reviews.llvm.org/D88742>
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88897/new/
https://reviews.llvm.org/D88897
More information about the llvm-commits
mailing list