Document MD_INIT_BUILTINS, MD_EXPAND_BUILTIN
From-SVN: r39516
This commit is contained in:
parent
bcd7edfe5e
commit
4a1d48f6e5
@ -3,6 +3,8 @@
|
|||||||
* builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
|
* builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
|
||||||
a scheduling barrier at the end.
|
a scheduling barrier at the end.
|
||||||
|
|
||||||
|
* tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
|
||||||
|
|
||||||
2001-02-07 Alexandre Oliva <aoliva@redhat.com>
|
2001-02-07 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
* config/sh/sh.md (reload_outsf): Removed.
|
* config/sh/sh.md (reload_outsf): Removed.
|
||||||
|
29
gcc/tm.texi
29
gcc/tm.texi
@ -8377,4 +8377,33 @@ converting code to conditional execution in the basic blocks
|
|||||||
A C expression to cancel any machine dependent modifications in
|
A C expression to cancel any machine dependent modifications in
|
||||||
converting code to conditional execution in the basic blocks
|
converting code to conditional execution in the basic blocks
|
||||||
@code{TEST_BB}, @code{THEN_BB}, @code{ELSE_BB}, and @code{JOIN_BB}.
|
@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 builtin functions that
|
||||||
|
need to be defined. It should be a C expression that performs the
|
||||||
|
necessary setup.
|
||||||
|
|
||||||
|
Machine specific builtins can be useful to expand special machine
|
||||||
|
instructions that would otherwise not normally be generated because
|
||||||
|
they have no equivalent in the source language (for example, SIMD vector
|
||||||
|
instructions or prefetch instructions).
|
||||||
|
|
||||||
|
To create a builtin function, call the function @code{builtin_function}
|
||||||
|
which is defined by the language frontend. You can use any type nodes set
|
||||||
|
up by @code{build_common_tree_nodes} and @code{build_common_tree_nodes_2};
|
||||||
|
only language frontends that use these two functions will use
|
||||||
|
@samp{MD_INIT_BUILTINS}.
|
||||||
|
|
||||||
|
@findex MD_EXPAND_BUILTIN
|
||||||
|
@item MD_EXPAND_BUILTIN(@var{exp}, @var{target}, @var{subtarget}, @var{mode}, @var{ignore})
|
||||||
|
|
||||||
|
Expand a call to a machine specific builtin 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 builtin.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
Loading…
Reference in New Issue
Block a user