xref: /csrg-svn/old/pcc/ccom.vax/mac2defs (revision 18401)
1*18401Sralph/*	mac2defs	1.1	85/03/19	*/
2*18401Sralph/*	VAX-11/780 Registers */
3*18401Sralph
4*18401Sralph	/* scratch registers */
5*18401Sralph# define R0 0
6*18401Sralph# define R1 1
7*18401Sralph# define R2 2
8*18401Sralph# define R3 3
9*18401Sralph# define R4 4
10*18401Sralph# define R5 5
11*18401Sralph
12*18401Sralph	/* register variables */
13*18401Sralph# define R6 6
14*18401Sralph# define R7 7
15*18401Sralph# define R8 8
16*18401Sralph# define R9 9
17*18401Sralph# define R10 10
18*18401Sralph# define R11 11
19*18401Sralph
20*18401Sralph	/* special purpose */
21*18401Sralph# define AP 12		/* argument pointer */
22*18401Sralph# define FP 13		/* frame pointer */
23*18401Sralph# define SP 14	/* stack pointer */
24*18401Sralph# define PC 15	/* program counter */
25*18401Sralph
26*18401Sralph	/* floating registers */
27*18401Sralph
28*18401Sralph	/* there are no floating point registers on the VAX */
29*18401Sralph
30*18401Sralphextern int fregs;
31*18401Sralphextern int maxargs;
32*18401Sralph
33*18401Sralph# define BYTEOFF(x) ((x)&03)
34*18401Sralph# define wdal(k) (BYTEOFF(k)==0)
35*18401Sralph# define BITOOR(x) ((x)>>3)  /* bit offset to oreg offset */
36*18401Sralph
37*18401Sralph# define REGSZ 16
38*18401Sralph
39*18401Sralph# define TMPREG FP
40*18401Sralph
41*18401Sralph# define R2REGS   /* permit double indexing */
42*18401Sralph
43*18401Sralph# define STOARG(p)     /* just evaluate the arguments, and be done with it... */
44*18401Sralph# define STOFARG(p)
45*18401Sralph# define STOSTARG(p)
46*18401Sralph# define genfcall(a,b) gencall(a,b)
47*18401Sralph
48*18401Sralph# define NESTCALLS
49*18401Sralph
50*18401Sralph# define MYREADER(p) myreader(p)
51*18401Sralphint optim2();
52*18401Sralph# define special(a, b) 0
53