29.10.2014 Views

ARM Compiler toolchain v4.1 for µVision Using the Compiler

ARM Compiler toolchain v4.1 for µVision Using the Compiler

ARM Compiler toolchain v4.1 for µVision Using the Compiler

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Compiler</strong> Coding Practices<br />

5.43 Vector Floating-Point (VFP) architectures<br />

VFP architectures provide both single and double precision operations. Many operations can<br />

take place in ei<strong>the</strong>r scalar <strong>for</strong>m or in vector <strong>for</strong>m. Several versions of <strong>the</strong> architecture are<br />

supported, including:<br />

• VFPv2, implemented in:<br />

— VFP10 revision 1, as provided by <strong>the</strong> <strong>ARM</strong>10200E processor<br />

— VFP9-S, available as a separately licensable option <strong>for</strong> <strong>the</strong> <strong>ARM</strong>926E, <strong>ARM</strong>946E<br />

and <strong>ARM</strong>966E processors<br />

• VFPv3, implemented on <strong>ARM</strong> architecture v7 and later. VFPv3 is backwards compatible<br />

with VFPv2, except that it cannot trap floating point exceptions. It requires no software<br />

support code. VFPv3 has 32 double-precision registers.<br />

• VFPv3, optionally extended with half-precision extensions. These extensions provide<br />

conversion functions between half-precision floating-point numbers and single-precision<br />

floating-point numbers, in both directions. They can be implemented with any VFP<br />

implementation that supports single-precision floating-point numbers.<br />

• VFPv3-D16, an implementation of VFPv3 that provides 16 double-precision registers. It<br />

is implemented on <strong>ARM</strong> architecture v7 processors that support VFP without NEON.<br />

• VFPv3U, an implementation of VFPv3 that can trap floating-point exceptions. It requires<br />

software support code.<br />

Note<br />

Particular implementations of <strong>the</strong> VFP architecture might provide additional<br />

implementation-specific functionality. For example, <strong>the</strong> VFP coprocessor hardware might<br />

include extra registers <strong>for</strong> describing exceptional conditions. This extra functionality is known<br />

as sub-architecture functionality.<br />

5.43.1 See also<br />

Concepts<br />

• <strong>Compiler</strong> support <strong>for</strong> floating-point arithmetic on page 5-53.<br />

O<strong>the</strong>r in<strong>for</strong>mation<br />

• <strong>ARM</strong> Application Note 133 - <strong>Using</strong> VFP with RVDS,<br />

http://infocenter.arm.com/help/topic/com.arm.doc.dai0133c/index.html<br />

<strong>ARM</strong> DUI 0375C Copyright © 2007-2008, 2011 <strong>ARM</strong>. All rights reserved. 5-58<br />

ID061811<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!