Cortex™-A9 NEON™ Media Processing Engine Technical Reference Manual

Revision: r4p0


Table of Contents

Preface
About this book
Product revision status
Intended audience
Using this book
Glossary
Conventions
Additional reading
Feedback
Feedback on this product
Feedback on content
1. Introduction
1.1. About the Cortex-A9 NEON MPE
1.1.1. VFPv3 architecture hardware support
1.2. Applications
1.3. Product revisions
2. Programmers Model
2.1. About this programmers model
2.1.1. Advanced SIMD and VFP feature identification registers
2.1.2. Enabling Advanced SIMD and floating-point support
2.2. New Advanced SIMD and VFP features
2.2.1. Half-precision floating-point value conversion
2.2.2. Independent Advanced SIMD and VFP disable
2.2.3. Dynamically configurable VFP register bank size
2.3. Supported formats
2.4. Advanced SIMD and VFP register access
2.4.1. Coprocessor Access Control Register
2.4.2. Non-secure Access Control Register
2.5. Register summary
2.6. Register descriptions
2.6.1. Floating-Point System ID Register
2.6.2. Floating-Point Status and Control Register
2.6.3. Floating-Point Exception Register
3. Instruction Timing
3.1. About instruction cycle timing
3.2. Writing optimal VFP and Advanced SIMD code
3.3. Cortex-A9 NEON MPE instructions
3.4. Instruction-specific scheduling
3.4.1. Instruction timing tables
3.4.2. VFP instruction timing
3.4.3. VFP load and store instruction timing
3.4.4. Advanced SIMD integer arithmetic instructions
3.4.5. Advanced SIMD integer multiply instructions
3.4.6. Advanced SIMD integer shift instructions
3.4.7. Advanced SIMD permute instructions
3.4.8. Advanced SIMD floating-point instructions
3.4.9. Advanced SIMD load-store instructions
3.4.10. Inter-pipeline data-transfers
A. Revisions

Proprietary Notice

Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM® in the EU and other countries, except as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the trademarks of their respective owners.

Neither the whole nor any part of the information contained in, or the product described in, this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder.

The product described in this document is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. However, all warranties implied or expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded.

This document is intended only to assist the reader in the use of the product. ARM shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product.

Where the term ARM is used it means “ARM or any of its subsidiaries as appropriate”.

Confidentiality Status

This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to.

Product Status

The information in this document is final, that is for a developed product.

Revision History
Revision A04 April 2008First release for r0p0
Revision B10 July 2008Second release for r0p0
Revision C12 Dec 2008First release for r1p0
Revision D24 September 2009First release for r2p0
Revision E27 November 2009Second release for r2p0
Revision F27 April 2010First release for r2p2
Revision G21 July 2011First release for r3p0
Revision G226 March 2012First release for r4p0
Copyright © 2008-2012 ARM. All rights reserved.ARM DDI 0409H
Non-ConfidentialID032812