aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG
AgeCommit message (Collapse)Author
8 hoursadd 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.
10 hoursgpr register size in real/protected modeiximeow
11 hoursdisallow 66-prefixed sha1rnds4iximeow
11 hourspusha/popa/push-imm memory sizesiximeow
11 hoursworking through a bunch of avx512 stuff, regspec constructors are constiximeow
11 hourspextr*/extractpsiximeow
11 hoursfeature guard for key lockeriximeow
11 hoursinvept precisioniximeow
11 hoursmore precision for vinsert/vextract/vblendv{ps,pd}iximeow
11 hoursvmaskmovdqu, vmovq were also incorrect in some ways...iximeow
12 hoursmore general avx improvementsiximeow
12 hourscleanup pass on vex-encoded instructions is going to be excitingiximeow
12 hoursreport memory access size for "monitor"iximeow
12 hoursmaskmov{q,dqu} memory access sizeiximeow
12 hoursmore precise about 0f0d prefetch/nopiximeow
12 hoursfix 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!
12 hoursmore accurate mov seg-to-gpr operand sizeiximeow
12 hourspushf, 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
2022-04-24fix a few issues preventing no-std builds from ... buildingiximeow
this includes a `Makefile` that exercises the various crate configs. most annoyingly, several doc comments needed to grow `#[cfg(feature="fmt")]` blocks so docs continue to build with that feature enabled or disabled. carved out a way to run exhaustive tests; they should be written as `#[ignore]`, and then the makefile will run even ignored tests on the expectation that this will run the exhaustive (but slower) suite. exhaustive tests are not yet written. they'll probably involve spanning 4 byte sequences from 0 to 2^32-1.
2022-01-12fuzz DisplayStyle::C and fix corresponding issues1.1.4iximeow
2022-01-02update changelogiximeow
2022-01-02actually include a linkiximeow
2021-12-19prep for 1.1.3 releaseiximeow
actual release is being held until cargo fuzz runs a while without a panic
2021-12-19add in-tree cargo fuzz targets for decode and display implsiximeow