[PATCH] D128665: [AArch64] Make nxv1i1 types a legal type for SVE.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 1 08:13:06 PDT 2022
sdesmalen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64CallingConvention.td:87-88
CCAssignToReg<[P0, P1, P2, P3]>>,
- CCIfType<[nxv2i1, nxv4i1, nxv8i1, nxv16i1],
+ CCIfType<[nxv1i1, nxv2i1, nxv4i1, nxv8i1, nxv16i1],
CCPassIndirect<i64>>,
----------------
paulwalker-arm wrote:
> This is not relevant to this patch just observational.
>
> For my own education do you know what this means? If I was to guess I'd say "we can pass such parameter types through memory"? If correct then I believe we only support nxv16i1 types when going throw memory.
>
>
Yes, that's what it means. Fortunately it's not something we'll currently hit from user code, because that will always use `<vscale x 16 x i1>` types for svbool_t, but I guess we should clean this up at some point.
================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:6205
def : SVE_1_Op_Pat<nxv2i1, op, nxv4i1, !cast<Instruction>(NAME)>;
+ def : SVE_1_Op_Pat<nxv1i1, op, nxv2i1, !cast<Instruction>(NAME)>;
}
----------------
paulwalker-arm wrote:
> Do we still need this change?
Nope, good catch, I'll remove it.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128665/new/
https://reviews.llvm.org/D128665
More information about the llvm-commits
mailing list