aarchmrs-instructions 0.4.0-2026-06

AARCHMRS-generated ARM instructions functions
Documentation
/* Copyright (c) 2010-2026 Arm Limited or its affiliates. All rights reserved.
 *
 * This document is Non-confidential and licensed under the BSD 3-clause license.
 */

/*!*
# AARCHMRS dataset as Rust code

This Rust library provides functionality for synthesizing ARM64 instruction
encodings. It was derived from the Arm Limited's [AARCHMRS
dataset](https://developer.arm.com/Architectures/A-Profile%20Architecture#Downloads).

The crate's module structure follows the dataset tree structure. For each
instruction variant described in the dataset, a corresponding Rust function is
generated.

The source code of this crate is generated by tools at the same repository at
<https://github.com/monoid/harm>.

As with the original dataset, this code is licensed under BSD-3-Clause license.

## Features

As of 2025-06, the dataset contains descriptions for A64, A32 and T32 instructions sets.
They are guarded by respective feature flags (`A64`, `A32` and `T32`), and `a64` is default.
The `meta` flag generates additional information for each instructions.

## Regenerating dataset

To regenerate the code, use the `aarchmrs-generate` binary. The dataset URL and
MD5 checksum are pinned in the `aarchmrs-gen` crate.

```shell
cargo run -p aarchmrs-generate -- \
    --doc-file ./aarchmrs-instructions/README.md \
    ./aarchmrs-instructions/src
```

Please, run `cargo fmt` afterwards.

*/
#![no_std]
#![forbid(unsafe_code)]
#![allow(
    non_snake_case,
    non_camel_case_types,
    clippy::identity_op,
    clippy::too_many_arguments,
    clippy::module_inception
)]
#[cfg(feature = "A32")]
pub mod A32;
#[cfg(feature = "A64")]
pub mod A64;
#[cfg(feature = "T32")]
pub mod T32;