About this book

ARM® Compiler armcc User Guide. This manual provides user information for the ARM compiler, armcc. armcc is an optimizing C and C++ compiler that compiles Standard C and Standard C++ source code into machine code for ARM architecture-based processors.

Using this book

This book is organized into the following chapters:

Chapter 1 Overview of the Compiler

Gives an overview of the ARM compiler, the languages and extensions it supports, and the provided libraries.

Chapter 2 Getting Started with the Compiler

Introduces some of the more common ARM compiler command-line options.

Chapter 3 Using the NEON Vectorizing Compiler

Introduces the NEON™ unit and explains how to take advantage of automatic vectorizing features.

Chapter 4 Compiler Features

Provides an overview of ARM-specific features of the compiler.

Chapter 5 Compiler Coding Practices

Describes programming techniques and practices to help you increase the portability, efficiency and robustness of your C and C++ source code.

Chapter 6 Compiler Diagnostic Messages

Describes the format of compiler diagnostic messages and how to control the output during compilation.

Chapter 7 Using the Inline and Embedded Assemblers of the ARM Compiler

Describes the optimizing inline assembler and non-optimizing embedded assembler of the ARM compiler, armcc.

Chapter 8 Compiler Command-line Options

Describes the armcc compiler command-line options.

Chapter 9 Language Extensions

Describes the language extensions that the compiler supports.

Chapter 10 Compiler-specific Features

Describes compiler-specific features including ARM extensions to the C and C++ Standards, ARM-specific pragmas and intrinsics, and predefined macros.

Chapter 11 C and C++ Implementation Details

Describes the language implementation details for the compiler. Some language implementation details are common to both C and C++, while others are specific to C++.

Chapter 12 ARMv6 SIMD Instruction Intrinsics

Describes the ARMv6 SIMD instruction intrinsics. SIMD instructions allow the processor to operate on packed 8-bit or 16-bit values in 32-bit registers.

Chapter 13 Via File Syntax

Describes the syntax of via files accepted by armcc.

Chapter 14 Summary Table of GNU Language Extensions

Describes ARM compiler support for GNU extensions to the C and C++ languages.

Chapter 15 Standard C Implementation Definition

Provides information required by the ISO C standard for conforming C implementations.

Chapter 16 Standard C++ Implementation Definition

Lists the C++ language features defined in the ISO/IEC standard for C++, and states whether or not ARM C++ supports that language feature.

Chapter 17 C and C++ Compiler Implementation Limits

Describes the implementation limits when using the ARM compiler to compile C and C++.

Chapter 18 Using NEON Support

Describes NEON intrinsics support in this release of the ARM compilation tools.

Appendix A Compiler Document Revisions

Describes the technical changes that have been made to the armcc Compiler User Guide.

Glossary

The ARM Glossary is a list of terms used in ARM documentation, together with definitions for those terms. The ARM Glossary does not contain terms that are industry standard unless the ARM meaning differs from the generally accepted meaning.

See the ARM Glossary for more information.

Typographic conventions

italic
Introduces special terminology, denotes cross-references, and citations.
bold
Highlights interface elements, such as menu names. Denotes signal names. Also used for terms in descriptive lists, where appropriate.
monospace
Denotes text that you can enter at the keyboard, such as commands, file and program names, and source code.
monospace
Denotes a permitted abbreviation for a command or option. You can enter the underlined text instead of the full command or option name.
monospace italic
Denotes arguments to monospace text where the argument is to be replaced by a specific value.
monospace bold
Denotes language keywords when used outside example code.
<and>
Encloses replaceable terms for assembler syntax where they appear in code or code fragments. For example:
MRC p15, 0, <Rd>, <CRn>, <CRm>, <Opcode_2>
SMALL CAPITALS
Used in body text for a few terms that have specific technical meanings, that are defined in the ARM glossary. For example, IMPLEMENTATION DEFINED, IMPLEMENTATION SPECIFIC, UNKNOWN, and UNPREDICTABLE.

Feedback

Feedback on this product

If you have any comments or suggestions about this product, contact your supplier and give:

  • The product name.
  • The product revision or version.
  • An explanation with as much information as you can provide. Include symptoms and diagnostic procedures if appropriate.
Feedback on content

If you have comments on content then send an e-mail to errata@arm.com. Give:

  • The title ARM® Compiler armcc User Guide.
  • The number ARM DUI0472M.
  • If applicable, the page number(s) to which your comments refer.
  • A concise explanation of your comments.

ARM also welcomes general suggestions for additions and improvements.

Note:

ARM tests the PDF only in Adobe Acrobat and Acrobat Reader, and cannot guarantee the quality of the represented document when used with any other PDF reader.

Other information

Non-ConfidentialPDF file icon PDF versionARM DUI0472M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.