core/stdarch/crates/core_arch/src/hexagon/mod.rs
1//! Hexagon architecture intrinsics
2//!
3//! This module contains intrinsics for the Qualcomm Hexagon DSP architecture,
4//! including scalar operations and the Hexagon Vector Extensions (HVX).
5//!
6//! ## Scalar Intrinsics
7//!
8//! The [`scalar`] module provides intrinsics for scalar DSP operations including
9//! arithmetic, multiply, shift, saturate, compare, and floating-point operations.
10//!
11//! ## HVX Vector Intrinsics
12//!
13//! HVX is a wide SIMD architecture designed for high-performance signal processing,
14//! machine learning, and image processing workloads.
15//!
16//! HVX supports two vector length modes:
17//! - 64-byte mode (512-bit vectors): Use the [`v64`] module
18//! - 128-byte mode (1024-bit vectors): Use the [`v128`] module
19//!
20//! Both modules are available unconditionally, but require the appropriate
21//! target features to actually use the intrinsics:
22//! - For 64-byte mode: `-C target-feature=+hvx-length64b`
23//! - For 128-byte mode: `-C target-feature=+hvx-length128b`
24//!
25//! Note that HVX v66 and later default to 128-byte mode, while earlier versions
26//! (v60-v65) default to 64-byte mode.
27
28/// Scalar intrinsics for Hexagon DSP operations
29#[unstable(feature = "stdarch_hexagon", issue = "151523")]
30pub mod scalar;
31
32/// HVX intrinsics for 64-byte vector mode (512-bit vectors)
33#[unstable(feature = "stdarch_hexagon", issue = "151523")]
34pub mod v64;
35
36/// HVX intrinsics for 128-byte vector mode (1024-bit vectors)
37#[unstable(feature = "stdarch_hexagon", issue = "151523")]
38pub mod v128;