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.44 Limitations on hardware handling of floating-point arithmetic<br />

<strong>ARM</strong> Vector Floating-Point (VFP) coprocessors are optimized to process well-defined<br />

floating-point code in hardware. Arithmetic operations that occur too rarely, or that are too<br />

complex, are not handled in hardware. Instead, processing of <strong>the</strong>se cases must be handled in<br />

software. This approach minimizes <strong>the</strong> amount of coprocessor hardware required and reduces<br />

costs.<br />

Code provided to handle cases <strong>the</strong> VFP hardware is unable to process is known as VFP support<br />

code. When <strong>the</strong> VFP hardware is unable to deal with a situation directly, it bounces <strong>the</strong> case to<br />

VFP support code <strong>for</strong> more processing. For example, VFP support code might be called to<br />

process any of <strong>the</strong> following:<br />

• floating-point operations involving NaNs<br />

• floating-point operations involving denormals.<br />

• floating-point overflow<br />

• floating-point underflow<br />

• inexact results<br />

• division-by-zero errors<br />

• invalid operations.<br />

When support code is in place, <strong>the</strong> VFP supports a fully IEEE 754-compliant floating-point<br />

model.<br />

5.44.1 See also<br />

Concepts<br />

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

• Implementation of Vector Floating-Point (VFP) support code on page 5-60.<br />

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

• Institute of Electrical and Electronics Engineers, http://www.ieee.org<br />

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

ID061811<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!