You copied the Doc URL to your clipboard.

--cpu=name

Enables code generation for the selected Arm® processor or architecture.

If you do not include the --cpu option, armlink derives an architecture from the combination of the input objects.

If you include --cpu=name, armlink:

  • Faults any input object that is not compatible with the cpu.
  • For library selection, acts as if at least one input object is compiled with --cpu=name.

Note

You cannot specify Armv8.4-A targets on the armlink command-line. To link for Armv8.4-A targets, you must not specify the --cpu option when invoking armlink directly.

Syntax

--cpu=name

Where name is the name of a processor or architecture:

Processor and architecture names are not case-sensitive.

Wildcard characters are not accepted.

The following table shows the supported architectures. For a complete list of the supported architecture and processor names, specify the --cpu=list option.

Table 11-1 Supported Arm architectures

Architecture name Description
6-M

Armv6 architecture microcontroller profile.

6S-M

Armv6 architecture microcontroller profile with OS extensions.

7-A Armv7 architecture application profile.
7-A.security Armv7‑A architecture profile with Security Extensions and includes the SMC instruction (formerly SMI).

7-R

Armv7 architecture real-time profile.

7-M Armv7 architecture microcontroller profile.
7E-M Armv7‑M architecture profile with DSP extension.
8-A.32 Armv8‑A architecture profile, AArch32 state.
8-A.32.crypto Armv8‑A architecture profile, AArch32 state with cryptographic instructions.
8-A.64 Armv8‑A architecture profile, AArch64 state.
8-A.64.crypto Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.1-A.32

Armv8.1, for Armv8‑A architecture profile, AArch32 state.

8.1-A.32.crypto

Armv8.1, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions.

8.1-A.64

Armv8.1, for Armv8‑A architecture profile, AArch64 state.

8.1-A.64.crypto

Armv8.1, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.2-A.32

Armv8.2, for Armv8‑A architecture profile, AArch32 state.

8.2-A.32.crypto

Armv8.2, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions.

8.2-A.32.crypto.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions and the VSDOT and VUDOT instructions.

8.2-A.32.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch32 state with the VSDOT and VUDOT instructions.

8.2-A.64

Armv8.2, for Armv8‑A architecture profile, AArch64 state.

8.2-A.64.crypto

Armv8.2, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.2-A.64.crypto.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions and the SDOT and UDOT instructions.

8.2-A.64.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch64 state with the SDOT and UDOT instructions.

8.3-A.32

Armv8.3, for Armv8‑A architecture profile, AArch32 state.

8.3-A.32.crypto

Armv8.3, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions.

8.3-A.32.crypto.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions and the VSDOT and VUDOT instructions.

8.3-A.32.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch32 state with the VSDOT and VUDOT instructions.

8.3-A.64

Armv8.3, for Armv8‑A architecture profile, AArch64 state.

8.3-A.64.crypto

Armv8.3, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.3-A.64.crypto.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions and the SDOT and UDOT instructions.

8.3-A.64.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch64 state with the SDOT and UDOT instructions.

8-R Armv8‑R architecture profile.
8-M.Base Armv8‑M baseline architecture profile. Derived from the Armv6‑M architecture.
8-M.Main Armv8‑M mainline architecture profile. Derived from the Armv7‑M architecture.
8-M.Main.dsp

Armv8‑M mainline architecture profile with DSP extension.

Note

  • The full list of supported architectures and processors depends on your license.

Usage

If you omit --cpu, the linker auto-detects the processor or architecture from the input object files.

Specify --cpu=list to list the supported processor and architecture names that you can use with --cpu=name.

The link phase fails if any of the component object files rely on features that are incompatible with the specified processor. The linker also uses this option to optimize the choice of system libraries and any veneers that have to be generated when building the final image.

Restrictions

You cannot specify both a processor and an architecture on the same command-line.

Was this page helpful? Yes No