xref: /original-bsd/old/pcc/ccom.vax/mac2defs.h (revision 1fa48748)
1*1fa48748Sralph /*	mac2defs.h	4.1	85/03/19	*/
2*1fa48748Sralph 
3*1fa48748Sralph /*
4*1fa48748Sralph  * VAX-11/780 Registers
5*1fa48748Sralph  */
6*1fa48748Sralph 
7*1fa48748Sralph /*
8*1fa48748Sralph  * Scratch registers
9*1fa48748Sralph  */
10*1fa48748Sralph #define R0	0
11*1fa48748Sralph #define R1	1
12*1fa48748Sralph #define R2	2
13*1fa48748Sralph #define R3	3
14*1fa48748Sralph #define R4	4
15*1fa48748Sralph #define R5	5
16*1fa48748Sralph 
17*1fa48748Sralph /*
18*1fa48748Sralph  * Register variables
19*1fa48748Sralph  */
20*1fa48748Sralph #define R6	6
21*1fa48748Sralph #define R7	7
22*1fa48748Sralph #define R8	8
23*1fa48748Sralph #define R9	9
24*1fa48748Sralph #define R10	10
25*1fa48748Sralph #define R11	11
26*1fa48748Sralph 
27*1fa48748Sralph /*
28*1fa48748Sralph  * Special purpose registers
29*1fa48748Sralph  */
30*1fa48748Sralph #define AP	12		/* argument pointer */
31*1fa48748Sralph #define FP	13		/* frame pointer */
32*1fa48748Sralph #define SP	14		/* stack pointer */
33*1fa48748Sralph #define PC	15		/* program counter */
34*1fa48748Sralph 
35*1fa48748Sralph #define REGSZ	16
36*1fa48748Sralph #define TMPREG	FP
37*1fa48748Sralph 
38*1fa48748Sralph #define R2REGS	1		/* permit double indexing */
39*1fa48748Sralph 
40*1fa48748Sralph extern	int fregs;
41*1fa48748Sralph extern	int maxargs;
42*1fa48748Sralph 
43*1fa48748Sralph #define BYTEOFF(x)	((x)&03)
44*1fa48748Sralph #define wdal(k)		(BYTEOFF(k)==0)		/* word align */
45*1fa48748Sralph #define BITOOR(x)	((x)>>3)		/* bit offset to oreg offset */
46*1fa48748Sralph 
47*1fa48748Sralph /*
48*1fa48748Sralph  * Some macros used in store():
49*1fa48748Sralph  *	just evaluate the arguments, and be done with it...
50*1fa48748Sralph  */
51*1fa48748Sralph #define STOARG(p)
52*1fa48748Sralph #define STOFARG(p)
53*1fa48748Sralph #define STOSTARG(p)
54*1fa48748Sralph #define genfcall(a,b)	gencall(a,b)
55*1fa48748Sralph 
56*1fa48748Sralph #define MYREADER(p) myreader(p)
57*1fa48748Sralph int	optim2();
58*1fa48748Sralph 
59*1fa48748Sralph /* This indicates there are no additional special shapes, see match.c */
60*1fa48748Sralph #define special(a, b)	0
61