Re: [ARMedslack] mfloat-abi

2011-02-04 Thread Thorsten Mühlfelder
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

2011-02-04 Thread Stuart Winter

 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

2011-01-28 Thread 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.

___
ARMedslack mailing list
ARMedslack@lists.armedslack.org
http://lists.armedslack.org/mailman/listinfo/armedslack


[ARMedslack] mfloat-abi

2011-01-27 Thread Thorsten Mühlfelder
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-01-27 Thread Christophe Lyon
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