Annotation of cci/usr/src/usr.bin/f77/f77pass2/table.c, revision 1.1

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