| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-02-14 | fair enough on those warnings | iximeow | |
| 2026-02-14 | type aliases make some of these signatures less egregious.. | iximeow | |
| 2025-06-01 | 3dnow was still supported on K8, K10. 32-bit mode should learn about uarch ↵ | iximeow | |
| tweaks too | |||
| 2025-06-01 | describe the per-isa extensions a bit better | iximeow | |
| 2025-06-01 | revise_instruction is the same on all bitnesses, so macro it too | iximeow | |
| 2025-06-01 | DecodeEverything wasn't useful, no better than InstDecoder::default()?? | iximeow | |
| 2025-06-01 | cpu feature bits are the same across 64/32/16-bit | iximeow | |
| 2025-06-01 | expand isa feature selection to more bits | iximeow | |
| this is backed by the new IsaSettings trait. the existing InstDecoders are unchanged, except that they implement this new trait. also add new `DecodeEverything` structs with `IsaSettings` impls that are unconditionally set to permit anything the decoder can be configured to conditionally accept or reject. in the process, add new `_3dnow` flag and stop accepting 3dnow instructions in uarch-specific decoder settings that would not have 3dnow instructions. update AMD microarchitectures and cross-ref chip directory | |||
| 2024-06-24 | document one more stray unsafe | iximeow | |
| 2024-06-24 | justify the current max instruction length | iximeow | |
| this is also checked by a new fuzz target | |||
| 2024-06-24 | consistently enter register/number/opcode spans | iximeow | |
| 2024-06-24 | rename most operand variants, make them structy rather than tupley | iximeow | |
| 2024-06-23 | remove selects_cs(), cs() now does the right thing | iximeow | |
| 2024-06-23 | fix several sources of dead code warnings in various crate configs | iximeow | |
| 2024-06-23 | remove yaxpeax-x86 safer_unchecked.rs, it is now in yaxpeax-arch | iximeow | |
| 2024-06-23 | cfg_attr wants feature, not features plural | iximeow | |
| 2024-06-23 | last vestiges of initial perf experiments | iximeow | |
| 2024-06-23 | another fuzz bug | iximeow | |
| 2024-06-23 | fuzz caught negation bug | iximeow | |
| 2024-06-23 | InstructionTextBuffer for all three modes, adjust fuzzer to match | iximeow | |
| 2024-06-23 | add additional `call` test cases | iximeow | |
| fix 32-bit 66-prefixed ff /2 call not having 16-bit operands fix momentary regression in rendering `call` instructions to string | |||
| 2024-06-23 | forward long deprecation allowances as appropriate | iximeow | |
| 2024-06-23 | normalize imports, pull safer_unchecked from yaxpeax-arch | iximeow | |
| 2024-06-23 | fix inlining attributes re. profiling flag in protected_mode | iximeow | |
| 2024-06-23 | adapt the rest of formating changes to protected_mode | iximeow | |
| 2024-06-23 | fix AbsoluteFarAddress being tagged as a memory operand | iximeow | |
| 2024-06-23 | adapt OperandVisitor to protected mode too | iximeow | |
| 2024-06-23 | actually use new can_lock in 32b and 16b modes | iximeow | |
| 2024-06-23 | actually use new can_rep in 32b and 16b modes | iximeow | |
| 2024-06-23 | port opcode helpers and reordering to 32-bit and 16-bit decoders | iximeow | |
| 2024-06-23 | add more conditional inlining for 32-bit and 16-bit decoders | iximeow | |
| 2024-04-02 | display opt: mem size labels and minor segment reporting changes | iximeow | |
| for mem size labels: add one new "BUG" entry at the start of the array so `mem_size` does not need to be adjusted before being used to look up a string from the `MEM_SIZE_STRINGS` array. it's hard to measure the direct benefit of this, but it shrinks codegen size by a bit and simplfies a bit of assembly.... for segment reporting changes: stos/scas/lods do not actually need special segment override logic. instead, set their use of `es` when decoded, if appropriate. this is potentially ambiguous; in non-64bit modes the sequence `26aa` would decode as `stos` with explicit `es` prefix. this is now identical to simply decoding `aa`, which now also reports that there is an explicit `es` prefix even though there is no prefix on tne instruction. on the other hand, the prefix-reported segment now more accurately describes the memory selector through which memory accesses will happen. seems ok? | |||
| 2023-12-16 | fix hreset being disassembled as having second operand of "Nothing" | iximeow | |
| just report it having one operand... | |||
| 2023-07-24 | fix handling of lar/lsl source register | iximeow | |
| 2023-07-23 | fix inconsistently-poreted memory access size of vcvt{,t}{sd,si} | iximeow | |
| 2023-07-23 | fix + better test cvttsd2si+cvtsd2si (misdecode under 64-bit) | iximeow | |
| 2023-07-16 | fix indentation | iximeow | |
| 2023-07-16 | unify 64-/32-bit more | iximeow | |
| 2023-07-16 | forward changes along to 32-bit decoder... | iximeow | |
| 2023-03-05 | add `Opcode::is_jcc`, `Opcode::is_setcc`, and `Opcode::is_cmovcc` helpers | iximeow | |
| this request/suggestion comes from [github](https://github.com/iximeow/yaxpeax-x86/issues/29)! thank you! | |||
| 2023-02-19 | deprecate `pub fn cs`, which is an intensely embarrassing bug of a function | iximeow | |
| 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-03 | roll up decoding loop changes for 16-bit and 32-bit decoders | iximeow | |
| this applies * f338c74656f6eef8b3080fa9f249b1cb733fd1a9 * bece19e6a69b158893abbf56a6cac25eb25d9a32 * 6353f58170d28a142e3b012c2c86f684d50dea45 * 67be1c0983244645a3c762b7aa0601f0d0ba4bb3 * 091f1d66ef853d6339a96e43d71c137ee7d3907a as one unit to both the 16-bit and 32-bit decoders. | |||
| 2022-12-03 | apply e7f49509 to 16-bit and 32-bit decoders | iximeow | |
| 2022-12-03 | apply 2444de11 to 16-bit and 32-bit decoders | iximeow | |
| these don't need the extra `rex`-supporting index space, so they don't have it. | |||
| 2022-09-23 | Fix some typos. | Bruce Mitchener | |
| 2022-04-30 | support 0x9a callf in 16/32-bit modes | iximeow | |
| 2022-04-24 | fix a few issues preventing no-std builds from ... building | iximeow | |
| 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-12 | fuzz DisplayStyle::C and fix corresponding issues1.1.4 | iximeow | |
| 2022-01-02 | Wrap unsafe functions to catch errors in debug | 5225225 | |
| Closes https://github.com/iximeow/yaxpeax-x86/issues/16 | |||
| 2021-12-19 | fix incorrect memory size for f30f1e-style nop | iximeow | |
| not only did the instruction have wrong data, but if displayed, the formatter would panic. | |||
