Commit | Line | Data |
---|---|---|
a74bbe85 C |
1 | /* mac2defs.h 4.2 85/08/23 */ |
2 | ||
3 | /* | |
4 | * VAX-11/780 Registers | |
5 | */ | |
6 | ||
7 | /* | |
8 | * Scratch registers | |
9 | */ | |
10 | #define R0 0 | |
11 | #define R1 1 | |
12 | #define R2 2 | |
13 | #define R3 3 | |
14 | #define R4 4 | |
15 | #define R5 5 | |
16 | ||
17 | /* | |
18 | * Register variables | |
19 | */ | |
20 | #define R6 6 | |
21 | #define R7 7 | |
22 | #define R8 8 | |
23 | #define R9 9 | |
24 | #define R10 10 | |
25 | #define R11 11 | |
26 | ||
27 | /* | |
28 | * Special purpose registers | |
29 | */ | |
30 | #define AP 12 /* argument pointer */ | |
31 | #define FP 13 /* frame pointer */ | |
32 | #define SP 14 /* stack pointer */ | |
33 | #define PC 15 /* program counter */ | |
34 | ||
35 | #define REGSZ 16 | |
36 | #define TMPREG FP | |
37 | ||
38 | #define R2REGS 1 /* permit double indexing */ | |
39 | ||
40 | extern int fregs; | |
41 | extern int maxargs; | |
42 | ||
43 | #define BYTEOFF(x) ((x)&03) | |
44 | #define wdal(k) (BYTEOFF(k)==0) /* word align */ | |
45 | #define BITOOR(x) ((x)>>3) /* bit offset to oreg offset */ | |
46 | ||
47 | /* | |
48 | * Some macros used in store(): | |
49 | * just evaluate the arguments, and be done with it... | |
50 | */ | |
51 | #define STOARG(p) | |
52 | #define STOFARG(p) | |
53 | #define STOSTARG(p) | |
54 | #define genfcall(a,b) gencall(a,b) | |
55 | ||
56 | /* | |
57 | * Some short routines that get called an awful lot are actually macros. | |
58 | */ | |
59 | #if defined(FORT) || defined(SPRECC) | |
60 | #define szty(t) ((t) == DOUBLE ? 2 : 1) | |
61 | #else | |
62 | #define szty(t) (((t) == DOUBLE || (t) == FLOAT) ? 2 : 1) | |
63 | #endif | |
64 | #define shltype(o, p) \ | |
65 | ((o) == REG || (o) == NAME || (o) == ICON || \ | |
66 | (o) == OREG || ((o) == UNARY MUL && shumul((p)->in.left))) | |
67 | #define ncopy(q, p) ((q)->in = (p)->in) | |
68 | ||
69 | #define MYREADER(p) myreader(p) | |
70 | int optim2(); | |
71 | ||
72 | /* This indicates there are no additional special shapes, see match.c */ | |
73 | #define special(a, b) 0 |