diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2011-08-11 08:25:41 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2011-08-11 08:25:41 +0000 |
commit | f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e (patch) | |
tree | fcc79dff36759b0668e8d8f0629a52b95e1330eb /gcc/doc/md.texi | |
parent | 7ece388150bbbfb0c946b28efa43ad1eeb2f0bf8 (diff) | |
download | gcc-f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e.zip gcc-f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e.tar.gz gcc-f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e.tar.bz2 |
md.texi (define_bypass): Say that the instruction names can be filename-style globs.
gcc/
* doc/md.texi (define_bypass): Say that the instruction names can
be filename-style globs.
* Makefile.in (FNMATCH_H): Define.
(build/genattrtab.o, build/genautomata.o): Depend on $(FNMATCH_H).
* genattrtab.c: Include fnmatch.h.
(bypass_list): Change field name from "insn" to "pattern".
(gen_bypass_1): Update accordingly.
(process_bypasses): Use fnmatch to check for matches between
insn reservations and define_bypasses.
* genautomata.c: Include fnmatch.h.
(bypass_decl): Rename in_insn_name and out_insn_name to in_pattern
and out_pattern respectively.
(gen_bypass, insert_bypass): Update accordingly.
(for_each_matching_insn, process_bypass_2, process_bypass_1)
(process_bypass): New functions.
(process_decls): Use process_bypass. Update after field name changes.
From-SVN: r177649
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r-- | gcc/doc/md.texi | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 3eae212..49dfda9 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -7783,8 +7783,16 @@ latency time for given instruction pair. This is so called bypasses. @var{number} defines when the result generated by the instructions given in string @var{out_insn_names} will be ready for the -instructions given in string @var{in_insn_names}. The instructions in -the string are separated by commas. +instructions given in string @var{in_insn_names}. Each of these +strings is a comma-separated list of filename-style globs and +they refer to the names of @code{define_insn_reservation}s. +For example: +@smallexample +(define_bypass 1 "cpu1_load_*, cpu1_store_*" "cpu1_load_*") +@end smallexample +defines a bypass between instructions that start with +@samp{cpu1_load_} or @samp{cpu1_store_} and those that start with +@samp{cpu1_load_}. @var{guard} is an optional string giving the name of a C function which defines an additional guard for the bypass. The function will get the |