Re: [ARMedslack] mfloat-abi
Am Friday 28 January 2011 12:39:34 schrieb Stuart Winter: - soft: only software emulation - softfp + mfpu=xxx: enables the compiler to use FP instructions/registers inside functions, but not as function parameters. This way, code remains compatible with 'soft' libraries - hard: it's a different ABI, where parameters can be passed in FP registers, avoiding expensive moves between core and FP registers. But such code is not compatible with 'soft' libraries. You can also do gcc -dumpspecs to see what the compiler's defaults are. Hmm, I did not really see what's the default here (soft, softfp, hard)? BTW: A test with Ogg Vorbis decoding using mpd on my Dockstar gave me these results: - using libvorbis (floating point): ~20% CPU usage - using tremor (vorbis ported to integer only): ~2% CPU usage As soft/softfpe is some kind of porting floating point operations to integer I've assumed that Armed Slack uses mfloat-abi=hard, which forwards the floating point instructions to the slow kernel FP emulation. ___ ARMedslack mailing list ARMedslack@lists.armedslack.org http://lists.armedslack.org/mailman/listinfo/armedslack
Re: [ARMedslack] mfloat-abi
Hmm, I did not really see what's the default here (soft, softfp, hard)? Me neither - I thought that the specs there were what was used by default. I had a further quick read about it and that isn't the case. As soft/softfpe is some kind of porting floating point operations to integer I've assumed that Armed Slack uses mfloat-abi=hard, which forwards the floating point instructions to the slow kernel FP emulation. Yes, it's been ages since I looked at the issue -- I know the oldabi ARMedslack used that method, but I'd forgotten about the EABI version. The floating point used is the same as Debian use for their armel port: http://wiki.debian.org/ArmEabiPort -- Stuart Winter Slackware ARM: www.armedslack.org ___ ARMedslack mailing list ARMedslack@lists.armedslack.org http://lists.armedslack.org/mailman/listinfo/armedslack
Re: [ARMedslack] mfloat-abi
- soft: only software emulation - softfp + mfpu=xxx: enables the compiler to use FP instructions/registers inside functions, but not as function parameters. This way, code remains compatible with 'soft' libraries - hard: it's a different ABI, where parameters can be passed in FP registers, avoiding expensive moves between core and FP registers. But such code is not compatible with 'soft' libraries. You can also do gcc -dumpspecs to see what the compiler's defaults are. ___ ARMedslack mailing list ARMedslack@lists.armedslack.org http://lists.armedslack.org/mailman/listinfo/armedslack
[ARMedslack] mfloat-abi
Hi, I did not really understand what's the difference between -mfloat-abi=soft and -mfloat-abi=softfp? Does soft always use software floating point and softfp could use hardware floating point if a correct -mfpu is given? And why is none of them used in Armed Slack? In my understanding it should be much faster than FPU emulation in the kernel. http://www.arm.linux.org.uk/mailinglists/faq.php#f3 Greetings Thorsten ___ ARMedslack mailing list ARMedslack@lists.armedslack.org http://lists.armedslack.org/mailman/listinfo/armedslack
Re: [ARMedslack] mfloat-abi
2011/1/27 Thorsten Mühlfelder thenk...@gmx.de: Hi, I did not really understand what's the difference between -mfloat-abi=soft and -mfloat-abi=softfp? Does soft always use software floating point and softfp could use hardware floating point if a correct -mfpu is given? Exactly. - soft: only software emulation - softfp + mfpu=xxx: enables the compiler to use FP instructions/registers inside functions, but not as function parameters. This way, code remains compatible with 'soft' libraries - hard: it's a different ABI, where parameters can be passed in FP registers, avoiding expensive moves between core and FP registers. But such code is not compatible with 'soft' libraries. Christophe ___ ARMedslack mailing list ARMedslack@lists.armedslack.org http://lists.armedslack.org/mailman/listinfo/armedslack