alexcrichton transferred Issue #1244:
- What is the feature or code improvement you would like to do in Cranelift?
Add VEX and EVEX encoding mechanisms for x86 code generation.
- What is the value of adding this in Cranelift?
Certain Wasm SIMD operations (e.g. convert, trunc) only can be lowered with VEX and EVEX encodings. Many VEX and EVEX encodings are only available in later SIMD feature sets (e.g. AVX-512); adding the ability to use VEX and EVEX encodings does not preclude legalizations for x86 CPUs without later SIMD feature sets, but that is a separate issue.
- Do you have an implementation plan, and/or ideas for data structures or algorithms to use?
I think the relevant thing here is that it may impact how we go about resolving #1156.
- Have you considered alternative implementations? If so, how are they better or worse than your proposal?
Not having the ability to use VEX and EVEX encodings would force cranelift to use multi-instruction legalizations instead of optimal instructions during instruction selection.
Last updated: Nov 22 2024 at 16:03 UTC