diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2017-12-28 21:19:12 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2017-12-28 21:19:12 +0000 |
commit | c6cfa2bfa09ac95dd01fa7927fa80274f9583823 (patch) | |
tree | 150679d60c4befc77e534f93d662b51e48277224 /gcc/builtins.c | |
parent | ec8a1b8d931ccdfa87d712028226a03ff17f6cef (diff) | |
download | gcc-c6cfa2bfa09ac95dd01fa7927fa80274f9583823.zip gcc-c6cfa2bfa09ac95dd01fa7927fa80274f9583823.tar.gz gcc-c6cfa2bfa09ac95dd01fa7927fa80274f9583823.tar.bz2 |
builtins.def: (_Float<N> and _Float<N>X BUILT_IN_CEIL): Add _Float<N> and _Float<N>X variants...
[gcc]
2017-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
* builtins.def: (_Float<N> and _Float<N>X BUILT_IN_CEIL): Add
_Float<N> and _Float<N>X variants for rounding built-in
functions.
(_Float<N> and _Float<N>X BUILT_IN_FLOOR): Likewise.
(_Float<N> and _Float<N>X BUILT_IN_NEARBYINT): Likewise.
(_Float<N> and _Float<N>X BUILT_IN_RINT): Likewise.
(_Float<N> and _Float<N>X BUILT_IN_ROUND): Likewise.
(_Float<N> and _Float<N>X BUILT_IN_TRUNC): Likewise.
* builtins.c (mathfn_built_in_2): Likewise.
* internal-fn.def (CEIL): Likewise.
(FLOOR): Likewise.
(NEARBYINT): Likewise.
(RINT): Likewise.
(ROUND): Likewise.
(TRUNC): Likewise.
* convert.c (convert_to_integer_1): Likewise.
* fold-const.c (tree_call_nonnegative_warnv_p): Likewise.
(integer_valued_real_call_p): Likewise.
* fold-const-call.c (fold_const_call_ss): Likewise.
* gencfn-macros.c (print_case_cfn): Change CFN and operator
printers to take a const char * suffix instead of a bool.
(print_define_operator_list): Likewise.
(fltall_suffixes): New list of suffixes, that include the
traditional suffixes as well as all of the _Float<N> and
_Float<N>X suffixes.
(main): For _Float<N> and _Float<N>X functions, emit both
<name>_FN and <name>_ALL variants. The <macro>_FN variant only
has the _Float<N> and _Float<N>X case names or operators. The
<name>_ALL variant has both the traditional and the
_Float<N>/_Float<N>X case names or operators.
* match.pd (COPYSIGN optimizations): Provide optimizations for
_Float<N> and _Float<N>X types where possible.
(MIN/MAX optimizations): Likewise.
(sqrt optimizations): Likewise.
(rounding optimizations): Likewise.
[gcc/c]
2017-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
* c-decl.c (header_for_builtin_fn): Add integer rounding _Float<N>
and _Float<N>X built-in functions.
From-SVN: r256026
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 753809f..98eb804 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -1877,7 +1877,7 @@ mathfn_built_in_2 (tree type, combined_fn fn) CASE_MATHFN (ATAN2) CASE_MATHFN (ATANH) CASE_MATHFN (CBRT) - CASE_MATHFN (CEIL) + CASE_MATHFN_FLOATN (CEIL) CASE_MATHFN (CEXPI) CASE_MATHFN_FLOATN (COPYSIGN) CASE_MATHFN (COS) @@ -1891,7 +1891,7 @@ mathfn_built_in_2 (tree type, combined_fn fn) CASE_MATHFN (EXPM1) CASE_MATHFN (FABS) CASE_MATHFN (FDIM) - CASE_MATHFN (FLOOR) + CASE_MATHFN_FLOATN (FLOOR) CASE_MATHFN_FLOATN (FMA) CASE_MATHFN_FLOATN (FMAX) CASE_MATHFN_FLOATN (FMIN) @@ -1930,7 +1930,7 @@ mathfn_built_in_2 (tree type, combined_fn fn) CASE_MATHFN (MODF) CASE_MATHFN (NAN) CASE_MATHFN (NANS) - CASE_MATHFN (NEARBYINT) + CASE_MATHFN_FLOATN (NEARBYINT) CASE_MATHFN (NEXTAFTER) CASE_MATHFN (NEXTTOWARD) CASE_MATHFN (POW) @@ -1938,8 +1938,8 @@ mathfn_built_in_2 (tree type, combined_fn fn) CASE_MATHFN (POW10) CASE_MATHFN (REMAINDER) CASE_MATHFN (REMQUO) - CASE_MATHFN (RINT) - CASE_MATHFN (ROUND) + CASE_MATHFN_FLOATN (RINT) + CASE_MATHFN_FLOATN (ROUND) CASE_MATHFN (SCALB) CASE_MATHFN (SCALBLN) CASE_MATHFN (SCALBN) @@ -1952,7 +1952,7 @@ mathfn_built_in_2 (tree type, combined_fn fn) CASE_MATHFN (TAN) CASE_MATHFN (TANH) CASE_MATHFN (TGAMMA) - CASE_MATHFN (TRUNC) + CASE_MATHFN_FLOATN (TRUNC) CASE_MATHFN (Y0) CASE_MATHFN (Y1) CASE_MATHFN (YN) |