没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Copyright © 2010-2011 ARM. All rights reserved.
ARM DUI 0491C (ID020411)
ARM
®
Compiler toolchain
Version 4.1
Compiler Reference
ARM DUI 0491C Copyright © 2010-2011 ARM. All rights reserved. ii
ID020411 Non-Confidential
ARM Compiler toolchain
Compiler Reference
Copyright © 2010-2011 ARM. All rights reserved.
Release Information
The following changes have been made to this book.
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”.
Some material in this document is based on IEEE 754 - 1985 IEEE Standard for Binary Floating-Point Arithmetic. The
IEEE disclaims any responsibility or liability resulting from the placement and use in the described manner.
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.
Web Address
http://www.arm.com
Change History
Date Issue Confidentiality Change
28 May 2010 A Non-Confidential ARM Compiler toolchain v4.1 Release
30 September 2010 B Non-Confidential Update 1 for ARM Compiler toolchain v4.1
28 January 2011 C Non Confidential Update 2 for ARM Compiler toolchain v4.1 Patch 3
ARM DUI 0491C Copyright © 2010-2011 ARM. All rights reserved. iii
ID020411 Non-Confidential
Contents
ARM Compiler toolchain Compiler Reference
Chapter 1 Conventions and Feedback
Chapter 2 Introduction
2.1 About the ARM compiler ............................................................................................... 2-2
2.2 Source language modes ............................................................................................... 2-3
2.3 Language extensions and language compliance .......................................................... 2-5
2.4 The C and C++ libraries ................................................................................................ 2-7
Chapter 3 Compiler Command-line Options
3.1 Command-line options .................................................................................................. 3-6
Chapter 4 Language Extensions
4.1 Preprocessor extensions .............................................................................................. 4-2
4.2 C99 language features available in C90 ....................................................................... 4-4
4.3 C99 language features available in C++ and C90 ........................................................ 4-6
4.4 Standard C language extensions .................................................................................. 4-9
4.5 Standard C++ language extensions ........................................................................... 4-14
4.6 Standard C and Standard C++ language extensions ................................................. 4-17
4.7 GNU extensions to the C and C++ languages ............................................................ 4-21
Chapter 5 Compiler-specific Features
5.1 Keywords and operators ............................................................................................... 5-2
5.2 __declspec attributes .................................................................................................. 5-19
5.3 Function attributes ...................................................................................................... 5-25
5.4 Type attributes ............................................................................................................ 5-37
5.5 Variable attributes ....................................................................................................... 5-41
5.6 Pragmas ..................................................................................................................... 5-50
5.7 Instruction intrinsics .................................................................................................... 5-65
Contents
ARM DUI 0491C Copyright © 2010-2011 ARM. All rights reserved. iv
ID020411 Non-Confidential
5.8 ARMv6 SIMD intrinsics ............................................................................................... 5-92
5.9 ETSI basic operations ................................................................................................. 5-93
5.10 C55x intrinsics ............................................................................................................ 5-95
5.11 VFP status intrinsic ..................................................................................................... 5-96
5.12 Fused Multiply Add (FMA) intrinsics ........................................................................... 5-97
5.13 Named register variables ............................................................................................ 5-98
5.14 GNU builtin functions ................................................................................................ 5-102
5.15 Compiler predefines .................................................................................................. 5-105
Chapter 6 C and C++ Implementation Details
6.1 C and C++ implementation details ................................................................................ 6-2
6.2 C++ implementation details ........................................................................................ 6-11
Appendix A ARMv6 SIMD Instruction Intrinsics
A.1 ARMv6 SIMD intrinsics by prefix .................................................................................. A-3
A.2 ARMv6 SIMD intrinsics, summary descriptions, byte lanes, side-effects ..................... A-5
A.3 ARMv6 SIMD intrinsics, compatible processors and architectures .............................. A-9
A.4 ARMv6 SIMD instruction intrinsics and APSR GE flags ............................................. A-10
A.5 __qadd16 intrinsic ....................................................................................................... A-11
A.6 __qadd8 intrinsic ......................................................................................................... A-12
A.7 __qasx intrinsic ........................................................................................................... A-13
A.8 __qsax intrinsic ........................................................................................................... A-14
A.9 __qsub16 intrinsic ....................................................................................................... A-15
A.10 __qsub8 intrinsic ......................................................................................................... A-16
A.11 __sadd16 intrinsic ....................................................................................................... A-17
A.12 __sadd8 intrinsic ......................................................................................................... A-18
A.13 __sasx intrinsic ........................................................................................................... A-19
A.14 __sel intrinsic .............................................................................................................. A-20
A.15 __shadd16 intrinsic ..................................................................................................... A-21
A.16 __shadd8 intrinsic ....................................................................................................... A-22
A.17 __shasx intrinsic ......................................................................................................... A-23
A.18 __shsax intrinsic ......................................................................................................... A-24
A.19 __shsub16 intrinsic ..................................................................................................... A-25
A.20 __shsub8 intrinsic ....................................................................................................... A-26
A.21 __smlad intrinsic ......................................................................................................... A-27
A.22 __smladx intrinsic ....................................................................................................... A-28
A.23 __smlald intrinsic ........................................................................................................ A-29
A.24 __smlaldx intrinsic ...................................................................................................... A-30
A.25 __smlsd intrinsic ......................................................................................................... A-31
A.26 __smlsdx intrinsic ....................................................................................................... A-32
A.27 __smlsld intrinsic ........................................................................................................ A-33
A.28 __smlsldx intrinsic ....................................................................................................... A-34
A.29 __smuad intrinsic ........................................................................................................ A-35
A.30 __smusd intrinsic ........................................................................................................ A-36
A.31 __smusdx intrinsic ...................................................................................................... A-37
A.32 __smuadx intrinsic ...................................................................................................... A-38
A.33 __ssat16 intrinsic ........................................................................................................ A-39
A.34 __ssax intrinsic ........................................................................................................... A-40
A.35 __ssub16 intrinsic ....................................................................................................... A-41
A.36 __ssub8 intrinsic ......................................................................................................... A-42
A.37 __sxtab16 intrinsic ...................................................................................................... A-43
A.38 __sxtb16 intrinsic ........................................................................................................ A-44
A.39 __uadd16 intrinsic ....................................................................................................... A-45
A.40 __uadd8 intrinsic ......................................................................................................... A-46
A.41 __uasx intrinsic ........................................................................................................... A-47
A.42 __uhadd16 intrinsic ..................................................................................................... A-48
A.43 __uhadd8 intrinsic ....................................................................................................... A-49
A.44 __uhasx intrinsic ......................................................................................................... A-50
A.45 __uhsax intrinsic ......................................................................................................... A-51
A.46 __uhsub16 intrinsic ..................................................................................................... A-52
Contents
ARM DUI 0491C Copyright © 2010-2011 ARM. All rights reserved. v
ID020411 Non-Confidential
A.47 __uhsub8 intrinsic ....................................................................................................... A-53
A.48 __uqadd16 intrinsic ..................................................................................................... A-54
A.49 __uqadd8 intrinsic ....................................................................................................... A-55
A.50 __uqasx intrinsic ......................................................................................................... A-56
A.51 __uqsax intrinsic ......................................................................................................... A-57
A.52 __uqsub16 intrinsic ..................................................................................................... A-58
A.53 __uqsub8 intrinsic ....................................................................................................... A-59
A.54 __usad8 intrinsic ......................................................................................................... A-60
A.55 __usada8 intrinsic ....................................................................................................... A-61
A.56 __usax intrinsic ........................................................................................................... A-62
A.57 __usat16 intrinsic ........................................................................................................ A-63
A.58 __usub16 intrinsic ....................................................................................................... A-64
A.59 __usub8 intrinsic ......................................................................................................... A-65
A.60 __uxtab16 intrinsic ...................................................................................................... A-66
A.61 __uxtb16 intrinsic ........................................................................................................ A-67
Appendix B Via File Syntax
B.1 Overview of via files ...................................................................................................... B-2
B.2 Syntax ........................................................................................................................... B-3
Appendix C Summary Table of GNU Language Extensions
Appendix D Standard C Implementation Definition
D.1 Implementation definition .............................................................................................. D-2
D.2 Behaviors considered undefined by the ISO C Standard ............................................. D-8
Appendix E Standard C++ Implementation Definition
E.1 Integral conversion ....................................................................................................... E-2
E.2 Calling a pure virtual function ....................................................................................... E-3
E.3 Major features of language support .............................................................................. E-4
E.4 Standard C++ library implementation definition ............................................................ E-5
Appendix F C and C++ Compiler Implementation Limits
F.1 C++ ISO/IEC standard limits ......................................................................................... F-2
F.2 Limits for integral numbers ........................................................................................... F-4
F.3 Limits for floating-point numbers ................................................................................... F-5
Appendix G Using NEON Support
G.1 Introduction ................................................................................................................... G-2
G.2 Vector data types .......................................................................................................... G-3
G.3 Intrinsics ........................................................................................................................ G-4
Appendix H Revisions for the Compiler Reference
剩余426页未读,继续阅读
白色沙漠
- 粉丝: 4
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0