public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/25864]  New: Enable IBM long double format in 32-bit PowerPC Linux
@ 2006-01-19 20:26 dje at gcc dot gnu dot org
  2006-01-19 20:27 ` [Bug target/25864] " pinskia at gcc dot gnu dot org
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: dje at gcc dot gnu dot org @ 2006-01-19 20:26 UTC (permalink / raw)
  To: gcc-bugs

Use IBM long double format in 32-bit PowerPC Linux and enable 128-bit long
double by default.


-- 
           Summary: Enable IBM long double format in 32-bit PowerPC Linux
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ABI
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dje at gcc dot gnu dot org
 GCC build triplet: powerpc-linux
  GCC host triplet: powerpc-linux
GCC target triplet: powerpc-linux


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
@ 2006-01-19 20:27 ` pinskia at gcc dot gnu dot org
  2006-01-19 20:28 ` dje at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-19 20:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-19 20:27 -------
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-01-19 20:27:41
               date|                            |


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
  2006-01-19 20:27 ` [Bug target/25864] " pinskia at gcc dot gnu dot org
@ 2006-01-19 20:28 ` dje at gcc dot gnu dot org
  2006-01-19 20:44 ` mmitchel at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: dje at gcc dot gnu dot org @ 2006-01-19 20:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from dje at gcc dot gnu dot org  2006-01-19 20:28 -------
This is an enhancement request in conjunction with Glibc.


-- 

dje at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at bigpond dot net
                   |                            |dot au
           Severity|normal                      |enhancement
   Last reconfirmed|2006-01-19 20:27:41         |2006-01-19 20:28:02
               date|                            |
   Target Milestone|---                         |4.1.0


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
  2006-01-19 20:27 ` [Bug target/25864] " pinskia at gcc dot gnu dot org
  2006-01-19 20:28 ` dje at gcc dot gnu dot org
@ 2006-01-19 20:44 ` mmitchel at gcc dot gnu dot org
  2006-01-19 23:19 ` uweigand at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-01-19 20:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from mmitchel at gcc dot gnu dot org  2006-01-19 20:44 -------
David has indicated to me that it's possible (but not certain) that the PowerPC
GNU/Linux community wants this on by default in GCC 4.1.  Since we'd very much
like to avoid ABI changes throughout the 4.1 series, and since the GLIBC
changes are blocked on getting this change into 4.1, I've marked this as P1. 
If we conclude that this can go in 4.1.1, or isn't necessary, etc., then we'll
downgrade the priority.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-01-19 20:44 ` mmitchel at gcc dot gnu dot org
@ 2006-01-19 23:19 ` uweigand at gcc dot gnu dot org
  2006-01-24 16:42 ` jakub at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2006-01-19 23:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from uweigand at gcc dot gnu dot org  2006-01-19 23:19 -------
FYI, the glibc folks have made a similar request w.r.t. adding
128-bit long double (IEEE quad) support for s390(x)-ibm-linux.

We're currently preparing a patch -- if there's still a chance
of getting this into 4.1 we'd like to join ...


-- 

uweigand at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |uweigand at gcc dot gnu dot
                   |                            |org


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-01-19 23:19 ` uweigand at gcc dot gnu dot org
@ 2006-01-24 16:42 ` jakub at gcc dot gnu dot org
  2006-01-25  6:27 ` mmitchel at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-01-24 16:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2006-01-24 16:26 -------
On the Linux architectures that use DFmode long double ATM and want to switch
to some other format in glibc 2.4 (best would be if all are switching
together),
we primarily need GCC 4.1 to actually be able to compile glibc 2.4.
That means supporting -mlong-double-128 option, which doesn't necessarily need
to be the default, supporting the desired long double format with that option
(glibc will support only IEEE quad, XFmode and IBM extended format) and
have libgcc{.a,_s.so} provide long double entry points if needed to compile
glibc (libm uses complex long double multiplication/division, usually e.g.
__multc3/__divtc3 will be needed).

sparc-linux (32-bit) already switched on the glibc side, but unfortunately
I was testing that with GCC 3.4.x where it worked (__multc3/__divtc3 wasn't
present yet), now we have a chicken-and-egg like problem there (glibc
provides _Q_add/_Q_mul etc. routines but needs __multc3/__divtc3, libgcc
can't be built with -mlong-double-128 without glibc 2.4 installed, as
__multc3/__divtc3 etc. implementation in libgcc uses _Q_add/_Q_mul, so this
would be good to solve for GCC 4.1.

ppc64-linux (64-bit) is known to build the soon to be glibc 2.4 out of the box,
for ppc32-linux David Edelsohn posted a patch.

I'd appreciate a lot if s390{,x} in GCC 4.1 could have this level of IEEE quad
support too, it will be far easier to switch all architectures at once.

alpha-linux might want to switch as well, -mlong-double-128 is supported there,
though probably libgcc isn't built with that.  Richard, are you still planing
to switch?

glibc 2.4 will support both DFmode and TFmode long double through redirects
in <math.h>, <stdio.h> and other headers (if -mlong-double-64) and symbol
versioning.

Another step is to make -mlong-double-128 the default on those architectures,
if GCC configury detects glibc 2.4 (or is told via some configure option).
Here the biggest problem is libstdc++, which exports some long double templates
and there we don't want to switch SONAME in GCC 4.1.  This can be solved
via symbol versioning (like in glibc) and multilibbing libstdc++
(-mlong-double-128 multilib libstdc++.so.6 would be backwards compatible with
-mlong-double-64 one, so that would be the one used at runtime, for link time
we would use the respective multilib).


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org,
                   |                            |bkoz at gcc dot gnu dot org,
                   |                            |jakub at redhat dot com


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-01-24 16:42 ` jakub at gcc dot gnu dot org
@ 2006-01-25  6:27 ` mmitchel at gcc dot gnu dot org
  2006-01-27 20:00 ` jakub at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-01-25  6:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from mmitchel at gcc dot gnu dot org  2006-01-25 06:27 -------
I think it's fine to change S390 for 4.1, if we change PowerPC.  In fact, I
think S390 is less risk than PowerPC, since it is used by fewer people.

I'm watching the patches on the GCC list for PowerPC, but it looks like
consensus has not yet quite been reached on how to do this for PowerPC.  When
there's a final patch that satisfies everyone, it would be great to attach it
to this PR.

Thanks,

-- Mark


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-01-25  6:27 ` mmitchel at gcc dot gnu dot org
@ 2006-01-27 20:00 ` jakub at gcc dot gnu dot org
  2006-02-03  7:44 ` krebbel at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-01-27 20:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jakub at gcc dot gnu dot org  2006-01-27 19:59 -------
Subject: Bug 25864

Author: jakub
Date: Fri Jan 27 19:59:49 2006
New Revision: 110303

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110303
Log:
2006-01-27  Jakub Jelinek  <jakub@redhat.com>

        PR target/25864
        * libgcc-std.ver: Add GCC_4.1.0 symbol version.
        * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
        -mno-minimal-toc to previous content.
        (bispecs): Remove goal.
        * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
        * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
        compatibility aliases on powerpc-*-*gnu*.
        * config/rs6000/libgcc-ppc-glibc.ver: New file.
        * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
        libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
        (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
        (ldblspecs): New goal.
        * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
        * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
        _df_to_tf.
        * config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
        L_sf_to_tf or L_df_to_tf is defined.

2006-01-27  David Edelsohn  <edelsohn@gnu.org>
            Alan Modra  <amodra@bigpond.net.au>

        PR target/25864
        * config/rs6000/linux.h (POWERPC_LINUX): Define.
        * config/rs6000/linux64.h (POWERPC_LINUX): Define.
        * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
        * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
        * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
        * config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
        (rs6000_override_options): Initialize rs6000_ieeequad.
        Initialize TFmode format to ibm_extended_format if not
        TARGET_IEEEQUAD.
        (rs6000_handle_option): Accept -mabi= ibmlongdouble and
        ieeelongdouble.
        (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
        (rs6000_return_in_memory): Only return IEEEQUAD in memory.
        (function_arg_advance): IBM long double passed in two FPRs, not
        split.
        (function_arg): IBM long double passed in FPRs.
        (rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
        (rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
        Only multireg GPR aligned.
        (rs6000_init_libfuncs): Enable IBM long double functions if not
        IEEEQUAD.
        (rs6000_generate_compare): Use IBM long double compare if not
        TARGET_IEEEQUAD.
        * config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
        (TARGET_IEEEQUAD): Define.
        (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
        not TARGET_IEEEQUAD.
        * config/rs6000/rs6000.md: Enable TFmode patterns if
        !TARGET_IEEEQUAD.
        * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
        * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
        and -mlong-double-128 are incompatible.
        * doc/invoke.texi (-mabi): Collect options together.  Add
        ibmlongdouble and ieeelongdouble.

Added:
    trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/fp-bit.h
    trunk/gcc/config/rs6000/aix.h
    trunk/gcc/config/rs6000/darwin-ldouble.c
    trunk/gcc/config/rs6000/darwin.h
    trunk/gcc/config/rs6000/linux.h
    trunk/gcc/config/rs6000/linux64.h
    trunk/gcc/config/rs6000/ppc64-fp.c
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/config/rs6000/rs6000.h
    trunk/gcc/config/rs6000/rs6000.md
    trunk/gcc/config/rs6000/sysv4.h
    trunk/gcc/config/rs6000/t-linux64
    trunk/gcc/config/rs6000/t-ppccomm
    trunk/gcc/doc/invoke.texi
    trunk/gcc/libgcc-std.ver
    trunk/gcc/mklibgcc.in


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2006-01-27 20:00 ` jakub at gcc dot gnu dot org
@ 2006-02-03  7:44 ` krebbel at gcc dot gnu dot org
  2006-02-03  7:53 ` krebbel at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: krebbel at gcc dot gnu dot org @ 2006-02-03  7:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from krebbel at gcc dot gnu dot org  2006-02-03 07:44 -------
Subject: Bug 25864

Author: krebbel
Date: Fri Feb  3 07:44:12 2006
New Revision: 110538

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110538
Log:
2006-02-03  Andreas Krebbel  <krebbel1@de.ibm.com>
            Ulrich Weigand  <uweigand@de.ibm.com>

        PR target/25864
        * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
        "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
        * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
        * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr 
        and dxr fields.
        (z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
        (s390_rtx_costs): Use the new fields to calculate rtx costs.
        (s390_secondary_input_reload_class,
s390_secondary_output_reload_class):
        Define secondary reloads for TFmode moves.
        (constant_modes): Add TFmode.
        (NR_C_MODES): Set to 8.
        * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
        builtin define.
        (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
        (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
        (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, 
        CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
        * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, 
        fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
        (FPR mode macro): Add TFmode.
        (DSF mode macro): New.
        (<de>, <dee> mode attributes): Removed.
        (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
        ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 
        "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 
        "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 
        "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 
        "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 
        "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
        "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 
        "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 
        "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
        "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 
        "*negabs<mode>2", "sqrt<mode>2"):
        Changed <de> to <xde>. R constraint replaced by <Rf>.
        ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 
        <Rf>.
        ("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
        ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
        ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 
        splitters.
        ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", 
        "extenddftf2", "extendsftf2"): New expanders.
        ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", 
        "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
        "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
        * config/s390/s390.opt (mlong-double-128, mlong-double-64):
        New options.
        * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
        * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, 
        __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
        __floatditf): Add a GCC_4.1.0 symbol version tag.
        * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
        the new options.



Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/s390/2084.md
    branches/gcc-4_1-branch/gcc/config/s390/fixdfdi.h
    branches/gcc-4_1-branch/gcc/config/s390/libgcc-glibc.ver
    branches/gcc-4_1-branch/gcc/config/s390/s390.c
    branches/gcc-4_1-branch/gcc/config/s390/s390.h
    branches/gcc-4_1-branch/gcc/config/s390/s390.md
    branches/gcc-4_1-branch/gcc/config/s390/s390.opt
    branches/gcc-4_1-branch/gcc/config/s390/t-crtstuff
    branches/gcc-4_1-branch/gcc/doc/invoke.texi


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2006-02-03  7:44 ` krebbel at gcc dot gnu dot org
@ 2006-02-03  7:53 ` krebbel at gcc dot gnu dot org
  2006-02-10 20:58 ` jakub at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: krebbel at gcc dot gnu dot org @ 2006-02-03  7:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from krebbel at gcc dot gnu dot org  2006-02-03 07:53 -------
Subject: Bug 25864

Author: krebbel
Date: Fri Feb  3 07:52:57 2006
New Revision: 110539

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110539
Log:
2006-02-03  Andreas Krebbel  <krebbel1@de.ibm.com>
            Ulrich Weigand  <uweigand@de.ibm.com>

        PR target/25864
        * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
        "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
        * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
        * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr 
        and dxr fields.
        (z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
        (s390_rtx_costs): Use the new fields to calculate rtx costs.
        (s390_secondary_input_reload_class,
s390_secondary_output_reload_class):
        Define secondary reloads for TFmode moves.
        (constant_modes): Add TFmode.
        (NR_C_MODES): Set to 8.
        * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
        builtin define.
        (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
        (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
        (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, 
        CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
        * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, 
        fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
        (FPR mode macro): Add TFmode.
        (DSF mode macro): New.
        (<de>, <dee> mode attributes): Removed.
        (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
        ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 
        "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 
        "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 
        "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 
        "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 
        "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
        "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 
        "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 
        "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
        "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 
        "*negabs<mode>2", "sqrt<mode>2"):
        Changed <de> to <xde>. R constraint replaced by <Rf>.
        ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 
        <Rf>.
        ("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
        ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
        ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 
        splitters.
        ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", 
        "extenddftf2", "extendsftf2"): New expanders.
        ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", 
        "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
        "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
        * config/s390/s390.opt (mlong-double-128, mlong-double-64):
        New options.
        * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
        * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, 
        __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
        __floatditf): Add a GCC_4.1.0 symbol version tag.
        * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
        the new options.



Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/s390/2084.md
    trunk/gcc/config/s390/fixdfdi.h
    trunk/gcc/config/s390/libgcc-glibc.ver
    trunk/gcc/config/s390/s390.c
    trunk/gcc/config/s390/s390.h
    trunk/gcc/config/s390/s390.md
    trunk/gcc/config/s390/s390.opt
    trunk/gcc/config/s390/t-crtstuff
    trunk/gcc/doc/invoke.texi


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2006-02-03  7:53 ` krebbel at gcc dot gnu dot org
@ 2006-02-10 20:58 ` jakub at gcc dot gnu dot org
  2006-02-11  8:39 ` jakub at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-10 20:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from jakub at gcc dot gnu dot org  2006-02-10 20:58 -------
Subject: Bug 25864

Author: jakub
Date: Fri Feb 10 20:58:33 2006
New Revision: 110851

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110851
Log:
        PR target/25864
        Backport from mainline

        2006-02-04  David Edelsohn  <edelsohn@gnu.org>
                    Jakub Jelinek  <jakub@redhat.com>

        * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
        IBM extended float format long double as "g" on powerpc*-linux.

        2006-02-01  Jakub Jelinek  <jakub@redhat.com>

        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For
        -msoft-float -mlong-double-128 only issue a warning, but don't
        swich to DFmode long double.

        2006-01-28  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
        and -mlong-double-128 are incompatible.
        * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
        * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
        (TARGET_LIBGCC2_CFLAGS): Define.
        * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
        (TARGET_LIBGCC2_CFLAGS): Same.
        * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.

        2006-01-27  Jakub Jelinek  <jakub@redhat.com>

        * libgcc-std.ver: Add GCC_4.1.0 symbol version.
        * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
        -mno-minimal-toc to previous content.
        (bispecs): Remove goal.
        * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
        * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
        compatibility aliases on powerpc-*-*gnu*.
        * config/rs6000/libgcc-ppc-glibc.ver: New file.
        * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
        libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
        (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
        (ldblspecs): New goal.
        * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
        * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
        _df_to_tf.
        * config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
        L_sf_to_tf or L_df_to_tf is defined.

        2006-01-27  David Edelsohn  <edelsohn@gnu.org>
                    Alan Modra  <amodra@bigpond.net.au>

        * config/rs6000/linux.h (POWERPC_LINUX): Define.
        * config/rs6000/linux64.h (POWERPC_LINUX): Define.
        * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
        * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
        * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
        * config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
        (rs6000_override_options): Initialize rs6000_ieeequad.
        Initialize TFmode format to ibm_extended_format if not
        TARGET_IEEEQUAD.
        (rs6000_handle_option): Accept -mabi= ibmlongdouble and
        ieeelongdouble.
        (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
        (rs6000_return_in_memory): Only return IEEEQUAD in memory.
        (function_arg_advance): IBM long double passed in two FPRs, not
        split.
        (function_arg): IBM long double passed in FPRs.
        (rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
        (rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
        Only multireg GPR aligned.
        (rs6000_init_libfuncs): Enable IBM long double functions if not
        IEEEQUAD.
        (rs6000_generate_compare): Use IBM long double compare if not
        TARGET_IEEEQUAD.
        * config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
        (TARGET_IEEEQUAD): Define.
        (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
        not TARGET_IEEEQUAD.
        * config/rs6000/rs6000.md: Enable TFmode patterns if
        !TARGET_IEEEQUAD.
        * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
        * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
        and -mlong-double-128 are incompatible.
        * doc/invoke.texi (-mabi): Collect options together.  Add
        ibmlongdouble and ieeelongdouble.

Added:
    branches/gcc-4_1-branch/gcc/config/rs6000/libgcc-ppc-glibc.ver
Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/fp-bit.h
    branches/gcc-4_1-branch/gcc/config/rs6000/aix.h
    branches/gcc-4_1-branch/gcc/config/rs6000/aix43.h
    branches/gcc-4_1-branch/gcc/config/rs6000/aix52.h
    branches/gcc-4_1-branch/gcc/config/rs6000/darwin-ldouble.c
    branches/gcc-4_1-branch/gcc/config/rs6000/darwin.h
    branches/gcc-4_1-branch/gcc/config/rs6000/linux.h
    branches/gcc-4_1-branch/gcc/config/rs6000/linux64.h
    branches/gcc-4_1-branch/gcc/config/rs6000/ppc64-fp.c
    branches/gcc-4_1-branch/gcc/config/rs6000/rs6000.c
    branches/gcc-4_1-branch/gcc/config/rs6000/rs6000.h
    branches/gcc-4_1-branch/gcc/config/rs6000/rs6000.md
    branches/gcc-4_1-branch/gcc/config/rs6000/sysv4.h
    branches/gcc-4_1-branch/gcc/config/rs6000/t-aix43
    branches/gcc-4_1-branch/gcc/config/rs6000/t-aix52
    branches/gcc-4_1-branch/gcc/config/rs6000/t-linux64
    branches/gcc-4_1-branch/gcc/config/rs6000/t-ppccomm
    branches/gcc-4_1-branch/gcc/doc/invoke.texi
    branches/gcc-4_1-branch/gcc/libgcc-std.ver
    branches/gcc-4_1-branch/gcc/mklibgcc.in


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2006-02-10 20:58 ` jakub at gcc dot gnu dot org
@ 2006-02-11  8:39 ` jakub at gcc dot gnu dot org
  2006-02-11  8:45 ` jakub at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-11  8:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from jakub at gcc dot gnu dot org  2006-02-11 08:38 -------
Subject: Bug 25864

Author: jakub
Date: Sat Feb 11 08:38:51 2006
New Revision: 110872

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110872
Log:
        PR target/25864
        Backport from mainline

        2006-02-06  Aldy Hernandez  <aldyh@redhat.com>

        * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
        (s390_mangle_fundamental_type): New.
        * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
        Define.

        * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
        (alpha_mangle_fundamental_type): New.
        * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
        Define.

        * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
        Define.
        * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
        Define.
        * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
        (sparc_mangle_fundamental_type): New.

Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/alpha/alpha.c
    branches/gcc-4_1-branch/gcc/config/alpha/linux.h
    branches/gcc-4_1-branch/gcc/config/s390/linux.h
    branches/gcc-4_1-branch/gcc/config/s390/s390.c
    branches/gcc-4_1-branch/gcc/config/sparc/linux.h
    branches/gcc-4_1-branch/gcc/config/sparc/linux64.h
    branches/gcc-4_1-branch/gcc/config/sparc/sparc.c


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2006-02-11  8:39 ` jakub at gcc dot gnu dot org
@ 2006-02-11  8:45 ` jakub at gcc dot gnu dot org
  2006-02-11  8:47 ` jakub at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-11  8:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from jakub at gcc dot gnu dot org  2006-02-11 08:44 -------
I think the agreement is that the currently committed patches to gcc-4_1-branch
is all we want on that branch.  GCC 4.1 will be able to build GLIBC 2.4 on
all architectures, for code not using libstdc++-v3 at all will support the
optional -mlong-double-128 compilation, but will never default to
-mlong-double-128.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.0                       |4.2.0


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2006-02-11  8:45 ` jakub at gcc dot gnu dot org
@ 2006-02-11  8:47 ` jakub at gcc dot gnu dot org
  2006-02-11  8:49 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-11  8:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from jakub at gcc dot gnu dot org  2006-02-11 08:47 -------
Created an attachment (id=10821)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10821&action=view)
gcc41-ldbl-default-libstdc++.patch

Just for completeness, I'm attaching backport of the libstdc++-v3 changes
that are on the trunk.
This will be eventually on redhat/gcc-4_1-branch and if there is sufficient
interest, we could try a separate branch of gcc-4_1-branch that would contain
just the long double changes.


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2006-02-11  8:47 ` jakub at gcc dot gnu dot org
@ 2006-02-11  8:49 ` jakub at gcc dot gnu dot org
  2006-02-14 14:18 ` jakub at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-11  8:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from jakub at gcc dot gnu dot org  2006-02-11 08:49 -------
Created an attachment (id=10822)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10822&action=view)
gcc41-ldbl-default.patch

And this patch to enable long double by default when configured with
--with-long-double-128 or against glibc 2.4+.
Parts of this patch are already on the trunk, parts are just approved, but
waiting for approval of the configure bits.


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2006-02-11  8:49 ` jakub at gcc dot gnu dot org
@ 2006-02-14 14:18 ` jakub at gcc dot gnu dot org
  2006-02-14 14:23 ` jakub at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-14 14:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from jakub at gcc dot gnu dot org  2006-02-14 14:18 -------
Subject: Bug 25864

Author: jakub
Date: Tue Feb 14 14:17:59 2006
New Revision: 110967

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110967
Log:
2006-02-07  Jakub Jelinek  <jakub@redhat.com>
            Benjamin Kosnik  <bkoz@redhat.com>

        PR target/25864
        * configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
        If true, set also port_specific_symbol_files and create
        as_symver_specs.
        (GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
        * configure: Rebuilt.
        * config.h.in: Rebuilt.
        * config/os/gnu-linux/ldbl-extra.ver: New file.
        * config/linker-map.gnu: Make sure no __float128 symbols are
        exported.
        * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
        _GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
        _GLIBCXX_END_LDBL_NAMESPACE): Define.
        * include/bits/localefwd.h: Use them to conditionally scope facets.
        * include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
        with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
        [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
        [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
        [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
        [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
        * include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
        with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
        (std::money_get::__do_get, std::money_put::__do_put,
        std::num_get::__do_get, std::num_put::__do_put): New
        specializations.
        * include/Makefile.am: Conditionally define
        _GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
        * include/Makefile.in: Regenerate.
        * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
        _GLIBCXX_SYNC_ID): Define, use them.
        * src/compatibility-ldbl.cc: New file.
        * src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
        symbols.
        * src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.   
        * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
        * config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
        Likewise.
        * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
        Likewise.
        * src/Makefile.am (libstdc++-symbol.ver): Append instead of
        insert in the middle if port specific symbol file requests it.
        (ldbl_compat_sources): New variable.
        (sources): Use it.
        (compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
        * src/Makefile.in: Rebuilt.
        * testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
        GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.    

Added:
   
branches/redhat/gcc-4_1-branch/libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/compatibility-ldbl.cc
Modified:
    branches/redhat/gcc-4_1-branch/libstdc++-v3/ChangeLog
    branches/redhat/gcc-4_1-branch/libstdc++-v3/config.h.in
    branches/redhat/gcc-4_1-branch/libstdc++-v3/config/linker-map.gnu
   
branches/redhat/gcc-4_1-branch/libstdc++-v3/config/locale/generic/c_locale.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/config/locale/gnu/c_locale.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/configure
    branches/redhat/gcc-4_1-branch/libstdc++-v3/configure.ac
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/Makefile.am
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/Makefile.in
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/c++config
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/locale_facets.h
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/locale_facets.tcc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/localefwd.h
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/Makefile.am
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/Makefile.in
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/compatibility.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/complex_io.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/istream-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/limits.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/locale-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/locale-misc-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/locale.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/ostream-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/wlocale-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/testsuite/testsuite_abi.cc


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2006-02-14 14:18 ` jakub at gcc dot gnu dot org
@ 2006-02-14 14:23 ` jakub at gcc dot gnu dot org
  2006-06-29 18:58 ` pluto at agmk dot net
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-02-14 14:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from jakub at gcc dot gnu dot org  2006-02-14 14:23 -------
Subject: Bug 25864

Author: jakub
Date: Tue Feb 14 14:22:58 2006
New Revision: 110969

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110969
Log:
2006-02-14  Jakub Jelinek  <jakub@redhat.com>
            Aldy Hernandez  <aldyh@redhat.com>

        PR target/25864
        * configure.ac: Add --with{out}-long-double-128 configure option.
        (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
        * configure: Rebuilt.
        * config.in: Rebuilt.
        * doc/install.texi (Options specification): Document
        --with-long-double-128.

        * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
        (sparc64-*-linux*): Likewise.
        * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
        * config/sparc/t-linux: New file.
        * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
        __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
        (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
        -m32 -mlong-double-128.

        * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
        * config/alpha/t-linux: New file.
        * config/alpha/libgcc-alpha-ldbl.ver: New file.

        * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
        __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
        (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
        * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
        __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
        (CPP_ARCH32_SPEC): Remove.

        * config/s390/s390.c (override_options): Handle
        TARGET_DEFAULT_LONG_DOUBLE_128.

        * config/alpha/alpha.c (override_options): Handle
        TARGET_DEFAULT_LONG_DOUBLE_128.

        * config/sparc/sparc.c (sparc_override_options): Handle
        TARGET_DEFAULT_LONG_DOUBLE_128.

        * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
        (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
        * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
        (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.

Added:
    branches/redhat/gcc-4_1-branch/gcc/config/alpha/libgcc-alpha-ldbl.ver
    branches/redhat/gcc-4_1-branch/gcc/config/alpha/t-linux
    branches/redhat/gcc-4_1-branch/gcc/config/sparc/t-linux
Modified:
    branches/redhat/gcc-4_1-branch/gcc/ChangeLog
    branches/redhat/gcc-4_1-branch/gcc/config.gcc
    branches/redhat/gcc-4_1-branch/gcc/config.in
    branches/redhat/gcc-4_1-branch/gcc/config/alpha/alpha.c
    branches/redhat/gcc-4_1-branch/gcc/config/rs6000/linux.h
    branches/redhat/gcc-4_1-branch/gcc/config/rs6000/linux64.h
    branches/redhat/gcc-4_1-branch/gcc/config/s390/s390.c
    branches/redhat/gcc-4_1-branch/gcc/config/sparc/libgcc-sparc-glibc.ver
    branches/redhat/gcc-4_1-branch/gcc/config/sparc/linux.h
    branches/redhat/gcc-4_1-branch/gcc/config/sparc/linux64.h
    branches/redhat/gcc-4_1-branch/gcc/config/sparc/sparc.c
    branches/redhat/gcc-4_1-branch/gcc/config/sparc/t-linux64
    branches/redhat/gcc-4_1-branch/gcc/configure
    branches/redhat/gcc-4_1-branch/gcc/configure.ac
    branches/redhat/gcc-4_1-branch/gcc/doc/install.texi


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2006-02-14 14:23 ` jakub at gcc dot gnu dot org
@ 2006-06-29 18:58 ` pluto at agmk dot net
  2006-10-21 21:19 ` pinskia at gcc dot gnu dot org
  2006-10-21 21:24 ` pinskia at gcc dot gnu dot org
  18 siblings, 0 replies; 20+ messages in thread
From: pluto at agmk dot net @ 2006-06-29 18:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from pluto at agmk dot net  2006-06-29 18:33 -------
PR28150 seems to be related.


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2006-06-29 18:58 ` pluto at agmk dot net
@ 2006-10-21 21:19 ` pinskia at gcc dot gnu dot org
  2006-10-21 21:24 ` pinskia at gcc dot gnu dot org
  18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-21 21:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from pinskia at gcc dot gnu dot org  2006-10-21 21:19 -------
I think we can declare this as fixed and open a new bug about 128bit long
double and soft fp.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
  2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
                   ` (17 preceding siblings ...)
  2006-10-21 21:19 ` pinskia at gcc dot gnu dot org
@ 2006-10-21 21:24 ` pinskia at gcc dot gnu dot org
  18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-21 21:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from pinskia at gcc dot gnu dot org  2006-10-21 21:24 -------
(In reply to comment #18)
> I think we can declare this as fixed and open a new bug about 128bit long
> double and soft fp.
And the new bug is PR 29541.


-- 


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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2006-10-21 21:24 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-19 20:26 [Bug target/25864] New: Enable IBM long double format in 32-bit PowerPC Linux dje at gcc dot gnu dot org
2006-01-19 20:27 ` [Bug target/25864] " pinskia at gcc dot gnu dot org
2006-01-19 20:28 ` dje at gcc dot gnu dot org
2006-01-19 20:44 ` mmitchel at gcc dot gnu dot org
2006-01-19 23:19 ` uweigand at gcc dot gnu dot org
2006-01-24 16:42 ` jakub at gcc dot gnu dot org
2006-01-25  6:27 ` mmitchel at gcc dot gnu dot org
2006-01-27 20:00 ` jakub at gcc dot gnu dot org
2006-02-03  7:44 ` krebbel at gcc dot gnu dot org
2006-02-03  7:53 ` krebbel at gcc dot gnu dot org
2006-02-10 20:58 ` jakub at gcc dot gnu dot org
2006-02-11  8:39 ` jakub at gcc dot gnu dot org
2006-02-11  8:45 ` jakub at gcc dot gnu dot org
2006-02-11  8:47 ` jakub at gcc dot gnu dot org
2006-02-11  8:49 ` jakub at gcc dot gnu dot org
2006-02-14 14:18 ` jakub at gcc dot gnu dot org
2006-02-14 14:23 ` jakub at gcc dot gnu dot org
2006-06-29 18:58 ` pluto at agmk dot net
2006-10-21 21:19 ` pinskia at gcc dot gnu dot org
2006-10-21 21:24 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).