On Thu, Oct 29, 2020 at 01:32:53PM -0500, Segher Boessenkool wrote:
> On Thu, Oct 29, 2020 at 12:50:10PM -0400, Michael Meissner wrote:
> > On Wed, Oct 28, 2020 at 06:27:42PM -0500, Segher Boessenkool wrote:
> > > On Thu, Oct 22, 2020 at 06:09:38PM -0400, Michael Meissner wrote:
> > > > This patch adds long double variants of the power10 __float128 built-in
> > > > functions.  This is needed when long double uses IEEE 128-bit because
> > > > __float128 uses TFmode in this case instead of KFmode.  If this patch 
> > > > is not
> > > > applied, these built-in functions can't be used when long double is IEEE
> > > > 128-bit.
> > > 
> > > But now they still cannot, you need new builtins, instead.
> > > 
> > > TFmode is an implementation detail at this level (functions use types,
> > > not modes), so you do not need new builtins at all afaics?  Just define
> > > the existing ones with TFmode as well (if that is the same as KFmode)?
> > 
> > In order to add new overloaded built-ins, you have to add a new built-in 
> > with a
> > new name.
> 
> I do not follow?  Just delete the old non-overloaded one and add the
> overloaded one with that same old name at the same time.

You have to have 3 names for the built-in function:

  * A name specific to KFmode;
  * A name specific to long double with IEEE 128-bit; (and)
  * The generic name.

And the generic name (from the user point of view, not the insn name) needs to
be the generic name.

> TF is a nasty name, it means a different thing externally (in the libgcc
> function names, say: always IFmode) and internally (it varies what it
> means).
> 
> > Maybe when Bill finally reorganizes the built-in functions, we can do anyway
> > with having to create new named functions.  But for now, in order to add 
> > them,
> > you need a name.
> 
> Of course.  And there already is a name :-)

One name, but as I said, we will now need three insn names, and these names
spill out to the built-in names.  Even if we don't document the names, they
still exist and determined users can call them.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797

Reply via email to