aboutsummaryrefslogtreecommitdiff
path: root/sim/igen/igen.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1998-04-14 00:00:15 +0000
committerAndrew Cagney <cagney@redhat.com>1998-04-14 00:00:15 +0000
commit346a3d6c11e5dd2ef80d345f2ee8f231e1080efc (patch)
tree89d8c62b0fab7088b54f6be69ff2dafc2e82707d /sim/igen/igen.c
parent27aa0c7e559ff1426b1679b644441649d72a19c7 (diff)
downloadgdb-346a3d6c11e5dd2ef80d345f2ee8f231e1080efc.zip
gdb-346a3d6c11e5dd2ef80d345f2ee8f231e1080efc.tar.gz
gdb-346a3d6c11e5dd2ef80d345f2ee8f231e1080efc.tar.bz2
Add support for instruction word conditionals of the form `XXX!YYY'
and XXX=YYY'. See mn10300 for examples.
Diffstat (limited to 'sim/igen/igen.c')
-rw-r--r--sim/igen/igen.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/sim/igen/igen.c b/sim/igen/igen.c
index fd9b20d..4a95f2f 100644
--- a/sim/igen/igen.c
+++ b/sim/igen/igen.c
@@ -1101,14 +1101,17 @@ main (int argc,
printf ("\t trace-entries - report entries after a rules application\n");
printf ("\t trace-rule-rejection - report each rule as rejected\n");
printf ("\t trace-rule-selection - report each rule as selected\n");
+ printf ("\t trace-insn-insertion - report each instruction as it is inserted into a decode table\n");
+ printf ("\t trace-rule-expansion - report each instruction as it is expanded (before insertion into a decode table)\n");
+ printf ("\t trace-all - enable all trace options\n");
printf ("\n");
- printf ("\t field-widths - instruction formats specify widths (depreciated)\n");
- printf ("\t By default, an instruction format specifies bit\n");
- printf ("\t positions\n");
- printf ("\t This option can now be set directly in the\n");
- printf ("\t instruction table\n");
- printf ("\t jumps - use jumps instead of function calls\n");
- printf ("\t omit-line-numbers - do not include line number information in the output\n");
+ printf ("\t field-widths - instruction formats specify widths (depreciated)\n");
+ printf ("\t By default, an instruction format specifies bit\n");
+ printf ("\t positions\n");
+ printf ("\t This option can now be set directly in the\n");
+ printf ("\t instruction table\n");
+ printf ("\t jumps - use jumps instead of function calls\n");
+ printf ("\t omit-line-numbers - do not include line number information in the output\n");
printf ("\n");
printf ("Input options:\n");
printf ("\n");
@@ -1426,6 +1429,10 @@ main (int argc,
{
options.gen.nia = nia_is_void;
}
+ else if (strcmp (argp, "trace-all") == 0)
+ {
+ memset (&options.trace, enable_p, sizeof (options.trace));
+ }
else if (strcmp (argp, "trace-combine") == 0)
{
options.trace.combine = enable_p;
@@ -1442,6 +1449,14 @@ main (int argc,
{
options.trace.rule_selection = enable_p;
}
+ else if (strcmp (argp, "trace-insn-insertion") == 0)
+ {
+ options.trace.insn_insertion = enable_p;
+ }
+ else if (strcmp (argp, "trace-insn-expansion") == 0)
+ {
+ options.trace.insn_expansion = enable_p;
+ }
else if (strcmp (argp, "jumps") == 0)
{
options.gen.code = generate_jumps;