aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG
AgeCommit message (Collapse)Author
22 hoursadd DisplayRules, docs, doc tests, ..iximeow
this includes `trait DisplayRules` as a generic mechanism to control parts of instruction printing, a `DefaultRules` for the existing formatting style, and `AbsoluteAddressFormatter` to print instructions as at some location in an address space.
22 hoursfix some forms of lss/lfs/lgs having incorrectly-small memory sizesiximeow
22 hoursprotected/real mode lfs/lgs/lssiximeow
22 hourspextr*/pinsr*/insertps/extrps immediate is now u8 instead of i8iximeow
22 hoursfix seam, user-ipi, {rd,wr}{fs,gs}base instructions decoding outside 64b modeiximeow
22 hoursfix vgatherdpd using incorrect simd vector width for gather indicesiximeow
22 hoursfix vpbroadcast* memory size and source register bankiximeow
22 hoursadd MASM-style formatting support in all modesiximeow
this includes a mildly nightmarish bit of test harness to compare against ml.exe/ml64.exe/dumpbin.exe, which in turn chased out a bunch of bugs. yay!
2026-06-2164-bit: vex-prefix register extension..iximeow
2026-06-21fix several instructions' incorrect memory or op2 sizeiximeow
2026-06-21rename rne-sae to rn-saeiximeow
2026-06-21fix mnemonics for prefetcht*iximeow
2026-06-21Make invalid instruction constructors actually return invalid instructionsSamuel Arnold
As opposed to nops.
2026-05-26fix jrcxz/jecxz/jcxz having "two operands"iximeow
2026-05-252.1.0 is real!iximeow
2026-05-25reject arpl in 16-bit decodingiximeow
2026-05-25reword changelogiximeow
2026-05-25and some prefix helpers should be pubiximeow
2026-05-25j*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.
2026-05-25add 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.
2026-05-25gpr register size in real/protected modeiximeow
2026-05-25disallow 66-prefixed sha1rnds4iximeow
2026-05-25pusha/popa/push-imm memory sizesiximeow
2026-05-25working through a bunch of avx512 stuff, regspec constructors are constiximeow
2026-05-25pextr*/extractpsiximeow
2026-05-25feature guard for key lockeriximeow
2026-05-25invept precisioniximeow
2026-05-25more precision for vinsert/vextract/vblendv{ps,pd}iximeow
2026-05-25vmaskmovdqu, vmovq were also incorrect in some ways...iximeow
2026-05-25more general avx improvementsiximeow
2026-05-25cleanup pass on vex-encoded instructions is going to be excitingiximeow
2026-05-25report memory access size for "monitor"iximeow
2026-05-25maskmov{q,dqu} memory access sizeiximeow
2026-05-25more precise about 0f0d prefetch/nopiximeow
2026-05-25fix 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!
2026-05-25more accurate mov seg-to-gpr operand sizeiximeow
2026-05-25pushf, 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