Description
The silicon that supports these more or less directly:
GPUs handle Vec3s (f32x3
typically) all the time already.
Arm SVE supports 384-bit width vector registers and is available Soon™.
RISCVV will eventually exist and support arbitrary-width vectors, somewhere, over the rainbow:rainbow: someday:musical_note:...
LLVM's approach for handling these when only fixed width vector registers are available to compile to was, as far as I could tell, and as described by the author of the vek crate, an approach similar to the one GPUs use: use 128-bit registers just fine but politely ignore the unspecified lanes when the "Vec3" types are loaded and stored.
Also the https://github.com/WebAssembly/flexible-vectors/ proposal exists, though is currently in a fairly nascent state. Still, another point to this being a long-term desirable even if it's not immediately needed.