aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG
AgeCommit message (Collapse)Author
17 hoursfix jrcxz/jecxz/jcxz having "two operands"iximeow
38 hours2.1.0 is real!iximeow
39 hoursreject arpl in 16-bit decodingiximeow
39 hoursreword changelogiximeow
39 hoursand some prefix helpers should be pubiximeow
39 hoursj*cxz/pusha/popa alternate size formsiximeow
these all existed since forever but the library did not distinguish them and did not provide prefix information for users to tell which had been decoded.
2 daysadd behavior information for x86_64 instructionsiximeow
this is a squash of a few months' hacking, including but not limited to what eventually got extracted into https://git.iximeow.net/asmlinator/about/ the path here is generally not historically interesting, and the vast majority of this diff is very particular static data tables (BehaviorDigests and implicit operand lists) `src/long_mode/behavior.rs` will more or less be directly adapted into versions for x86-32 and x86-16, similar to the instruction decoders.
2 daysgpr register size in real/protected modeiximeow
2 daysdisallow 66-prefixed sha1rnds4iximeow
2 dayspusha/popa/push-imm memory sizesiximeow
2 daysworking through a bunch of avx512 stuff, regspec constructors are constiximeow
2 dayspextr*/extractpsiximeow
2 daysfeature guard for key lockeriximeow
2 daysinvept precisioniximeow
2 daysmore precision for vinsert/vextract/vblendv{ps,pd}iximeow
2 daysvmaskmovdqu, vmovq were also incorrect in some ways...iximeow
2 daysmore general avx improvementsiximeow
2 dayscleanup pass on vex-encoded instructions is going to be excitingiximeow
2 daysreport memory access size for "monitor"iximeow
2 daysmaskmov{q,dqu} memory access sizeiximeow
2 daysmore precise about 0f0d prefetch/nopiximeow
2 daysfix table management instructions' ({l,s}{g,i,l}dt) mem_sizeiximeow
these instructions, it turns out, have fixed operand size based on CPU execution mode and regardless of prefixes. good to know!
2 daysmore accurate mov seg-to-gpr operand sizeiximeow
2 dayspushf, popf, enter, leave, xlat all have implicit memory accessiximeow
also add "is_masked" to operand spec
2026-02-22correct push-immediate memory access sizeiximeow
2025-06-02changelog should note ISA extension changesiximeow
2024-06-24rename most operand variants, make them structy rather than tupleyiximeow
2024-06-23note yaxpeax-arch version bump in changelogiximeow
2024-06-23add additional `call` test casesiximeow
fix 32-bit 66-prefixed ff /2 call not having 16-bit operands fix momentary regression in rendering `call` instructions to string
2023-12-16fix hreset being disassembled as having second operand of "Nothing"iximeow
just report it having one operand...
2023-12-16fix incorrect register class names in long_mode1.2.1iximeow
also adjust changelog for a 1.2.1 version again, no new interfaces to go with these bugfixes.
2023-12-16fix incorrect register selection for `vpbroadcastm{b2q,w2d}` with `rex.b` setiximeow
2023-12-16fix incorrect register selection for `vpmov*2m` with `rex.r` setiximeow
2023-12-16fix incorrect register selection for `vpmovm2*` with `rex.b` setiximeow
2023-12-16abnormal memory sizes for keylocker instructions are not bugsiximeow
new `does_not_decode_invalid_registers` fuzzer found other bugs! the 384-bit accesses for 128b keylocker instructions are an otherwise-unknown size and had a memory size of `BUG`. they are not bugs. give the memory size a real name.
2023-12-16reword new changelog entriesiximeow
2023-12-15update changelog, bump version number for future publishiximeow
2023-07-241.2.0iximeow
2023-07-24fix handling of lar/lsl source registeriximeow
2023-07-23fix inconsistently-poreted memory access size of vcvt{,t}{sd,si}iximeow
2023-07-23fix + better test cvttsd2si+cvtsd2si (misdecode under 64-bit)iximeow
2023-07-16forward changes along to 32-bit decoder...iximeow
2023-07-08fix v(p)gather situations, get vex tests passing againiximeow
2023-07-04fix some dancing between bank size and RegisterBank enum valuesiximeow
in the process, fixed a decoding bug dealing with a0/a1/a2/a3 movs (respected rex.b when rex.b should have been ignored) this seems to maybe improve runtime ever so slightly, but this is really meant as a cleanup commit more than anything.
2023-03-05add `Opcode::is_jcc`, `Opcode::is_setcc`, and `Opcode::is_cmovcc` helpersiximeow
this request/suggestion comes from [github](https://github.com/iximeow/yaxpeax-x86/issues/29)! thank you!
2023-02-19deprecate `pub fn cs`, which is an intensely embarrassing bug of a functioniximeow
unlike every other function to test if a particular selector is picked by prefixes, `Prefixes::cs` does not return bool, nor does it check the currently-selected prefix. instead, it modifies the decoded `Prefixes` to set the current prefix to `cs`. this has been a bug all the way since 0.0.1 was released. the function now does nothing, and is marked deprecated. in a future 2.x release, the function will be changed to return `bool` and be in-line with other segment selector-checking functions. in the mean time, a new `Prefixes::selects_cs()` does the correct thing. thank you to @meithecatte who pointed this out in https://github.com/iximeow/yaxpeax-x86/issues/28!
2022-12-24update old yaxpeax-arch versions in ffi crates to compatible versionsiximeow
2022-12-03include typo fixes in the changelog!iximeow
2022-12-03describe optimizations included in 1.1.5iximeow
2022-04-30support 0x9a callf in 16/32-bit modesiximeow