abrown opened PR #10232 from abrown:assembler-opcodes
to bytecodealliance:main
:
How IA-32e describes and encodes opcodes is a bit confusing, but section 2.1.2 in the reference manual does a decent job explaining how the various prefixes, escape bytes, and primary/secondary opcodes may be used. This change uses this explanation to create what is essentially a parser for
[u8]
; this allows us to compactly express instruction definitions, e.g.,rex([0x66, 0x25])
. Improper use of this DSL syntax should result in an immediate compilation error when attempting to generate the assembler.<!--
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
-->
abrown requested fitzgen for a review on PR #10232.
abrown requested wasmtime-compiler-reviewers for a review on PR #10232.
alexcrichton submitted PR review.
abrown updated PR #10232.
abrown updated PR #10232.
abrown updated PR #10232.
abrown has enabled auto merge for PR #10232.
abrown merged PR #10232.
Last updated: Feb 28 2025 at 02:27 UTC