Symbian3/PDK/Source/GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
parent 5 f345bda72bc4
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-CBC1E46A-E254-5A01-86AE-F5EB6135E3E3" xml:lang="en"><title>Vector Floating Point (VFP)</title><shortdesc>ARM provide a hardware floating point coprocessor that
provides floating point computation that is fully compliant with IEEE
Std 754-1985.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p> When a phone has this hardware, the base port must be configured
to use it. </p>
<p>The ARM architecture is called the ARM Vector Floating Point Architecture
(VFPv2), and the coprocessor is also called the <i>VFP unit</i>. </p>
<p>Symbian platform supports the use of VFPv2 on platforms where the
required hardware is present in both <i>RunFast</i> mode and in <i>IEEE-without-exceptions</i> mode. See ARM's Vector Floating-point
Coprocessor Technical reference Manual for more details on the coprocessor,
its architecture, and its execution modes. </p>
<p>Applications and, in a more limited sense, kernel side code can
use VFP in one of two ways: </p>
<ul>
<li id="GUID-D74E3541-3D8F-5338-A488-E40385D1C293"><p>indirectly through
the use of floating point support (helper) functions generated by
the compiler. </p> </li>
<li id="GUID-7316F251-5292-510C-9496-30C0B7A7A25C"><p>directly, either
through instructions generated by the compiler, or hand-written instructions
written in assembler. </p> </li>
</ul>
<p>An application uses the <codeph>armfpu</codeph> statement in its <filepath>.mmp</filepath> file to specify how it wants floating point to be
handled. By choosing to use the floating point support functions,
an application does not need to know how they are implemented or even
whether these functions make use of a VFP unit. However, if a device
does have a VFP unit, then the base port needs to replace the default
floating point support functions with VFP-enabled functions if applications
are to take advantage of the hardware. </p>
<section id="GUID-C20C78B4-62E4-403B-82F1-416539B50DD0"><title>See also</title><p><ul>
<li><p>Floating point support in Symbian^3 Tools Guide
&gt; Building</p></li>
<li><p><xref href="GUID-3046453A-AB3A-5491-87A0-00F3514D4768.dita">Vector
Floating Point Implementation Tutorial</xref></p></li>
</ul></p></section>
</conbody></concept>