Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

REPOST: ARM11 Hardware Vector Floating Point (VFP) Support CE6.0 R2

46 views
Skip to first unread message

AndrewScholan[MCTS]

unread,
Jun 3, 2009, 6:02:46 AM6/3/09
to
We use a Freescale iMX31 which includes a hardware Vector Floating
Point unit, and we're using CE 6.0 R2 on this unit.

Having had a little hunt on the various newsgroups, am I correct in
deducing that:


1. The MS ARM compiler for CE 6.0 does not actually generate inline
VFP instructions?
2. All floating point arithmetic is handles by the CRT, which is
using
a floating point emulation library?
3. If I want to use the hardware VFP then I need to use the new
SYSGEN_OEM_FPCRT - catalog item "OEM Floating Point CRT (ARM only) -
and supply my own CRT which makes use of the VFP hardware?


If I'm correct in these assumptions, has anyone out there generated a
floating point CRT using the ARM11 VFP?


Thanks,
Andrew.

(Sorry for reposting this question - it would appear that my posts on
Google groups were not making it to the MS newsgroup server - maybe
someone who didn't see it on Google has the answer.)

Andrew at Plextek

unread,
Jul 22, 2009, 6:54:58 AM7/22/09
to
On Jun 3, 11:02 am, "AndrewScholan[MCTS]" <a...@plextek.co.uk> wrote:
> We use a Freescale iMX31 which includes a hardware Vector Floating
> Point unit, and we're using CE 6.0 R2 on this unit.
>
> Having had a little hunt on the various newsgroups, am I correct in
> deducing that:
>
> 1. The MS ARM compiler for CE 6.0 does not actually generate inlineVFPinstructions?
> 2. All floating point arithmetic is handles by the CRT, which is
> using
> a floating point emulation library?
> 3. If I want to use the hardwareVFPthen I need to use the new

> SYSGEN_OEM_FPCRT - catalog item "OEM Floating Point CRT (ARM only) -
> and supply my own CRT which makes use of theVFPhardware?
>
> If I'm correct in these assumptions, has anyone out there generated a
> floating point CRT using the ARM11VFP?
>
> Thanks,
> Andrew.
>
> (Sorry for reposting this question - it would appear that my posts on
> Google groups were not making it to the MS newsgroup server - maybe
> someone who didn't see it on Google has the answer.)

And the answer is:

The VS2005 compiler used by PB for CE6.0 emits no VFP instructions and
unless you implement FPCRT.DLL for an ARM then all CE implementations
are integer (default MS implementation of FPCRT uses software
emulation), even if you have a hardware VFP in your core (e.g. ARM11
or Cortex-A8). To actually use the VFP you must do the following:

1. Use SYSGEN_OEM_FPCRT - catalog item "OEM Floating Point CRT (ARM
only)
2. Download the VFPv2 library support from the ARM website and
incorporate it into your build:
www.arm.com/products/os/windowsce_vfp_dl.html

Instructions are included with the download from ARM.

My tests show a 4x increase in performance on floating point
operations on a release build on an ARM1136JF-S core.

Andrew.

0 new messages