The problem applied both to building the compiler proper, as well as
application on/for the given host triplet.
Most (all?) Freescale SPE enabled cores these days are dual-precision capable
e500v2, and this is the case for couple of years now.
However, when building the compiler for the triplet in question, gcc internal
libraries are only built with single precision SPE ops emitted. Making gcc to
build these libraries with proper DP support requires setting of the
*_FOR_TARGET variables during the build to contain "-mfloat-gprs=double".
Same applies for normal application compiles. Single precision FP instructions
are used by default, unless the flag is set.
It seems beneficial and probably not harmful (e500v1 was never too popular and
rather short-lived) to make -mfloat-gprs=double a default behavior.
--
Summary: Make -mfloat-gprs=double the default when compiling for
powerpc-linux-gnuspe target
Product: gcc
Version: 4.4.1
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: driver
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: oakad at yahoo dot com
GCC target triplet: powerpc-linux-gnuspe
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42007