| |||
| Home > Compiler Coding Practices > Selecting the target CPU at compile time | |||
Each new version of the ARM architecture typically supports extra instructions, extra modes of operation, pipeline differences, and register renaming. You can often significantly improve the performance of your C or C++ code by selecting the appropriate target processor at compile time.
To specify a target processor at compile time:
Decide whether the compiled program is to run on a specific ARM architecture-based processor or on different ARM processors.
Obtain the name, or names, of the target processors recognized by the compiler using the following compiler command-line option:
--cpu=list
If the compiled program is to run on a specific
ARM architecture-based processor, having obtained the name of the
processor with the --cpu=list option, select
the target processor using the --cpu=compiler
command-line option. For example, to compile code to run on a Cortex-A9
processor:name
armcc --cpu=Cortex-A9 myprog.c
Alternatively, if the compiled program is to run on different ARM processors, choose the lowest common denominator architecture appropriate for the application and then specify that architecture in place of the processor name. For example, to compile code for processors supporting the ARMv6 architecture:
armcc --cpu=6 myprog.c
Selecting the target processor using the --cpu= command-line
option enables the compiler to make full use of instructions that
are supported by the processor, and also to perform processor-specific
optimizations such as instruction scheduling.name
--cpu=list lists all the processors and
architectures supported by the compiler.
Compiler Reference: