From: James Greenhalgh Date: Wed, 23 Nov 2016 17:25:41 +0000 (+0000) Subject: [Patch 8/17] Make _Float16 available if HFmode is available X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3479b7af5e95a662664dbc0835436fc4d63d9551;p=gcc.git [Patch 8/17] Make _Float16 available if HFmode is available gcc/ * targhooks.c (default_floatn_mode): Enable _Float16 if a target provides HFmode. From-SVN: r242778 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 963f022550f..5a19b605205 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-11-23 James Greenhalgh + + * targhooks.c (default_floatn_mode): Enable _Float16 if a target + provides HFmode. + 2016-11-23 James Greenhalgh * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete. diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 73e1c2584ae..a80b3017299 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -514,10 +514,12 @@ default_floatn_mode (int n, bool extended) switch (n) { case 16: - /* We do not use HFmode for _Float16 by default because the - required excess precision support is not present and the - interactions with promotion of the older __fp16 need to - be worked out. */ + /* Always enable _Float16 if we have basic support for the mode. + Targets can control the range and precision of operations on + the _Float16 type using TARGET_C_EXCESS_PRECISION. */ +#ifdef HAVE_HFmode + cand = HFmode; +#endif break; case 32: