aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
AgeCommit message (Collapse)Author
2020-01-12support imul, >2 operands, and 4-bit register bankiximeow
2020-01-12clear operands when decoding instruction, fix length countsiximeow
operand-clearing should be removable but is a stopgap for decoding only clearing a few entries
2020-01-12update x86 to revised decoder traitiximeow
2020-01-12most non-avx (really, non-vex) instructionsiximeow
2020-01-12even more squeezeiximeow
2020-01-12more squeezing!!iximeow
2020-01-12doubly love speculationiximeow
2020-01-12wtf i love speculationiximeow
2020-01-12TEMP remove length trackingiximeow
2020-01-12distinct prefixes argument not necessaryiximeow
2020-01-12evil bit hacks to shrink read_operands downiximeow
2020-01-12normalize displacement-containing operands a little moreiximeow
2020-01-12reduce argument counts, try to reduce memory pressureiximeow
also remove several bounds checks, surprisingly ineffective
2020-01-12that terrifying code is no longer an improvementiximeow
2020-01-12make Instruction smalleriximeow
this breaks all of how Operand are used, but its faster, so its impossible to say,
2020-01-12make Prefixes Copy to try reducing pressure? it kind of worked?iximeow
2020-01-12move jbs operand code up for improved speculationiximeow
2020-01-12shrink read_operands down from 53kb to ~35kbiximeow
2020-01-12check errors across the boardiximeow
2020-01-12try to get a handle on read_operands sizeiximeow
explicitly number some OperandCode so their variants can be reused, factor out other code which turns out to be helpful for code size and performance reasons. reorder some arguments for read_E/read_M because it seems to have made a small improvement.
2020-01-12small changes to prepare for Big Changesiximeow
2020-01-12now thats dangerousiximeow
2020-01-12lar has a 16-byte second operand, unconditionallyiximeow
2020-01-12decode shift-by-cl and fix error decoding sign-extending operandsiximeow
2020-01-12add more regspec helpers, some allcaps to lowercaseiximeow
2020-01-12rsp and rbp constructors used wrong register bankiximeow
2020-01-12first brush of Many operand use, for 3-arg imuliximeow
2020-01-12warnings-b-goneiximeow
2020-01-12Operand are now PartialEqiximeow
2020-01-12extend prefixed opcode support, add tests for alternate opcode mapsiximeow
2020-01-12last tweaksiximeow
2020-01-12many more optimizationsiximeow
opcode data tables made consistent. apologies for the mem::transmutes, that's to avoid an extra load and strongly guide the compiler towards doing a u16 load. also fix issue where byte iter was a ref to a ref, and other small changes.
2020-01-12table-driven decodesiximeow
2020-01-12change around how bytes map to instructions. not sure if this will stay yet...iximeow
2020-01-12nicer defaults, noticable perf helpiximeow
2020-01-12more smallerizing, but this seems to have a perf impactiximeow
2020-01-12even MORE smalleriximeow
2020-01-12more smallering!iximeow
2020-01-12smallerify codeiximeow
2020-01-12these types SHOULD be representable with one byteiximeow
2020-01-12remove unused operand variantiximeow
2020-01-12just use the prefixes struct on Instructioniximeow
2020-01-12begone, warningsiximeow
2020-01-12"support" a few 0f01 instructionsiximeow
2020-01-12add more x86 instructions (bt, btr, bts, bsf, ...) and xaddiximeow
2020-01-12add failing decode test casesiximeow
2020-01-12add a bunch of decode errors as test casesiximeow
2020-01-12begin supporting f30f instructionsiximeow
fix issue where non-relevant prefixes on 0f opcodes may cause incorrect invalid decodes
2020-01-12initial support for xmm instructionsiximeow
2020-01-12make segment check functions actually usableiximeow