On Mon, 2 Aug 2021, liuhongt via Gcc-patches wrote: > diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c > index 7979e240426..dc673c89bc8 100644 > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -23352,6 +23352,8 @@ ix86_get_excess_precision (enum excess_precision_type > type) > return (type == EXCESS_PRECISION_TYPE_STANDARD > ? FLT_EVAL_METHOD_PROMOTE_TO_FLOAT > : FLT_EVAL_METHOD_UNPREDICTABLE); > + case EXCESS_PRECISION_TYPE_FLOAT16: > + return FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16; > default: > gcc_unreachable (); > }
I'd expect an error for -fexcess-precision=16 with -mfpmath=387 (since x87 doesn't do float or double arithmetic, but -fexcess-precision=16 implies that all of _Float16, float and double are represented to the range and precision of their type withou any excess precision). -- Joseph S. Myers jos...@codesourcery.com