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

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

unix.superglobalmegacorp.com

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