aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorStan Shebs <shebs@apple.com>2001-07-10 06:18:36 +0000
committerStan Shebs <shebs@gcc.gnu.org>2001-07-10 06:18:36 +0000
commitf6155fda7b053edb7ef6c84eed778495e57f7aab (patch)
tree787fa7c05c30080cd6bcbf66af8b1d34d439a975 /gcc/doc
parent4c1643f818ced4e9ad62fcaa9bb37695d8ea76af (diff)
downloadgcc-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.texi25
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