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

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

unix.superglobalmegacorp.com

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