[PATCH] D75154: [X86] Convert vXi1 vectors to xmm/ymm/zmm types via getRegisterTypeForCallingConv rather than using CCPromoteToType in the td file
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 14:05:27 PST 2020
rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.
In D75154#1903631 <https://reviews.llvm.org/D75154#1903631>, @RKSimon wrote:
> @rnk Any comments? It makes sense to me but I don't know a lot about this area tbh.
Honestly, the conventions for passing vectors that don't fit into XMM regs are beyond me.
I just had a suggestion for tightening up the code, but otherwise, it seems fine to me.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:2133
+
+ // v2i1/v4i1/v8i1/v16i1 all pass in xmm registers unless the calling
+ // convention is one that uses k registers.
----------------
Can this be factored to share the logic? It looks structurally similar, and you could do `return {MTV::vNiM, 2}` and then have the caller pick the field that matters, type or number of registers.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75154/new/
https://reviews.llvm.org/D75154
More information about the llvm-commits
mailing list