bytecodealliance / bytecodealliance/wasmtime

Split large vectors into smaller ones as necessary

Open
#3,163 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
18.6k
Forks
1.8k
Avg merge
1d 18h
Merged PRs (30d)
126

Description

#### Feature

When a vector type is larger than the largest natively supported vector, split it into multiple smaller ones and use multiple vector instructions for each clif instruction.

#### Benefit

This allows using vector types larger than natively supported in cranelift embedders without having to manually split it into smaller vectors and without having to change lowering as bigger vectors get supported by the backend. In case of cg_clif I currently have the option to either duplicate code to handle 128bit and larger or smaller vectors or to use scalar emulations everywhere. I am using scalar emulations at the moment, but I would like to be able to always use vector instructions.

#### Implementation

Similar to how i128 is handled.

#### Alternatives

Not implement this and force all embedders to do the splitting themself.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.