public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Segher Boessenkool <segher@kernel.crashing.org>
To: Michael Meissner <meissner@linux.ibm.com>,
	gcc-patches@gcc.gnu.org, David Edelsohn <dje.gcc@gmail.com>,
	Bill Schmidt <wschmidt@linux.ibm.com>,
	Peter Bergner <bergner@linux.ibm.com>,
	Joseph Myers <joseph@codesourcery.com>
Subject: Re: [PATCH 2/3 V2] Do not include stdio.h in libgcc's Decimal/Float128 conversions.
Date: Tue, 9 Mar 2021 12:35:24 -0600	[thread overview]
Message-ID: <20210309183524.GH29191@gate.crashing.org> (raw)
In-Reply-To: <20210303191256.GA29681@ibm-toto.the-meissners.org>

Hi!

On Wed, Mar 03, 2021 at 02:12:56PM -0500, Michael Meissner wrote:
> On Tue, Mar 02, 2021 at 03:53:06PM -0600, Segher Boessenkool wrote:
> > If you want to make decimal and/or QP float work only on 64-bit LE Linux
> > you should say so.  And in that case, that is certainly not acceptable
> > if it doesn't "sorry" at configure time already.
> 
> Well in general the only supported configuration for _Float128 is 64-bit LE
> Linux, but this is more due to the infrastructure not supporting it.
> 
> If you want to support _Float128 on big endian, you need a GLIBC that provides
> the necessary support.  As far as I know, GLIBC does not build the _Float128
> support on big endian.

This isn't the point.  You make it harder to support in the future, for
no reason (except a little convenience now).

> You also need to set the minimum CPU to power7, because _Float128 is passed in
> Altivec registers.

Yes, another unnecessary big restriction.

> As we have discussed many times, on 32-bit BE, you cannot use hardware
> _Float128 support on power9/power10 because there is no TImode in 32-bit.

That is a) another thing that needs fixing, and b) you *can* have
floating point modes of a size that does not exist as integer mode.

> Various machine independent parts of GCC require an integer type to be the same
> size as basic types.

And now explain float80 and float96?

> With the current compiler on BE, if you use -mcpu=power7 or newer, it will
> enable the _Float128/__float128 keywords, and generate the code.  But until
> there is an expectation of library support, it won't work for the general
> user.

So?  That does not mean you can break it further!

> > > Note the second issue would affect x86_64 cross compilers as well, since they
> > > use those two functions to do the _Float128/Decimal versions.
> > 
> > Yes, it cannot work correctly at all there, either.
> 
> If you remember, the original versions of the patch would only work if you
> configured the compiler to use GLIBC 2.32 or newer (such as using the
> --with-advance-toolchain at14.0 option).  You did not like this because as you
> pointed out, you might use a different GLIBC when linking.

It has nothing to do with me liking or not liking a patch.  You are
piling on more and more dependencies, when we cannot have any.  *That*
is the problem.  And it is a *problem*.

If we have a maze of limited situations that do and don't work, testing
becomes impossible already, let alone all further support.


Segher

  parent reply	other threads:[~2021-03-09 18:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-01 17:14 [PATCH 0/3 V2] Honor --disable-decimal-float in PowerPC libgcc _Float128 Michael Meissner
2021-03-01 17:17 ` [PATCH 1/3 V2] Fix __sprintfkf prototype in libgcc Michael Meissner
2021-03-01 22:37   ` Segher Boessenkool
2021-03-01 17:18 ` [PATCH 2/3 V2] Do not include stdio.h in libgcc's Decimal/Float128 conversions Michael Meissner
2021-03-01 23:15   ` Segher Boessenkool
2021-03-02 21:25     ` Michael Meissner
2021-03-02 21:53       ` Segher Boessenkool
2021-03-03 19:12         ` Michael Meissner
2021-03-03 23:33           ` Joseph Myers
2021-03-04  1:01             ` Michael Meissner
2021-03-09 18:35           ` Segher Boessenkool [this message]
2021-03-01 17:19 ` [PATCH 3/3 V2] Do not build Decimal/Float128 conversions if decimal is disabled Michael Meissner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210309183524.GH29191@gate.crashing.org \
    --to=segher@kernel.crashing.org \
    --cc=bergner@linux.ibm.com \
    --cc=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=joseph@codesourcery.com \
    --cc=meissner@linux.ibm.com \
    --cc=wschmidt@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).