alexcrichton requested abrown for a review on PR #11270.
alexcrichton opened PR #11270 from alexcrichton:x64-evex-shift to bytecodealliance:main:
This commit adds bindings for the EVEX encodings of
vps{ll,ra,rl}{d,q}to the new assembler. Currently the 16-bit shiftsvps{ll,ra,rl}ware omitted due to theavx512bwfeature not yet being bound in Cranelift. In implementing these instructions a few refactorings/fixes were necessary:
- Primarily all EVEX instructions now need to be defined not only with their vector length but also their "tuple type" found in encoding tables. This is required to correctly handle the 8-bit displacement scaling that happens with EVEX instructions.
- Some small helpers to the
Evexstructure were added such asEvex::digitandEvex::ib.- The
evex_scalingfactor is now calculated ingenerate_evex_prefixaccording to the instruction format itself.- The VEX and EVEX
generate_*_prefixfunctions now delegate to a shared function to handle the same operand formats across both of them.- Fuzz generation of
AmodeOffsetis now updated to bias to some "interesting" offsets that exercise the cases where EVEX scaling is necessary.- The ISLE
XmmUnaryRmRImmEvexinstruction format was removed as it's no longer necessary.<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #11270.
alexcrichton updated PR #11270.
abrown submitted PR review.
abrown merged PR #11270.
Last updated: Dec 06 2025 at 06:05 UTC