[Bug driver/42007] New: Make -mfloat-gprs=double the default when compiling for powerpc-linux-gnuspe target

View: New views
5 Messages — Rating Filter:   Alert me  

[Bug driver/42007] New: Make -mfloat-gprs=double the default when compiling for powerpc-linux-gnuspe target

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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


[Bug driver/42007] Make -mfloat-gprs=double the default when compiling for powerpc-linux-gnuspe target

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #1 from jsm28 at gcc dot gnu dot org  2009-11-11 15:36 -------
Changing the meaning of an existing target triplet is a bad idea.  Use
--enable-e500-double when configuring GCC if you want
-mfloat-gprs=double by default.


--

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42007


[Bug driver/42007] Make -mfloat-gprs=double the default when compiling for powerpc-linux-gnuspe target

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #2 from oakad at yahoo dot com  2009-11-12 02:51 -------
I understand that changing a triplet behavior is not a good idea.

However, it seems quite unfortunate, that important, performance affecting
feature depends on obscure gcc configuration flag in situation where most
existing and all future chips of this type provide the necessary functionality.


--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42007


[Bug driver/42007] Make -mfloat-gprs=double the default when compiling for powerpc-linux-gnuspe target

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #3 from joseph at codesourcery dot com  2009-11-12 03:01 -------
Subject: Re:  Make -mfloat-gprs=double the default when
 compiling for powerpc-linux-gnuspe target

Note that there are more than just e500 processors with the SPE
functionality; for example, at least some e200 processors also support SPE
with single-precision floating point only.


--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42007


[Bug driver/42007] Make -mfloat-gprs=double the default when compiling for powerpc-linux-gnuspe target

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #4 from oakad at yahoo dot com  2009-11-12 15:09 -------
Indeed so.
I've read a roadmap for e200 just minutes after my previous post. :-)


--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42007