4.4BSD/usr/src/old/pcc/ccom.vax/mac2defs.h

Compare this file to the similar file:
Show the results in this format:

/*	mac2defs.h	4.2	85/08/23	*/

/*
 * VAX-11/780 Registers
 */

/*
 * Scratch registers
 */
#define R0	0
#define R1	1
#define R2	2
#define R3	3
#define R4	4
#define R5	5

/*
 * Register variables
 */
#define R6	6
#define R7	7
#define R8	8
#define R9	9
#define R10	10
#define R11	11

/*
 * Special purpose registers
 */
#define AP	12		/* argument pointer */
#define FP	13		/* frame pointer */
#define SP	14		/* stack pointer */
#define PC	15		/* program counter */

#define REGSZ	16
#define TMPREG	FP

#define R2REGS	1		/* permit double indexing */

extern	int fregs;
extern	int maxargs;

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

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

/*
 * Some short routines that get called an awful lot are actually macros.
 */
#if defined(FORT) || defined(SPRECC)
#define	szty(t)	((t) == DOUBLE ? 2 : 1)
#else
#define	szty(t)	(((t) == DOUBLE || (t) == FLOAT) ? 2 : 1)
#endif
#define	shltype(o, p) \
	((o) == REG || (o) == NAME || (o) == ICON || \
	 (o) == OREG || ((o) == UNARY MUL && shumul((p)->in.left)))
#define	ncopy(q, p)	((q)->in = (p)->in)

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

/* This indicates there are no additional special shapes, see match.c */
#define special(a, b)	0