rust-lang / miri

An interpreter for Rust's mid-level intermediate representation
Apache License 2.0
4.14k stars 318 forks source link

simd_bitmask: support vectors larger than 64 elements #3658

Open RalfJung opened 3 weeks ago

RalfJung commented 3 weeks ago

simd_bitmask (and simd_select_bitmask) are currently limited to vectors of at most 64 elements. Turns out portable-simd wants to scale to arbitrary sizes so Miri should follow suit.

However, the future of simd_bitmask is also unclear currently AFAIK -- the array-based version is not currently used by portable-simd, and the integer-based version cannot possibly support vectors large than 128 (since u128 is our biggest integer type). So we should wait until the dust settles around simd_bitmask, then we can implement the desired semantics.