You copied the Doc URL to your clipboard.

Arm Compiler quick reference

Common Compiler Options

For a full list, see Arm C/C++ Compiler options Arm Fortran Compiler options.


General common compiler options



-o <file>

Write output to <file>.​


Only run preprocess, compile, and assemble steps.​


Generate source-level debug information.​


Enable all warnings.​


Suppress all warnings.​


Enable OpenMP.​


Level of optimization to use (0, 1, 2, 3).​


Enables aggressive optimization of floating point operations.​


Allow fused floating point operations (eg FMAs).​




Optimization Remarks is a feature of LLVM compilers that provides you with information about the choices made by the compiler.​


General common compiler options




Preprocess Fortran files. Default for .F, .F90, .F95,...​

-module <path>​

Specifies a directory to place, and search for, module files. ​


95: Use pre­Fortran 2003 standard semantics for assignments to allocatables ​

03: Use Fortran 2003 standard semantics for assignments to allocatables​


Set format for unformatted file access to numerical data to big-endian, little-endian, swap or native​


Sets default KIND for real and complex declarations, constants, functions, and intrinsics to 64bit (i.e. real (KIND=8)). Unspecified real kinds are evaluated as KIND=8.​


Set the default kind for INTEGER and LOGICAL to 64bit (i.e. KIND=8).​


Arm C/C++ Compiler supports pragmas to both encourage and suppress auto-vectorization. These pragmas make use of, and extend, the pragma clang loop directives.

#pragma clang loop vectorize(assume_safety)​

Allows the compiler to assume that there are no aliasing issues in a loop​.

#pragma clang loop unroll_count(_value_)​

Forces a scalar loop to unroll by a given factor​

#pragma clang loop interleave_count(_value_)​

Forces a vectorized loop to be interleaved by a given factor​.

For more information about the pragma clang loop directives, see Auto-Vectorization in LLVM on LLVM's website, and Using pragmas to control auto-vectorization on the Arm Developer website.

Was this page helpful? Yes No