 |
|
|
|
Actions
|
|
[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [arm-gnu] urgent toolchain
- To: Gilles Chanteperdrix <gilles.chanteperdrix@xxxxxxxxxxx>
- Subject: Re: [arm-gnu] urgent toolchain
- From: Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
- Date: Mon, 18 Aug 2008 10:39:52 -0400
Gilles Chanteperdrix wrote:
Using "-mfpu=vfp -mfloat-abi=softfp" instead of "-msoft-float" will
enable VFP hardware floating-point code-generation for your program. The
run-time libraries will still use software floating-point. Routines
compiled for VFP are compatible with software floating-point.
It looks like run-time libraries do contain some FP code. Here is an
excerpt of disassembling
arm-2007q3/arm-none-linux-gnueabi/libc/lib/libc-2.5.so:
The run-time may contain VFP instructions as long as they are never
executed on hardware that does not have a VFP.
29b10: 0a000002 beq 29b20 <Lno_vfp>
29b14: ecac8b11 fstmiax ip!, {d8-d15}
29b18: eef12a10 fmrx r2, fpscr
29b1c: e48c2004 str r2, [ip], #4
The GNU C Library contains run-time CPU feature detection. The 'beq'
instruction will check the variable "no_vfp" (No VFP available) and skip
the VFP instructions on non-VFP hardware.
Are you having a problem with this?
Cheers,
Carlos.
--
Carlos O'Donell
CodeSourcery
carlos@xxxxxxxxxxxxxxxx
(650) 331-3385 x716
|
|