Module scalar

Scalar intrinsics for Hexagon DSP operations Hexagon scalar intrinsics

This module provides intrinsics for scalar (non-HVX) Hexagon DSP operations, including arithmetic, multiply, shift, saturate, compare, and floating-point operations.

Hexagon V68 Programmer's Reference Manual

Naming Convention

Function names preserve the original Q6 naming case because the convention uses case to distinguish register types:

For example, Q6_P_and_PP operates on 64-bit pairs while Q6_p_and_pp operates on predicate registers.

Architecture Versions

Most scalar intrinsics are available on all Hexagon architectures. Some intrinsics require specific architecture versions (v60, v62, v65, v66, v67, v68, or v67+audio) and carry #[target_feature(enable = "v68")] (or the appropriate version). Enable these with -C target-feature=+v68 or by setting the target CPU via -C target-cpu=hexagonv68.

Each version includes all features from previous versions.

Functions