ack/util/ncgg/instruct.h

38 lines
878 B
C
Raw Normal View History

1984-12-17 15:13:39 +00:00
/* $Header$ */
#ifndef _COST_
#include "cost.h"
#endif
#define AD_RO 01 /* Read only operand */
#define AD_WO 02 /* Write only operand */
#define AD_RW 03 /* Read-write operand */
#define AD_RWMASK 03 /* Mask to select these possiblities */
#define AD_CC 04 /* Condition codes set to this one */
typedef struct operand {
struct operand *o_next;
short o_setno;
short o_adorn;
} operand;
typedef struct instruction {
char *i_name;
short i_asname;
short i_nops;
operand *i_oplist;
struct varinfo *i_erases;
cost_t i_cost;
} instr_t,*instr_p;
extern instr_t l_instr[];
/*
* The read only information on the operands is not used at the moment.
* Predicted future use:
* When using :ro data it is possible to use a register in its stead
* if it contains the same information and is allowed as an operand
* in this place. Too difficult for now.
*/