Annotation of 43BSDReno/libexec/pcc/ccom.vax/mac2defs.h, revision 1.1.1.1

1.1       root        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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.