Skip to content

Commit

Permalink
This fixes emitGetVexPrefixSize to support detecting 2-byte prefix su…
Browse files Browse the repository at this point in the history
…pport (#79478)

* Remove the dead emitOutputRexOrVexPrefixIfNeeded and rename emitOutputSimdPrefixIfNeeded to emitOutputRexOrSimdPrefixIfNeeded

* Remove the dead emitGetAdjustedSize and rename emitGetAdjustedSizeEvexAware to emitGetAdjustedSize

* Simplify the emitGetEvexPrefixSize and emitGetVexPrefixSize methods

* Create helper emitExtractVexPrefix and emitExtractEvexPrefix functions

* Update emitGetVexPrefixSize and emitGetEvexPrefixSize to take an instrDesc

* Update emitGetPrefixSize to take the instrDesc so the VEX prefix size can be computed correctly

* Update emitGetVexPrefixSize to support returning 2 or 3

* Ensure IF_RWR_CNS is handled in emitGetVexPrefixSize

* Don't try to estimate the 2-byte VEX prefix when optimizations are disabled

* Ensure we don't negatively impact estimated alignment sizes for debug code

* Just check MinOpts not OptimizationsDisabled

* Mark some of the modified methods as const to indicate they don't mutate the emitter

* Resolve the throughput issue by not getting optSize untill necessary

* Switch back to doing accurate vex prefix size estimation always

* Small cleanup to reduce regression
  • Loading branch information
tannergooding authored Dec 14, 2022
1 parent 8e29ce7 commit 58e82be
Show file tree
Hide file tree
Showing 2 changed files with 562 additions and 628 deletions.
Loading

0 comments on commit 58e82be

Please sign in to comment.