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

General common compiler options

Option

Description

-o <file>

Write output to <file>.​

-c​

Only run preprocess, compile, and assemble steps.​

-g

Generate source-level debug information.​

-Wall

Enable all warnings.​

-w

Suppress all warnings.​

-fopenmp

Enable OpenMP.​

-On

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

-Ofast

Enables aggressive optimization of floating point operations.​

-ffp-contract=(fast|on|off)​

Allow fused floating point operations (eg FMAs).​

-Rpass=\(loop-vectorize\|inline\)​

-Rpass-missed=\(loop-vectorize\|inline\)​

-Rpass-analysis=\(loop-vectorize\|inline\)​

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

Fortran

General common compiler options

Option

Description

-cpp

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

-module <path>​

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

-Mallocatable=(95|03)​

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

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

-fconvert=<setting>

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

-r8

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.​

-i8

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

Pragmas

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