aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-02intel keylocker instructions that access memory have memory access sizesiximeow
2021-07-02fix several strict rejection for severaliximeow
2021-07-02consolidate length/extension checks to help compilers DCEiximeow
2021-07-02`Nothing` operand code must be decoded with operand_count=0iximeow
2021-07-01fix warningsiximeow
2021-07-01[DROP] fix up tests to match newer operand width interfacesiximeow
2021-07-01reorder prefix checksiximeow
this measures a bit faster. it doesn't seem like it should be. the rex prefix checks compile identically but move a lea for a later expression up and pipelines better?
2021-07-01reallocate OperandCode, convert disparate registers to arrayiximeow
also remove redundant assignments of operand_count and some OperandSpec, bulk-assign all registers and operands on entry to `read_instr`. this all, taken together, shaves off about 7 cycles per decode.
2021-07-01making opcode u32 reduces a stall?iximeow
2021-07-01complete yaxpeax-arch 0.1.0 adaptation, shore up .mem_size()iximeow
2021-07-01update yaxpeax-x86 to yaxpeax-arch 0.1.0 interfacesiximeow
2021-06-29fix several lingering mem_size discrepanciesiximeow
2021-06-28remove old movsx/movzx-related memory size hacksiximeow
2021-06-28remove unused evex variants from generated codeiximeow
2021-06-28clean up protected mode vex-related warningsiximeow
2021-06-28remove a few operand casesiximeow
vex decoding is really intended to avoid explosions in code size more than anything...
2021-06-28round out x86_32 support - avx2, avx, memory sizesiximeow
2021-06-28protected mode memory sizesiximeow
also some long-mode cleanup in corresponding areas
2021-06-27protected-mode avx512iximeow
2021-06-27remove support for nonexistent prefixesiximeow
2021-06-27add randomized testing against incorrect data in reused instructionsiximeow
2021-06-27PartialEq impls for data in instructiosn, and Instruction itselfiximeow
2021-06-27all tests now passing for long modeiximeow
2021-06-27report memory sizes for all long-mode instructionsiximeow
2021-06-26awkwardiximeow
i really didnt know rust could do this
2021-06-26clean up avx2-related warningsiximeow
2021-06-26add long-mode avx512 support, except for compressed displacementsiximeow
2021-06-12finish up long mode avx2iximeow
2021-06-11add extensive avx and initial avx2 tests, fix several bugs and missing ↵iximeow
instructions
2021-06-11remove vex ops file, didnt mean to track that in the first placeiximeow
2021-05-31fix typoiximeow
2021-05-16fix ShowContextual rendering error with stale data and operands, publish 0.2.20.2.2iximeow
2021-05-070.2.10.2.1iximeow
2021-05-07remove dead OperandSpec variantsiximeow
2021-05-07update yaxpeax-arch to 0.0.5, fix interface breakagesiximeow
2021-05-06forward display style choices to ffi interfaceiximeow
2021-05-06remove unneeded termion depiximeow
2021-03-23bump to 0.2.0 and write a changelog0.2.0iximeow
2021-03-22and clean up some warningsiximeow
2021-03-22port long-mode ffi to protected-modeiximeow
2021-03-22port long-mode decoder updates to protected-modeiximeow
2021-03-21update protected mode tests (this breaks them horribly. next commit will fix.)iximeow
2021-03-21remove some forgotten println commentsiximeow
2021-03-21include memory sizes on inc/dec in C formatiximeow
2021-03-21make Opcode, Operand, and DecodeError non_exhaustiveiximeow
in the future these can and will change (new operands, new instructions) and i would prefer they not be major breaking changes. applications can ignore them and probably do undesired variants anyway. if you want to write a 1120-variant match, are you me? why would you do this
2021-03-21in real programs, having read_operands inlined hurts performance!iximeow
the in-repo benchmark got better with this inlined but it's probably better to leave it up to the compiler when finally stitching stuff together. i suspect that having read_operands inlined resulted in just too many live values, and the compiler was inspired to play hijinks that pipelined poorly. disas-bench shows a ~15% improvement from this change.
2021-03-21fuzzing shows resetting operands is not beneficialiximeow
2021-03-21fix potential successful decodes with Opcode::Invalidiximeow
vmov* are.. somehow messed up too
2021-03-21add tsxldtrkiximeow
does intel know no bounds
2021-03-21xed says setssbsy and saveprevssp are more permissiveiximeow