Skip to main content

asmkit/aarch64/
mod.rs

1#![allow(non_upper_case_globals)]
2#[doc(hidden)]
3pub(crate) mod arch_traits;
4pub mod assembler;
5// These modules mechanically preserve AsmJit's encoding arithmetic and tables.
6#[allow(
7    clippy::collapsible_if,
8    clippy::get_first,
9    clippy::manual_range_contains,
10    clippy::needless_late_init,
11    clippy::unnecessary_cast
12)]
13pub(crate) mod emit;
14#[doc(hidden)]
15mod emitter;
16#[allow(
17    clippy::identity_op,
18    clippy::needless_return,
19    clippy::too_many_arguments,
20    clippy::unnecessary_cast
21)]
22pub(crate) mod encoder;
23pub(crate) mod encoder_tables;
24pub(crate) mod instapi;
25#[allow(
26    dead_code,
27    clippy::missing_transmute_annotations,
28    clippy::too_many_arguments,
29    clippy::unnecessary_cast,
30    clippy::upper_case_acronyms
31)]
32pub(crate) mod instdb;
33pub mod operands;
34pub(crate) mod rwflags;
35
36pub use crate::core::operand::imm;
37pub use assembler::*;
38#[cfg(test)]
39pub(crate) use emit::CPU_FEATURE_REPRESENTATIVE;
40#[cfg(test)]
41pub(crate) use emit::INST_FEATURE_MASKS;
42pub use emit::{ALL_CPU_FEATURES, CPU_FEATURE_COUNT, CPU_FEATURE_NAMES, CpuFeature};
43pub use emitter::*;
44pub use instapi::query_rw_info;
45pub use instdb::InstId;
46pub use operands::*;
47
48/// Unstable validation tooling; this is not a stable instruction-encoding API.
49#[cfg(feature = "validation")]
50#[doc(hidden)]
51pub mod coverage {
52    pub use super::instdb::{Encoding, INST_INFO_TABLE};
53}