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