Annotation of 43BSDTahoe/lib/old_compiler/pcc/pcc.tahoe/table.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char sccsid[] = "@(#)table.c    1.5 (Berkeley) 1/9/87";
        !             3: #endif
        !             4: 
        !             5: # include "pass2.h"
        !             6: /* special shapes (SSOREG,SZERO etc.) shouldn't be or-ed */
        !             7: # define AWD SNAME|SOREG|SCON|STARNM|STARREG
        !             8: /* tbl */
        !             9: # define ANYSIGNED TPOINT|TINT|TSHORT|TCHAR
        !            10: # define ANYUSIGNED TUNSIGNED|TUSHORT|TUCHAR
        !            11: # define ANYFIXED ANYSIGNED|ANYUSIGNED
        !            12: # define TWORD TINT|TUNSIGNED|TPOINT
        !            13: /* tbl */
        !            14: 
        !            15: struct optab  table[] = {
        !            16: 
        !            17: PCONV, INAREG|INTAREG,
        !            18:        SAREG|AWD,      TCHAR|TSHORT,
        !            19:        SANY,   TPOINT,
        !            20:                NAREG|NASL,     RESC1,
        !            21:                "       cvtZLl  AL,A1\n",
        !            22: 
        !            23: PCONV, INAREG|INTAREG,
        !            24:        SAREG|AWD,      TUCHAR|TUSHORT,
        !            25:        SANY,   TPOINT,
        !            26:                NAREG|NASL,     RESC1,
        !            27:                "       movzZLl AL,A1\n",
        !            28: 
        !            29:        /* the following entry is to fix a problem with
        !            30:           the manner that the first pass handles the
        !            31:           type of a shift expression                 */
        !            32: PCONV, INAREG|INTAREG,
        !            33:        SAREG|AWD,      TINT|TUNSIGNED,
        !            34:        SANY,   TPOINT,
        !            35:                NAREG|NASL,     RLEFT,
        !            36:                "",
        !            37: 
        !            38: SCONV, INAREG|INTAREG|FORCC,
        !            39:        SAREG|AWD,      TDOUBLE,
        !            40:        SANY,   TFLOAT,
        !            41:                NAREG|NASL,     RESC1|RESCC,
        !            42:                "       ldd     AL\n    cvdf\n  stf     TA1\n",
        !            43: 
        !            44: SCONV, INAREG|INTAREG|FORCC,
        !            45:        SAREG|AWD,      TFLOAT,
        !            46:        SANY,   TDOUBLE,
        !            47:                NAREG|NASL,     RESC1|RESCC,
        !            48:                "       ldfd    AL\n    std     A1\n",
        !            49: 
        !            50: SCONV, INAREG|INTAREG|FORCC,
        !            51:        SAREG|AWD,      TINT|TUNSIGNED,
        !            52:        SANY,   TFLOAT|TDOUBLE,
        !            53:                NAREG|NASL,     RESC1|RESCC,
        !            54:                "       cvlZR   AL\n    stZR    TA1\n",
        !            55: 
        !            56: SCONV, INAREG|INTAREG|FORCC,
        !            57:        SAREG|AWD,      TFLOAT|TDOUBLE,
        !            58:        SANY,   ANYFIXED,
        !            59:                NAREG|NASL,     RESC1|RESCC,
        !            60:                "       ldZL    AL\n    cvZLl   A1\n",
        !            61: 
        !            62: SCONV, INAREG|INTAREG,
        !            63:        SAREG|AWD,      ANYFIXED,
        !            64:        SANY,   ANYFIXED,
        !            65:                NAREG|NASL,     RESC1|RESCC,
        !            66:                "ZU",
        !            67: 
        !            68: SCONV, INAREG|INTAREG|FORCC,
        !            69:        SAREG|AWD,      ANYFIXED,
        !            70:        SANY,   ANYFIXED,
        !            71:                NAREG|NASL,     RESC1|RESCC,
        !            72:                "ZV",
        !            73: 
        !            74: INIT,  FOREFF,
        !            75:        SCON,   TANY,
        !            76:        SANY,   TWORD,
        !            77:                0,      RNOP,
        !            78:                "       .long   CL\n",
        !            79: 
        !            80: INIT,  FOREFF,
        !            81:        SCON,   TANY,
        !            82:        SANY,   TSHORT|TUSHORT,
        !            83:                0,      RNOP,
        !            84:                "       .word   CL\n",
        !            85: 
        !            86: INIT,  FOREFF,
        !            87:        SCON,   TANY,
        !            88:        SANY,   TCHAR|TUCHAR,
        !            89:                0,      RNOP,
        !            90:                "       .byte   CL\n",
        !            91: 
        !            92:        /* for the use of fortran only */
        !            93: 
        !            94: GOTO,  FOREFF,
        !            95:        SCON,   TANY,
        !            96:        SANY,   TANY,
        !            97:                0,      RNOP,
        !            98:                "       jbr     CL\n",
        !            99: 
        !           100: GOTO,  FOREFF,
        !           101:        AWD,    TANY,
        !           102:        SANY,   TANY,
        !           103:                0,      RNOP,
        !           104:                "       jmp     *AL\n",
        !           105: 
        !           106: GOTO,  FOREFF,
        !           107:        SAREG,  TANY,
        !           108:        SANY,   TANY,
        !           109:                0,      RNOP,
        !           110:                "       jmp     (AL)\n",
        !           111: 
        !           112: STARG, FORARG,
        !           113:        SCON|SOREG,     TANY,
        !           114:        SANY,   TANY,
        !           115:                NTEMP+2*NAREG,  RESC3,
        !           116:                "ZS",
        !           117: 
        !           118: STASG, FORARG,
        !           119:        SNAME|SOREG,    TANY,
        !           120:        SCON|SAREG,     TANY,
        !           121:                0,      RNULL,
        !           122:                "       ZT\nZS",
        !           123: 
        !           124: STASG, FOREFF,
        !           125:        SNAME|SOREG,    TANY,
        !           126:        SCON|SAREG,     TANY,
        !           127:                0,      RNOP,
        !           128:                "ZS",
        !           129: 
        !           130: STASG, INAREG,
        !           131:        SNAME|SOREG,    TANY,
        !           132:        SCON,   TANY,
        !           133:                NAREG,  RESC1,
        !           134:                "ZS     movl    AR,A1\n",
        !           135: 
        !           136: STASG, INAREG,
        !           137:        SNAME|SOREG,    TANY,
        !           138:        SAREG,  TANY,
        !           139:                0,      RRIGHT,
        !           140:                "       pushl   AR\nZS  movl    (sp)+,AR\n",
        !           141: 
        !           142: OPLOG, FORCC,
        !           143:        SAREG|AWD,      TWORD,
        !           144:        SAREG|AWD,      TWORD,
        !           145:                0,      RESCC,
        !           146:                "       cmpl    AL,AR\nZP",
        !           147: 
        !           148: OPLOG, FORCC,
        !           149:        AWD,            TUSHORT,
        !           150:        SCON,   TANY,
        !           151:                NAREG,  RESCC,
        !           152:                "       movzwl  AL,A1\n cmpw    A1,AR\nZP",
        !           153: 
        !           154: OPLOG, FORCC,
        !           155:        SAREG|AWD,      TSHORT|TUSHORT,
        !           156:        SCON,   TANY,
        !           157:                0,      RESCC,
        !           158:                "       cmpw    AL,ZZ\nZP",
        !           159: 
        !           160: OPLOG, FORCC,
        !           161:        SAREG|AWD,      TSHORT|TUSHORT,
        !           162:        SAREG|AWD,      TSHORT|TUSHORT,
        !           163:                0,      RESCC,
        !           164:                "       cmpw    AL,AR\nZP",
        !           165: 
        !           166: OPLOG, FORCC,
        !           167:        AWD,            TUCHAR,
        !           168:        SCON,           TANY,
        !           169:                NAREG,  RESCC,
        !           170:                "       movzbl  AL,A1\n cmpb    A1,AR\nZP",
        !           171: 
        !           172: OPLOG, FORCC,
        !           173:        SAREG|AWD,      TCHAR|TUCHAR,
        !           174:        SCON,   TANY,
        !           175:                0,      RESCC,
        !           176:                "       cmpb    AL,ZZ\nZP",
        !           177: 
        !           178: OPLOG, FORCC,
        !           179:        SAREG|AWD,      TCHAR|TUCHAR,
        !           180:        SAREG|AWD,      TCHAR|TUCHAR,
        !           181:                0,      RESCC,
        !           182:                "       cmpb    AL,AR\nZP",
        !           183: 
        !           184: OPLOG, FORCC,
        !           185:        SAREG|AWD,      TFLOAT,
        !           186:        SAREG|AWD,      TFLOAT,
        !           187:                0,      RESCC,
        !           188:                "       cmpZL2  AL,AR\nZP",
        !           189: 
        !           190: OPLOG, FORCC,
        !           191:        SZERO,          TDOUBLE,
        !           192:        SAREG|AWD,      TDOUBLE,
        !           193:                0,      RESCC,
        !           194:                "       cmpf2   AL,AR\nZP",
        !           195: 
        !           196: OPLOG, FORCC,
        !           197:        SAREG|AWD,      TDOUBLE,
        !           198:        SAREG|AWD,      TDOUBLE,
        !           199:                0,      RESCC,
        !           200:                "       cmpZL2  AL,AR\nZP",
        !           201: 
        !           202: CCODES,        INAREG|INTAREG,
        !           203:        SANY,   TANY,
        !           204:        SANY,   TANY,
        !           205:                NAREG,  RESC1,
        !           206:                "       movl    $1,A1\nZN",
        !           207: 
        !           208: UNARY CALL,    INAREG|INTAREG,
        !           209:        SCON,   TANY,
        !           210:        SANY,   TANY,
        !           211:                NAREG|NASL,     RESC1, /* should be register 0 */
        !           212:                "       ZC,CL\n",
        !           213: 
        !           214: UNARY CALL,    INAREG|INTAREG,
        !           215:        SAREG,  TANY,
        !           216:        SANY,   TANY,
        !           217:                NAREG|NASL,     RESC1,  /* should be 0 */
        !           218:                "       ZC,(AL)\n",
        !           219: 
        !           220: UNARY CALL,    INAREG|INTAREG,
        !           221:        SNAME,  TANY,
        !           222:        SANY,   TANY,
        !           223:                NAREG|NASL,     RESC1,  /* really reg 0 */
        !           224:                "       ZC,*AL\n",
        !           225: 
        !           226: UNARY CALL,    INAREG|INTAREG,
        !           227:        SSOREG, TANY,
        !           228:        SANY,   TANY,
        !           229:                NAREG|NASL,     RESC1,  /* really reg 0 */
        !           230:                "       ZC,*AL\n",
        !           231: 
        !           232: FORTCALL,      INAREG|INTAREG,
        !           233:        SCON,   TANY,
        !           234:        SAREG|AWD,      TFLOAT,
        !           235:                NAREG|NASL|NASR,        RESC1,
        !           236:                "       ldf     AR\n    CLf\n   stf     TA1\n",
        !           237: 
        !           238: ASG OPSHFT,    INAREG|FOREFF|FORCC,
        !           239:        SAREG|AWD,      TWORD,
        !           240:        SAREG|SCON,     ANYFIXED,
        !           241:                0,      RLEFT|RESCC,
        !           242:                "       ZH      AR,AL,AL\n",
        !           243: 
        !           244: ASG OPSHFT,    INAREG|FOREFF|FORCC,
        !           245:        SAREG|AWD,      TWORD,
        !           246:        AWD,    TCHAR|TUCHAR,
        !           247:                0,      RLEFT|RESCC,
        !           248:                "       ZH      AR,AL,AL\n",
        !           249: 
        !           250: ASG OPSHFT,    INAREG|FOREFF|FORCC,
        !           251:        SAREG|AWD,      TWORD,
        !           252:        AWD,    ANYFIXED,
        !           253:                NAREG,  RLEFT|RESCC,
        !           254:                "       ZB      AR,A1\n ZH      A1,AL,AL\n",
        !           255: 
        !           256: OPSHFT,        INAREG|INTAREG|FORCC,
        !           257:        SAREG|AWD,      TWORD,
        !           258:        SAREG|SCON,     ANYFIXED,
        !           259:                NAREG|NASL|NASR,        RESC1|RESCC,
        !           260:                "       ZH      AR,AL,A1\n",
        !           261: 
        !           262: OPSHFT,        INAREG|INTAREG|FORCC,
        !           263:        SAREG|AWD,      TWORD,
        !           264:        AWD,    TCHAR|TUCHAR,
        !           265:                NAREG|NASL|NASR,        RESC1|RESCC,
        !           266:                "       ZH      AR,AL,A1\n",
        !           267: 
        !           268: OPSHFT,        INAREG|INTAREG|FORCC,
        !           269:        SAREG|AWD,      TWORD,
        !           270:        AWD,    ANYFIXED,
        !           271:                NAREG|NASR,     RESC1|RESCC,
        !           272:                "       ZB      AR,A1\n ZH      A1,AL,A1\n",
        !           273: 
        !           274: INCR,  FOREFF,
        !           275:        AWD,    TWORD,
        !           276:        SCON,   TANY,
        !           277:                0,      RLEFT,
        !           278:                "       ZE\n",
        !           279: 
        !           280: DECR,  FOREFF,
        !           281:        AWD,    TWORD,
        !           282:        SCON,   TANY,
        !           283:                0,      RLEFT,
        !           284:                "       ZE\n",
        !           285: 
        !           286: INCR,  FOREFF,
        !           287:        SAREG,  TWORD,
        !           288:        SCON,   TANY,
        !           289:                0,      RLEFT,
        !           290:                "       ZE\n",
        !           291: 
        !           292: DECR,  FOREFF,
        !           293:        SAREG,  TWORD,
        !           294:        SCON,   TANY,
        !           295:                0,      RLEFT,
        !           296:                "       ZE\n",
        !           297: 
        !           298: /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */
        !           299: 
        !           300: INCR,  INAREG|INTAREG,
        !           301:        AWD,    TANY,
        !           302:        SCON,   TANY,
        !           303:                NAREG,  RESC1,
        !           304:                "       ZD\n",
        !           305: 
        !           306: DECR,  INAREG|INTAREG,
        !           307:        AWD,    TANY,
        !           308:        SCON,   TANY,
        !           309:                NAREG,  RESC1,
        !           310:                "       ZD\n",
        !           311: 
        !           312: INCR,  INAREG|INTAREG,
        !           313:        SAREG,  TWORD,
        !           314:        SCON,   TANY,
        !           315:                NAREG,  RESC1,
        !           316:                "       ZD\n",
        !           317: 
        !           318: DECR,  INAREG|INTAREG,
        !           319:        SAREG,  TWORD,
        !           320:        SCON,   TANY,
        !           321:                NAREG,  RESC1,
        !           322:                "       ZD\n",
        !           323: 
        !           324: ASSIGN,        INAREG|FOREFF|FORCC,
        !           325:        SIREG,  TDOUBLE,
        !           326:        SZERO,  TANY,
        !           327:                0,      RLEFT|RESCC,
        !           328:                "       cvld    $0\n    std     AL\n",
        !           329: 
        !           330: ASSIGN,        INAREG|FOREFF|FORCC,
        !           331:        SAREG|SNAME|SOREG,      TDOUBLE,
        !           332:        SZERO,  TANY,
        !           333:                0,      RLEFT|RESCC,
        !           334:                "       clrl    UL\n    clrl    AL\n",
        !           335: 
        !           336: ASSIGN,        INAREG|FOREFF|FORCC,
        !           337:        SAREG|AWD,      TDOUBLE,
        !           338:        SIREG,  TDOUBLE,
        !           339:                0,      RLEFT|RRIGHT|RESCC,
        !           340:                "       ldd     AR\n    std     AL\n",
        !           341: 
        !           342: ASSIGN,        INAREG|FOREFF|FORCC,
        !           343:        SIREG,  TDOUBLE,
        !           344:        SAREG|AWD,      TDOUBLE,
        !           345:                0,      RLEFT|RRIGHT|RESCC,
        !           346:                "       ldd     AR\n    std     AL\n",
        !           347: 
        !           348: ASSIGN,        INAREG|FOREFF|FORCC,
        !           349:        SAREG|SNAME|SOREG,      TDOUBLE,
        !           350:        SAREG|SNAME|SOREG,      TDOUBLE,
        !           351:                0,      RLEFT|RRIGHT|RESCC,
        !           352:                "       movl    UR,UL\n movl    AR,AL\n",
        !           353: 
        !           354: ASSIGN,        INAREG|FOREFF|FORCC,
        !           355:        SAREG|AWD,      TFLOAT,
        !           356:        SZERO,  TANY,
        !           357:                0,      RLEFT|RESCC,
        !           358:                "       clrl    TAL\n",
        !           359: 
        !           360: ASSIGN,        INAREG|FOREFF|FORCC,
        !           361:        SAREG|AWD,      TFLOAT,
        !           362:        SAREG|AWD,      TFLOAT,
        !           363:                0,      RLEFT|RRIGHT|RESCC,
        !           364:                "       movl    AR,TAL\n",
        !           365: 
        !           366: ASSIGN,        INAREG|FOREFF|FORCC,
        !           367:        SAREG|AWD,      ANYFIXED,
        !           368:        SAREG|AWD,      ANYFIXED,
        !           369:                0,      RLEFT|RRIGHT|RESCC,
        !           370:                "       ZA\n",
        !           371: 
        !           372: ASSIGN,        INAREG|FOREFF,
        !           373:        SFLD,   TANY,
        !           374:        SZERO,  TANY,
        !           375:                0,      RRIGHT,
        !           376:                "       andl2   N,AL\n",
        !           377: 
        !           378: ASSIGN,        INAREG|FOREFF,
        !           379:        SFLD,   TANY,
        !           380:        SCON,   TANY,
        !           381:                0,      RRIGHT,
        !           382:                "       andl2   N,AL\n  orl2    ZF,AL\n",
        !           383: 
        !           384: ASSIGN,        INAREG|FOREFF,
        !           385:        SFLD,   TANY,
        !           386:        SAREG|AWD,      TWORD,
        !           387:                NAREG|NASL,     RRIGHT,
        !           388:                "       shll    $H,AR,A1\n      andl2   M,A1\n  andl2   N,AL\n\
        !           389:        orl2    A1,AL\n",
        !           390: 
        !           391: /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
        !           392: UNARY MUL,     FOREFF,
        !           393:        SCC,    TANY,
        !           394:        SCC,    TANY,
        !           395:                0,      RNULL,
        !           396:                "       help help help\n",
        !           397: 
        !           398: REG,   INTEMP,
        !           399:        SANY,   TANY,
        !           400:        SAREG,  TDOUBLE,
        !           401:                2*NTEMP,        RESC1,
        !           402:                "       movl    UR,U1\n movl    AR,A1\n",
        !           403: 
        !           404: REG,   INTEMP,
        !           405:        SANY,   TANY,
        !           406:        SAREG,  TANY,
        !           407:                NTEMP,  RESC1,
        !           408:                "       movl    AR,A1\n",
        !           409: 
        !           410: REG,   FORARG,
        !           411:        SANY,   TANY,
        !           412:        SAREG,  TFLOAT,
        !           413:                0,      RNULL,
        !           414:                "       pushl   $0\n    pushl   AR\n",
        !           415: 
        !           416: REG,   FORARG,
        !           417:        SANY,   TANY,
        !           418:        SAREG,  TDOUBLE,
        !           419:                0,      RNULL,
        !           420:                "       pushl   UR\n    pushl   AR\n",
        !           421: 
        !           422: OPLEAF,        FOREFF,
        !           423:        SANY,   TANY,
        !           424:        SAREG|AWD,      TANY,
        !           425:                0,      RLEFT,
        !           426:                "",
        !           427: 
        !           428: OPLTYPE,       INAREG|INTAREG,
        !           429:        SANY,   TANY,
        !           430:        SZERO,  TDOUBLE,
        !           431:                NAREG|NASR,     RESC1,
        !           432:                "       clrl    U1\n    clrl    A1\n",
        !           433: 
        !           434: OPLTYPE,       INAREG|INTAREG,
        !           435:        SANY,   TANY,
        !           436:        SIREG,  TDOUBLE,
        !           437:                NAREG|NASR,     RESC1,
        !           438:                "       ldd     AR\n    std     A1\n",
        !           439: 
        !           440: OPLTYPE,       INAREG|INTAREG,
        !           441:        SANY,   TANY,
        !           442:        SAREG|SNAME|SOREG|SCON, TDOUBLE,
        !           443:                NAREG,          RESC1,
        !           444:                "       movl    AR,A1\n movl    UR,U1\n",
        !           445: 
        !           446: OPLTYPE,       INAREG|INTAREG,
        !           447:        SANY,   TANY,
        !           448:        SZERO,  TANY,
        !           449:                NAREG|NASR,     RESC1,
        !           450:                "       clrl    TA1\n",
        !           451: 
        !           452: OPLTYPE,       INAREG|INTAREG,
        !           453:        SANY,   TANY,
        !           454:        SAREG|AWD,      TFLOAT,
        !           455:                NAREG|NASR,     RESC1,
        !           456:                "       movl    AR,TA1\n",
        !           457: 
        !           458: OPLTYPE,       INAREG|INTAREG,
        !           459:        SANY,   TANY,
        !           460:        SANY,   ANYFIXED,
        !           461:                NAREG|NASR,     RESC1,
        !           462:                "       ZA\n",
        !           463: 
        !           464: OPLTYPE,       FORCC,
        !           465:        SANY,   TANY,
        !           466:        SIREG,  TDOUBLE,
        !           467:                0,      RESCC,
        !           468:                "       ldd     AR\n    tstd\n",
        !           469: 
        !           470: OPLTYPE,       FORCC,
        !           471:        SANY,   TANY,
        !           472:        SAREG|AWD,      TFLOAT,
        !           473:                0,      RESCC,
        !           474:                "       ldf     AR\n    tstf\n",
        !           475: 
        !           476: OPLTYPE,       FORCC,
        !           477:        SANY,   TANY,
        !           478:        SAREG|AWD,      TDOUBLE,
        !           479:                0,      RESCC,
        !           480:                "       ldd     AR\n    tstd\n",
        !           481: 
        !           482: OPLTYPE,       FORCC,
        !           483:        SANY,   TANY,
        !           484:        SANY,   ANYFIXED,
        !           485:                0,      RESCC,
        !           486:                "       tstZR   AR\n",
        !           487: 
        !           488: OPLTYPE,       FORARG,
        !           489:        SANY,   TANY,
        !           490:        SANY,   TWORD,
        !           491:                0,      RNULL,
        !           492:                "       pushl   AR\n",
        !           493: 
        !           494: OPLTYPE,       FORARG,
        !           495:        SANY,   TANY,
        !           496:        SANY,   TCHAR|TSHORT,
        !           497:                0,      RNULL,
        !           498:                "       pushZR  AR\n",
        !           499: 
        !           500: OPLTYPE,       FORARG,
        !           501:        SANY,   TANY,
        !           502:        SANY,   TUCHAR|TUSHORT,
        !           503:                0,      RNULL,
        !           504:                "       movzZRl AR,-(sp)\n",
        !           505: 
        !           506: OPLTYPE,       FORARG,
        !           507:        SANY,   TANY,
        !           508:        SZERO,  TFLOAT|TDOUBLE,
        !           509:                0,      RNULL,
        !           510:                "       pushl   $0\n    pushl   $0\n",
        !           511: 
        !           512: OPLTYPE,       FORARG,
        !           513:        SANY,   TANY,
        !           514:        SIREG,  TDOUBLE,
        !           515:                0,      RNULL,
        !           516:                "       ldd     AR\n    pushd\n",
        !           517: 
        !           518: OPLTYPE,       FORARG,
        !           519:        SANY,   TANY,
        !           520:        SAREG|AWD,      TDOUBLE,
        !           521:                0,      RNULL,
        !           522:                "       pushl   UR\n    pushl   AR\n",
        !           523: 
        !           524: OPLTYPE,       FORARG,
        !           525:        SANY,   TANY,
        !           526:        SAREG|AWD,      TFLOAT,
        !           527:                0,      RNULL,
        !           528:                "       pushl   $0\n    pushl   AR\n",
        !           529: 
        !           530: UNARY MINUS,   INAREG|INTAREG|FORCC,
        !           531:        SAREG|AWD,      ANYSIGNED|TUNSIGNED,
        !           532:        SANY,   TANY,
        !           533:                NAREG|NASL,     RESC1|RESCC,
        !           534:                "       mnegZL  AL,A1\n",
        !           535: 
        !           536: UNARY MINUS,   INAREG|INTAREG|FORCC,
        !           537:        SAREG|AWD,      TFLOAT|TDOUBLE,
        !           538:        SANY,   TANY,
        !           539:                NAREG|NASL,     RESC1|RESCC,
        !           540:                "       lnZL    AL\n    stZL    TA1\n",
        !           541: 
        !           542: COMPL, INAREG|INTAREG|FORCC,
        !           543:        SAREG|AWD,      ANYSIGNED|TUNSIGNED,
        !           544:        SANY,   TANY,
        !           545:                NAREG|NASL,     RESC1|RESCC,
        !           546:                "       mcomZL  AL,A1\n",
        !           547: 
        !           548: COMPL, INAREG|INTAREG|FORCC,
        !           549:        SAREG|AWD,      ANYFIXED,
        !           550:        SANY,   TANY,
        !           551:                NAREG|NASL,     RESC1|RESCC,
        !           552:                "       cvtZLl  AL,A1\n mcoml   A1,A1\n",
        !           553: 
        !           554: AND,   FORCC,
        !           555:        SAREG|AWD,      TWORD,
        !           556:        SAREG|AWD,      TWORD,
        !           557:                0,      RESCC,
        !           558:                "       bitl    AR,AL\n",
        !           559: 
        !           560: AND,   FORCC,
        !           561:        SAREG|AWD,      TSHORT|TUSHORT,
        !           562:        SSCON,  TWORD,
        !           563:                0,      RESCC,
        !           564:                "       bitw    AR,AL\n",
        !           565: 
        !           566: AND,   FORCC,
        !           567:        SAREG|AWD,      TSHORT|TUSHORT,
        !           568:        SAREG|AWD,      TSHORT|TUSHORT,
        !           569:                0,      RESCC,
        !           570:                "       bitw    AR,AL\n",
        !           571: 
        !           572: AND,   FORCC,
        !           573:        SAREG|AWD,      TCHAR|TUCHAR,
        !           574:        SCCON,  TWORD,
        !           575:                0,      RESCC,
        !           576:                "       bitb    AR,AL\n",
        !           577: 
        !           578: AND,   FORCC,
        !           579:        SAREG|AWD,      TCHAR|TUCHAR,
        !           580:        SAREG|AWD,      TCHAR|TUCHAR,
        !           581:                0,      RESCC,
        !           582:                "       bitb    AR,AL\n",
        !           583: 
        !           584: ASG DIV,       INAREG|FOREFF|FORCC, /* should have been done in mip */
        !           585:        SAREG|AWD,      ANYFIXED,
        !           586:        SONE,   TWORD,
        !           587:                0,      RLEFT|RESCC,
        !           588:                "       tstZL   AL\n",
        !           589: 
        !           590: ASG DIV,       INAREG|FOREFF|FORCC,
        !           591:        SAREG|AWD,      TUCHAR|TUSHORT,
        !           592:        SAREG|AWD,      TUCHAR|TUSHORT,
        !           593:                2*NAREG,        RLEFT|RESC1|RESCC,
        !           594:                "ZX     OL2     A2,A1\n cvtlZL  A1,AL\n",
        !           595: 
        !           596: ASG DIV,       INAREG|FOREFF|FORCC,
        !           597:        SAREG|AWD,      TWORD,
        !           598:        SAREG|AWD,      TUNSIGNED,
        !           599:                3*NAREG|NEVEN,  RLEFT|RESCC,
        !           600:                "ZM     OE      AR,A1,A2,A3\n   movl    A2,AL\n",
        !           601: 
        !           602: DIV,   INAREG|INTAREG|FORCC,
        !           603:        SAREG|AWD,      TUCHAR|TUSHORT,
        !           604:        SAREG|AWD,      TUCHAR|TUSHORT,
        !           605:                2*NAREG,        RESC1|RESCC,
        !           606:                "ZX     OL2     A2,A1\n",       
        !           607: 
        !           608: DIV,   INAREG|INTAREG|FORCC,
        !           609:        SAREG|AWD,      TWORD,
        !           610:        SAREG|AWD,      TUNSIGNED,
        !           611:                3*NAREG|NEVEN,  RESC2|RESCC,
        !           612:                "ZM     OE      AR,A1,A2,A3\n",
        !           613: 
        !           614: ASG MOD,       INAREG|FOREFF,
        !           615:        SAREG|AWD,      ANYFIXED,
        !           616:        SONE,   TWORD,
        !           617:                0,      RLEFT,
        !           618:                "       clrZL   AL\n",
        !           619: 
        !           620: MOD,   INAREG|INTAREG,
        !           621:        STAREG, TWORD,
        !           622:        SONE,   TWORD,
        !           623:                0,      RLEFT,
        !           624:                "       clrl    AL\n",
        !           625: 
        !           626: MOD,   INAREG|INTAREG,
        !           627:        SAREG|AWD,      ANYFIXED,
        !           628:        SONE,   TWORD,
        !           629:                0,      RESC1,
        !           630:                "       clrl    A1\n",
        !           631: 
        !           632: ASG MOD,       INAREG|FOREFF,
        !           633:        SAREG|AWD,      TWORD,
        !           634:        SAREG|AWD,      TWORD,
        !           635:                3*NAREG|NEVEN,  RLEFT,
        !           636:                "ZM     OE      AR,A1,A2,A3\n   movl    A3,AL\n",
        !           637: 
        !           638: MOD,   INAREG|INTAREG,
        !           639:        SAREG|AWD,      TWORD,
        !           640:        SAREG|AWD,      TWORD,
        !           641:                3*NAREG|NEVEN,  RESC3,
        !           642:                "ZM     OE      AR,A1,A2,A3\n",
        !           643: 
        !           644: ASG MUL,       INAREG|FOREFF|FORCC,
        !           645:        SAREG|AWD,      TCHAR|TUCHAR,
        !           646:        SAREG|AWD,      TCHAR|TUCHAR,
        !           647:                2*NAREG,        RLEFT|RESCC,
        !           648:                "ZX     OL2     A2,A1\n cvtlb   A1,AL\n",
        !           649: 
        !           650: ASG MUL,       INAREG|FOREFF|FORCC,
        !           651:        SAREG|AWD,      TUNSIGNED,
        !           652:        SAREG|AWD,      TUNSIGNED|TINT,
        !           653:                NAREG|NEVEN,    RLEFT|RESCC,
        !           654:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
        !           655: 
        !           656: ASG MUL,       INAREG|FOREFF|FORCC,
        !           657:        SAREG|AWD,      TUNSIGNED|TINT,
        !           658:        SAREG|AWD,      TUNSIGNED,
        !           659:                NAREG|NEVEN,    RLEFT|RESCC,
        !           660:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
        !           661: 
        !           662: ASG OPMUL,     INAREG|FOREFF|FORCC,
        !           663:        SAREG|AWD,      TWORD,
        !           664:        SAREG|AWD,      TWORD,
        !           665:                0,      RLEFT|RESCC,
        !           666:                "       OL2     AR,AL\n",
        !           667: 
        !           668: MUL,   INAREG|INTAREG|FORCC,
        !           669:        STAREG,         TUNSIGNED,
        !           670:        SAREG|AWD,      TUNSIGNED|TINT, 
        !           671:                NAREG|NEVEN,    RLEFT|RESCC,
        !           672:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
        !           673: 
        !           674: MUL,   INAREG|INTAREG|FORCC,
        !           675:        STAREG,         TUNSIGNED|TINT,
        !           676:        SAREG|AWD,      TUNSIGNED,
        !           677:                NAREG|NEVEN,    RLEFT|RESCC,
        !           678:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
        !           679: 
        !           680: OPMUL, INAREG|INTAREG|FORCC,
        !           681:        STAREG,         TWORD,
        !           682:        SAREG|AWD,      TWORD,
        !           683:                0,      RLEFT|RESCC,
        !           684:                "       OL2     AR,AL\n",
        !           685: 
        !           686: MUL,   INAREG|INTAREG|FORCC,
        !           687:        SAREG|AWD,      TCHAR|TUCHAR,
        !           688:        SAREG|AWD,      TCHAR|TUCHAR,
        !           689:                2*NAREG,        RESC1|RESCC,
        !           690:                "ZX     mull2   A2,A1\n",
        !           691: 
        !           692: MUL,   INAREG|INTAREG|FORCC,
        !           693:        SAREG|AWD,      TUNSIGNED,
        !           694:        SAREG|AWD,      TUNSIGNED|TINT, 
        !           695:                NAREG|NEVEN,    RESC1|RESCC,
        !           696:                "       emul    AR,AL,$0,A1\n   movl    U1,A1\n",
        !           697: 
        !           698: MUL,   INAREG|INTAREG|FORCC,
        !           699:        SAREG|AWD,      TUNSIGNED|TINT,
        !           700:        SAREG|AWD,      TUNSIGNED,
        !           701:                NAREG|NEVEN,    RESC1|RESCC,
        !           702:                "       emul    AR,AL,$0,A1\n   movl    U1,A1\n",
        !           703: 
        !           704: OPMUL, INAREG|INTAREG|FORCC,
        !           705:        SAREG|AWD,      TWORD,
        !           706:        SAREG|AWD,      TWORD,
        !           707:                NAREG|NASL|NASR,        RESC1|RESCC,
        !           708:                "       OL3     AR,AL,A1\n",
        !           709: 
        !           710: ASG PLUS,      INAREG|FOREFF|FORCC,
        !           711:        SAREG,  TWORD,
        !           712:        SONE,   TINT,
        !           713:                0,      RLEFT|RESCC,
        !           714:                "       incZL   AL\n",
        !           715: 
        !           716: ASG PLUS,      INAREG|FOREFF|FORCC,
        !           717:        AWD,    ANYFIXED,
        !           718:        SONE,   TINT,
        !           719:                0,      RLEFT|RESCC,
        !           720:                "       incZL   AL\n",
        !           721: 
        !           722: ASG MINUS,     INAREG|FOREFF|FORCC,
        !           723:        SAREG,  TWORD,
        !           724:        SONE,   TINT,
        !           725:                0,      RLEFT|RESCC,
        !           726:                "       decZL   AL\n",
        !           727: 
        !           728: ASG MINUS,     INAREG|FOREFF|FORCC,
        !           729:        AWD,    ANYFIXED,
        !           730:        SONE,   TINT,
        !           731:                0,      RLEFT|RESCC,
        !           732:                "       decZL   AL\n",
        !           733: 
        !           734: PLUS,  INAREG|INTAREG|FORCC,
        !           735:        STAREG, TWORD,
        !           736:        SONE,   TWORD,
        !           737:                0,      RLEFT|RESCC,
        !           738:                "       incZL   AL\n",
        !           739: 
        !           740: MINUS, INAREG|INTAREG|FORCC,
        !           741:        STAREG, TWORD,
        !           742:        SONE,   TWORD,
        !           743:                0,      RLEFT|RESCC,
        !           744:                "       decZL   AL\n",
        !           745: 
        !           746: ASG OPSIMP,    INAREG|FOREFF|FORCC,
        !           747:        SAREG|AWD,      TWORD,
        !           748:        SAREG|AWD,      TWORD,
        !           749:                0,      RLEFT|RESCC,
        !           750:                "       OL2     AR,AL\n",
        !           751: 
        !           752: ASG OPSIMP,    INAREG|FOREFF|FORCC,
        !           753:        SAREG,  TWORD,
        !           754:        SAREG,  TSHORT|TUSHORT|TCHAR|TUCHAR,
        !           755:                0,      RLEFT|RESCC,
        !           756:                "       OL2     AR,AL\n",
        !           757: 
        !           758: ASG OPSIMP,    INAREG|FOREFF|FORCC,
        !           759:        AWD,    TSHORT|TUSHORT,
        !           760:        SAREG|AWD,      TSHORT|TUSHORT,
        !           761:                0,      RLEFT|RESCC,
        !           762:                "       OW2     AR,AL\n",
        !           763: 
        !           764: ASG OPSIMP,    INAREG|FOREFF|FORCC,
        !           765:        AWD,    TSHORT|TUSHORT,
        !           766:        SSCON,  TWORD,
        !           767:                0,      RLEFT|RESCC,
        !           768:                "       OW2     AR,AL\n",
        !           769: 
        !           770: ASG OPSIMP,    INAREG|FOREFF|FORCC,
        !           771:        AWD,    TCHAR|TUCHAR,
        !           772:        SAREG|AWD,      TCHAR|TUCHAR,
        !           773:                0,      RLEFT|RESCC,
        !           774:                "       OB2     AR,AL\n",
        !           775: 
        !           776: ASG OPSIMP,    INAREG|FOREFF|FORCC,
        !           777:        AWD,    TCHAR|TUCHAR,
        !           778:        SCCON,  TWORD,
        !           779:                0,      RLEFT|RESCC,
        !           780:                "       OB2     AR,AL\n",
        !           781: 
        !           782: OPSIMP,        INAREG|INTAREG|FORCC,
        !           783:        STAREG, ANYFIXED,
        !           784:        SAREG|AWD,      TWORD,
        !           785:                0,      RLEFT|RESCC,
        !           786:                "       OL2     AR,AL\n",
        !           787: 
        !           788: OPSIMP,        INAREG|INTAREG|FORCC,
        !           789:        SAREG|AWD,      TWORD,
        !           790:        SAREG|AWD,      TWORD,
        !           791:                NAREG|NASL|NASR,        RESC1|RESCC,
        !           792:                "       OL3     AR,AL,A1\n",
        !           793: 
        !           794: ASG OPSIMP,    INAREG|FOREFF,
        !           795:        SAREG|AWD,      TFLOAT|TDOUBLE,
        !           796:        SZERO,  TANY,
        !           797:                0,      RLEFT,
        !           798:                "",
        !           799: 
        !           800: ASG MUL,       INAREG|FOREFF|FORCC,
        !           801:        SIREG,  TDOUBLE,
        !           802:        SZERO,  TANY,
        !           803:                0,      RLEFT|RESCC,
        !           804:                "       cvld    $0\n    std     AL\n",
        !           805: 
        !           806: ASG MUL,       INAREG|FOREFF|FORCC,
        !           807:        SAREG|SNAME|SOREG,      TDOUBLE,
        !           808:        SZERO,  TANY,
        !           809:                0,      RLEFT|RESCC,
        !           810:                "       clrl    UL\n    clrl    AL\n",
        !           811: 
        !           812: ASG MUL,       INAREG|FOREFF|FORCC,
        !           813:        SAREG|AWD,      TFLOAT,
        !           814:        SZERO,  TANY,
        !           815:                0,      RLEFT|RESCC,
        !           816:                "       clrl    TAL\n",
        !           817: 
        !           818: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
        !           819:        SAREG|AWD,      TFLOAT,
        !           820:        SAREG|AWD,      TFLOAT,
        !           821:                0,      RLEFT|RESCC,
        !           822:                "       ldf     AL\n    OF      AR\n    stf     TAL\n",
        !           823: 
        !           824: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
        !           825:        SAREG|AWD,      TDOUBLE,
        !           826:        SAREG|AWD,      TDOUBLE,
        !           827:                0,      RLEFT|RESCC,
        !           828:                "       ldd     AL\n    OD      AR\n    std     AL\n",
        !           829: 
        !           830: OPSIMP,        INAREG|INTAREG,
        !           831:        SAREG,  TFLOAT|TDOUBLE,
        !           832:        SZERO,  TANY,
        !           833:                0,      RLEFT,
        !           834: #if defined(FORT) || defined(SPRECC)
        !           835:                "T",
        !           836: #else
        !           837:                "",
        !           838: #endif
        !           839: 
        !           840: OPSIMP,        INAREG|INTAREG|FORCC,
        !           841:        AWD,    TFLOAT,
        !           842:        SZERO,  TANY,
        !           843:                NAREG,  RESC1|RESCC,
        !           844:                "       movl    AL,A1\n",
        !           845: 
        !           846: OPSIMP,        INAREG|INTAREG|FORCC,
        !           847:        AWD,    TDOUBLE,
        !           848:        SZERO,  TANY,
        !           849:                NAREG,  RESC1|RESCC,
        !           850:                "       movl    UL,U1\n movl    AL,A1\n",
        !           851: 
        !           852: MUL,   INAREG|INTAREG|FORCC,
        !           853:        SAREG|AWD,      TDOUBLE,
        !           854:        SZERO,  TANY,
        !           855:                NAREG|NASR,     RESC1|RESCC,
        !           856:                "       clrl    U1\n    clrl    A1\n",
        !           857: 
        !           858: MUL,   INAREG|INTAREG|FORCC,
        !           859:        SAREG|AWD,      TFLOAT,
        !           860:        SZERO,  TANY,
        !           861:                NAREG|NASR,     RESC1|RESCC,
        !           862:                "       clrl    TA1\n",
        !           863: 
        !           864: OPFLOAT,       INAREG|INTAREG|FORCC,
        !           865:        SAREG|AWD,      TFLOAT,
        !           866:        SAREG|AWD,      TFLOAT,
        !           867:                NAREG|NASL|NASR,        RESC1|RESCC,
        !           868:                "       ldf     AL\n    OF      AR\n    stf     TA1\n",
        !           869: 
        !           870: OPFLOAT,       INAREG|INTAREG|FORCC,
        !           871:        SZERO,          TANY,
        !           872:        SAREG|AWD,      TDOUBLE,
        !           873:                NAREG,  RESC1|RESCC,
        !           874:                "\tclrl\tA1\n\tclrl\tU1\n\tldd\tA1\n\tOD\tAR\n\tstd\tA1\n",
        !           875: 
        !           876: OPFLOAT,       INAREG|INTAREG|FORCC,
        !           877:        SAREG|AWD,      TDOUBLE,
        !           878:        SAREG|AWD,      TDOUBLE,
        !           879:                NAREG|NASL|NASR,        RESC1|RESCC,
        !           880:                "       ldd     AL\n    OD      AR\n    std     A1\n",
        !           881: 
        !           882:        /* Default actions for hard trees ... */
        !           883: 
        !           884: # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
        !           885: 
        !           886: UNARY MUL, DF( UNARY MUL ),
        !           887: 
        !           888: INCR, DF(INCR),
        !           889: 
        !           890: DECR, DF(INCR),
        !           891: 
        !           892: ASSIGN, DF(ASSIGN),
        !           893: 
        !           894: STASG, DF(STASG),
        !           895: 
        !           896: FLD, DF(FLD),
        !           897: 
        !           898: OPLEAF, DF(NAME),
        !           899: 
        !           900: OPLOG, FORCC,
        !           901:        SANY,   TANY,
        !           902:        SANY,   TANY,
        !           903:                REWRITE,        BITYPE,
        !           904:                "",
        !           905: 
        !           906: OPLOG, DF(NOT),
        !           907: 
        !           908: COMOP, DF(COMOP),
        !           909: 
        !           910: INIT, DF(INIT),
        !           911: 
        !           912: OPUNARY, DF(UNARY MINUS),
        !           913: 
        !           914: 
        !           915: ASG OPANY, DF(ASG PLUS),
        !           916: 
        !           917: OPANY, DF(BITYPE),
        !           918: 
        !           919: FREE,  FREE,   FREE,   FREE,   FREE,   FREE,   FREE,   FREE,   "help; I'm in trouble\n" };

unix.superglobalmegacorp.com

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