Annotation of researchv9/jerq/sgs/comp/macdefs.h, revision 1.1

1.1     ! root        1: /*     @(#) macdefs.h: 1.6 3/4/84      */
        !             2: /*     macdefs - machine dependent macros and parameters
        !             3:  *
        !             4:  *             Bellmac32 w/Mao/Berenbaum stack frame
        !             5:  *
        !             6:  *                     R. J. Mascitti
        !             7:  */
        !             8: 
        !             9: /* initial values for stack offsets in bits */
        !            10: 
        !            11: #define ARGINIT 0
        !            12: #define AUTOINIT 0
        !            13: 
        !            14: /* sizes of types in bits */
        !            15: 
        !            16: #define SZCHAR 8
        !            17: #define SZSHORT 16
        !            18: #define SZINT 32
        !            19: #define SZPOINT 32
        !            20: 
        !            21: #define SZFLOAT 32
        !            22: #define SZDOUBLE 64
        !            23: 
        !            24: /* alignments of types in bits */
        !            25: 
        !            26: #define ALCHAR 8
        !            27: #define ALSHORT 16
        !            28: #define ALINT 32
        !            29: #define ALPOINT 32
        !            30: #define ALSTACK 32
        !            31: #define ALSTRUCT 32
        !            32: #define ALINIT 32
        !            33: #define ALPROC 64
        !            34: 
        !            35: #define ALFLOAT 32
        !            36: #define ALDOUBLE 32
        !            37: 
        !            38: #define NOLONG                 /* map longs to ints */
        !            39: 
        !            40: /* format for labels (if anybody cares) */
        !            41: 
        !            42: #define LABFMT ".L%d"
        !            43: 
        !            44: /* type size in number of regs/temps */
        !            45: 
        !            46: #define szty(t) (((t) == TDOUBLE) ? 2 : 1)
        !            47: 
        !            48: /* number of scratch registers - fp r0->r2 (watch out for pairs!) */
        !            49: 
        !            50: #define NRGS 3
        !            51: 
        !            52: /* total number of registers (scratch and variables)   */
        !            53: 
        !            54: #define TOTREGS        9
        !            55: 
        !            56: /* Define symbol so we can allocate odd register pairs */
        !            57: 
        !            58: #define ODDPAIR        1
        !            59: 
        !            60: /* params addressed with positive offsets from ap, args with negative from sp */
        !            61: 
        !            62: #undef BACKPARAM
        !            63: #define BACKARGS
        !            64: 
        !            65: /* temps and autos addressed with positive offsets from fp */
        !            66: 
        !            67: #undef BACKTEMP
        !            68: #undef BACKAUTO
        !            69: 
        !            70: /* bytes run left to right */
        !            71: 
        !            72: #define LTORBYTES
        !            73: #undef RTOLBYTES
        !            74: 
        !            75: /* function calls and arguments */
        !            76: /* don't nest function calls (where do the args go?) */
        !            77: 
        !            78: /*     #define NONEST                    */
        !            79: 
        !            80: /* evaluate args left to right (3b style) */
        !            81: 
        !            82: #define LTORARGS
        !            83: 
        !            84: /* chars are unsigned */
        !            85: 
        !            86: #undef CHSIGN
        !            87: 
        !            88: /* structures returned in temporary location -- define magic string */
        !            89: 
        !            90: #define TMPSRET        "       movaw   T,%r2\n"
        !            91: 
        !            92: /* optimizer throws away unless %r2 */
        !            93: 
        !            94: #define AUXREG 2
        !            95: 
        !            96: 
        !            97: /* comment indicator */
        !            98: 
        !            99: #define COMMENTSTR "#"
        !           100: 
        !           101: /* asm markers */
        !           102: 
        !           103: #define        ASM_COMMENT     "#ASM"
        !           104: #define        ASM_END         "#ASMEND"
        !           105: 
        !           106: /* reflect my high costing in default load/store cost */
        !           107: 
        !           108: #define CLOAD(x) 55
        !           109: #define CSTORE(x) 55
        !           110: #define CTEST(x)  55
        !           111: 
        !           112: #define MYLOCCTR
        !           113: 
        !           114: #define EXIT(x) myexit(x)
        !           115: 
        !           116: /* Register number for debugging */
        !           117: 
        !           118: #define        OUTREGNO(p) (p->offset)
        !           119: 
        !           120: /* Turn on debug information */
        !           121: 
        !           122: #define        SDB
        !           123: 
        !           124: /* Enable assembly language comments */
        !           125: 
        !           126: #define        ASSYCOMMENT
        !           127: 
        !           128: /* user-level fix-up at symbol definition time */
        !           129: 
        !           130: #define FIXDEF(p)      fixdef(p)
        !           131: 
        !           132: /* support for structure debug info */
        !           133: 
        !           134: #define FIXSTRUCT(p,q) strend(p)
        !           135: 
        !           136: /* We want bitfields all to act like integers because we want to
        !           137: ** use the extract/insert instructions, which must deal with
        !           138: ** word-aligned data.
        !           139: */
        !           140: 
        !           141: #define        FLDINTADR
        !           142: 
        !           143: #ifdef M32B
        !           144: #      define IMPSWREG
        !           145: #      define IMPREGAL
        !           146: #endif
        !           147: 
        !           148: /* Commutable operators are symetric anyway */
        !           149: #define NOCOMMUTE 1

unix.superglobalmegacorp.com

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