From 8c46fd8f4a0cac009272480a30b19dea7c2cdef6 Mon Sep 17 00:00:00 2001 From: CSRG Date: Mon, 18 Jan 1988 22:14:09 -0800 Subject: [PATCH] BSD 4_3_Reno development Work on file usr/src/libexec/pcc/ccom.tahoe/mac2defs.h Synthesized-from: CSRG/cd2/4.3reno --- usr/src/libexec/pcc/ccom.tahoe/mac2defs.h | 73 +++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 usr/src/libexec/pcc/ccom.tahoe/mac2defs.h diff --git a/usr/src/libexec/pcc/ccom.tahoe/mac2defs.h b/usr/src/libexec/pcc/ccom.tahoe/mac2defs.h new file mode 100644 index 0000000000..a337bdd659 --- /dev/null +++ b/usr/src/libexec/pcc/ccom.tahoe/mac2defs.h @@ -0,0 +1,73 @@ +/* mac2defs.h 1.4 88/01/19 */ + +/* + * Tahoe 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 +#define R12 12 + +/* + * Special purpose registers + */ +#define FP 13 /* frame pointer */ +#define SP 14 /* stack pointer */ +#define PC 15 /* program counter */ + +/* + * Floating registers + */ +#define ACC 16 /* accumulator */ + +#define TMPREG FP /* reg off which temporaries are referenced */ +#define REGSZ 16 /* size of register set */ + +#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) + +/* + * Some short routines that get called an awful lot are actually macros. + */ +#define szty(t) ((t) == DOUBLE ? 2 : 1) +#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(); +#define SIREG (SPECIAL|7) /* indexed OREG */ +int special(); /* additional special shapes */ +#define callchk(p) if ((p)->in.op != FORTCALL) allchk() -- 2.20.1