/*	@(#)mac2defs	1.1	*/
/*	NS32000 registers */

	/* scratch registers */
# define R0 0
# define R1 1
# define R2 2
# define R3 3

	/* register variables */
# define R4 4
# define R5 5
# define R6 6
# define R7 7

	/* special purpose */
# define AP 8		/* argument pointer */
# define FP 8		/* frame pointer */
# define SP 9	/* stack pointer */
/*# define PC 15	/* program counter */

	/* floating registers */

	/* there are no floating point registers on the VAX */
	/* scratch */
# define F0 10
# define F1 11
# define F2 12
# define F3 13
# define F4 14
# define F5 15
# define F6 16
# define F7 17

extern int fregs;
extern int maxargs;

# define BYTEOFF(x) ((x)&03)
# define wdal(k) (BYTEOFF(k)==0)
# define BITOOR(x) ((x)>>3)  /* bit offset to oreg offset */

# define REGSZ 18

# define TMPREG FP

# define R2REGS		/* permit double indexing */
# define R2FLAGS 07	/* on a 16 bit host 03 is best you can do */

# define STOARG(p)     /* just evaluate the arguments, and be done with it... */
# define STOFARG(p)
# define STOSTARG(p)
# define genfcall(a,b) gencall(a,b)

# define NOOPT			/* disable vax type tst instructions */
# define NESTCALLS

# define MYREADER(p) myreader(p)
int optim2();

# define SCCON (SPECIAL|3)	/* -256 <= constant < 256 */
# define SSCON (SPECIAL|4)	/* -32768 <= constant < 32768 */
# define SSOREG (SPECIAL|5)	/* non-indexed OREG */
# define SQCON (SPECIAL|6)	/* -8 <= constant < 8 */
# define SPCON (SPECIAL|7)	/* 0 < constant < 128 */
# define SPQCON (SPECIAL|8)	/* 0 < constant < 8 */
# define SSNAME (SPECIAL|9)	/* used to be converted to ICON */
# define SSFP (SPECIAL|10)	/* non-indexed OREG from frame ptr (fp) */
# define SICON (SPECIAL|11)	/* constant i.e., non relocatable */
# define SRFLD (SPECIAL|12)	/* register fields */

/*# define NOHWBUG 		/* uncomment this line if your 16k string
				   instructions work as they are supposed
				   to . used in structure assignments */

# define REALINDEX		/* uncomment this line if your 16k cpu
				   can handle the indexed addressing mode 
				   for the fpu chip */

# define BAD_DBL_TOS 1		/* comment this line if your 16k cpu
				   allows moves of double precision 
				   floating point values to tos ( top of
				   stack) */

/*# define INSRT_NOP 1		/* Inserts a nop after every fpu instr */

