Annotation of 43BSD/lib/pcc/table.c, revision 1.1

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