12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- /* $Id$ */
- #ifndef LANG_NCGG_INSTRUCT_H
- #define LANG_NCGG_INSTRUCT_H
- #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.
- */
- #endif /* LANG_NCGG_INSTRUCT_H */
|