You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Other
Have the hexdump example read diagnostics through the accessors
Cut the public API down to the surface that is actually supported
keep the vector operand types out of the public API
Document the ARM vector instructions and how their table is derived
Merge master into the ARM vector work
corpora and tests for the vector instructions
fuzz the vector instructions, and what that turned up
the NEON structure loads and stores
the VFP and NEON data-processing instructions
corpora and tests for the rest of the instruction set
fuzz both instruction sets against GNU as and llvm-mc
the user-mode and exception-return block transfers
the Thumb-2 forms, ldrd/strd, the preloads, cbz and banked msr
derive the instruction table from GNU's own
Merge the x86 AVX-512 subsets, VEX extensions and AVX10
Merge the 680x0 FPU, MMU and ColdFire instruction sets
keep the new tables and CPU model out of the crate's public API
Merge master: the Intel 8051 backend and PowerPC's vector instructions
note the ColdFire check in generic's module docs
the rest of the 680x0 family
check the hand-written encoders' output against GNU's ColdFire forms
m68k fuzzer: vasm mode with GNU as as tie-breaker; READMEs for the fuzzer and xas-diff keys
tests for the FPU, MMU, CPU models, float formats, e_flags and relaxation
keep FPU and MMU addresses absolute, as the integer instructions do
e_flags as GNU as writes them, PC-relative stand-ins only within a section, .arch in multiarch-diff
hand-written corpora for the FPU, MMU, relaxation and .arch
corpora covering every form of GNU's table, one key per CPU model
fuzz against GNU as; emulate far DBcc, jump to numbers, ColdFire index rules
generate GNU's opcode table and encode the rest of the 680x0 family from it
Changed
The public API is now a small, documented surface: Assembler and the
methods that drive it, Options and its with_* builders, output::Format
and the writers' build, arch::lookup with the Architecture trait, section::SectionId, the diagnostics types and lexer::Dialect. The
backends, the lexer internals, the expression arena, the interner, the
parser, the macro engine, the layout and the relocation classes are no
longer reachable, or are marked Not API. and hidden from the docs.
Options is #[non_exhaustive] and its fields are private; build it with Options::new() and with_relocatable, with_base_addr, with_include_path, with_dialect, with_syntax, with_dwarf_version, with_debug_source and with_format, and read it back with the matching
getters.
The public enums and structs that will keep growing are #[non_exhaustive],
so matching on Format, Dialect, SectionKind, Severity and the rest
needs a wildcard arm outside the crate.