[PATCH] D98004: [RISCV][SelectionDAG] Introduce an ISD::SPLAT_VECTOR_PARTS node that can represent a splat of 2 i32 values into a nxvXi64 vector for riscv32.
Fraser Cormack via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 9 01:45:13 PST 2021
frasercrmck added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/ISDOpcodes.h:574
+ /// SPLAT_VECTOR_PARTS(Hi, Lo) - Returns a vector with the scalar
+ /// values Lo and Hi joined together and then duplicated in all lanes. This
----------------
frasercrmck wrote:
> Do we need to considering opening this up to allow more than two parts from the get-go? We don't really have anything to test it with but I fear it'll be hard to update baked-in assumptions when someone needs a splat_vector_parts with 4 or more parts.
>
> Also, this looks like it should be `SPLAT_VECTOR_PARTS(Lo, Hi)` as that's how it's used below.
Last thing I'd question is whether it needs to be explicit which of SCALAR1 and SCALARN are most/least significant. And whether endianness needs to be taken into account?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98004/new/
https://reviews.llvm.org/D98004
More information about the llvm-commits
mailing list