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:
If the compiled program is to run on a specific ARM architecture-based processor, having obtained the name of the processor with the
--cpu=listoption, select the target processor using the
--cpu=compiler command-line option. For example, to compile code to run on a Cortex-A9 processor:
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
option lets the compiler:
Make full use of all available instructions for that particular processor.
Perform processor-specific optimizations such as instruction scheduling.
--cpu=list lists all the processors and
architectures that the compiler supports.