bjorn3 opened issue #3163:
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.
Last updated: Nov 22 2024 at 16:03 UTC