This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: iwmmxt requires an AAPCS compatible ABI for proper operation


On Tue, Jun 06, 2006 at 01:33:17PM +1200, Hugo Vincent wrote:

> Hi everyone,

Hi!


> > Most ARM systems still use 'hardfloat', where the applications emit
> > FP instructions for the FPA floating point coprocessor, which are then
> > trapped by the kernel and emulated (since pretty much no ARM hardware
> > out there has an FPA floating point coprocessor (anymore).)
> 
> Does anyone know what the status of ARM VFP support is?

There's a bunch of VFP patches in the kernel, so I think most of the
necessary kernel support is in, but you still want EABI or similar to
make use of the VFP unit, IIRC.


> I am thinking about using a Philips LPC3180 in my next project, because
> I need floating point. Will the hardfloat ABI use VFP or is FPA different
> to VFP?

FPA != VFP.  Not only is the calling convention different (hardfloat
returns floating point values in f0), the float word order is different too.

'hardfpa' is usually what people mean when they refer to hardfloat, so
it's restricted to FPA, and I've never seen a calling convention that
passes return values in VFP registers.

Your best bet is to use 'softfp' mode, which uses a calling convention
that is compatible with softfloat/EABI, using the VFP float format, but
still allows emitting hardware FP instructions.  The right gcc incantation
for this is "-mfpu=vfp -mfloat-abi=softfp", I believe.


> Has anyone used a LPC3180 yet, with GCC/Linux?

Not me..


cheers,
Lennert

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]