Skip to content

Add experimental XED decoder bindings#45

Open
aengelke wants to merge 1 commit into
caps-tum:masterfrom
aengelke:xed
Open

Add experimental XED decoder bindings#45
aengelke wants to merge 1 commit into
caps-tum:masterfrom
aengelke:xed

Conversation

@aengelke

Copy link
Copy Markdown
Contributor

This add bindings to the Intel XED decoder. Note that:

  1. Some instructions (especially instructions accessing a half vector register) are decoded differently
  2. Pass-through is not implemented
  3. Many cases are (probably) not handled yet
  4. There might by bugs as this has not been tested in depth yet.

On the other side, with a bit more work this would give us a well-tested decoder, which covers almost all instructions.

/cc @weidendo

@weidendo

Copy link
Copy Markdown
Contributor

Cool.

I expected that filling out DBrew decoder structs would be more difficult to do.
To keep this small, we could align the DBrew decoder structs more to what XED is doing.

As API, it should be enough to have dbrew_setdecoder(void* decode_dbb).
How far are we from passing the tests?

Regarding marking an instruction as pass-through: I really would like to get rid of that,
and have proper support in the rewriter (I have some pending changes in a local branch).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants