public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Joseph Myers <joseph@codesourcery.com>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Cc: <libc-alpha@sourceware.org>,
	Jason Duerstock <jason.duerstock@gmail.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	James Clarke <jrtc27@jrtc27.com>
Subject: Re: RFC: remove the "tile" architecture from glibc
Date: Thu, 01 Feb 2018 17:52:00 -0000	[thread overview]
Message-ID: <alpine.DEB.2.20.1802011728320.21283@digraph.polyomino.org.uk> (raw)
In-Reply-To: <80820556-da4d-fd81-91bf-1535189fdf54@linaro.org>

On Thu, 1 Feb 2018, Adhemerval Zanella wrote:

> On 01/02/2018 11:39, Joseph Myers wrote:
> > On Thu, 1 Feb 2018, Adhemerval Zanella wrote:
> > 
> >> However the math tests seems to shows a lot of corner cases issues which
> >> has been fixed in generic implementations. As I commented with Jason Duerstock,
> >> John Paul Adrian, and James Clarke in a private thread I think easier solution
> >> for 2.28 is we remove the arch-specific faulty ia64 math implementation and
> >> use the generic ones. If performance is an issue we reimplement and fixed
> >> them if it is the case.
> > 
> > (a) Note that various functions don't have a generic ldbl-96 
> > implementation, because all of x86_64, i386, ia64 and m68k have 
> > architecture-specific implementations.  So in those cases you can't simply 
> > remove the ia64 implementation because there isn't an alternative one.
> 
> My idea is to focus first on flt-32 and dbl-64 ones to check how many
> failures we can remove by using generic implementations.

How helpful that is may depend, in cases where there's no generic ldbl-96 
version, on whether the bugs and implementations are essentially the same 
as in the long double functions (if essentially the same and there's no 
generic ldbl-96 version of that function, fixing the ia64 long double 
version may give you a fix that's very similar to what's needed for float 
and double).

> math/test-double-ceil
> math/test-double-finite-ceil
> math/test-double-finite-floor
> math/test-double-floor
> - Setting inexact

I should point out that ia64 has four fpsr status fields, and that 
floating-point instructions can choose which status field to use.  
Furthermore, the ABI specifies "Status Fields 2 and 3. The control bits in 
these status fields must agree with the control bits in status field 0, 
and the trap disable bits should always be set at procedure calls and 
returns. The flag bits are always available for scratch use.".

I.e., for these functions setting spurious exceptions, you should just be 
able to change whatever instructions might set exceptions to set those 
exceptions in sf2 or sf3 instead.  (Or if round-to-nearest is wanted 
internally, sf1 can be used, as its flag bits are also scratch - many of 
the functions do already use sf1 on most of their computations.)

On the other hand, if the functions are explicitly setting inexact - which 
in fact appears to be the case for these functions - then the code that is 
only there to set inexact can be removed.

-- 
Joseph S. Myers
joseph@codesourcery.com

  reply	other threads:[~2018-02-01 17:52 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-01 21:34 Chris Metcalf
2017-12-01 21:41 ` Joseph Myers
2017-12-01 21:57 ` John Paul Adrian Glaubitz
2017-12-01 22:11   ` Joseph Myers
2017-12-01 22:30     ` John Paul Adrian Glaubitz
2017-12-01 22:41       ` Joseph Myers
2017-12-02 15:15         ` John Paul Adrian Glaubitz
2017-12-04 11:10           ` Adhemerval Zanella
2017-12-04 11:28             ` John Paul Adrian Glaubitz
2017-12-04 18:03             ` Joseph Myers
2017-12-04 18:32               ` Adhemerval Zanella
2017-12-04 18:55                 ` Joseph Myers
2017-12-04 18:14             ` Chris Metcalf
2017-12-04 18:36               ` Adhemerval Zanella
2017-12-04 17:53           ` Joseph Myers
2017-12-04 18:47             ` John Paul Adrian Glaubitz
2017-12-04 19:02               ` Joseph Myers
     [not found]       ` <alpine.DEB.2.20.1801311732001.23883@digraph.polyomino.org.uk>
     [not found]         ` <38170271-e17f-0a7e-7dd2-06fa6ddfae62@physik.fu-berlin.de>
     [not found]           ` <9f8b994a-7085-e263-dd1b-bea2def55fb0@linaro.org>
2018-02-01 13:24             ` Adhemerval Zanella
2018-02-01 13:33               ` John Paul Adrian Glaubitz
2018-02-01 13:37                 ` Adhemerval Zanella
2018-02-01 13:45                   ` Joseph Myers
2018-02-01 16:40                     ` Adhemerval Zanella
2018-02-01 13:39               ` Joseph Myers
2018-02-01 17:21                 ` Adhemerval Zanella
2018-02-01 17:52                   ` Joseph Myers [this message]
2018-02-01 18:30                   ` Joseph Myers
2018-02-14 18:13             ` Joseph Myers
2018-02-01 13:34           ` Adhemerval Zanella
2018-02-01 13:50             ` Joseph Myers
2018-02-01 16:50               ` Adhemerval Zanella
2017-12-02  1:15   ` Chris Metcalf
2017-12-02 15:16     ` John Paul Adrian Glaubitz
2017-12-04 21:49       ` Chris Metcalf
2017-12-04 23:29         ` Joseph Myers
2018-03-07 15:39       ` Arnd Bergmann
2018-03-07 16:01         ` Joseph Myers
2018-03-07 16:08           ` John Paul Adrian Glaubitz
2018-03-07 16:49             ` Adhemerval Zanella
2018-03-07 17:17               ` Joseph Myers
2018-03-07 18:16         ` Helmut Grohne
2018-03-08 15:55           ` Arnd Bergmann
2018-03-08 16:06             ` John Paul Adrian Glaubitz
2018-03-08 16:23               ` Arnd Bergmann
2018-03-09 16:31               ` Joseph Myers
2018-03-09 16:37                 ` John Paul Adrian Glaubitz
2018-03-09 16:53                   ` Joseph Myers
2018-03-08 17:14             ` Palmer Dabbelt
2018-03-08 23:36               ` Arnd Bergmann
2017-12-02  3:24 ` Carlos O'Donell
2017-12-08 16:20 ` Chris Metcalf
2018-01-05  9:01 ` Henrik Grindal Bakken

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=alpine.DEB.2.20.1802011728320.21283@digraph.polyomino.org.uk \
    --to=joseph@codesourcery.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=jason.duerstock@gmail.com \
    --cc=jrtc27@jrtc27.com \
    --cc=libc-alpha@sourceware.org \
    /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).