Skip to content

Add x86 support #13

Open
Open
@Rot127

Description

@Rot127

x86 is currently not supported. But the reason is only a single not refactored backend.

The DisassemblerEmitter.cpp emits the decoding tables via the class RecognizableInstr for x86 or, for all other targets, via the DecoderEmitter class.

For obvious reasons we decided to refactor the DecoderEmitter first. But this also means that we can not generate the decoder tables in C for the x86 target.

But as far as I can tell refactoring the RecognizableInstr class is the only thing, which prevents us from generating the decoder tables. All the other backends (RegisterInfo, AsmMatcher etc.) are not special for x86.

To support x86 we simply need to:

  • Figure out how the x86 specific backends work.
  • Move every code snippet which prints code to the output stream into the PrinterLLVM and PrinterCapstone classes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions