LLVM
15.0.0git
|
Go to the source code of this file.
Classes | |
struct | llvm::X86Disassembler::InstructionSpecifier |
The specification for how to extract and interpret a full instruction and its operands. More... | |
struct | llvm::X86Disassembler::InternalInstruction |
The x86 internal instruction, which is produced by the decoder. More... | |
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
llvm::X86Disassembler | |
Macros | |
#define | modFromModRM(modRM) (((modRM) & 0xc0) >> 6) |
#define | regFromModRM(modRM) (((modRM) & 0x38) >> 3) |
#define | rmFromModRM(modRM) ((modRM) & 0x7) |
#define | scaleFromSIB(sib) (((sib) & 0xc0) >> 6) |
#define | indexFromSIB(sib) (((sib) & 0x38) >> 3) |
#define | baseFromSIB(sib) ((sib) & 0x7) |
#define | wFromREX(rex) (((rex) & 0x8) >> 3) |
#define | rFromREX(rex) (((rex) & 0x4) >> 2) |
#define | xFromREX(rex) (((rex) & 0x2) >> 1) |
#define | bFromREX(rex) ((rex) & 0x1) |
#define | rFromEVEX2of4(evex) (((~(evex)) & 0x80) >> 7) |
#define | xFromEVEX2of4(evex) (((~(evex)) & 0x40) >> 6) |
#define | bFromEVEX2of4(evex) (((~(evex)) & 0x20) >> 5) |
#define | r2FromEVEX2of4(evex) (((~(evex)) & 0x10) >> 4) |
#define | mmmFromEVEX2of4(evex) ((evex) & 0x7) |
#define | wFromEVEX3of4(evex) (((evex) & 0x80) >> 7) |
#define | vvvvFromEVEX3of4(evex) (((~(evex)) & 0x78) >> 3) |
#define | ppFromEVEX3of4(evex) ((evex) & 0x3) |
#define | zFromEVEX4of4(evex) (((evex) & 0x80) >> 7) |
#define | l2FromEVEX4of4(evex) (((evex) & 0x40) >> 6) |
#define | lFromEVEX4of4(evex) (((evex) & 0x20) >> 5) |
#define | bFromEVEX4of4(evex) (((evex) & 0x10) >> 4) |
#define | v2FromEVEX4of4(evex) (((~evex) & 0x8) >> 3) |
#define | aaaFromEVEX4of4(evex) ((evex) & 0x7) |
#define | rFromVEX2of3(vex) (((~(vex)) & 0x80) >> 7) |
#define | xFromVEX2of3(vex) (((~(vex)) & 0x40) >> 6) |
#define | bFromVEX2of3(vex) (((~(vex)) & 0x20) >> 5) |
#define | mmmmmFromVEX2of3(vex) ((vex) & 0x1f) |
#define | wFromVEX3of3(vex) (((vex) & 0x80) >> 7) |
#define | vvvvFromVEX3of3(vex) (((~(vex)) & 0x78) >> 3) |
#define | lFromVEX3of3(vex) (((vex) & 0x4) >> 2) |
#define | ppFromVEX3of3(vex) ((vex) & 0x3) |
#define | rFromVEX2of2(vex) (((~(vex)) & 0x80) >> 7) |
#define | vvvvFromVEX2of2(vex) (((~(vex)) & 0x78) >> 3) |
#define | lFromVEX2of2(vex) (((vex) & 0x4) >> 2) |
#define | ppFromVEX2of2(vex) ((vex) & 0x3) |
#define | rFromXOP2of3(xop) (((~(xop)) & 0x80) >> 7) |
#define | xFromXOP2of3(xop) (((~(xop)) & 0x40) >> 6) |
#define | bFromXOP2of3(xop) (((~(xop)) & 0x20) >> 5) |
#define | mmmmmFromXOP2of3(xop) ((xop) & 0x1f) |
#define | wFromXOP3of3(xop) (((xop) & 0x80) >> 7) |
#define | vvvvFromXOP3of3(vex) (((~(vex)) & 0x78) >> 3) |
#define | lFromXOP3of3(xop) (((xop) & 0x4) >> 2) |
#define | ppFromXOP3of3(xop) ((xop) & 0x3) |
#define | REGS_8BIT |
#define | EA_BASES_16BIT |
#define | REGS_16BIT |
#define | EA_BASES_32BIT |
#define | REGS_32BIT |
#define | EA_BASES_64BIT |
#define | REGS_64BIT |
#define | REGS_MMX |
#define | REGS_XMM |
#define | REGS_YMM |
#define | REGS_ZMM |
#define | REGS_MASKS |
#define | REGS_MASK_PAIRS |
#define | REGS_SEGMENT |
#define | REGS_DEBUG |
#define | REGS_CONTROL |
#define | REGS_TMM |
#define | ALL_EA_BASES |
#define | ALL_SIB_BASES |
#define | ALL_REGS |
#define | ENTRY(x) EA_BASE_##x, |
#define | ENTRY(x) EA_REG_##x, |
#define | ENTRY(x) SIB_INDEX_##x, |
#define | ENTRY(x) SIB_BASE_##x, |
#define | ENTRY(x) MODRM_REG_##x, |
#define aaaFromEVEX4of4 | ( | evex | ) | ((evex) & 0x7) |
Definition at line 49 of file X86DisassemblerDecoder.h.
#define ALL_EA_BASES |
Definition at line 388 of file X86DisassemblerDecoder.h.
#define ALL_REGS |
Definition at line 397 of file X86DisassemblerDecoder.h.
#define ALL_SIB_BASES |
Definition at line 393 of file X86DisassemblerDecoder.h.
#define baseFromSIB | ( | sib | ) | ((sib) & 0x7) |
Definition at line 30 of file X86DisassemblerDecoder.h.
#define bFromEVEX2of4 | ( | evex | ) | (((~(evex)) & 0x20) >> 5) |
Definition at line 38 of file X86DisassemblerDecoder.h.
#define bFromEVEX4of4 | ( | evex | ) | (((evex) & 0x10) >> 4) |
Definition at line 47 of file X86DisassemblerDecoder.h.
#define bFromREX | ( | rex | ) | ((rex) & 0x1) |
Definition at line 34 of file X86DisassemblerDecoder.h.
#define bFromVEX2of3 | ( | vex | ) | (((~(vex)) & 0x20) >> 5) |
Definition at line 53 of file X86DisassemblerDecoder.h.
#define bFromXOP2of3 | ( | xop | ) | (((~(xop)) & 0x20) >> 5) |
Definition at line 67 of file X86DisassemblerDecoder.h.
#define EA_BASES_16BIT |
#define EA_BASES_32BIT |
#define EA_BASES_64BIT |
Definition at line 169 of file X86DisassemblerDecoder.h.
Definition at line 463 of file X86DisassemblerDecoder.h.
Definition at line 463 of file X86DisassemblerDecoder.h.
Definition at line 463 of file X86DisassemblerDecoder.h.
Definition at line 463 of file X86DisassemblerDecoder.h.
Definition at line 463 of file X86DisassemblerDecoder.h.
#define indexFromSIB | ( | sib | ) | (((sib) & 0x38) >> 3) |
Definition at line 29 of file X86DisassemblerDecoder.h.
#define l2FromEVEX4of4 | ( | evex | ) | (((evex) & 0x40) >> 6) |
Definition at line 45 of file X86DisassemblerDecoder.h.
#define lFromEVEX4of4 | ( | evex | ) | (((evex) & 0x20) >> 5) |
Definition at line 46 of file X86DisassemblerDecoder.h.
#define lFromVEX2of2 | ( | vex | ) | (((vex) & 0x4) >> 2) |
Definition at line 62 of file X86DisassemblerDecoder.h.
#define lFromVEX3of3 | ( | vex | ) | (((vex) & 0x4) >> 2) |
Definition at line 57 of file X86DisassemblerDecoder.h.
#define lFromXOP3of3 | ( | xop | ) | (((xop) & 0x4) >> 2) |
Definition at line 71 of file X86DisassemblerDecoder.h.
#define mmmFromEVEX2of4 | ( | evex | ) | ((evex) & 0x7) |
Definition at line 40 of file X86DisassemblerDecoder.h.
#define mmmmmFromVEX2of3 | ( | vex | ) | ((vex) & 0x1f) |
Definition at line 54 of file X86DisassemblerDecoder.h.
#define mmmmmFromXOP2of3 | ( | xop | ) | ((xop) & 0x1f) |
Definition at line 68 of file X86DisassemblerDecoder.h.
#define modFromModRM | ( | modRM | ) | (((modRM) & 0xc0) >> 6) |
Definition at line 25 of file X86DisassemblerDecoder.h.
#define ppFromEVEX3of4 | ( | evex | ) | ((evex) & 0x3) |
Definition at line 43 of file X86DisassemblerDecoder.h.
#define ppFromVEX2of2 | ( | vex | ) | ((vex) & 0x3) |
Definition at line 63 of file X86DisassemblerDecoder.h.
#define ppFromVEX3of3 | ( | vex | ) | ((vex) & 0x3) |
Definition at line 58 of file X86DisassemblerDecoder.h.
#define ppFromXOP3of3 | ( | xop | ) | ((xop) & 0x3) |
Definition at line 72 of file X86DisassemblerDecoder.h.
#define r2FromEVEX2of4 | ( | evex | ) | (((~(evex)) & 0x10) >> 4) |
Definition at line 39 of file X86DisassemblerDecoder.h.
#define regFromModRM | ( | modRM | ) | (((modRM) & 0x38) >> 3) |
Definition at line 26 of file X86DisassemblerDecoder.h.
#define REGS_16BIT |
Definition at line 115 of file X86DisassemblerDecoder.h.
#define REGS_32BIT |
#define REGS_64BIT |
Definition at line 187 of file X86DisassemblerDecoder.h.
#define REGS_8BIT |
Definition at line 75 of file X86DisassemblerDecoder.h.
#define REGS_CONTROL |
Definition at line 359 of file X86DisassemblerDecoder.h.
#define REGS_DEBUG |
Definition at line 341 of file X86DisassemblerDecoder.h.
#define REGS_MASK_PAIRS |
Definition at line 327 of file X86DisassemblerDecoder.h.
#define REGS_MASKS |
Definition at line 317 of file X86DisassemblerDecoder.h.
#define REGS_MMX |
Definition at line 205 of file X86DisassemblerDecoder.h.
#define REGS_SEGMENT |
#define REGS_TMM |
Definition at line 378 of file X86DisassemblerDecoder.h.
#define REGS_XMM |
Definition at line 215 of file X86DisassemblerDecoder.h.
#define REGS_YMM |
Definition at line 249 of file X86DisassemblerDecoder.h.
#define REGS_ZMM |
Definition at line 283 of file X86DisassemblerDecoder.h.
#define rFromEVEX2of4 | ( | evex | ) | (((~(evex)) & 0x80) >> 7) |
Definition at line 36 of file X86DisassemblerDecoder.h.
#define rFromREX | ( | rex | ) | (((rex) & 0x4) >> 2) |
Definition at line 32 of file X86DisassemblerDecoder.h.
#define rFromVEX2of2 | ( | vex | ) | (((~(vex)) & 0x80) >> 7) |
Definition at line 60 of file X86DisassemblerDecoder.h.
#define rFromVEX2of3 | ( | vex | ) | (((~(vex)) & 0x80) >> 7) |
Definition at line 51 of file X86DisassemblerDecoder.h.
#define rFromXOP2of3 | ( | xop | ) | (((~(xop)) & 0x80) >> 7) |
Definition at line 65 of file X86DisassemblerDecoder.h.
#define rmFromModRM | ( | modRM | ) | ((modRM) & 0x7) |
Definition at line 27 of file X86DisassemblerDecoder.h.
#define scaleFromSIB | ( | sib | ) | (((sib) & 0xc0) >> 6) |
Definition at line 28 of file X86DisassemblerDecoder.h.
#define v2FromEVEX4of4 | ( | evex | ) | (((~evex) & 0x8) >> 3) |
Definition at line 48 of file X86DisassemblerDecoder.h.
#define vvvvFromEVEX3of4 | ( | evex | ) | (((~(evex)) & 0x78) >> 3) |
Definition at line 42 of file X86DisassemblerDecoder.h.
#define vvvvFromVEX2of2 | ( | vex | ) | (((~(vex)) & 0x78) >> 3) |
Definition at line 61 of file X86DisassemblerDecoder.h.
#define vvvvFromVEX3of3 | ( | vex | ) | (((~(vex)) & 0x78) >> 3) |
Definition at line 56 of file X86DisassemblerDecoder.h.
#define vvvvFromXOP3of3 | ( | vex | ) | (((~(vex)) & 0x78) >> 3) |
Definition at line 70 of file X86DisassemblerDecoder.h.
#define wFromEVEX3of4 | ( | evex | ) | (((evex) & 0x80) >> 7) |
Definition at line 41 of file X86DisassemblerDecoder.h.
#define wFromREX | ( | rex | ) | (((rex) & 0x8) >> 3) |
Definition at line 31 of file X86DisassemblerDecoder.h.
#define wFromVEX3of3 | ( | vex | ) | (((vex) & 0x80) >> 7) |
Definition at line 55 of file X86DisassemblerDecoder.h.
#define wFromXOP3of3 | ( | xop | ) | (((xop) & 0x80) >> 7) |
Definition at line 69 of file X86DisassemblerDecoder.h.
#define xFromEVEX2of4 | ( | evex | ) | (((~(evex)) & 0x40) >> 6) |
Definition at line 37 of file X86DisassemblerDecoder.h.
#define xFromREX | ( | rex | ) | (((rex) & 0x2) >> 1) |
Definition at line 33 of file X86DisassemblerDecoder.h.
#define xFromVEX2of3 | ( | vex | ) | (((~(vex)) & 0x40) >> 6) |
Definition at line 52 of file X86DisassemblerDecoder.h.
#define xFromXOP2of3 | ( | xop | ) | (((~(xop)) & 0x40) >> 6) |
Definition at line 66 of file X86DisassemblerDecoder.h.
#define zFromEVEX4of4 | ( | evex | ) | (((evex) & 0x80) >> 7) |
Definition at line 44 of file X86DisassemblerDecoder.h.