diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2016-11-23 17:14:07 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2016-11-23 17:14:07 +0000 |
commit | 42e02b207fdf71f09020eef2bba3e25f5f57a946 (patch) | |
tree | c7ee3fc4890a00af4ef7dfacfa95f70282c9cdd3 /gcc/target.def | |
parent | aecc521b46ac451c0547d8693bfcfabfb3832401 (diff) | |
download | gcc-42e02b207fdf71f09020eef2bba3e25f5f57a946.zip gcc-42e02b207fdf71f09020eef2bba3e25f5f57a946.tar.gz gcc-42e02b207fdf71f09020eef2bba3e25f5f57a946.tar.bz2 |
[Patch 1/17] Add a new target hook for describing excess precision intentions
gcc/
* target.def (excess_precision): New hook.
* target.h (flt_eval_method): New.
(excess_precision_type): Likewise.
* targhooks.c (default_excess_precision): New.
* targhooks.h (default_excess_precision): New.
* doc/tm.texi.in (TARGET_C_EXCESS_PRECISION): New.
* doc/tm.texi: Regenerate.
From-SVN: r242771
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index c24b4cf..efcc336 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -5464,6 +5464,23 @@ DEFHOOK_UNDOC machine_mode, (char c), default_mode_for_suffix) +DEFHOOK +(excess_precision, + "Return a value, with the same meaning as @code{FLT_EVAL_METHOD} C that\ + describes which excess precision should be applied. @var{type} is\ + either @code{EXCESS_PRECISION_TYPE_IMPLICIT},\ + @code{EXCESS_PRECISION_TYPE_FAST}, or\ + @code{EXCESS_PRECISION_TYPE_STANDARD}. For\ + @code{EXCESS_PRECISION_TYPE_IMPLICIT}, the target should return which\ + precision and range operations will be implictly evaluated in regardless\ + of the excess precision explicitly added. For\ + @code{EXCESS_PRECISION_TYPE_STANDARD} and\ + @code{EXCESS_PRECISION_TYPE_FAST}, the target should return the\ + explicit excess precision that should be added depending on the\ + value set for @option{-fexcess-precision=@r{[}standard@r{|}fast@r{]}}.", + enum flt_eval_method, (enum excess_precision_type type), + default_excess_precision) + HOOK_VECTOR_END (c) /* Functions specific to the C++ frontend. */ |