diff options
author | Stan Shebs <shebs@apple.com> | 2001-07-10 06:18:36 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2001-07-10 06:18:36 +0000 |
commit | f6155fda7b053edb7ef6c84eed778495e57f7aab (patch) | |
tree | 787fa7c05c30080cd6bcbf66af8b1d34d439a975 /gcc/doc | |
parent | 4c1643f818ced4e9ad62fcaa9bb37695d8ea76af (diff) | |
download | gcc-f6155fda7b053edb7ef6c84eed778495e57f7aab.zip gcc-f6155fda7b053edb7ef6c84eed778495e57f7aab.tar.gz gcc-f6155fda7b053edb7ef6c84eed778495e57f7aab.tar.bz2 |
target.h (struct gcc_target): New fields init_builtins and expand_builtin.
* target.h (struct gcc_target): New fields init_builtins and
expand_builtin.
* target-def.h (TARGET_INIT_BUILTINS): New macro.
(TARGET_EXPAND_BUILTIN): New macro.
(TARGET_INITIALIZER): Add them.
* builtins.c: Include target.h.
(expand_builtin): Use targetm.expand_builtin.
(default_init_builtins): New function.
(default_expand_builtin): New function.
* expr.h (default_init_builtins): Declare.
(default_expand_builtin): Declare.
* c-common.c (c_common_nodes_and_builtins): Use
targetm.init_builtins.
* defaults.h (MD_INIT_BUILTINS): Remove.
* Makefile.in (builtins.o): Depend on target.h.
* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
(c4x_init_builtins): Make endlink arg a local.
(c4x_print_operand): Fix typos in adjust_address usages.
* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
(ix86_init_builtins): Call new function only if TARGET_MMX.
* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* doc/tm.texi: Document these changes.
From-SVN: r43888
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 665ce35..a06e47c 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -8663,10 +8663,9 @@ A C expression to cancel any machine dependent modifications in converting code to conditional execution in the basic blocks @code{TEST_BB}, @code{THEN_BB}, @code{ELSE_BB}, and @code{JOIN_BB}. -@findex MD_INIT_BUILTINS -@item MD_INIT_BUILTINS -Define this macro if you have any machine-specific built-in functions that -need to be defined. It should be a C expression that performs the +@deftypefn {Target Hook} void TARGET_INIT_BUILTINS () +Define this hook if you have any machine-specific built-in functions +that need to be defined. It should be a function that performs the necessary setup. Machine specific built-in functions can be useful to expand special machine @@ -8678,17 +8677,17 @@ To create a built-in function, call the function @code{builtin_function} which is defined by the language front end. You can use any type nodes set up by @code{build_common_tree_nodes} and @code{build_common_tree_nodes_2}; only language front ends that use these two functions will use -@samp{MD_INIT_BUILTINS}. +@samp{TARGET_INIT_BUILTINS}. -@findex MD_EXPAND_BUILTIN -@item MD_EXPAND_BUILTIN(@var{exp}, @var{target}, @var{subtarget}, @var{mode}, @var{ignore}) +@deftypefn {Target Hook} rtx TARGET_EXPAND_BUILTIN (tree @var{exp}, rtx @var{target}, rtx @var{subtarget}, enum machine_mode @var{mode}, int @var{ignore}) Expand a call to a machine specific built-in function that was set up by -@samp{MD_INIT_BUILTINS}. @var{exp} is the expression for the function call; -the result should go to @var{target} if that is convenient, and have mode -@var{mode} if that is convenient. @var{subtarget} may be used as the target -for computing one of @var{exp}'s operands. @var{ignore} is nonzero if the value -is to be ignored. -This macro should return the result of the call to the built-in function. +@samp{TARGET_INIT_BUILTINS}. @var{exp} is the expression for the +function call; the result should go to @var{target} if that is +convenient, and have mode @var{mode} if that is convenient. +@var{subtarget} may be used as the target for computing one of +@var{exp}'s operands. @var{ignore} is nonzero if the value is to be +ignored. This function should return the result of the call to the +built-in function. @end table |