Displaying 8 results from an estimated 8 matches for "vsetvli".
Did you mean:
vsetvl
2019 Feb 05
4
[RFC] Vector Predication
On 2/5/19 1:27 AM, Philip Reames via llvm-dev wrote:
>
> On 1/31/19 4:57 PM, Bruce Hoult wrote:
>> On Thu, Jan 31, 2019 at 4:05 PM Philip Reames via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>>> Do such architectures frequently have arithmetic operations on the
>>> mask registers? (i.e. can I reasonable compute a conservative
>>> length
2019 Feb 05
3
[RFC] Vector Predication
...The canonical example is
> strlen()/strcpy(). For most code you can ignore it and say the AVL
> changes only when you execute VSETVL[I].
>
> - any time the program uses VSETVL[I] *both* the MVL and the AVL can change.
>
> - the common case is a loop with the vtype in an immediate VSETVLI at
> the head of the loop. In this case, the AVL potentially changes in
> every iteration of the loop (but usually only in the last one or two
> iterations). As the vtype is in an immediate it can't change from
> iteration to iteration. But it's common for two loops in the same...
2020 Sep 29
2
[riscv] How do I use the RISC-V Vector extension instructions in LLVM IR?
Hi Everyone,
I am wondering how to use RISC-V V (Vector) extension instructions in
LLVM IR. In 2019 Kruppe and Espasa gave a talk [1] overviewing the
Vector extension and on slide 16 [2] they show LLVM IR samples which use
the vector instructions through intrinsic functions, such as:
%vl = call i32 @llvm.riscv.vsetvl(i32 %n)
At the time of the talk (April 2019) LLVM support for the V
2019 Feb 01
3
[RFC] Vector Predication
...uently, it would be much, much better to be able to have a
> > single bit of a predicate apply to the *entire* vec3 or vec4 type, on
> > each outer loop.
>
> This situation can be handled easily in the standard RISC-V vector
> extension. You'd do something like...
>
> vsetvli t0, a0, vsew128,vnreg8,vdiv4
>
> ... to configure the vector unit to provide eight vector register
> variables divided into a standard element width of 128 bits (some
> instructions will widen or narrow one step to/from 64 bits or 256
> bits), and then dividing each 128 bit element i...
2019 Feb 01
2
[RFC] Vector Predication
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Thu, Jan 31, 2019 at 10:22 PM Jacob Lifshay <programmerjake at gmail.com> wrote:
>
> We're in-progress designing a RISC-V extension (http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2019-January/000433.html) that would have variable-length vectors of short vectors (1 to 4):
> <VL x <4 x
2020 Nov 02
2
Loop-vectorizer prototype for the EPI Project based on the RISC-V Vector Extension (Scalable vectors)
...er supports two strategies to
> generate LLVM IR using scalable vectors:
>
> 1) Generate a vector loop using VF (vscale x k) = whole vector register
> width, followed by a scalar tail loop.
>
> 2) Generate only a vector loop with active vector length controlled by
> the RISC-V `vsetvli` instruction and using Vector Predicated intrinsics
> (https://reviews.llvm.org/D57504). (Of course, intrinsics come with
> their own limitations but we feel it serves as a good proof of concept
> for our use case.) We also extend the VPlan to generate VPInstructions
> that are expanded...
2020 Nov 05
0
Loop-vectorizer prototype for the EPI Project based on the RISC-V Vector Extension (Scalable vectors)
...ctor extension. The auto-vectorizer supports two strategies to
generate LLVM IR using scalable vectors:
1) Generate a vector loop using VF (vscale x k) = whole vector register
width, followed by a scalar tail loop.
2) Generate only a vector loop with active vector length controlled by
the RISC-V `vsetvli` instruction and using Vector Predicated intrinsics
(https://reviews.llvm.org/D57504). (Of course, intrinsics come with
their own limitations but we feel it serves as a good proof of concept
for our use case.) We also extend the VPlan to generate VPInstructions
that are expanded using predicated in...
2020 Nov 05
2
Loop-vectorizer prototype for the EPI Project based on the RISC-V Vector Extension (Scalable vectors)
...ctor extension. The auto-vectorizer supports two strategies to
generate LLVM IR using scalable vectors:
1) Generate a vector loop using VF (vscale x k) = whole vector register
width, followed by a scalar tail loop.
2) Generate only a vector loop with active vector length controlled by
the RISC-V `vsetvli` instruction and using Vector Predicated intrinsics
(https://reviews.llvm.org/D57504). (Of course, intrinsics come with
their own limitations but we feel it serves as a good proof of concept
for our use case.) We also extend the VPlan to generate VPInstructions
that are expanded using predicated in...