public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Document -fexcess-precision=16.
@ 2024-03-18 10:55 liuhongt
  2024-03-18 16:16 ` Joseph Myers
  0 siblings, 1 reply; 6+ messages in thread
From: liuhongt @ 2024-03-18 10:55 UTC (permalink / raw)
  To: gcc-patches; +Cc: crazylht, hjl.tools

Ok for trunk?

gcc/ChangeLog:

	* doc/invoke.texi: Document -fexcess-precision=16.
---
 gcc/doc/invoke.texi | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 85c938d4a14..673420fdd3e 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -14930,6 +14930,9 @@ assignments).  This option is enabled by default for C or C++ if a strict
 conformance option such as @option{-std=c99} or @option{-std=c++17} is used.
 @option{-ffast-math} enables @option{-fexcess-precision=fast} by default
 regardless of whether a strict conformance option is used.
+If @option{-fexcess-precision=16} is specified, casts and assignments of
+@code{_Float16} and @code{bfloat16_t} cause value to be rounded to their
+semantic types if they're supported by the target.
 
 @opindex mfpmath
 @option{-fexcess-precision=standard} is not implemented for languages
-- 
2.31.1


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

* Re: [PATCH] Document -fexcess-precision=16.
  2024-03-18 10:55 [PATCH] Document -fexcess-precision=16 liuhongt
@ 2024-03-18 16:16 ` Joseph Myers
  2024-03-19  0:58   ` Hongtao Liu
  0 siblings, 1 reply; 6+ messages in thread
From: Joseph Myers @ 2024-03-18 16:16 UTC (permalink / raw)
  To: liuhongt; +Cc: gcc-patches, crazylht, hjl.tools

On Mon, 18 Mar 2024, liuhongt wrote:

> +If @option{-fexcess-precision=16} is specified, casts and assignments of
> +@code{_Float16} and @code{bfloat16_t} cause value to be rounded to their
> +semantic types if they're supported by the target.

Isn't that option about rounding results of all operations, whether or not 
a cast or assignment is involved?  That's certainly what the brief mention 
of this option in extend.texi says, and fits the intent that 
-fexcess-precision=16 corresponds to FLT_EVAL_METHOD == 16.

-- 
Joseph S. Myers
josmyers@redhat.com


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

* Re: [PATCH] Document -fexcess-precision=16.
  2024-03-18 16:16 ` Joseph Myers
@ 2024-03-19  0:58   ` Hongtao Liu
  2024-03-19 19:56     ` Joseph Myers
  0 siblings, 1 reply; 6+ messages in thread
From: Hongtao Liu @ 2024-03-19  0:58 UTC (permalink / raw)
  To: Joseph Myers; +Cc: liuhongt, gcc-patches, hjl.tools

On Tue, Mar 19, 2024 at 12:16 AM Joseph Myers <josmyers@redhat.com> wrote:
>
> On Mon, 18 Mar 2024, liuhongt wrote:
>
> > +If @option{-fexcess-precision=16} is specified, casts and assignments of
> > +@code{_Float16} and @code{bfloat16_t} cause value to be rounded to their
> > +semantic types if they're supported by the target.
>
> Isn't that option about rounding results of all operations, whether or not
> a cast or assignment is involved?  That's certainly what the brief mention
> of this option in extend.texi says, and fits the intent that
> -fexcess-precision=16 corresponds to FLT_EVAL_METHOD == 16.
Yes, how about this.


+If @option{-fexcess-precision=16} is specified, each operation of
+@code{_Float16} and @code{bfloat16_t} causes value to be rounded to their
+semantic types if they're supported by the target.

>
> --
> Joseph S. Myers
> josmyers@redhat.com
>


-- 
BR,
Hongtao

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

* Re: [PATCH] Document -fexcess-precision=16.
  2024-03-19  0:58   ` Hongtao Liu
@ 2024-03-19 19:56     ` Joseph Myers
  2024-03-20  1:09       ` [PATCH V2] " liuhongt
  0 siblings, 1 reply; 6+ messages in thread
From: Joseph Myers @ 2024-03-19 19:56 UTC (permalink / raw)
  To: Hongtao Liu; +Cc: liuhongt, gcc-patches, hjl.tools

[-- Attachment #1: Type: text/plain, Size: 1619 bytes --]

On Tue, 19 Mar 2024, Hongtao Liu wrote:

> On Tue, Mar 19, 2024 at 12:16 AM Joseph Myers <josmyers@redhat.com> wrote:
> >
> > On Mon, 18 Mar 2024, liuhongt wrote:
> >
> > > +If @option{-fexcess-precision=16} is specified, casts and assignments of
> > > +@code{_Float16} and @code{bfloat16_t} cause value to be rounded to their
> > > +semantic types if they're supported by the target.
> >
> > Isn't that option about rounding results of all operations, whether or not
> > a cast or assignment is involved?  That's certainly what the brief mention
> > of this option in extend.texi says, and fits the intent that
> > -fexcess-precision=16 corresponds to FLT_EVAL_METHOD == 16.
> Yes, how about this.
> 
> 
> +If @option{-fexcess-precision=16} is specified, each operation of
> +@code{_Float16} and @code{bfloat16_t} causes value to be rounded to their
> +semantic types if they're supported by the target.

I'm sure sure it's quite right to say the operation causes the value to be 
rounded, considering it's results not arguments that are rounded, and from 
the user perspective the rounding is an implementation detail, it's just 
computing the results in the semantic type.  So maybe more like:

  If @option{-fexcess-precision=16} is specified, constants and the
  results of expressions with types @code{_Float16} and @code{__bf16}
  are computed without excess precision.

(Also, I've suggested there to use the built-in type name __bf16; the name 
__bfloat16 from avx512bf16vlintrin.h would also be a possibility.  As far 
as I know, the bfloat16_t name is only in C++.)

-- 
Joseph S. Myers
josmyers@redhat.com

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

* [PATCH V2] Document -fexcess-precision=16.
  2024-03-19 19:56     ` Joseph Myers
@ 2024-03-20  1:09       ` liuhongt
  2024-03-20 21:10         ` Joseph Myers
  0 siblings, 1 reply; 6+ messages in thread
From: liuhongt @ 2024-03-20  1:09 UTC (permalink / raw)
  To: gcc-patches; +Cc: josmyers

gcc/ChangeLog:

	* doc/invoke.texi: Document -fexcess-precision=16.
---
 gcc/doc/invoke.texi | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 85c938d4a14..6bc1ebf9721 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -14930,6 +14930,9 @@ assignments).  This option is enabled by default for C or C++ if a strict
 conformance option such as @option{-std=c99} or @option{-std=c++17} is used.
 @option{-ffast-math} enables @option{-fexcess-precision=fast} by default
 regardless of whether a strict conformance option is used.
+If @option{-fexcess-precision=16} is specified, constants and the
+results of expressions with types @code{_Float16} and @code{__bf16}
+are computed without excess precision.
 
 @opindex mfpmath
 @option{-fexcess-precision=standard} is not implemented for languages
-- 
2.31.1


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

* Re: [PATCH V2] Document -fexcess-precision=16.
  2024-03-20  1:09       ` [PATCH V2] " liuhongt
@ 2024-03-20 21:10         ` Joseph Myers
  0 siblings, 0 replies; 6+ messages in thread
From: Joseph Myers @ 2024-03-20 21:10 UTC (permalink / raw)
  To: liuhongt; +Cc: gcc-patches

On Wed, 20 Mar 2024, liuhongt wrote:

> gcc/ChangeLog:
> 
> 	* doc/invoke.texi: Document -fexcess-precision=16.

OK.

-- 
Joseph S. Myers
josmyers@redhat.com


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

end of thread, other threads:[~2024-03-20 21:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-18 10:55 [PATCH] Document -fexcess-precision=16 liuhongt
2024-03-18 16:16 ` Joseph Myers
2024-03-19  0:58   ` Hongtao Liu
2024-03-19 19:56     ` Joseph Myers
2024-03-20  1:09       ` [PATCH V2] " liuhongt
2024-03-20 21:10         ` Joseph Myers

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).