If you are using 4.4.1 from CodeSourcery, it must be backported/enhanced by 
CodeSourcery on this.
And I have nothing to reproduce it in my side, so maybe you can have a try with 
native FSF 4.4 and 4.5 or those within meego repo. 

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Thiago Macieira
Sent: Thursday, August 05, 2010 11:19 PM
To: Development for the MeeGo Project (discussion list)
Subject: Re: [MeeGo-dev] ARM softfloat or hardfloat?

On Thursday 5. August 2010 11.33.37 Zhang, Austin wrote:
> Gcc doesn't support 'hard' combined with 'vfp' before 4.5.
> Quote from 4.4 manual: "Using '-mfloat-abi=hard' with VFP coprocessors 
> is not supported." But 4.5 didn't have this limitation anymore.
> CodeSourcery should backport this support from gcc 4.5 branch. 

That sounds weird. How does it do hard floating point without the VFP?

$ arm-none-linux-gnueabi-gcc -dumpversion
4.4.1

$ arm-none-linux-gnueabi-gcc -S -o - -mfloat-abi=hard -xc - void foo(double); 
int main() { foo(1.0); }

boils down to:
        stmfd   sp!, {fp, lr}
        add     fp, sp, #4
        fldd    d0, .L3
        bl      foo
        ldmfd   sp!, {fp, pc}

No change if I add -mfpu=vfp. With -mfpu=vfpv3 or -mfpu=neon:
        stmfd   sp!, {fp, lr}
        add     fp, sp, #4
        fconstd d0, #112
        bl      foo
        ldmfd   sp!, {fp, pc}

(there's a difference if the argument is 0, neon does vmov.i32 d0, #0, whereas
vfpv3 needs to load from memory)

--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to