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

Reply via email to