On PowerPC, lower vp_load and vp_store nodes with %evl but no %mask operands to lxvl and stxvl instructions. Depends on D109377.
in what patch is this function first introduced? I don't see it in main or any of the other recent patches you posted.
Why are these here? These nodes are target independent so it definitely seems like the wrong thing to do to define them in a PPC-specific file.
|2 ↗||(On Diff #371792)|
This needs to have a big endian line as well and also a -O0 for each to ensure that it works with FastISEL.
|7 ↗||(On Diff #371792)|
I must be missing something here. I thought the %evl parameter is the explicit vector length but it is clearly getting ignored and we are shifting a constant. So I don't really follow what is happening here.
The semantics here are very different from what I assumed. I assumed one can load 5 byte elements of a v16i8 vector by using the v16i8 type and a length of 5. But we have to use a different type (i.e. v5i8)?
Fixed tests incorrectly using zeroinitializer instead of undef for %evl, causing it to be ignored.
This is a target specialization of the default function from https://reviews.llvm.org/D78203.