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
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev