# LLVM Scalable Vectors

**URL:** <https://internals.rust-lang.org/t/llvm-scalable-vectors/14498>\
**Category:** Uncategorized\
**Created:** [April 16, 2021, 5:32am UTC](https://internals.rust-lang.org/t/llvm-scalable-vectors/14498 "2021-04-16T05:32:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Boomshroom](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/boomshroom/32/5932_2.png) [@Boomshroom](https://internals.rust-lang.org/u/Boomshroom)\
**Post date:** [April 16, 2021, 5:32am UTC](https://internals.rust-lang.org/t/llvm-scalable-vectors/14498/1 "2021-04-16T05:32:09Z")

</div>

Rust seems to be working on traditional SIMD support where each vector has a length known at compile time from the ISA. That said, Arm's SVE and Risc-V's V extensions have variable length vectors that aren't known at compile time. LLVM is working on support for these with `vscale` vectors of the form `<vscale x N x T>` for a minimum number of elements `N` and type `T`. Are there any plans to support these in Rust, or are we just waiting for Rust's SIMD support and LLVM's `vscale` support to mature a bit more before tackling it? Their appears to have been some discussion in September 2020, but prior to that I couldn't find anything after 2018.

[stdarch issue #913](https://github.com/rust-lang/stdarch/issues/913) is asking for a Risc-V module in `core::arch`. While the specific example wouldn't require this, the vector intrinsics specified in [rvv-intrinsic-doc](https://github.com/riscv/rvv-intrinsic-doc) would.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/system/32/14092_2.png) [@system](https://internals.rust-lang.org/u/system)\
**Post date:** [July 15, 2021, 5:32am UTC](https://internals.rust-lang.org/t/llvm-scalable-vectors/14498/2 "2021-07-15T05:32:37Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
