aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/ld-insn.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-06-20 03:59:33 +0000
committerAndrew Cagney <cagney@redhat.com>2003-06-20 03:59:33 +0000
commitd81bb16ac041a24abb0d108dfd6491d6b097aa03 (patch)
treef97122948970f89bcfdbe0af29467b28dfe75247 /sim/ppc/ld-insn.h
parentcd0f588e1993fef286900f566beb83434c8ed7c1 (diff)
downloadfsf-binutils-gdb-d81bb16ac041a24abb0d108dfd6491d6b097aa03.zip
fsf-binutils-gdb-d81bb16ac041a24abb0d108dfd6491d6b097aa03.tar.gz
fsf-binutils-gdb-d81bb16ac041a24abb0d108dfd6491d6b097aa03.tar.bz2
2003-06-19 Andrew Cagney <cagney@redhat.com>
* ld-insn.h: Update copyright. (cache_fields): Define. (insn_table_fields): Add insn_field_6 and insn_field_7. (load_insn_table): Pass in the "cache_rules". * ld-insn.c: Update copyright. (load_insn_table): Add parameter "cache_rules". Handle "cache", "computed" and "scratch" fields. (main): Pass "cache_rules" to load_insn_table. * ld-cache.h: Update copyright. (append_cache_table): Declare. * ld-cache.c: Update copyright. (append_cache_table): New function. (load_cache_table): Call. * gen-model.c: Include "ld-cache.h". * gen-itable.c: Include "ld-cache.h". * igen.c: Move #include "ld-cache.h" to earlier. Update copyright. (main): Permit a NULL "cache_rules". Pass address of "cache_rules" to load_insn_table. * Makefile.in (tmp-ld-insn): Add "ld-cache.o". (tmp-igen): Do not include ppc-cache-rules. (gen-itable.o, gen-model.o): Add "ld-cache.h". * ppc-cache-rules: Delete file. * ppc-instructions: Add cache rules.
Diffstat (limited to 'sim/ppc/ld-insn.h')
-rw-r--r--sim/ppc/ld-insn.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/sim/ppc/ld-insn.h b/sim/ppc/ld-insn.h
index 06bf838..4e1b7f7 100644
--- a/sim/ppc/ld-insn.h
+++ b/sim/ppc/ld-insn.h
@@ -1,6 +1,6 @@
/* This file is part of the program psim.
- Copyright (C) 1994,1995,1996, Andrew Cagney <cagney@highland.com.au>
+ Copyright 1994, 1995, 1996, 2003 Andrew Cagney
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -119,6 +119,8 @@ typedef enum {
insn_mnemonic,
insn_name,
insn_comment,
+ insn_field_6,
+ insn_field_7,
nr_insn_table_fields
} insn_table_fields;
@@ -139,6 +141,13 @@ typedef enum {
include_path = insn_name,
} model_include_fields;
+typedef enum {
+ cache_type_def = insn_name,
+ cache_derived_name = insn_comment,
+ cache_name = insn_field_6,
+ cache_expression = insn_field_7,
+} cache_fields;
+
typedef struct _insn insn;
struct _insn {
table_entry *file_entry;
@@ -189,7 +198,8 @@ extern insn_table *load_insn_table
(const char *file_name,
decode_table *decode_rules,
filter *filters,
- table_include *includes);
+ table_include *includes,
+ cache_table **cache_rules);
model *models;
model *last_model;