aboutsummaryrefslogtreecommitdiff
path: root/sim/common/cgen-par.h
diff options
context:
space:
mode:
Diffstat (limited to 'sim/common/cgen-par.h')
-rw-r--r--sim/common/cgen-par.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sim/common/cgen-par.h b/sim/common/cgen-par.h
index ce4efd5..25272a3 100644
--- a/sim/common/cgen-par.h
+++ b/sim/common/cgen-par.h
@@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* Kinds of writes stored on the write queue. */
enum cgen_write_queue_kind {
- CGEN_QI_WRITE, CGEN_SI_WRITE, CGEN_SF_WRITE,
+ CGEN_BI_WRITE, CGEN_QI_WRITE, CGEN_SI_WRITE, CGEN_SF_WRITE,
CGEN_PC_WRITE,
CGEN_FN_SI_WRITE, CGEN_FN_DI_WRITE, CGEN_FN_DF_WRITE,
CGEN_MEM_QI_WRITE, CGEN_MEM_HI_WRITE, CGEN_MEM_SI_WRITE,
@@ -35,6 +35,10 @@ typedef struct {
enum cgen_write_queue_kind kind; /* Used to select union member below. */
union {
struct {
+ BI *target;
+ BI value;
+ } bi_write;
+ struct {
UQI *target;
QI value;
} qi_write;
@@ -107,6 +111,7 @@ typedef struct {
extern CGEN_WRITE_QUEUE_ELEMENT *cgen_write_queue_overflow (CGEN_WRITE_QUEUE *);
/* Functions for queuing writes. Used by semantic code. */
+extern void sim_queue_bi_write (SIM_CPU *, BI *, BI);
extern void sim_queue_qi_write (SIM_CPU *, UQI *, UQI);
extern void sim_queue_si_write (SIM_CPU *, SI *, SI);
extern void sim_queue_sf_write (SIM_CPU *, SI *, SF);