You copied the Doc URL to your clipboard.

-march

Targets an architecture profile, generating generic code that runs on any processor of that architecture.

Syntax

-march=name

Where:

name

Specifies the architecture.

The following are valid -march values:

armv8-a

ARMv8-A architecture profile. Valid with both --target=aarch64-arm-none-eabi and --target=arm-arm-none-eabi.

armv7-a

ARMv7-A architecture profile. Only valid with --target=arm-arm-none-eabi.

Default

For AArch64 targets (--target=aarch64-arm-none-eabi), unless you target a particular processor using -mcpu. the compiler defaults to -march=armv8-a, generating generic code for ARMv8-A in AArch64 state.

For AArch32 targets (--target=arm-arm-none-eabi) there is no default. You must specify either -march (to target an architecture) or -mcpu (to target a processor).

Was this page helpful? Yes No