aboutsummaryrefslogtreecommitdiff
path: root/gcc/genattrtab.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-09-11 23:54:11 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2000-09-11 23:54:11 +0000
commitd90ffc8d2c830e45f8e7a17fe66355e7d7865fd8 (patch)
treea4a10ad41eb4009a3a451fc4518e9f29cc1010ab /gcc/genattrtab.c
parent14203c9cac8bfbabc168aee4df38cb752bbed421 (diff)
downloadgcc-d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8.zip
gcc-d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8.tar.gz
gcc-d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8.tar.bz2
i386.md (add?i_3, add?i_5): New.
* i386.md (add?i_3, add?i_5): New. (add?i_4): Rename from add?i_3; Fix compare pattern. (sub?i_3, xor?i_3, ior?i_3): New. * genrecog.c (write_tree): Output code to clear insn_extract cache. * genattrtab.c (write_attr_case): Gen call to extract_insn_cache instead of extract_insn and extract_constrain_insn_cache instead of extract_insn and constrain_operands. * recog.c (extract_insn_cached, extract_constrain_insn_cached): New functions. (extract_insn): Clear which_alternative. (constrain_operands): Set which_alternative to -1 when failed. * recog.h (extract_constrain_insn_cached, extract_insn_cached): Declare. From-SVN: r36342
Diffstat (limited to 'gcc/genattrtab.c')
-rw-r--r--gcc/genattrtab.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index a6a9a90..c8cd193 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -5212,18 +5212,15 @@ write_attr_case (attr, av, write_case_lines, prefix, suffix, indent,
must_extract = must_constrain = address_used = 0;
walk_attr_value (av->value);
- if (must_extract)
+ if (must_constrain)
{
write_indent (indent + 2);
- printf ("extract_insn (insn);\n");
+ printf ("extract_constrain_insn_cached (insn);\n");
}
-
- if (must_constrain)
+ else if (must_extract)
{
write_indent (indent + 2);
- printf ("if (! constrain_operands (reload_completed))\n");
- write_indent (indent + 2);
- printf (" fatal_insn_not_found (insn);\n");
+ printf ("extract_insn_cached (insn);\n");
}
write_attr_set (attr, indent + 2, av->value, prefix, suffix,