diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-11 06:16:39 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-11 06:16:39 +0000 |
commit | ac14875119315347b004b4b1a55fa4f7915396a2 (patch) | |
tree | 4f8876fc98292146b6f2b8bf4a5835e8ae42a92c /gcc/genopinit.c | |
parent | 13d02b5eeca399aa36c126a556321d605f9bac82 (diff) | |
download | gcc-ac14875119315347b004b4b1a55fa4f7915396a2.tar.gz |
* builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
* optabs.h (enum optab_index): Add new OTI_lceil.
(lceil_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize lceil_optab.
* genopinit.c (optabs): Implement lceil_optab using lceilsi2
and lceildi2 patterns.
* builtins.c (expand_builtin_int_roundingfn): Handle
BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L}.
(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.
* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
into lceil built-in function and (long long int)ceil{,f,l} into
llceil built-in function.
* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
BUILT_IN_LLCEIL.
testsuite:
* gcc.dg/builtins-53.c: Also check (int)ceil* and
(long long int)ceil*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97964 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genopinit.c')
-rw-r--r-- | gcc/genopinit.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/genopinit.c b/gcc/genopinit.c index 42a525f8ceb..da80f782789 100644 --- a/gcc/genopinit.c +++ b/gcc/genopinit.c @@ -121,6 +121,7 @@ static const char * const optabs[] = "floor_optab->handlers[$A].insn_code = CODE_FOR_$(floor$a2$)", "lfloor_optab->handlers[$A].insn_code = CODE_FOR_$(lfloor$a2$)", "ceil_optab->handlers[$A].insn_code = CODE_FOR_$(ceil$a2$)", + "lceil_optab->handlers[$A].insn_code = CODE_FOR_$(lceil$a2$)", "round_optab->handlers[$A].insn_code = CODE_FOR_$(round$a2$)", "btrunc_optab->handlers[$A].insn_code = CODE_FOR_$(btrunc$a2$)", "nearbyint_optab->handlers[$A].insn_code = CODE_FOR_$(nearbyint$a2$)", |